CLI
Opzioni e comandi della CLI di OpenCode.
La CLI di OpenCode avvia la TUI quando eseguita senza argomenti.
opencodeMa accetta anche comandi come documentato in questa pagina. Questo ti permette di interagire con OpenCode in modo programmatico.
opencode run "Explain how closures work in JavaScript"tui
Avvia l’interfaccia utente terminale di OpenCode.
opencode [project]Flag
| Flag | Breve | Descrizione |
|---|---|---|
--continue | -c | Continua l’ultima sessione |
--session | -s | ID sessione da continuare |
--prompt | Prompt da usare | |
--model | -m | Modello da usare in forma di fornitore/modello |
--agent | Agente da usare | |
--port | Porta in ascolto | |
--hostname | Nome host in ascolto |
Comandi
La CLI di OpenCode ha anche i seguenti comandi.
agent
Gestisci gli agenti per OpenCode.
opencode agent [command]attach
Collega un terminale a un server backend OpenCode già in esecuzione avviato tramite comandi serve o web.
opencode attach [url]Questo permette di usare la TUI con un backend OpenCode remoto. Ad esempio:
# Avvia il server backend per l'accesso web/mobileopencode web --port 4096 --hostname 0.0.0.0
# In un altro terminale, collega la TUI al backend in esecuzioneopencode attach http://10.20.30.40:4096Flag
| Flag | Breve | Descrizione |
|---|---|---|
--dir | Directory di lavoro per avviare la TUI | |
--session | -s | ID sessione da continuare |
create
Crea un nuovo agente con configurazione personalizzata.
opencode agent createQuesto comando ti guiderà nella creazione di un nuovo agente con un prompt di sistema personalizzato e configurazione degli strumenti.
list
Elenca tutti gli agenti disponibili.
opencode agent listauth
Comando per gestire le credenziali e l’accesso per i fornitori.
opencode auth [command]login
OpenCode è alimentato dall’elenco dei fornitori su Models.dev, quindi puoi usare opencode auth login per configurare le chiavi API per qualsiasi fornitore che desideri usare. Questo viene archiviato in ~/.local/share/opencode/auth.json.
opencode auth loginQuando OpenCode si avvia carica i fornitori dal file delle credenziali. E se ci sono chiavi definite nei tuoi ambienti o un file .env nel tuo progetto.
list
Elenca tutti i fornitori autenticati come archiviato nel file delle credenziali.
opencode auth listOppure la versione breve.
opencode auth lslogout
Disconnetti da un fornitore cancellandolo dal file delle credenziali.
opencode auth logoutgithub
Gestisci l’agente GitHub per l’automazione del repository.
opencode github [command]install
Installa l’agente GitHub nel tuo repository.
opencode github installQuesto configura il flusso di lavoro GitHub Actions necessario e ti guida attraverso il processo di configurazione. Più info.
run
Esegui l’agente GitHub. Questo viene usato tipicamente in GitHub Actions.
opencode github runFlag
| Flag | Descrizione |
|---|---|
--event | Evento GitHub fittizio per eseguire l’agente |
--token | Token di accesso personale GitHub |
mcp
Gestisci i server Model Context Protocol.
opencode mcp [command]add
Aggiungi un server MCP alla tua configurazione.
opencode mcp addQuesto comando ti guiderà nell’aggiunta di un server MCP locale o remoto.
list
Elenca tutti i server MCP configurati e il loro stato di connessione.
opencode mcp listOppure usa la versione breve.
opencode mcp lsauth
Autenticati con un server MCP abilitato per OAuth.
opencode mcp auth [name]Se non fornisci un nome server, ti verrà chiesto di selezionare tra i server abilitati per OAuth disponibili.
Puoi anche elencare i server abilitati per OAuth e il loro stato di autenticazione.
opencode mcp auth listOppure usa la versione breve.
opencode mcp auth lslogout
Rimuovi le credenziali OAuth per un server MCP.
opencode mcp logout [name]debug
Esegui il debug dei problemi di connessione OAuth per un server MCP.
opencode mcp debug <name>models
Elenca tutti i modelli disponibili dai fornitori configurati.
opencode models [provider]Questo comando visualizza tutti i modelli disponibili attraverso i tuoi fornitori configurati nel formato fornitore/modello.
Questo è utile per capire il nome esatto del modello da usare nella tua configurazione.
Puoi opzionalmente passare un ID fornitore per filtrare i modelli di quel fornitore.
opencode models anthropicFlag
| Flag | Descrizione |
|---|---|
--refresh | Aggiorna la cache dei modelli da models.dev |
--verbose | Usa output del modello più dettagliato (include metadati come i costi) |
Usa il flag --refresh per aggiornare l’elenco dei modelli in cache. Questo è utile quando sono stati aggiunti nuovi modelli a un fornitore e vuoi vederli in OpenCode.
opencode models --refreshrun
Esegui opencode in modalità non interattiva passando direttamente un prompt.
opencode run [message..]Questo è utile per script, automazione, o quando vuoi una risposta rapida senza avviare l’intera TUI. Ad esempio:
opencode run Explain the use of context in GoPuoi anche collegarti a un’istanza opencode serve in esecuzione per evitare i tempi di avvio a freddo del server MCP a ogni esecuzione:
# Avvia un server headless in un terminaleopencode serve
# In un altro terminale, esegui comandi che vi si colleganoopencode run --attach http://localhost:4096 "Explain async/await in JavaScript"Flag
| Flag | Breve | Descrizione |
|---|---|---|
--command | Il comando da eseguire, usa il messaggio per gli argomenti | |
--continue | -c | Continua l’ultima sessione |
--session | -s | ID sessione da continuare |
--share | Condividi la sessione | |
--model | -m | Modello da usare in forma di fornitore/modello |
--agent | Agente da usare | |
--file | -f | File/i da allegare al messaggio |
--format | Formato: default (formattato) o json (eventi JSON grezzi) | |
--title | Titolo per la sessione (usa il prompt troncato se nessun valore) | |
--attach | Collega a un server opencode in esecuzione (es: http://localhost:4096) | |
--port | Porta per il server locale (predefinito: porta casuale) |
serve
Avvia un server OpenCode headless per l’accesso API. Dai un’occhiata alla documentazione del server per l’interfaccia HTTP completa.
opencode serveQuesto avvia un server HTTP che fornisce l’accesso API alle funzionalità di opencode senza l’interfaccia TUI.
Flag
| Flag | Descrizione |
|---|---|
--port | Porta in ascolto |
--hostname | Nome host in ascolto |
--mdns | Abilita la scoperta mDNS |
--cors | Origin browser aggiuntivi per consentire CORS |
session
Gestisci le sessioni OpenCode.
opencode session [command]list
Elenca tutte le sessioni OpenCode.
opencode session listFlag
| Flag | Breve | Descrizione |
|---|---|---|
--max-count | -n | Limita alle N sessioni più recenti |
--format | Formato di output: table o json (table) |
stats
Mostra le statistiche di utilizzo dei token e dei costi per le tue sessioni OpenCode.
opencode statsFlag
| Flag | Descrizione |
|---|---|
--days | Mostra le statistiche per gli ultimi N giorni (tutto il tempo) |
--tools | Numero di strumenti da mostrare (tutti) |
--models | Mostra la ripartizione dell’uso dei modelli (nascosto per impostazione predefinita). Passa un numero per mostrare i primi N |
--project | Filtra per progetto (tutti i progetti, stringa vuota: progetto corrente) |
export
Esporta i dati della sessione come JSON.
opencode export [sessionID]Se non fornisci un ID sessione, ti verrà chiesto di selezionare tra le sessioni disponibili.
import
Importa i dati della sessione da un file JSON o URL di condivisione OpenCode.
opencode import <file>Puoi importare da un file locale o un URL di condivisione OpenCode.
opencode import session.jsonopencode import https://opncd.ai/s/abc123web
Avvia un server OpenCode headless con un’interfaccia web.
opencode webQuesto avvia un server HTTP e apre un browser web per accedere a OpenCode attraverso un’interfaccia web.
Flag
| Flag | Descrizione |
|---|---|
--port | Porta in ascolto |
--hostname | Nome host in ascolto |
--mdns | Abilita la scoperta mDNS |
--cors | Origin browser aggiuntivi per consentire CORS |
acp
Avvia un server ACP (Agent Client Protocol).
opencode acpQuesto comando avvia un server ACP che comunica tramite stdin/stdout usando nd-JSON.
Flag
| Flag | Descrizione |
|---|---|
--cwd | Directory di lavoro |
--port | Porta in ascolto |
--hostname | Nome host in ascolto |
uninstall
Disinstalla OpenCode e rimuovi tutti i file correlati.
opencode uninstallFlag
| Flag | Breve | Descrizione |
|---|---|---|
--keep-config | -c | Mantiene i file di configurazione |
--keep-data | -d | Mantiene i dati delle sessione e snapshot |
--dry-run | Mostra cosa verrebbe rimosso senza rimuovere | |
--force | -f | Salta i prompt di conferma |
upgrade
Aggiorna opencode all’ultima versione o a una versione specifica.
opencode upgrade [target]Per aggiornare all’ultima versione.
opencode upgradePer aggiornare a una versione specifica.
opencode upgrade v0.1.48Flag
| Flag | Breve | Descrizione |
|---|---|---|
--method | -m | Il metodo di installazione che è stato usato; curl, npm, pnpm, bun, brew |
Flag globali
La CLI di opencode accetta i seguenti flag globali.
| Flag | Breve | Descrizione |
|---|---|---|
--help | -h | Mostra aiuto |
--version | -v | Stampa numero versione |
--print-logs | Stampa log su stderr | |
--log-level | Livello log (DEBUG, INFO, WARN, ERROR) |
Variabili d’ambiente
OpenCode può essere configurato usando variabili d’ambiente.
| Variabile | Tipo | Descrizione |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | Condividi automaticamente le sessioni |
OPENCODE_GIT_BASH_PATH | string | Percorso dell’eseguibile Git Bash su Windows |
OPENCODE_CONFIG | string | Percorso del file di configurazione |
OPENCODE_CONFIG_DIR | string | Percorso della directory di configurazione |
OPENCODE_CONFIG_CONTENT | string | Contenuto configurazione json inline |
OPENCODE_DISABLE_AUTOUPDATE | boolean | Disabilita verifiche aggiornamento automatiche |
OPENCODE_DISABLE_PRUNE | boolean | Disabilita potatura dei vecchi dati |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | Disabilita aggiornamenti automatici del titolo del terminale |
OPENCODE_PERMISSION | string | Configurazione permessi json inline |
OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | Disabilita plugin predefiniti |
OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | Disabilita download automatici dei server LSP |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | Abilita modelli sperimentali |
OPENCODE_DISABLE_AUTOCOMPACT | boolean | Disabilita compattazione automatica del contesto |
OPENCODE_DISABLE_CLAUDE_CODE | boolean | Disabilita lettura da .claude (prompt + abilità) |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | Disabilita lettura di ~/.claude/CLAUDE.md |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | Disabilita caricamento di .claude/skills |
OPENCODE_CLIENT | string | Identificatore client (predefinito cli) |
OPENCODE_ENABLE_EXA | boolean | Abilita strumenti di ricerca web Exa |
Sperimentale
Queste variabili d’ambiente abilitano funzionalità sperimentali che possono cambiare o essere rimosse.
| Variabile | Tipo | Descrizione |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | Abilita tutte le funzionalità sperimentali |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | Abilita scoperta icone |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | Disabilita copia sulla selezione nella TUI |
OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH | number | Lunghezza massima output per comandi bash |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | Timeout predefinito per comandi bash in ms |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | Token di output massimi per risposte LLM |
OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | Abilita file watcher per l’intera directory |
OPENCODE_EXPERIMENTAL_OXFMT | boolean | Abilita formattatore oxfmt |
OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | Abilita strumento LSP sperimentale |