Guia de comandos do OpenCode
Comandos do OpenCode: comandos personalizados, argumentos e uso seguro
A diferença principal é simples: os comandos slash integrados controlam a TUI atual, enquanto os comandos personalizados do OpenCode transformam um prompt repetível em um fluxo com nome. Comece com um arquivo Markdown em .opencode/commands/, use $ARGUMENTS apenas quando a entrada realmente variar e revise o prompt gerado antes de permitir alterações em arquivos ou comandos Shell. Este guia cobre comandos integrados, configuração Markdown e JSON, argumentos posicionais, saída do Shell, referências de arquivos, permissões e falhas comuns.
- Palavra-chave
- comandos do OpenCode
- Documentação verificada
- 19 de agosto de 2026
- Leitura
- 14 minutos

Resposta rápida
Os comandos do OpenCode têm três camadas úteis
Escolha a menor camada que resolve a tarefa para que o atalho continue fácil de revisar.
| Camada | Função | Exemplo |
|---|---|---|
| Comando integrado da TUI | Controla a sessão atual ou uma ação incluída. | /help, /undo |
| Comando personalizado | Expande um prompt nomeado a partir de Markdown ou JSON. | /review com $ARGUMENTS |
| Comando Shell | Executa no terminal como uma superfície independente. | npm test, git status |
Um comando personalizado não substitui a instalação da CLI, o provider ou a política de permissões. Se opencode não for encontrado, consulte o guia de implantação; para modelos, o guia de providers; para alterações, o guia de permissões. Confirme os nomes na documentação oficial de Commands e em /help.
Comandos integrados
Use comandos slash na TUI atual
O OpenCode inclui /init, /undo, /redo, /share e /help. Eles não são aliases de Shell nem entradas para package.json. Digite-os na interface do OpenCode e leia o resultado antes de continuar.
/help é a primeira verificação quando a lista da versão instalada não está clara. /undo e /redo não substituem commits do Git. Com /share, confira quais dados da sessão ficarão visíveis antes de usá-lo com código privado. A lista integrada pode mudar entre versões.
Exemplo Markdown
Comece com um comando personalizado do projeto
Um arquivo Markdown pode ser revisado no Git e fica perto do repositório que o utiliza.
- Crie
.opencode/commands/review.mdna raiz do projeto. - Adicione uma descrição curta e uma tarefa com limite claro.
- Teste em uma branch pequena e revise o prompt e o diff.
.opencode/commands/review.md
O exemplo pede um plano de revisão sem escrever 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.O nome do arquivo vira o nome do comando: neste caso, /review. Use ~/.config/opencode/commands/ para fluxos pessoais globais e .opencode/commands/ para caminhos, testes e regras da equipe. “Revise as alterações e proponha um plano” é mais verificável que “conserte tudo”.
Configuração JSON
Use o objeto command junto das configurações do projeto
Também é possível definir comandos no objeto command da configuração JSON ou JSONC. Isso ajuda quando o fluxo precisa escolher um agent ou modelo específico. Caminhos, Schema e precedência pertencem ao guia 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"
}
}
}| Opção | Uso | Verificação |
|---|---|---|
template | Prompt enviado ao executar. | Existe e limita a tarefa. |
description | Descrição curta para descoberta. | Explica o resultado. |
agent | Seleciona um agent nomeado. | Ferramentas e permissões são adequadas. |
model | Substitui o modelo do fluxo. | O provider oferece o ID. |
A configuração não é um cofre de segredos. Chaves e tokens devem ficar no fluxo de credenciais do provider. Um comando que usa arquivos ou Shell deve ser revisado como um script.
Argumentos e contexto
Use variáveis apenas quando o fluxo realmente mudar
$ARGUMENTS recebe a string completa; $1 e $2 separam valores posicionais.

---
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\" }" fornece três valores. O modelo deve explicar o uso de cada um e mostrar o caminho antes de escrever. Para uma frase livre, $ARGUMENTS é mais simples.
Use @src/components/Button.tsx para referenciar um arquivo e !`npm test` ou !`git log --oneline -10` para inserir saída do Shell no prompt. Como o comando roda a partir da raiz, evite operações destrutivas ou segredos nos modelos reutilizáveis.
Argumentos são entradas, não permissões. Comece com uma verificação somente leitura, aprove uma alteração pequena e automatize apenas em um repositório confiável.
Uso seguro
Mantenha nomes, prompts e permissões previsíveis
Um comando personalizado com o mesmo nome pode substituir um comando integrado. Evite help, undo e share salvo se essa troca for intencional. Um nome como review-tests comunica melhor o resultado.
Revise os arquivos de comando como código: diff do prompt, resposta, arquivos citados e Shell proposto. Verifique agents e modelos no guia de Agents; para Skills e MCP, use os guias de Skills e MCP.
| Sintoma | Camada provável | Primeira verificação |
|---|---|---|
| Comando slash não aparece | Caminho ou nome | Revise arquivo, pasta, frontmatter e raiz. |
| Resultado incorreto | Prompt ou argumentos | Teste uma solicitação pequena e um argumento. |
| Saída do Shell arriscada | Contexto do Shell | Execute manualmente e confira pasta e permissões. |
| Comportamento integrado mudou | Colisão de nomes | Renomeie e compare com /help. |
Verificação
Seis verificações antes do uso pela equipe
- Escopo: descreva entrada e saída em uma frase.
- Local: escolha projeto ou global e documente.
- Entradas: teste valores normais, ausentes, entre aspas e caminhos.
- Contexto: revise arquivos e saída antes de editar.
- Permissões: comece com ask ou leitura e aprove mudanças pequenas.
- Reversão: mantenha no Git e anote como desativar o comando.
Assim fica mais fácil separar falhas: comando ausente aponta para caminho, resultado ruim para prompt ou argumentos, alteração recusada para permissões e falha de modelo para o provider.
Perguntas frequentes
Perguntas sobre comandos do OpenCode
Para que servem os comandos do OpenCode?
Os integrados controlam a TUI; os personalizados agrupam prompts repetíveis para revisões, testes e modelos de arquivos.
Onde fica a pasta de comandos personalizados?
Comandos do projeto ficam em .opencode/commands/ e comandos globais em ~/.config/opencode/commands/. O nome do arquivo vira o comando.
Como passar argumentos a um comando?
Use $ARGUMENTS para a string completa ou $1, $2 para valores separados. Coloque entre aspas valores com espaços ou JSON.
Por que o comando não aparece?
Confira pasta, raiz, nome, frontmatter e colisões; depois compare /help com a documentação oficial.
Fontes oficiais
Verifique detalhes sensíveis à versão
Esta página foi verificada em 19 de agosto de 2026 com a documentação oficial do OpenCode. Nomes e caminhos podem mudar.
Resumo
Use comandos integrados para a TUI, Markdown para fluxos de projeto revisáveis e JSON quando o comando deve ficar junto da configuração. Mantenha argumentos explícitos, trate a saída do Shell como contexto não confiável, evite colisões e teste cada mudança com uma tarefa pequena e reversível.