| --- |
| title: CLI |
| description: Opzioni e comandi della CLI di OpenCode. |
| --- |
| |
| import { Tabs, TabItem } from "@astrojs/starlight/components" |
|
|
| La CLI di OpenCode, per impostazione predefinita, avvia la [TUI](/docs/tui) quando viene eseguita senza argomenti. |
|
|
| ```bash |
| opencode |
| ``` |
|
|
| Ma accetta anche i comandi documentati in questa pagina. Questo ti permette di interagire con OpenCode in modo programmatico. |
|
|
| ```bash |
| opencode run "Explain how closures work in JavaScript" |
| ``` |
|
|
| --- |
| |
| |
|
|
| Avvia l'interfaccia testuale di OpenCode (interfaccia utente da terminale). |
|
|
| ```bash |
| opencode [project] |
| ``` |
|
|
| |
|
|
| | Flag | Breve | Descrizione | |
| | ---------------------------------------- | ----- | ------------------------------------------------------------------------ | |
| | <nobr><code>{"--continue"}</code></nobr> | `-c` | Continua l'ultima sessione | |
| | <nobr><code>{"--session"}</code></nobr> | `-s` | ID sessione da continuare | |
| | <nobr><code>{"--fork"}</code></nobr> | | Duplica la sessione quando continui (usa con `--continue` o `--session`) | |
| | <nobr><code>{"--prompt"}</code></nobr> | | Prompt da usare | |
| | <nobr><code>{"--model"}</code></nobr> | `-m` | Modello nel formato provider/model | |
| | <nobr><code>{"--agent"}</code></nobr> | | Agente da usare | |
| | <nobr><code>{"--port"}</code></nobr> | | Porta su cui mettersi in ascolto | |
| | <nobr><code>{"--hostname"}</code></nobr> | | Hostname su cui mettersi in ascolto | |
|
|
| --- |
| |
| |
|
|
| La CLI di OpenCode include anche i seguenti comandi. |
|
|
| --- |
| |
| |
|
|
| Gestisci gli agenti per OpenCode. |
|
|
| ```bash |
| opencode agent [command] |
| ``` |
|
|
| --- |
| |
| |
|
|
| Collega un terminale a un backend server di OpenCode già in esecuzione avviato tramite i comandi `serve` o `web`. |
|
|
| ```bash |
| opencode attach [url] |
| ``` |
|
|
| Questo consente di usare la TUI con un backend OpenCode remoto. Per esempio: |
|
|
| ```bash |
| |
| opencode web --port 4096 --hostname 0.0.0.0 |
|
|
| |
| opencode attach http://10.20.30.40:4096 |
| ``` |
|
|
| |
|
|
| | Flag | Breve | Descrizione | |
| | ---------------------------------------- | ----- | ----------------------------------------------------------------------------------------------- | |
| | <nobr><code>{"--dir"}</code></nobr> | | Working directory in cui avviare la TUI | |
| | <nobr><code>{"--continue"}</code></nobr> | `-c` | Continua l'ultima sessione | |
| | <nobr><code>{"--session"}</code></nobr> | `-s` | ID sessione da continuare | |
| | <nobr><code>{"--fork"}</code></nobr> | | Crea un fork della sessione durante la continuazione (usa con `--continue` o `--session`) | |
| | <nobr><code>{"--password"}</code></nobr> | `-p` | Password per l'autenticazione di base (predefinita: `OPENCODE_SERVER_PASSWORD`) | |
| | <nobr><code>{"--username"}</code></nobr> | `-u` | Nome utente per l'autenticazione di base (predefinito: `OPENCODE_SERVER_USERNAME` o `opencode`) | |
|
|
| --- |
| |
| |
|
|
| Crea un nuovo agente con configurazione personalizzata. |
|
|
| ```bash |
| opencode agent create |
| ``` |
|
|
| Questo comando ti guida nella creazione di un nuovo agente con un system prompt personalizzato e configurazione degli strumenti. |
|
|
| --- |
| |
| |
|
|
| Elenca tutti gli agenti disponibili. |
|
|
| ```bash |
| opencode agent list |
| ``` |
|
|
| --- |
| |
| |
|
|
| Comando per gestire le credenziali e il login dei provider. |
|
|
| ```bash |
| opencode auth [command] |
| ``` |
|
|
| --- |
| |
| |
|
|
| OpenCode si basa sull'elenco provider di [Models.dev](https://models.dev), quindi puoi usare `opencode auth login` per configurare le API key per qualunque provider tu voglia usare. Le credenziali vengono salvate in `~/.local/share/opencode/auth.json`. |
|
|
| ```bash |
| opencode auth login |
| ``` |
|
|
| Quando OpenCode si avvia, carica i provider dal file delle credenziali e, se presenti, anche eventuali key definite nell'ambiente o in un file `.env` nel progetto. |
|
|
| --- |
| |
| |
|
|
| Elenca tutti i provider autenticati come salvati nel file delle credenziali. |
|
|
| ```bash |
| opencode auth list |
| ``` |
|
|
| Oppure la versione corta. |
|
|
| ```bash |
| opencode auth ls |
| ``` |
|
|
| --- |
| |
| |
|
|
| Esegue il logout da un provider rimuovendolo dal file delle credenziali. |
|
|
| ```bash |
| opencode auth logout |
| ``` |
|
|
| --- |
| |
| |
|
|
| Gestisci l'agente GitHub per l'automazione dei repository. |
|
|
| ```bash |
| opencode github [command] |
| ``` |
|
|
| --- |
| |
| |
|
|
| Installa l'agente GitHub nel tuo repository. |
|
|
| ```bash |
| opencode github install |
| ``` |
|
|
| Questo configura il workflow GitHub Actions necessario e ti guida nel processo di configurazione. [Scopri di più](/docs/github). |
|
|
| --- |
| |
| |
|
|
| Esegui l'agente GitHub. Tipicamente usato in GitHub Actions. |
|
|
| ```bash |
| opencode github run |
| ``` |
|
|
| |
|
|
| | Flag | Descrizione | |
| | ------------------------------------- | -------------------------------------------- | |
| | <nobr><code>{"--event"}</code></nobr> | Evento GitHub mock per cui eseguire l'agente | |
| | <nobr><code>{"--token"}</code></nobr> | GitHub personal access token | |
|
|
| --- |
| |
| |
|
|
| Gestisci i server Model Context Protocol. |
|
|
| ```bash |
| opencode mcp [command] |
| ``` |
|
|
| --- |
| |
| |
|
|
| Aggiungi un server MCP alla tua configurazione. |
|
|
| ```bash |
| opencode mcp add |
| ``` |
|
|
| Questo comando ti guida nell'aggiunta di un server MCP locale o remoto. |
|
|
| --- |
| |
| |
|
|
| Elenca tutti i server MCP configurati e il loro stato di connessione. |
|
|
| ```bash |
| opencode mcp list |
| ``` |
|
|
| Oppure la versione corta. |
|
|
| ```bash |
| opencode mcp ls |
| ``` |
|
|
| --- |
| |
| |
|
|
| Autentica con un server MCP con OAuth abilitato. |
|
|
| ```bash |
| opencode mcp auth [name] |
| ``` |
|
|
| Se non fornisci un nome server, ti verrà chiesto di selezionare tra i server OAuth-capable disponibili. |
|
|
| Puoi anche elencare i server OAuth-capable e il loro stato di autenticazione. |
|
|
| ```bash |
| opencode mcp auth list |
| ``` |
|
|
| Oppure la versione corta. |
|
|
| ```bash |
| opencode mcp auth ls |
| ``` |
|
|
| --- |
| |
| |
|
|
| Rimuovi le credenziali OAuth per un server MCP. |
|
|
| ```bash |
| opencode mcp logout [name] |
| ``` |
|
|
| --- |
| |
| |
|
|
| Esegui debug di problemi di connessione OAuth per un server MCP. |
|
|
| ```bash |
| opencode mcp debug <name> |
| ``` |
|
|
| --- |
| |
| |
|
|
| Elenca tutti i modelli disponibili dai provider configurati. |
|
|
| ```bash |
| opencode models [provider] |
| ``` |
|
|
| Questo comando mostra tutti i modelli disponibili tra i provider configurati nel formato `provider/model`. |
|
|
| È utile per capire l'esatto nome del modello da usare nella [config](/docs/config/). |
|
|
| Puoi anche passare opzionalmente un ID provider per filtrare i modelli a quel provider. |
|
|
| ```bash |
| opencode models anthropic |
| ``` |
|
|
| |
|
|
| | Flag | Descrizione | |
| | --------------------------------------- | -------------------------------------------------- | |
| | <nobr><code>{"--refresh"}</code></nobr> | Aggiorna la cache modelli da models.dev | |
| | <nobr><code>{"--verbose"}</code></nobr> | Output più verboso (include metadati come i costi) | |
|
|
| Usa `--refresh` per aggiornare l'elenco modelli in cache. È utile quando nuovi modelli vengono aggiunti a un provider e vuoi vederli in OpenCode. |
|
|
| ```bash |
| opencode models --refresh |
| ``` |
|
|
| --- |
| |
| |
|
|
| Esegui opencode in modalità non interattiva passando un prompt direttamente. |
|
|
| ```bash |
| opencode run [message..] |
| ``` |
|
|
| È utile per scripting, automazione o quando vuoi una risposta rapida senza avviare la TUI completa. Per esempio: |
|
|
| ```bash "opencode run" |
| opencode run Explain the use of context in Go |
| ``` |
|
|
| Puoi anche collegarti a una istanza `opencode serve` già in esecuzione per evitare i cold boot dei server MCP ad ogni esecuzione: |
|
|
| ```bash |
| |
| opencode serve |
|
|
| |
| opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" |
| ``` |
|
|
| |
|
|
| | Flag | Breve | Descrizione | |
| | ---------------------------------------- | ----- | ----------------------------------------------------------------------------------------------- | |
| | <nobr><code>{"--command"}</code></nobr> | | Il comando da eseguire; usa message per gli argomenti | |
| | <nobr><code>{"--continue"}</code></nobr> | `-c` | Continua l'ultima sessione | |
| | <nobr><code>{"--session"}</code></nobr> | `-s` | ID sessione da continuare | |
| | <nobr><code>{"--fork"}</code></nobr> | | Duplica la sessione quando continui (usa con `--continue` o `--session`) | |
| | <nobr><code>{"--share"}</code></nobr> | | Condividi la sessione | |
| | <nobr><code>{"--model"}</code></nobr> | `-m` | Modello nel formato provider/model | |
| | <nobr><code>{"--agent"}</code></nobr> | | Agente da usare | |
| | <nobr><code>{"--file"}</code></nobr> | `-f` | File da allegare al messaggio | |
| | <nobr><code>{"--format"}</code></nobr> | | Formato: default (formattato) o json (eventi JSON grezzi) | |
| | <nobr><code>{"--title"}</code></nobr> | | Titolo sessione (usa prompt troncato se non viene fornito un valore) | |
| | <nobr><code>{"--attach"}</code></nobr> | | Attach a un server opencode in esecuzione (es. http://localhost:4096) | |
| | <nobr><code>{"--password"}</code></nobr> | `-p` | Password per l'autenticazione di base (predefinita: `OPENCODE_SERVER_PASSWORD`) | |
| | <nobr><code>{"--username"}</code></nobr> | `-u` | Nome utente per l'autenticazione di base (predefinito: `OPENCODE_SERVER_USERNAME` o `opencode`) | |
| | <nobr><code>{"--dir"}</code></nobr> | | Directory di esecuzione, o percorso sul server remoto durante il collegamento | |
| | <nobr><code>{"--variant"}</code></nobr> | | Variante del modello (sforzo di ragionamento specifico del provider) | |
| | <nobr><code>{"--thinking"}</code></nobr> | | Mostra blocchi di pensiero | |
| | <nobr><code>{"--port"}</code></nobr> | | Porta per il server locale (di default una porta casuale) | |
|
|
| --- |
| |
| |
|
|
| Avvia un server OpenCode headless per accesso via API. Vedi le [server docs](/docs/server) per l'interfaccia HTTP completa. |
|
|
| ```bash |
| opencode serve |
| ``` |
|
|
| Avvia un server HTTP che espone accesso API alle funzionalità di opencode senza la TUI. Imposta `OPENCODE_SERVER_PASSWORD` per abilitare HTTP basic auth (username di default `opencode`). |
|
|
| |
|
|
| | Flag | Descrizione | |
| | ---------------------------------------- | ---------------------------------------------- | |
| | <nobr><code>{"--port"}</code></nobr> | Porta su cui mettersi in ascolto | |
| | <nobr><code>{"--hostname"}</code></nobr> | Hostname su cui mettersi in ascolto | |
| | <nobr><code>{"--mdns"}</code></nobr> | Abilita discovery mDNS | |
| | <nobr><code>{"--cors"}</code></nobr> | Origin browser addizionali per consentire CORS | |
|
|
| --- |
| |
| |
|
|
| Gestisci le sessioni OpenCode. |
|
|
| ```bash |
| opencode session [command] |
| ``` |
|
|
| --- |
| |
| |
|
|
| Elenca tutte le sessioni OpenCode. |
|
|
| ```bash |
| opencode session list |
| ``` |
|
|
| |
|
|
| | Flag | Breve | Descrizione | |
| | ----------------------------------------- | ----- | ------------------------------------ | |
| | <nobr><code>{"--max-count"}</code></nobr> | `-n` | Limita alle N sessioni più recenti | |
| | <nobr><code>{"--format"}</code></nobr> | | Formato output: table o json (table) | |
|
|
| --- |
| |
| |
|
|
| Mostra statistiche di utilizzo token e costo per le sessioni OpenCode. |
|
|
| ```bash |
| opencode stats |
| ``` |
|
|
| |
|
|
| | Flag | Descrizione | |
| | --------------------------------------- | ------------------------------------------------------------------------------------- | |
| | <nobr><code>{"--days"}</code></nobr> | Mostra statistiche per gli ultimi N giorni (all time) | |
| | <nobr><code>{"--tools"}</code></nobr> | Numero di strumenti da mostrare (all) | |
| | <nobr><code>{"--models"}</code></nobr> | Mostra breakdown di utilizzo modelli (nascosto di default). Passa un numero per top N | |
| | <nobr><code>{"--project"}</code></nobr> | Filtra per progetto (tutti i progetti; stringa vuota: progetto corrente) | |
|
|
| --- |
| |
| |
|
|
| Esporta i dati di sessione come JSON. |
|
|
| ```bash |
| opencode export [sessionID] |
| ``` |
|
|
| Se non fornisci un ID sessione, ti verrà chiesto di selezionare tra le sessioni disponibili. |
|
|
| --- |
| |
| |
|
|
| Importa i dati di sessione da un file JSON o da un URL di condivisione OpenCode. |
|
|
| ```bash |
| opencode import <file> |
| ``` |
|
|
| Puoi importare da un file locale o da un URL di condivisione OpenCode. |
|
|
| ```bash |
| opencode import session.json |
| opencode import https://opncd.ai/s/abc123 |
| ``` |
|
|
| --- |
| |
| |
|
|
| Avvia un server OpenCode headless con interfaccia web. |
|
|
| ```bash |
| opencode web |
| ``` |
|
|
| Avvia un server HTTP e apre un browser per accedere a OpenCode tramite interfaccia web. Imposta `OPENCODE_SERVER_PASSWORD` per abilitare HTTP basic auth (username di default `opencode`). |
|
|
| |
|
|
| | Flag | Descrizione | |
| | ---------------------------------------- | ---------------------------------------------- | |
| | <nobr><code>{"--port"}</code></nobr> | Porta su cui mettersi in ascolto | |
| | <nobr><code>{"--hostname"}</code></nobr> | Hostname su cui mettersi in ascolto | |
| | <nobr><code>{"--mdns"}</code></nobr> | Abilita discovery mDNS | |
| | <nobr><code>{"--cors"}</code></nobr> | Origin browser addizionali per consentire CORS | |
|
|
| --- |
| |
| |
|
|
| Avvia un server ACP (Agent Client Protocol). |
|
|
| ```bash |
| opencode acp |
| ``` |
|
|
| Questo comando avvia un server ACP che comunica via stdin/stdout usando nd-JSON. |
|
|
| |
|
|
| | Flag | Descrizione | |
| | ---------------------------------------- | ----------------------------------- | |
| | <nobr><code>{"--cwd"}</code></nobr> | Directory di lavoro | |
| | <nobr><code>{"--port"}</code></nobr> | Porta su cui mettersi in ascolto | |
| | <nobr><code>{"--hostname"}</code></nobr> | Hostname su cui mettersi in ascolto | |
|
|
| --- |
| |
| |
|
|
| Disinstalla OpenCode e rimuove tutti i file correlati. |
|
|
| ```bash |
| opencode uninstall |
| ``` |
|
|
| |
|
|
| | Flag | Breve | Descrizione | |
| | ------------------------------------------- | ----- | -------------------------------------------- | |
| | <nobr><code>{"--keep-config"}</code></nobr> | `-c` | Mantieni i file di configurazione | |
| | <nobr><code>{"--keep-data"}</code></nobr> | `-d` | Mantieni dati di sessione e snapshot | |
| | <nobr><code>{"--dry-run"}</code></nobr> | | Mostra cosa verrebbe rimosso senza rimuovere | |
| | <nobr><code>{"--force"}</code></nobr> | `-f` | Salta le richieste di conferma | |
|
|
| --- |
| |
| |
|
|
| Aggiorna opencode all'ultima versione o a una versione specifica. |
|
|
| ```bash |
| opencode upgrade [target] |
| ``` |
|
|
| Per aggiornare all'ultima versione: |
|
|
| ```bash |
| opencode upgrade |
| ``` |
|
|
| Per aggiornare a una versione specifica: |
|
|
| ```bash |
| opencode upgrade v0.1.48 |
| ``` |
|
|
| |
|
|
| | Flag | Breve | Descrizione | |
| | -------------------------------------- | ----- | --------------------------------------------------------- | |
| | <nobr><code>{"--method"}</code></nobr> | `-m` | Metodo di installazione usato: curl, npm, pnpm, bun, brew | |
|
|
| --- |
| |
| |
|
|
| La CLI di opencode accetta i seguenti flag globali. |
|
|
| | Flag | Breve | Descrizione | |
| | ------------------------------------------ | ----- | -------------------------------------- | |
| | <nobr><code>{"--help"}</code></nobr> | `-h` | Mostra l'help | |
| | <nobr><code>{"--version"}</code></nobr> | `-v` | Stampa il numero di versione | |
| | <nobr><code>{"--print-logs"}</code></nobr> | | Stampa i log su stderr | |
| | <nobr><code>{"--log-level"}</code></nobr> | | Livello log (DEBUG, INFO, WARN, ERROR) | |
|
|
| --- |
| |
| |
|
|
| OpenCode può essere configurato tramite variabili d'ambiente. |
|
|
| | Variabile | Tipo | Descrizione | |
| | ------------------------------------- | ------- | ----------------------------------------------------------- | |
| | `OPENCODE_AUTO_SHARE` | boolean | Condivide automaticamente le sessioni | |
| | `OPENCODE_GIT_BASH_PATH` | string | Percorso all'eseguibile Git Bash su Windows | |
| | `OPENCODE_CONFIG` | string | Percorso al file di configurazione | |
| | `OPENCODE_TUI_CONFIG` | string | Percorso al file di configurazione TUI | |
| | `OPENCODE_CONFIG_DIR` | string | Percorso alla directory di configurazione | |
| | `OPENCODE_CONFIG_CONTENT` | string | Contenuto JSON di config inline | |
| | `OPENCODE_DISABLE_AUTOUPDATE` | boolean | Disabilita i controlli automatici di aggiornamento | |
| | `OPENCODE_DISABLE_PRUNE` | boolean | Disabilita la potatura dei dati vecchi | |
| | `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | Disabilita aggiornamenti automatici del titolo terminale | |
| | `OPENCODE_PERMISSION` | string | Config permessi JSON inline | |
| | `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolean | Disabilita i plugin di default | |
| | `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolean | Disabilita download automatico dei server LSP | |
| | `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | Abilita modelli sperimentali | |
| | `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | Disabilita compaction automatica del contesto | |
| | `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | Disabilita lettura da `.claude` (prompt + skill) | |
| | `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | Disabilita lettura di `~/.claude/CLAUDE.md` | |
| | `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | Disabilita caricamento di `.claude/skills` | |
| | `OPENCODE_DISABLE_MODELS_FETCH` | boolean | Disabilita fetch dei modelli da fonti remote | |
| | `OPENCODE_FAKE_VCS` | string | Provider VCS finto per scopi di test | |
| | `OPENCODE_CLIENT` | string | Identificatore client (default `cli`) | |
| | `OPENCODE_ENABLE_EXA` | boolean | Abilita gli strumenti di web search Exa | |
| | `OPENCODE_SERVER_PASSWORD` | string | Abilita basic auth per `serve`/`web` | |
| | `OPENCODE_SERVER_USERNAME` | string | Sovrascrive lo username basic auth (default `opencode`) | |
| | `OPENCODE_MODELS_URL` | string | URL personalizzato per recuperare la configurazione modelli | |
|
|
| --- |
| |
| |
|
|
| Queste variabili d'ambiente abilitano funzionalità sperimentali che potrebbero cambiare o essere rimosse. |
|
|
| | Variabile | Tipo | Descrizione | |
| | ----------------------------------------------- | ------- | ------------------------------------------------------- | |
| | `OPENCODE_EXPERIMENTAL` | boolean | Abilita funzionalità sperimentali sotto il flag globale | |
| | `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | Abilita icon discovery | |
| | `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolean | Disabilita copy on select nella TUI | |
| | `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | number | Timeout di default per comandi bash in ms | |
| | `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | number | Massimo token di output per risposte LLM | |
| | `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolean | Abilita file watcher per l'intera dir | |
| | `OPENCODE_EXPERIMENTAL_OXFMT` | boolean | Abilita formatter oxfmt | |
| | `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolean | Abilita strumento LSP sperimentale | |
| | `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | Disabilita file watcher | |
| | `OPENCODE_EXPERIMENTAL_EXA` | boolean | Abilita funzionalità Exa sperimentali | |
| | `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | Abilita TY LSP per i file python | |
| | `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Abilita plan mode | |
| | `OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTS` | boolean | Abilita task subagent in background | |
| | `OPENCODE_EXPERIMENTAL_EVENT_SYSTEM` | boolean | Abilita sistema eventi sperimentale | |
| | `OPENCODE_EXPERIMENTAL_NATIVE_LLM` | boolean | Abilita percorso nativo di richiesta LLM | |
| | `OPENCODE_EXPERIMENTAL_PARALLEL` | boolean | Abilita esecuzione parallela della ricerca web | |
| | `OPENCODE_EXPERIMENTAL_SCOUT` | boolean | Abilita subagent Scout | |
| | `OPENCODE_EXPERIMENTAL_WORKSPACES` | boolean | Abilita supporto workspace | |
|
|