Guida ai comandi OpenCode
Comandi OpenCode: comandi personalizzati, argomenti e uso sicuro
La distinzione principale è semplice: i comandi slash integrati controllano la TUI corrente, mentre i comandi personalizzati di OpenCode trasformano un prompt ripetibile in un flusso con nome. Inizia con un file Markdown in .opencode/commands/, usa $ARGUMENTS solo quando l’input cambia davvero e controlla il prompt prodotto prima di consentire modifiche ai file o comandi Shell. Questa guida tratta comandi integrati, configurazione Markdown e JSON, argomenti posizionali, output Shell, riferimenti ai file, permessi e problemi comuni.
- Parola chiave
- comandi OpenCode
- Documentazione verificata
- 19 agosto 2026
- Lettura
- 14 minuti

Risposta rapida
I comandi OpenCode hanno tre livelli pratici
Scegli il livello più piccolo che risolve il problema, così il collegamento al prompt resta controllabile.
| Livello | Funzione | Esempio |
|---|---|---|
| Comando TUI integrato | Controlla la sessione corrente o un’azione disponibile. | /help, /undo |
| Comando personalizzato | Espande un prompt con nome da Markdown o JSON. | /review con $ARGUMENTS |
| Comando Shell | Viene eseguito nel terminale come superficie separata. | npm test, git status |
Un comando personalizzato non sostituisce installazione CLI, provider o permessi. Per opencode mancante, consulta la guida di deployment; per i modelli, la guida dei provider; per le modifiche, la guida dei permessi. Verifica i nomi con la documentazione ufficiale Commands e /help.
Comandi integrati
Usa i comandi slash nella TUI corrente
OpenCode include /init, /undo, /redo, /share e /help. Non sono alias Shell e non vanno inseriti in package.json. Inseriscili nell’interfaccia OpenCode e leggi il risultato prima di procedere.
/help è il controllo iniziale quando la lista della versione installata non è chiara. /undo e /redo non sostituiscono Git. Con /share, controlla quali dati diventano visibili prima di usarlo con codice privato. La lista integrata può cambiare tra le versioni.
Esempio Markdown
Inizia con un comando personalizzato del progetto
Un file Markdown è facile da rivedere in Git e resta vicino al repository che lo usa.
- Crea
.opencode/commands/review.mdnella radice del progetto. - Aggiungi una descrizione breve e un compito con un confine chiaro.
- Prova il comando in un branch piccolo e controlla prompt e diff.
.opencode/commands/review.md
L’esempio chiede un piano di revisione senza scrivere automaticamente.
---
description: Review the current changes
---
Review the current Git changes. Explain risky behavior,
missing tests, and the smallest safe follow-up.
Do not edit files until I approve the plan.Il nome del file diventa il nome del comando: qui si usa /review. ~/.config/opencode/commands/ è adatto a flussi personali globali; .opencode/commands/ a percorsi, test e regole del team. “Rivedi le modifiche e proponi un piano” è più verificabile di “sistema tutto”.
Configurazione JSON
Usa l’oggetto command vicino alle impostazioni del progetto
I comandi possono essere definiti nell’oggetto command della configurazione JSON o JSONC. È utile per scegliere un agent o un modello. Percorsi, schema e priorità appartengono alla guida opencode.jsonc.
{
"$schema": "https://opencode.ai/config.json",
"command": {
"test-review": {
"template": "Review the latest test output and list the first three fixes.",
"description": "Review test output",
"agent": "plan"
}
}
}| Opzione | Uso | Controllo |
|---|---|---|
template | Prompt inviato all’esecuzione. | Esiste e limita il compito. |
description | Descrizione breve per trovarlo. | Spiega il risultato. |
agent | Seleziona un agent nominato. | Strumenti e permessi sono adatti. |
model | Sostituisce il modello per il flusso. | L’ID esiste nel provider. |
La configurazione non è un archivio di segreti. Chiavi e token devono restare nel percorso credenziali del provider. Un comando che usa file o Shell va revisionato come uno script.
Argomenti e contesto
Usa variabili solo quando il flusso cambia davvero
$ARGUMENTS riceve l’intera stringa; $1 e $2 separano valori posizionali.

---
description: Create a file with supplied values
---
Create a file named $1 in directory $2.
Use this content: $3
Show the proposed path before writing./create-file config.json src "{ \"key\": \"value\" }" fornisce tre valori. Il modello deve spiegare come usarli e mostrare il percorso prima della scrittura. Per una sola frase libera, $ARGUMENTS è più semplice.
Usa @src/components/Button.tsx per un riferimento al file e !`npm test` o !`git log --oneline -10` per inserire output Shell nel prompt. Poiché il comando parte dalla radice del progetto, evita operazioni distruttive o dati segreti nei modelli riutilizzabili.
Gli argomenti sono input, non permessi. Inizia con una prova in sola lettura, approva un cambiamento piccolo e automatizza solo in un repository affidabile.
Uso sicuro
Mantieni prevedibili nomi, prompt e permessi
Un comando personalizzato con lo stesso nome può sostituire un comando integrato. Evita help, undo e share se non è una scelta intenzionale. Un nome come review-tests comunica meglio il risultato.
Rivedi i file dei comandi come codice: diff del prompt, risposta, file citati e Shell proposto. Controlla agent e modelli con la guida Agents; per Skills e MCP usa le guide Skills e MCP.
| Sintomo | Livello | Primo controllo |
|---|---|---|
| Il comando slash non appare | Percorso o nome | Controlla file, cartella, frontmatter e radice. |
| Risultato errato | Prompt o argomenti | Prova una richiesta corta e un argomento. |
| Output Shell rischioso | Contesto Shell | Esegui manualmente e controlla cartella e permessi. |
| Comportamento integrato cambiato | Collisione | Rinomina e confronta con /help. |
Verifica
Sei controlli prima dell’uso in team
- Ambito: descrivi input e output in una frase.
- Posizione: scegli percorso di progetto o globale e documentalo.
- Input: prova valori normali, mancanti, quotati e percorsi.
- Contesto: verifica file e output prima di modificare.
- Permessi: inizia con ask o lettura e approva piccoli cambiamenti.
- Rollback: conserva il comando in Git e annota come disattivarlo.
Così i problemi restano separati: comando assente significa spesso percorso, risultato errato prompt o argomenti, modifica negata permessi e modello non riuscito provider.
Domande frequenti
Domande sui comandi OpenCode
A cosa servono i comandi OpenCode?
Gli integrati controllano la TUI; i personalizzati raccolgono prompt ripetibili per revisioni, test e modelli di file.
Dove si trova la cartella dei comandi personalizzati?
I comandi di progetto stanno in .opencode/commands/, quelli globali in ~/.config/opencode/commands/. Il nome del file diventa il comando.
Come passo gli argomenti?
Usa $ARGUMENTS per la stringa completa o $1, $2 per valori separati. Quota gli argomenti con spazi o JSON.
Perché il comando non compare?
Controlla cartella, radice, nome, frontmatter e collisioni, poi confronta /help con la documentazione ufficiale.
Fonti ufficiali
Verifica i dettagli che dipendono dalla versione
La pagina è stata verificata il 19 agosto 2026 con la documentazione ufficiale OpenCode. Nomi e percorsi possono cambiare.
Riepilogo
Usa i comandi integrati per la TUI, Markdown per flussi di progetto verificabili e JSON quando il comando deve stare accanto alla configurazione. Mantieni chiari gli argomenti, considera l’output Shell un contesto non affidabile, evita collisioni e prova ogni cambiamento con un’attività piccola e reversibile.