Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt

Use this file to discover all available pages before exploring further.

Esta página aborda o que você precisa implementar para criar um agente ACP personalizado que funcione com o Devin Desktop. Para consultar a especificação completa do protocolo, acesse agentclientprotocol.com. Bibliotecas de cliente oficiais estão disponíveis em Rust, TypeScript, Python, Kotlin e Java.

Noções básicas

Os agentes ACP são executados como subprocessos locais iniciados pelo Devin Desktop sob demanda. Toda a comunicação ocorre por JSON-RPC via stdio.

Métodos que você deve implementar

No mínimo, seu agente precisa oferecer suporte a estes métodos do Devin Desktop:
  • initialize — Negocie a versão do protocolo, informe as capacidades do seu agente e retorne as informações do agente (nome, versão).
  • session/new — Crie uma nova sessão para um diretório de trabalho e retorne um ID da sessão. O Devin Desktop passa o cwd e todos os servidores MCP configurados.
  • session/prompt — Receba uma mensagem do usuário, execute o turno de prompt e retorne um stopReason ao finalizar.
  • session/cancel — Interrompa qualquer trabalho em andamento de uma sessão quando o usuário cancelar.

Ciclo de vida do turno de prompt

Durante um turno session/prompt, seu agente envia atualizações ao Devin Desktop como notificações JSON-RPC:
  • session/update com agent_message_chunk para transmitir em streaming o texto do assistente.
  • session/update com tool_call e tool_call_update para exibir chamadas de ferramenta e seu status na Devin Desktop UI.
  • session/request_permission para pedir permissão ao usuário antes de executar uma chamada de ferramenta sensível.
  • session/update com plan se seu agente mantiver um plano do agente.
O turno termina quando seu agente retorna uma resposta session/prompt com um stopReason (por exemplo, end_turn, cancelled, max_tokens).

Testes

Para testar seu agente com o Devin Desktop:
  1. Adicione uma entrada para seu agente na sua configuração do registro local, apontando cmd para o caminho do binário do seu agente local (ou de um script wrapper).
  2. Faça alterações no seu agente e refaça a build quando necessário.
  3. Execute Reload ACP Connections na Paleta de Comandos para reconhecer a versão mais recente — não é preciso reiniciar o Devin Desktop entre as iterações.

Limitações

No momento, o Devin Desktop não oferece suporte a todas as partes da especificação ACP. A seguir estão as principais diferenças que você deve considerar ao desenvolver um agente para o Devin Desktop:
  • Modos de sessão não têm suporte. Os modos de sessão não são exibidos na UI do Devin Desktop. Se o seu agente precisar permitir que os usuários escolham entre modos (por exemplo, plan / build / review), exponha-os como uma opção de configuração de sessão com a categoria "mode".
  • Capacidades de terminal não são expostas. O Devin Desktop não anuncia capacidades de terminal, portanto os agentes não podem criar terminais na UI do Devin Desktop. Os agentes devem executar comandos em um subprocesso próprio e transmitir a saída de volta por meio de atualizações tool_call.