Integración ACP

Conecta cualquier editor compatible con ACP a Bob Shell como asistente de IA de primera clase.

Bob Shell puede ejecutarse como servidor Agent Client Protocol (ACP). Una vez conectado, el editor gestiona la interfaz de hilos, los diálogos de permisos y los diffs, mientras Bob gestiona el runtime: acceso al modelo, tools, servidores MCP y ejecución del shell.

Nota:

ACP juega el mismo papel para los agentes de codificación que el Language Server Protocol para las herramientas de lenguaje: un contrato JSON-RPC, muchos editores, muchos agentes. Los agentes locales se comunican con el editor a través de stdin y stdout.

Editores compatibles

Los siguientes editores admiten conexiones ACP con Bob Shell:

  • Zed
  • IntelliJ IDEA
  • Neovim

Primeros pasos

Inicia Bob Shell como servidor ACP:

bob acp

El proceso espera JSON-RPC en stdin. Inícialo a través de la configuración ACP de tu editor; ejecutarlo directamente en un terminal parece bloquearse.

Sigue las instrucciones de configuración ACP de tu editor para conectarte al proceso bob acp. Para más información sobre el protocolo, consulta la especificación ACP.

Autenticación

Bob se autentica durante la inicialización ACP. Si BOBSHELL_API_KEY está definido en el entorno que lanza bob acp, Bob usa la clave y no se requiere ninguna acción adicional.

Sin una clave API ni un token almacenado, tu editor te solicita que te autentiques a través de SSO. Completa el flujo del navegador una vez Bob almacena el token para que las sesiones ACP posteriores en la misma máquina lo reutilicen.

Confianza del workspace

Bob verifica la confianza del workspace antes de crear una sesión. Un workspace no confiable provoca que la creación de la sesión falle. Para confiar en un workspace, abre un terminal en ese directorio y ejecuta Bob Shell de forma interactiva:

cd /path/to/project
bob

Una vez registrada la confianza, sal y vuelve a conectarte a través del editor.

Para entornos efímeros o desechables, pasa --trust en tus argumentos ACP. Para conocer las implicaciones, consulta Opciones de comando.

Servidores MCP

Tanto el editor como Bob pueden proporcionar servidores MCP a una sesión. Ambos conjuntos de servidores se inicializan dentro del mismo harness de sesión de Bob, lo que hace fácil pasar por alto la configuración duplicada.

Prefiere un único propietario para cada servidor MCP. Si un tool MCP falta inesperadamente, comprueba tanto la configuración MCP de tu editor como la configuración MCP nativa de Bob.

Importante:

Cada sesión ACP crea su propio harness con sus servidores MCP configurados. Un servidor MCP local puede iniciarse una vez por hilo activo de Bob. Monitoriza el uso de recursos antes de abrir muchos hilos en paralelo, especialmente cuando un servidor inicia una JVM, un contenedor o un modelo local.

Bob Shell comparado con el terminal del editor

Bob Shell ejecuta comandos en su propio proceso hijo, no en el terminal de tu editor. Un comando que funciona en el terminal de tu editor puede fallar para Bob Shell si el proceso bob acp heredó un PATH, directorio de trabajo o entorno diferente.

Los cambios que realizas en un terminal del editor en ejecución como cd o export no llegan a Bob Shell. Si actualizas el entorno de inicio, reinicia el hilo ACP.

Opciones de comando

Comienza con bob acp y añade opciones solo por una razón concreta:

OpciónDescripción
--log-level <level>Establece el nivel de detalle del log: debug, info, warn, error o silent. También configurable a través de la variable de entorno BOB_LOG_LEVEL.
--trustConfía en cada workspace que abre este servidor ACP. Esta opción elimina un límite a nivel de proyecto; no la incluyas en una configuración de editor permanente.
--auto-approveAprueba cada llamada a tool sin mostrar diálogos de permisos. Esta opción es más amplia que seleccionar Permitir siempre para un solo tool.
--disable-mcpOmite la inicialización de servidores MCP. Usa esta opción para aislar fallos en el inicio de sesión.
--disable-subagentsOmite el registro de tools de subagente de Bob cuando la tarea no requiere delegación.
--accept-licenseRegistra la aceptación de la licencia antes del inicio del servidor. Revisa primero los archivos de licencia ejecutando bob --show-license acp.
Advertencia:

Usar --trust y --auto-approve juntos elimina tanto el control del workspace como la aprobación por tool. Un prompt puede actuar en cualquier workspace que abra el servidor sin confirmación adicional. No incluyas ambas opciones en tu configuración de editor predeterminada.

¿Cómo es este tema?