Compartir comentarios
Las respuestas se generan en base a la documentación.

Integración ACP

Ejecuta agentes directamente en tu editor utilizando el Protocolo Cliente Agente (ACP - Agent Client Protocol). Tu agente obtiene acceso al contexto del sistema de archivos de tu editor y puede leer y modificar archivos mientras trabajas. El editor maneja las operaciones de archivos mientras que Docker Agent proporciona las capacidades de IA.

Esta guía te muestra cómo configurar Neovim o Zed para ejecutar agentes con Docker Agent. Si buscas exponer agentes como herramientas a clientes MCP como Claude Desktop o Claude Code, consulta la integración MCP en su lugar.

Cómo funciona

Cuando ejecutas Docker Agent con ACP, se convierte en parte del entorno de tu editor. Seleccionas código, resaltas una función o haces referencia a un archivo; el agente ve lo que tú ves. Sin copiar rutas de archivos ni cambiar a un terminal.

Pregunta "explica esta función" y el agente leerá el archivo que estás viendo. Pídele que "añada manejo de errores" y editará el código directamente en tu editor. El agente trabaja con la vista del proyecto de tu editor, no con algún sistema de archivos externo por el que tenga que navegar.

La diferencia con respecto a ejecutar Docker Agent en un terminal: las operaciones de archivos pasan por tu editor en lugar de que el agente acceda directamente a tu sistema de archivos. Cuando el agente necesita leer o escribir un archivo, lo solicita a tu editor. Esto mantiene la vista de tu código sincronizada entre el agente y tú: mismo directorio de trabajo, mismos archivos, mismo estado.

Requisitos previos

Antes de configurar tu editor, necesitas:

Tus agentes utilizarán las claves de API de los proveedores de modelos de tu entorno de shell (ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.). Asegúrate de que estén configuradas antes de iniciar tu editor.

Configuración del editor

Zed

Zed tiene soporte integrado para ACP.

  1. Añade docker agent a tus servidores de agentes en settings.json:

    {
      "agent_servers": {
        "my-agent-team": {
          "command": "docker",
          "args": ["agent", "serve", "acp", "agent.yml"]
        }
      }
    }

    Reemplaza:

    • my-agent-team por el nombre que desees usar para el agente
    • agent.yml por la ruta a tu archivo de configuración del agente.

    Si tienes múltiples archivos de agentes que te gusta ejecutar por separado, puedes crear varias entradas bajo agent_servers para cada agente.

  2. Inicia un nuevo hilo de agente externo. Selecciona tu agente en la lista desplegable.

    Nuevo hilo externo con Docker Agent en Zed

Neovim

Utiliza el plugin CodeCompanion, que cuenta con soporte nativo para Docker Agent a través de un adaptador integrado:

  1. Instala CodeCompanion a través de tu gestor de plugins.

  2. Extiende el adaptador dockeragent en tu configuración de CodeCompanion:

    require("codecompanion").setup({
      adapters = {
        acp = {
          dockeragent = function()
            return require("codecompanion.adapters").extend("dockeragent", {
              commands = {
                default = {
                  "docker",
                  "agent",
                  "serve",
                  "acp",
                  "agent.yml",
                },
              },
            })
          end,
        },
      },
    })

    Reemplaza agent.yml por la ruta a tu archivo de configuración del agente. Si tienes múltiples archivos de agentes que prefieres ejecutar por separado, puedes crear varios comandos para cada agente.

  3. Reinicia Neovim e inicia CodeCompanion:

    :CodeCompanion
  4. Cambia al adaptador de Docker Agent (por defecto, combinación de teclas ga en el búfer de CodeCompanion).

Consulta la documentación de CodeCompanion ACP para obtener más información sobre el soporte de ACP en CodeCompanion. Ten en cuenta que las operaciones de terminal no están soportadas, por lo que los conjuntos de herramientas (toolsets) como shell o script_shell no se pueden usar a través de CodeCompanion.

Referencias de agentes

Puedes especificar la configuración de tu agente como una ruta de archivo local o una referencia a un registro OCI:

# Ruta de archivo local
$ docker agent serve acp ./agent.yml

# Referencia a un registro OCI
$ docker agent serve acp agentcatalog/pirate
$ docker agent serve acp dockereng/myagent:v1.0.0

Utiliza la misma sintaxis en la configuración de tu editor:

{
  "agent_servers": {
    "myagent": {
      "command": "docker",
      "args": ["agent", "serve", "acp", "agentcatalog/pirate"]
    }
  }
}

Las referencias de registro permiten compartir con el equipo, gestionar versiones y mantener una configuración limpia sin rutas de archivos locales. Consulta Compartir agentes para más detalles sobre el uso de registros OCI.

Probar tu configuración

Verifica que tu configuración funcione:

  1. Inicia el servidor ACP de Docker Agent utilizando el método configurado en tu editor
  2. Envía un prompt de prueba a través de la interfaz de tu editor
  3. Comprueba que el agente responde
  4. Verifica que las operaciones del sistema de archivos funcionan pidiéndole al agente que lea un archivo

Si el agente se inicia pero no puede acceder a los archivos o realizar otras acciones, verifica lo siguiente:

  • El directorio de trabajo en tu editor está configurado correctamente en la raíz de tu proyecto
  • La ruta del archivo de configuración del agente es absoluta o relativa al directorio de trabajo
  • Tu editor o plugin implementa correctamente las características del protocolo ACP

¿Qué sigue?