Scegli il tuo OS — i comandi qui sotto si adattano:
v0.2.x · alpha

QuickStart — VibeCoded Orchestrator pronto in 10 minuti

Knowledge orchestrator local-first per workflow di coding AI. Open source. Gira interamente sulla tua macchina.

Cos'è VCO?

VibeCoded Orchestrator (VCO) gira in background mentre lavori in VS Code con la estensione Claude Code. Indicizza la tua knowledge, il codice e le chiamate ai tool, dando a Claude memoria persistente e retrieval consapevole del codice — senza cambiare come lavori.

VCO funziona con qualsiasi client Claude Code che legga la cartella .claude/ del progetto. VS Code con l'estensione Claude Code è il target principale; la CLI standalone e altri client compatibili funzionano allo stesso modo.

Open source (AGPL-3.0). Nessuna dipendenza dal cloud.

VS Code con il pannello dell'estensione Claude Code aperto a fianco di un file Python
Target principale: VS Code con l'estensione Claude Code. VCO indicizza automaticamente la cartella .claude/ del workspace.
v0.2.x è alpha. Linux e Windows sono validati end-to-end; macOS arm64 è Tier-2 sperimentale (binario non firmato — Gatekeeper ti chiederà conferma al primo lancio). Aspettati qualche imperfezione; segnalala via GitHub Issues.

Prerequisiti

CosaPerchéVerifica con
Python 3.11+ (3.12 consigliato)Orchestrator + server MCPpython3 --version
Docker o PodmanEsegue Weaviate, Ollama, code-embedding servicedocker --version oppure podman --version
Abbonamento Claude (Pro / Max / Team / Enterprise)Necessario per autenticare Claude Codelogin su claude.ai
(opzionale) Node.js 18+Solo se compili la GUI launcher dai sorgentinode --version
(opzionale) Claude Code CLIUsata per riassumere i nuovi nodi KG; se assente, VCO fa fallback su Ollama con un modello locale adatto all'hardwareclaude --version

Lo script first-install.* rileva ciò che manca e propone di installarlo. Su Linux ti chiede sudo per installare i pacchetti di sistema.

Come installare i prerequisiti su Windows / macOS / Linux (clicca per espandere)

Salta questa sezione se hai già tutto il necessario. I link puntano alle pagine ufficiali — verifica versioni e firme prima di eseguire qualsiasi installer.

StrumentoWindowsmacOSLinux
Python 3.11+python.org/downloads/windowsHomebrew: brew install python@3.12 · python.org/downloads/macosPacchetto di sistema (es. apt install python3.12 python3.12-venv) · python.org/downloads/source
Docker oppure PodmanDocker Desktop: docs.docker.com (Windows) · Podman: podman.io/docs/installationDocker Desktop: docs.docker.com (macOS) · Podman: podman.io/docs/installationDocker Engine: docs.docker.com/engine/install · Podman: podman.io/docs/installation
Node.js (LTS)nodejs.org/en/downloadHomebrew: brew install node · nodejs.org/en/downloadnodejs.org/en/download
VS Codecode.visualstudio.com/downloadcode.visualstudio.com/downloadcode.visualstudio.com/download
Estensione Claude Code per VS Codemarketplace.visualstudio.commarketplace.visualstudio.commarketplace.visualstudio.com
Claude Code CLI (opzionale)PowerShell: irm https://claude.ai/install.ps1 | iex · Guida: code.claude.com/docs/en/quickstartcurl -fsSL https://claude.ai/install.sh | bash · Guida: code.claude.com/docs/en/quickstartcurl -fsSL https://claude.ai/install.sh | bash · Guida: code.claude.com/docs/en/quickstart

Step 1 — Prendi il codice

A. Clona il repo (consigliato per chi sviluppa)

cd ~/dev    # or wherever you keep your code
git clone https://github.com/hotak92/vibecoded-orchestrator.git
cd vibecoded-orchestrator

B. Scarica un archive di release (consigliato per chi installa)

Ogni release pubblica un archive completo per OS su Releases: vibecoded-orchestrator-0.2.21-linux-x64.tar.gz, vibecoded-orchestrator-0.2.21-macos-arm64.tar.gz, vibecoded-orchestrator-0.2.21-windows-x64.zip. Ogni archive contiene launcher + CLI vco + binario vct-hub + stack Python MCP + template (agent / skill / hook) + script di install — niente git clone necessario. Estrai e doppio-click su first-install.{sh,command,desktop,bat}. Ogni archive ha un sidecar .sha256; i binari del launcher e dell'hub sono SLSA-attestati:

gh attestation verify <downloaded-binary> --repo hotak92/vibecoded-orchestrator
Pagina GitHub Releases con archive per-OS v0.2.21 e binari Linux / macOS / Windows
Pagina GitHub Releases con archive per-OS e binari standalone del launcher. Tutti gli artefatti sono SLSA-attestati.

Step 2 — Esegui l'installer

Un solo comando. L'installer rileva le dipendenze mancanti, chiede conferma prima di installare pacchetti di sistema e prepara il venv Python dell'orchestrator e i container.

bash first-install.sh

(oppure doppio click su first-install.desktop dal file manager — alcuni DE richiedono di abilitare prima "Esegui file di testo eseguibili")

L'installer impiega 5–10 minuti più i download iniziali delle immagini (~5 GB).

Step 3 — Avvia l'orchestrator

L'installer non avvia il launcher in automatico. Quando first-install stampa [install] done, avvia manualmente la GUI del launcher dalla stessa cartella in cui hai eseguito l'installer. Da lì registri progetti, gestisci secret e controlli lo stato dei servizi.

cd ~/dev/vibecoded-orchestrator   # the directory you cloned into
bash start-launcher.sh

Oppure doppio click su start-launcher.desktop dal file manager.

"No such file or directory" sul binario del launcher? Probabilmente stai provando ./launcher/dist/linux-x64/vct-launcher direttamente. Quel path esiste solo dentro al repo VCO, non nella tua cartella di install. Usa start-launcher.sh (o .bat / .command): è l'entry point che l'installer crea nella cartella di install. Se non c'è, l'install non è andato a buon fine; rilancia first-install.

Si apre una finestra GUI nativa.

Home del launcher VCT — sidebar Library a sinistra, install fresco senza progetti
La home del launcher — "Your Library" con la sidebar (Workspace · Knowledge · Team · System). Su un install fresco il pannello principale mostra "Catalog unavailable" finché non registri il primo progetto.
Vuoi riaprirlo dopo? Stesso comando. Il launcher è l'entry point di tutta la configurazione post-install: ogni volta che vuoi aggiungere un secret, registrare un nuovo progetto, o controllare che Weaviate / Ollama siano attivi, parti da lì. È idempotente — eseguirlo due volte non è un problema; la seconda volta riusa i servizi già attivi.
Se mostra "Could not connect to localhost": vedi TROUBLESHOOTING.md. Di solito si risolve con bash scripts/build-bundled-launcher.sh e riavvio.

Step 4 — Segui il wizard

Al primo avvio, l'OnboardingWizard ti guida in 5 step. Il wizard parte automaticamente; gli avvii successivi vanno dritti alla tua library.

4a. Welcome (step 1 di 5)

Una breve intro a cosa fa VCO. Clicca su Next → per continuare.

OnboardingWizard step 1 Welcome to VibeCoded Tools

4b. System (step 2 di 5)

Il wizard sonda il sistema: versione di Python, runtime container (Docker o Podman), GPU, RAM/VRAM disponibili. La maggior parte degli utenti vede tutti i tick verdi. Se manca qualcosa, il wizard ti dice cosa installare. Clicca su Next → quando tutto il necessario è stato rilevato.

OnboardingWizard step 2 — System: tabella di detection con OS, versione Python, container runtime, RAM e GPU/VRAM rilevati
System detection reale su Linux: OS, Python 3.12, Podman, RAM, GPU NVIDIA tutti rilevati.

4c. Containers (step 3 di 5)

Il wizard installa il venv Python di VCO nel tuo repo sorgente. Il path di install è auto-rilevato dalla cartella di clone, non selezionabile dall'utente. La pagina lo mostra in sola lettura: "Installing into /your/clone/path (your source repo)".

Sonda anche i servizi condivisi e propone di avviarli se mancano:

Se i servizi sono già up (es. hai un altro install di VCO sulla stessa macchina), il wizard li riusa — stessi dati, niente doppio install. Il toggle "Use separate containers for this install (advanced)" è per power user che vogliono isolamento totale.

La posizione dei volumi container è mostrata per trasparenza. Clicca su Install quando sei pronto, conferma nel modal, poi Next → quando i servizi sono attivi.

OnboardingWizard step 3 — Containers: shared services (Weaviate, Ollama, code_embed) già rilevati come 'Already installed' con URL, scelta della location dei volumi (gestiti dal container engine vs custom path)
Step Containers reale su Linux. Path di install in sola lettura ("Installing into /home/.../vibecoded-orchestrator") senza Browse picker. I servizi condivisi sono rilevati e riusati; il footer "Orchestrator already installed at this path" appare quando l'install è aggiornato.

4d. First project (step 4 di 5)

Qui registri il tuo primo progetto. Inserisci:

OnboardingWizard step 4 — First project: campi Project name e Project folder con bottone Browse, sezione 'Updates (optional)' espansa con istruzioni per il GitHub token e bottone Save token

Clicca su Finish. Il wizard registra il progetto, crea le sue collection KG e code-graph in Weaviate, e scrive lo stato per-progetto in ~/.vct/launcher.db. Subito dopo, il launcher fa partire tre task in background sul progetto appena registrato: code-graph build, KG sync (knowledge/**/*.md + docs/**/*.md → Weaviate via kg-sync --all), e KG summaries (generate-kg-summary.py per ogni nodo, fallback claude CLI → Ollama → ANTHROPIC_API_KEY → silent skip). Ognuno mostra un banner sotto l'header del progetto: pending / running / failed restano visibili, success / skipped si auto-nascondono dopo 30 s. I tre bottoni in alto a destra (Re-build code graph, Re-sync KG, Re-build KG summaries) li rilanciano on-demand. Se il launcher crasha a metà run, al boot successivo le righe running vengono marcate failed con un messaggio "launcher crashed mid-run; click Retry to re-run" — niente silent re-spawn.

4e. OpenAI key (step 5 di 5, opzionale)

Step skippabile per chi vuole usare OpenAI come provider di embedding. Default VCO: locale — qwen3-embedding:0.6b per il testo (1024-dim, via Ollama) e codesage-large-v2 per il codice (GPU, 2048-dim; fallback automatico in catena su qwen3-embedding:0.6bjina-embeddings-v2-base-code se il servizio code-embed o la GPU non sono disponibili). Per usare OpenAI: incolla la API key (input password-masked), clicca Validate (probe gratuito su /v1/models, niente token consumati e niente entry di billing), e spunta "Use OpenAI as the default embedding provider for new projects". La chiave viene salvata nel keychain dell'OS; il launcher la ri-valida ad ogni avvio e fa fallback ai modelli locali se diventa invalida, ripristinando OpenAI quando ritorna disponibile. Click Finish (oppure Skip).

OnboardingWizard step 5 — OpenAI: campo password-masked per la API key OpenAI con bottone Validate, checkbox 'Use OpenAI as the default embedding provider for new projects', e bottoni Skip / Continue

Step 5 — Verifica che tutto funzioni

Dopo Finish vieni portato sulla home Library con il nuovo progetto in lista. Clicca sulla card del progetto per aprirne la dashboard.

Ora apri Claude Code dalla cartella del progetto:

cd ~/dev/test_project
claude

(oppure apri la cartella in VS Code con l'estensione Claude Code installata)

Impostazioni di sessione consigliate per Claude Code

Prima della tua prima sessione in questo progetto, apri la command palette di Claude Code (Cmd/Ctrl + K) e configura la sezione Model. L'impostazione corretta dipende dal modello che stai usando:

Claude Code command palette showing Effort dial and Thinking toggle in the Model section
Claude Code command palette: selettore Effort e toggle Thinking nella sezione Model. Il toggle controlla il thinking a budget fisso su 4.6 / Sonnet 4.6 (impostalo su Off); su Opus 4.7 non ha effetto.
Alternativa CLI se non hai la palette dell'IDE: /effort max (4.6) o /effort xhigh (4.7) all'inizio della sessione, oppure CLAUDE_CODE_EFFORT_LEVEL=max / =xhigh nel file rc della tua shell. Per disabilitare il thinking a budget fisso su 4.6 imposta CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 (no-op su 4.7).

Modifica un file qualsiasi nel progetto. Gli hook dell'orchestrator scattano in background, in silenzio — niente toast o riga di log nella finestra del launcher. Cosa fanno:

Due posti per gestire KG/Codegraph: per-progetto (binding) vs. machine-wide (accesso)

Il launcher espone la configurazione KG/Codegraph in due posti distinti, ognuno per un compito diverso:

Flow comuni

Conferma che gli hook scattano: scrivi un piccolo nodo KG (es. knowledge/concepts/test.md nel progetto) e dopo ~5 secondi lancia hybrid_search("test") da una sessione Claude Code. Se torna il nodo, gli hook funzionano. I log per-sessione si trovano in ~/.claude/logs/; quello dell'orchestrator in state/logs/.

Step 6 — Tour della configurazione (post-wizard)

Una volta registrato il progetto, clicca sulla sua card nella Library home per aprire la pagina settings per-progetto. Ogni progetto ha la sua configurazione su sette tab.

Per-project settings page on Agents tab showing the seven-tab strip
Pagina settings del progetto sul tab Agents. Il banner di stato segnala quando è disponibile un update dell'orchestrator; "Re-build code graph" forza un re-index.

Tab Agents — cosa gira nel progetto

Il launcher porta 45 agent Claude Code bundle (code-explorer, coder, planner, gui-tester, doc-organizer, ecc.). Dal tab Agents abiliti/disabiliti ogni agent per-progetto e registri quelli custom.

Tab Agents della pagina progetto con il form '+ Register' espanso in alto (campi Name, Source, Model) e tabella sotto con ~45 agenti già registrati, colonne Name / Source / Model / Enabled e bottone Unregister per riga
Clicca su + Register per aggiungere un agent custom. Name (filename senza .md), Source (user per i tuoi, bundled per quelli forniti da VCO), Source module opzionale, Model (es. claude/sonnet, claude/haiku, claude/opus).
Toggle del checkbox Enabled NON tocca MAI il filesystem utente — solo la riga nel registry DB. Gli agent disabilitati restano su disco e si riabilitano in un click.

Tab Skills — slash command

Stesso pattern degli Agents ma per gli slash-command skill (/architect, /tdd, /api-designer, /security-reviewer, ecc.). 52 skill bundle.

Tab Skills della pagina progetto con il form '+ Register' aperto in alto (campi Name, Source, Role) e tabella sotto con ~52 skill registrate, colonne Name / Source / Role / Enabled e Unregister per riga
Form di registrazione skill. Alcuni hanno preferenze di modello implicite (es. /architect default opus).

Tab Hooks — automazioni che scattano a ogni tool call

Registry hook per-progetto. 27 hook bundle scattano automaticamente: file edit sincronizzati a KG, controlli di sintassi sui write, scanner credenziali, KG-update nudge ogni 150k token, e altro. Disabilita singoli hook per-progetto se uno è rumoroso in un certo workflow.

Tab Hooks della pagina progetto con form Event/Matcher in alto (Event = PostToolUse selezionato) e tabella con ~27 hook registrati — colonne Event / Matcher / Command / Source / Enabled, matchers tipo Edit(*)|Write(*) e Write(*.py)
Tab Hooks — eventi (PostToolUse / PreToolUse / ecc.), matcher (quali tool li triggerano), source, stato enabled.

Tab Permissions — allow/deny list per i tool degli agent

Per default gli agent hanno accesso ampio; restringi per i progetti sensibili. 5 tipi di regola distinti danno controllo fine:

Permissions tab with Add form open
Form Permissions. Subject: a chi si applica (agent:planner, @global, ecc.). Kind: write_scope, allowed_tool, denied_tool, mcp_server, oppure permission_mode. Value: nome del tool, glob, o ID del server MCP.

Tab Secret refs — env var per-progetto (GITHUB_TOKEN, ecc.) ⭐

La maggior parte dei workflow ha bisogno almeno di GITHUB_TOKEN per le operazioni sui repo e magari OPENAI_API_KEY se usi OpenAI come fallback. Il launcher tiene traccia di quali chiavi servono al progetto; i valori vivono nel keychain dell'OS, non in nessun file VCO. Il launcher conserva solo il riferimento, mai il plaintext.

Pagina Secrets globale sul tab 'Per-project': strip a tre tab (Per-project / Shared (this user) / Global (this machine)), project selector con un progetto scelto, stato vuoto 'No secrets registered for this scope yet.' e form 'Add secret' in fondo con campi KEY e value più toggle Sensitive
Pannello Secrets. Tre tab di scope in alto, dropdown progetto per Per-project (auto-popolato dai progetti registrati, ↻ refresh), form ADD SECRET sotto. L'icona (?) accanto a Sensitive spiega la semantica del preview mascherato in hover.

Tre scope

Read order (come i moduli trovano un secret)

Quando un modulo nel progetto P chiede un secret K, il launcher controlla in ordine:

  1. Bag per-progetto di P (i secret di P)
  2. Collection shared (i secret shared dei tuoi altri progetti)
  3. Global (machine-wide)

Vince il primo hit. Un modulo in P non vede mai il bag per-progetto di un altro progetto — è la garanzia di isolamento.

Il checkbox "Sensitive"

Default ON, e quasi sempre quello che vuoi.

Lifecycle Set / Unset / Reactivate / Remove

Ogni secret registrato ha quattro operazioni:

Tab KG / Codegraph bindings ⭐

Decide quale collection Weaviate colpiscono hybrid_search e le query code-graph del progetto. Il wizard pre-compila default sensati ma verifica al day one — setting sbagliato → confusione "non trovo i miei appunti".

Tab KG / Codegraph della pagina progetto: blocco 'Knowledge graph' con Role (primary), Collection, Embedding model (qwen3-embedding:0.6b) e Weaviate URL, bottone 'Save KG binding'; blocco 'Code graph' con Collection prefix, Embedding model, checkbox Enabled, bottoni 'Save codegraph binding' e 'Re-analyze code graph'; in fondo 'Snapshot summary' con i contatori per-progetto (Agents / Skills / Hooks / Permissions / Secret refs)
Knowledge graph (sopra): Role dropdown (primary / shared / archive), Collection name, Embedding model, Weaviate URL. Code graph (centro): Collection prefix, Embedding model, checkbox Enabled. Snapshot summary in fondo coi conteggi a colpo d'occhio.

Tab Settings — metadata + note env var del progetto

Modifica nome del progetto, vedi folder/host/created-at, e (importante) tieni una lista solo-note delle env var che i tuoi agent si aspettano. Comodo per onboardare un teammate senza passargli i valori.

Tab Settings della pagina progetto con sezione Metadata (Name, Folder, Host, Modules, Created) in alto, sezione 'Project env vars (notes only)' nel mezzo, e in fondo il blocco 'Danger zone' con bordo rosso che espone 'Remove launcher-managed files' e 'Drop Weaviate collections'
Tab Settings. La sezione Project env vars (notes only) sono solo reminder placeholder. I secret gestiti dal launcher vivono nel keychain dell'OS — vedi il pannello Secrets. La CLI vct indipendente in tools/vct-secrets/ usa file in ~/.vct-secrets/ per chi preferisce un workflow file-based.

Route top-level che vale la pena conoscere

Oltre ai tab per-progetto, la sidebar di sinistra del launcher ha una sezione SYSTEM con queste route top-level:

Services — gestisci i container condivisi

Avvia/ferma il vector DB Weaviate, il server LLM Ollama (embedding + summarization) e il servizio code_embed da una sola pagina. Il launcher rileva i servizi già attivi (es. avviati da un altro install VCO o da un precedente podman-compose up -d) e li tratta come external · adopt, niente doppia gestione.

Pagina Services del launcher: tabella con i tre servizi condivisi (weaviate :8081, ollama :11435, code_embed :11440) tutti in stato RUNNING e modo 'adopt', bottoni Start All / Stop All / Restart All in alto e pannello 'Schema health' sotto con lo stato delle collezioni Weaviate (COMPLETE in verde)
Pagina Services. Tutti e tre i container core in run, Podman come runtime, status "external · adopt" che indica l'adozione da parte del launcher invece dell'avvio diretto.

MCP servers — la dashboard delle capability di Claude

Mostra ogni server Model-Context-Protocol registrato con Claude Code. Il launcher registra 4 server abilitati di default che vedi anche da claude mcp list: weaviate-kg (Knowledge Graph + Code Graph, query semantiche con hybrid_search / search_code_graph), search (paper accademici via OpenAlex + arXiv tramite search_papers), coordination (note di team locali KG-backed) e playwright (browser automation, registrato via npx -y @playwright/mcp@latest — opt-out con VCT_SKIP_PLAYWRIGHT=1). Ollama gira come infrastruttura di embedding (consumata da weaviate-kg + code-embedding service), non come tool MCP esposto a Claude. Da qui aggiungi anche server MCP custom.

Pagina 'Custom MCP servers' del launcher con sezione MAINTENANCE in alto (path a claude.json, bottoni Re-register MCPs e Reload MCPs / Apply to Claude) e tre card MCP sotto: Knowledge & Code Graph (weaviate-kg), Academic Paper Search (search), Browser automation
Dashboard MCP a /mcp. Ogni card mostra il ruolo del server, il path di config, e un bottone Remove. Quelli enabled di default hanno il check verde.

Altre route

RouteA cosa serve
/preferencesModello di default, tema, update channel, e il pannello Manage GitHub token per impostare, aggiornare o rimuovere il PAT senza dover rilanciare il wizard. Rilancia l'onboarding wizard da qui se hai saltato uno step.
/auditStorico di ogni cambio config. Utile per i compliance review.
/coordinationInvia/ricevi messaggi del team (vct-coordination MCP).
/hubBus di integrazione cross-tool servito dal binario vct-hub (HTTP API su 127.0.0.1:7700, configurabile via VCT_HUB_PORT). Il binario è detached dalla GUI del launcher: parte da install.py, dall'hook Claude Code session-start-ensure-hub.sh, dal folderOpen di VS Code, e dalla GUI stessa — sopravvive alla chiusura della GUI. Il hub richiede Authorization: Bearer <token> su tutte le rotte /api/v1/* tranne /health; il token viene rigenerato a ogni avvio del binario e salvato in ~/.vct/hub.token (mode 0o600). Endpoint principale per le app: GET /api/v1/projects/{id-or-slug}/config (risolve KG collection, code-graph prefix, modello di embedding). Lockfile single-instance in ~/.vct/hub.pid. I wrapper bundle e la vco CLI gestiscono l'autenticazione in automatico; gli script custom devono leggere il file token a ogni chiamata.
/glossarySpiegazioni in linguaggio semplice dei termini usati nel launcher.
Pagina Audit log: barra filtri (Project / User / MID / Date / Action / Search / Operation) e tabella con righe di audit — colonne Time / Description / Action / Project / Extra, esempi visibili: file_update, file_create, settings_update, agent_update; bottoni Refresh ed Export CSV in alto a destra
L'audit log a /audit. Ogni cambio config viene registrato con timestamp, attore, operazione, e un blob JSON di dettaglio. Utile per i compliance review.

Cose da sapere che non sono nella GUI

VS Code workspace KG_COLLECTION: il tab KG / Codegraph del progetto non sovrascrive la env var KG_COLLECTION che una sessione Claude Code embedded legge. Quella la controlla il .vscode/settings.json per-workspace nella cartella del progetto. Se hai più progetti aperti in VS Code, ognuno ha bisogno del suo .vscode/settings.json col KG_COLLECTION giusto. Facile dimenticarsene.
Location dei volumi container: Podman/Docker decidono di default dove vivono i volumi nominati (~/.local/share/containers/storage/volumes/ su Linux user-mode, simile su macOS/Windows). Per spostarli, vai in Settings → Preferences → Volume location: il launcher fa un dry-run con stima dimensione, ETA e check dello spazio libero, copia con cp -a, scrive un override bind-mount in infrastructure/docker-compose.override.yml e VCT_VOLUMES_PATH in .env, e rimuove i volumi vecchi solo dopo che gli health-check su Weaviate e Ollama passano. Se la migrazione fallisce a metà, i dati restano dov'erano.

Troubleshooting

Runtime container rilevato ma non attivo

Hai Docker o Podman installato ma il daemon non è partito.

# Linux Podman:
systemctl --user start podman.socket

# Linux Docker:
sudo systemctl start docker

Python è 3.10 o più vecchio

VCO richiede Python 3.11+. L'installer propone di installare Python 3.12 col tuo package manager (apt / dnf / pacman). Puoi anche installarlo via pyenv prima di lanciare l'installer.

16 GB di RAM e warning "OOM" durante il caricamento modelli

Il modello di KG-summary Ollama di default (qwen3.5:9b) ha bisogno di ~24 GB effettivi; su sistemi a 16 GB il launcher fa fallback automatico a gemma4:e4b. Per i code embedding, la catena di fallback codesage-large-v2 → qwen3-embedding:0.6b → jina-embeddings-v2-base-code scatta da sola se il servizio code-embed o la GPU non sono raggiungibili. Per forzare il backend più leggero, imposta CODE_EMBED_BACKEND=ollama.

"Could not connect to localhost" al lancio

Il frontend del binario launcher bundle è mancante o rotto. Fix:

bash scripts/build-bundled-launcher.sh

poi riavvia. La defense a 4 layer del build evita che ricapiti su build fresche.

Per altro, vedi KNOWN_ISSUES.md e INSTALL_RECOVERY.md.

Prossimi passi