Saltar al contenido 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 explica lo que necesitas implementar para crear un agente ACP personalizado que funcione con Devin Desktop. Para consultar la especificación completa del protocolo, visita agentclientprotocol.com. Hay bibliotecas cliente oficiales disponibles para Rust, TypeScript, Python, Kotlin y Java.

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 el cwd y cualquier servidor MCP configurado.
  • session/prompt — Recibe un mensaje del usuario, procesa el turno de prompt y devuelve un stopReason al 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 turno session/prompt, tu agente envía actualizaciones a Devin Desktop como notificaciones JSON-RPC:
  • session/update con agent_message_chunk para transmitir en streaming el texto del asistente.
  • session/update con tool_call y tool_call_update para mostrar las invocaciones de herramientas y su estado en la interfaz de Devin Desktop.
  • session/request_permission para pedirle al usuario autorización antes de ejecutar una invocación de herramienta sensible.
  • session/update con plan si tu agente mantiene un plan de agente.
El turno termina cuando tu agente devuelve una respuesta session/prompt con un stopReason (p. ej., end_turn, cancelled, max_tokens).

Pruebas

Para probar tu agente con Devin Desktop:
  1. Agrega una entrada para tu agente en tu configuración del registro local, haciendo que cmd apunte a la ruta del binario de tu agente local (o de un script intermedio).
  2. Haz cambios en tu agente y vuelve a compilar según sea necesario.
  3. Ejecuta Reload ACP Connections desde 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.