Comandos CLI

acp

Ejecuta el puente del Protocolo de Cliente Agente (ACP) que se comunica con una Puerta de enlace OpenClaw. Este comando habla ACP a través de stdio para IDEs y reenvía solicitudes a la Puerta de enlace a través de WebSocket. Mantiene las sesiones ACP mapeadas a claves de sesión de la Puerta de enlace.

Uso

openclaw acp

# Puerta de enlace remota
openclaw acp --url wss://gateway-host:18789 --token <token>

# Puerta de enlace remota (token desde archivo)
openclaw acp --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token

# Conectarse a una clave de sesión existente
openclaw acp --session agent:main:main

# Conectarse por etiqueta (debe existir previamente)
openclaw acp --session-label "support inbox"

# Reiniciar la clave de sesión antes de la primera solicitud
openclaw acp --session agent:main:main --reset-session

Cliente ACP (depuración)

Usa el cliente ACP integrado para verificar el funcionamiento del puente sin un IDE. Genera el puente ACP y te permite escribir solicitudes de forma interactiva.

openclaw acp client

# Apuntar el puente generado a una Puerta de enlace remota
openclaw acp client --server-args --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token

# Sobrescribir el comando del servidor (predeterminado: openclaw)
openclaw acp client --server "node" --server-args openclaw.mjs acp --url ws://127.0.0.1:19001

Modelo de permisos (modo de depuración del cliente):

  • La aprobación automática está basada en una lista de permitidos y solo se aplica a IDs de herramientas principales confiables.
  • La aprobación automática de read está limitada al directorio de trabajo actual (--cwd cuando se establece).
  • Los nombres de herramientas desconocidas/no principales, las lecturas fuera de alcance y las herramientas peligrosas siempre requieren aprobación explícita mediante solicitud.
  • El toolCall.kind proporcionado por el servidor se trata como metadatos no confiables (no es una fuente de autorización).

Cómo usar esto

Usa ACP cuando un IDE (u otro cliente) hable el Protocolo de Cliente Agente y quieras que controle una sesión de una Puerta de enlace OpenClaw.

  1. Asegúrate de que la Puerta de enlace esté en ejecución (local o remota).
  2. Configura el objetivo de la Puerta de enlace (configuración o banderas).
  3. Configura tu IDE para ejecutar openclaw acp a través de stdio.

Ejemplo de configuración (persistente):

openclaw config set gateway.remote.url wss://gateway-host:18789
openclaw config set gateway.remote.token <token>

Ejemplo de ejecución directa (sin escribir configuración):

openclaw acp --url wss://gateway-host:18789 --token <token>
# preferible para seguridad del proceso local
openclaw acp --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token

Seleccionar agentes

ACP no selecciona agentes directamente. Enruta mediante la clave de sesión de la Puerta de enlace. Usa claves de sesión con alcance de agente para apuntar a un agente específico:

openclaw acp --session agent:main:main
openclaw acp --session agent:design:main
openclaw acp --session agent:qa:bug-123

Cada sesión ACP se mapea a una única clave de sesión de la Puerta de enlace. Un agente puede tener muchas sesiones; ACP usa por defecto una sesión aislada acp:<uuid> a menos que sobrescribas la clave o la etiqueta.

Configuración del editor Zed

Añade un agente ACP personalizado en ~/.config/zed/settings.json (o usa la IU de Configuración de Zed):

{
  "agent_servers": {
    "OpenClaw ACP": {
      "type": "custom",
      "command": "openclaw",
      "args": ["acp"],
      "env": {}
    }
  }
}

Para apuntar a una Puerta de enlace o agente específico:

{
  "agent_servers": {
    "OpenClaw ACP": {
      "type": "custom",
      "command": "openclaw",
      "args": [
        "acp",
        "--url",
        "wss://gateway-host:18789",
        "--token",
        "<token>",
        "--session",
        "agent:design:main"
      ],
      "env": {}
    }
  }
}

En Zed, abre el panel de Agente y selecciona "OpenClaw ACP" para iniciar un hilo.

Mapeo de sesiones

Por defecto, las sesiones ACP obtienen una clave de sesión de Puerta de enlace aislada con el prefijo acp:. Para reutilizar una sesión conocida, pasa una clave o etiqueta de sesión:

  • --session <key>: usa una clave de sesión de Puerta de enlace específica.
  • --session-label <label>: resuelve una sesión existente por etiqueta.
  • --reset-session: genera un nuevo ID de sesión para esa clave (misma clave, nueva transcripción).

Si tu cliente ACP admite metadatos, puedes sobrescribir por sesión:

{
  "_meta": {
    "sessionKey": "agent:main:main",
    "sessionLabel": "support inbox",
    "resetSession": true
  }
}

Aprende más sobre las claves de sesión en /concepts/session.

Opciones

  • --url <url>: URL WebSocket de la Puerta de enlace (por defecto usa gateway.remote.url cuando está configurado).
  • --token <token>: token de autenticación de la Puerta de enlace.
  • --token-file <path>: leer token de autenticación de la Puerta de enlace desde un archivo.
  • --password <password>: contraseña de autenticación de la Puerta de enlace.
  • --password-file <path>: leer contraseña de autenticación de la Puerta de enlace desde un archivo.
  • --session <key>: clave de sesión por defecto.
  • --session-label <label>: etiqueta de sesión por defecto para resolver.
  • --require-existing: fallar si la clave/etiqueta de sesión no existe.
  • --reset-session: reiniciar la clave de sesión antes del primer uso.
  • --no-prefix-cwd: no prefijar las solicitudes con el directorio de trabajo.
  • --verbose, -v: registro detallado a stderr.

Nota de seguridad:

  • --token y --password pueden ser visibles en listados de procesos locales en algunos sistemas.
  • Prefiere --token-file/--password-file o variables de entorno (OPENCLAW_GATEWAY_TOKEN, OPENCLAW_GATEWAY_PASSWORD).
  • Los procesos secundarios del backend de tiempo de ejecución de ACP reciben OPENCLAW_SHELL=acp, que puede usarse para reglas específicas de shell/perfil.
  • openclaw acp client establece OPENCLAW_SHELL=acp-client en el proceso del puente generado.

Opciones del cliente acp

  • --cwd <dir>: directorio de trabajo para la sesión ACP.
  • --server <command>: comando del servidor ACP (predeterminado: openclaw).
  • --server-args <args...>: argumentos adicionales pasados al servidor ACP.
  • --server-verbose: habilitar registro detallado en el servidor ACP.
  • --verbose, -v: registro detallado del cliente.

Referencia CLIagente