Conceptos básicos
Los agentes de ACP se ejecutan como subprocesos locales que Devin Desktop inicia bajo demanda. Toda la comunicación se realiza mediante JSON-RPC a través de stdio.Métodos que debes implementar
Como mínimo, tu agente debe manejar estos métodos de Devin Desktop:initialize— Negocia la versión del protocolo, anuncia las capacidades de tu agente y devuelve información del agente (nombre, versión).session/new— Crea una nueva sesión para un directorio de trabajo y devuelve un ID de sesión. Devin Desktop pasa elcwdy cualquier servidor MCP configurado.session/prompt— Recibe un mensaje del usuario, procesa el turno de prompt y devuelve unstopReasonal finalizar.session/cancel— Cancela cualquier trabajo en curso de una sesión cuando el usuario la cancela.
Ciclo de vida de un turno de prompt
Durante un turnosession/prompt, tu agente envía actualizaciones a Devin Desktop como notificaciones JSON-RPC:
session/updateconagent_message_chunkpara transmitir en streaming el texto del asistente.session/updatecontool_callytool_call_updatepara mostrar las invocaciones de herramientas y su estado en la interfaz de Devin Desktop.session/request_permissionpara pedirle al usuario autorización antes de ejecutar una invocación de herramienta sensible.session/updateconplansi tu agente mantiene un plan de agente.
session/prompt con un stopReason (p. ej., end_turn, cancelled, max_tokens).
Pruebas
Para probar tu agente con Devin Desktop:- Agrega una entrada para tu agente en tu configuración del registro local, haciendo que
cmdapunte a la ruta del binario de tu agente local (o de un script intermedio). - Haz cambios en tu agente y vuelve a compilar según sea necesario.
- Ejecuta
Reload ACP Connectionsdesde la Command Palette para cargar la versión más reciente; no es necesario reiniciar Devin Desktop entre iteraciones.
Limitaciones
Actualmente, Devin Desktop no admite todas las partes de la especificación ACP. Estas son las principales diferencias que debes tener en cuenta al crear un agente para Devin Desktop:- Los modos de sesión no son compatibles. Los modos de sesión no se exponen en la interfaz de Devin Desktop. Si tu agente necesita permitir que los usuarios elijan entre distintos modos (p. ej., plan / compilación / revisión), expónlos en su lugar como una opción de configuración de sesión con la categoría
"mode". - Las capacidades de terminal no se exponen. Devin Desktop no anuncia capacidades de terminal, por lo que los agentes no pueden crear terminales en la interfaz de Devin Desktop. Los agentes deben ejecutar comandos en su propio subproceso y reenviar la salida mediante actualizaciones de
tool_call.

