Table of Contents

OpenCode CLI e Desktop são clientes do mesmo produto de agente de código. A interface de terminal atende ao trabalho com teclado e scripts. O aplicativo desktop oferece um espaço de trabalho gráfico. A comparação importante inclui o servidor, o projeto, o provedor e a configuração por trás de cada cliente.

Escolha a interface depois de identificar o backend. Duas janelas do OpenCode não usam necessariamente o mesmo servidor ou sessão. Um aplicativo desktop apontado para outro servidor é um ambiente de execução diferente, mesmo que o nome do modelo pareça familiar.

Pontos principais

  • Use CLI para trabalho no terminal e comandos não interativos.
  • Use Desktop para um espaço gráfico, verificando o servidor selecionado.
  • A configuração do provedor determina a inferência, independentemente da interface.
  • A mesma identidade do produto não garante o mesmo estado de sessão entre servidores ou versões separados.

Escopo e data: Documentação oficial verificada em 6 de outubro de 2026. Este guia compara interfaces, não a qualidade dos modelos. Você precisa de um repositório, uma conexão de provedor funcional e familiaridade básica com terminal. Reserve 45 a 60 minutos para o teste.

O cliente e o servidor

O OpenCode separa a interface do servidor. A documentação do servidor descreve a UI de terminal como cliente e opencode serve como servidor independente. Essa arquitetura oferece várias formas de interagir com o agente.

O Desktop inicia um servidor local por padrão. O guia de solução de problemas identifica o sidecar opencode-cli e a opção de conectar a uma URL de servidor configurada. Quando os clientes se comportarem de modo diferente, verifique essa conexão antes de mudar o prompt.

CamadaPergunta a responder
ClienteUI de terminal, aplicativo desktop ou comando não interativo?
Servidor do agenteQual processo recebe a solicitação?
RepositórioQual diretório o servidor acessa?
Provedor do modeloQual serviço fornece a inferência?
SessãoConversa existente ou nova tarefa?

A localização do servidor não é a localização da inferência. Um servidor de agente no seu computador ainda envia solicitações para um modelo hospedado configurado. Um serviço local compatível de inferência é um processo separado com modelo e requisitos de recursos próprios.

A referência oficial do servidor lista 127.0.0.1 como hostname padrão de opencode serve. Mantenha o serviço no loopback durante um teste local:

opencode serve --hostname 127.0.0.1

Use um endereço de bind mais amplo somente depois de definir autenticação, regras de firewall e os caminhos do repositório expostos ao servidor.

Clientes de terminal e desktop conectados a um servidor de agente, arquivos do repositório e um serviço de inferência separado

Verifique o servidor do agente e o provedor de inferência separadamente

Interação no terminal e automação

opencode

O comando padrão abre a UI de terminal. A referência de CLI também documenta comandos programáticos. Comece no repositório desejado e confirme o agente e o modelo selecionados antes de solicitar alterações.

opencode run "Identify this project's test command. Do not modify files."

Use opencode run para uma solicitação não interativa limitada. Defina a política de permissões adequada separadamente. Pedir que não haja alterações orienta a solicitação, mas não impõe isolamento do sistema de arquivos.

Escolha esse fluxo quando a composição do shell importar. Um wrapper repetível deve registrar a solicitação, o status de saída, a saída relevante e os arquivos alterados. Torne o tratamento de falhas explícito. Um diff vazio e uma mensagem de sucesso exigem interpretação diferente de uma correção verificada.

Configuração e compatibilidade do Desktop

Use a página oficial de download para a versão desejada. A página de download do OpenCode lista pacotes de terminal e desktop. Nesta verificação, ela anuncia pacotes de terminal v2, enquanto a documentação geral também contém exemplos de instalação antigos. Registre as versões exatas do cliente e do backend. Não misture instruções de linhas de lançamento diferentes.

Avalie a interação desktop com uma tarefa real pequena. Abra um projeto, confirme o servidor, envie uma solicitação limitada, inspecione os arquivos alterados e peça uma correção. Avalie o esforço necessário para entender as ações do agente. Não presuma que um cliente gráfico substitua completamente seu editor e depurador.

Teste do DesktopEvidência esperada
Seleção do projetoO agente identifica o repositório desejado
Seleção do modeloProvedor e modelo correspondem ao registro do teste
Execução de comandosRuntime e testes necessários estão disponíveis
Inspeção da alteraçãoO patch completo é fácil de localizar e revisar
ReinícioProjeto e sessão desejados continuam identificáveis

Configuração e acesso ao modelo

O OpenCode combina configurações de vários locais. A referência de configuração explica precedência e preservação de configurações sem conflito. Compare o modelo, o agente e as permissões efetivos, não apenas um arquivo de projeto.

O acesso ao provedor pertence à configuração de execução. O guia de provedores descreve serviços compatíveis e endpoints compatíveis. Credenciais, alcance do endpoint e suporte a ferramentas do modelo importam. Um servidor em outro local precisa do próprio acesso válido ao provedor e ao repositório.

O cliente não define o custo total de inferência. Compare o uso faturado com modelos e tarefas equivalentes. Inclua execuções repetidas causadas por erros de configuração. Na inferência local, registre memória do sistema, formato do modelo, tamanho do contexto e configurações de runtime. Não apresente um download desktop como substituto gratuito da computação hospedada.

Sessões e troca segura

Verifique a continuidade em vez de presumir. Registre projeto e sessão ativos antes de trocar de cliente. Confirme se o destino se conecta ao servidor desejado e mostra o histórico desejado. Ao iniciar uma sessão nova, faça uma passagem curta com objetivo, trabalho concluído e verificações restantes.

Evite alterações simultâneas no mesmo checkout. Duas conversas com planos diferentes compartilham arquivos quando apontam para o mesmo diretório. Use worktrees ou checkouts separados para experimentos independentes. Revise as alterações antes da integração.

Handover record
Goal:
Current branch and working directory:
Files changed:
Checks already completed:
Known failures:
Next approved action:

Esse registro torna a passagem verificável. Ele também ajuda a distinguir um problema de interface de uma instrução ausente ou de um ambiente incompatível. Mantenha credenciais fora do registro.

Acesso ao servidor e permissões

Trate o servidor do agente como um serviço de execução. A documentação do servidor descreve autenticação opcional por meio de OPENCODE_SERVER_PASSWORD. Configure o acesso de forma intencional antes de conectar máquinas. Um servidor de agente acessível não é um site estático inofensivo.

Revise as permissões das ferramentas separadamente. O guia de permissões define o comportamento allow, ask e deny. Aplique a mesma política durante o teste da interface. Não considere mais seguro ou capaz um cliente com menos avisos sem verificar as regras efetivas.

Comece com um teste de política inofensivo. Solicite uma inspeção permitida e uma edição proibida em um projeto descartável. Verifique o comportamento observado e depois passe a uma implementação limitada. Assim a suposição de permissões se torna testável.

Solução de problemas e escolha

SintomaPrimeira inspeção
Falha de conexão do DesktopServidor selecionado e status do sidecar local
Modelo ausente em um clienteVersão do servidor, acesso ao provedor e configuração
Resultado de teste diferenteDiretório do projeto e ambiente de runtime
Conversa ausenteIdentidade do servidor e da sessão
Funciona até carregar um pluginConfiguração do plugin e compatibilidade da versão

Escolha o terminal se solicitações com scripts e contexto do shell facilitarem o trabalho. Escolha Desktop se a navegação gráfica do projeto melhorar sua supervisão. Mantenha decisões de provedor e política separadas dessa preferência.

Próximos passos: Compare alternativas de terminal no resumo de CLI . Para requisitos de inferência local, leia o guia OpenCode e Strata . Para alternativas gráficas, use o resumo de GUI .