Команды CLI

acp

Запустите мост Agent Client Protocol (ACP), который взаимодействует со шлюзом OpenClaw. Эта команда использует ACP через stdio для IDE и пересылает промпты на шлюз через WebSocket. Она поддерживает соответствие сессий ACP ключам сессий шлюза.

Использование

openclaw acp

# Удаленный шлюз
openclaw acp --url wss://gateway-host:18789 --token <token>

# Удаленный шлюз (токен из файла)
openclaw acp --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token

# Подключиться к существующему ключу сессии
openclaw acp --session agent:main:main

# Подключиться по метке (должна уже существовать)
openclaw acp --session-label "support inbox"

# Сбросить ключ сессии перед первым промптом
openclaw acp --session agent:main:main --reset-session

ACP клиент (отладка)

Используйте встроенный ACP клиент для проверки работы моста без IDE. Он запускает мост ACP и позволяет вводить промпты интерактивно.

openclaw acp client

# Направить запущенный мост на удаленный шлюз
openclaw acp client --server-args --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token

# Переопределить команду сервера (по умолчанию: openclaw)
openclaw acp client --server "node" --server-args openclaw.mjs acp --url ws://127.0.0.1:19001

Модель разрешений (режим отладки клиента):

  • Автоматическое одобрение основано на списке разрешений и применяется только к доверенным идентификаторам основных инструментов.
  • Автоматическое одобрение read ограничено текущей рабочей директорией (--cwd, если задана).
  • Неизвестные/неосновные имена инструментов, чтение за пределами области и опасные инструменты всегда требуют явного одобрения через промпт.
  • Предоставленный сервером toolCall.kind рассматривается как непроверенные метаданные (не источник авторизации).

Как использовать

Используйте ACP, когда IDE (или другой клиент) использует протокол Agent Client Protocol и вы хотите, чтобы он управлял сессией шлюза OpenClaw.

  1. Убедитесь, что шлюз запущен (локально или удаленно).
  2. Настройте целевой шлюз (через конфигурацию или флаги).
  3. Настройте вашу IDE на запуск openclaw acp через stdio.

Пример конфигурации (сохраняется):

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

Пример прямого запуска (без записи в конфиг):

openclaw acp --url wss://gateway-host:18789 --token <token>
# предпочтительно для безопасности локальных процессов
openclaw acp --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token

Выбор агентов

ACP не выбирает агентов напрямую. Он маршрутизирует по ключу сессии шлюза. Используйте ключи сессий, ограниченные агентом, чтобы нацелиться на конкретного агента:

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

Каждая сессия ACP соответствует одному ключу сессии шлюза. Один агент может иметь много сессий; ACP по умолчанию использует изолированную сессию acp:<uuid>, если вы не переопределите ключ или метку.

Настройка редактора Zed

Добавьте пользовательского агента ACP в ~/.config/zed/settings.json (или используйте UI настроек Zed):

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

Чтобы нацелиться на конкретный шлюз или агента:

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

В Zed откройте панель Agent и выберите "OpenClaw ACP", чтобы начать тред.

Соответствие сессий

По умолчанию сессиям ACP назначается изолированный ключ сессии шлюза с префиксом acp:. Чтобы повторно использовать известную сессию, передайте ключ сессии или метку:

  • --session <key>: использовать конкретный ключ сессии шлюза.
  • --session-label <label>: разрешить существующую сессию по метке.
  • --reset-session: создать новый идентификатор сессии для этого ключа (тот же ключ, новая транскрипция).

Если ваш ACP клиент поддерживает метаданные, вы можете переопределить их для каждой сессии:

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

Узнайте больше о ключах сессий на странице /concepts/session.

Опции

  • --url <url>: URL WebSocket шлюза (по умолчанию используется gateway.remote.url, если настроено).
  • --token <token>: Токен аутентификации шлюза.
  • --token-file <path>: прочитать токен аутентификации шлюза из файла.
  • --password <password>: Пароль аутентификации шлюза.
  • --password-file <path>: прочитать пароль аутентификации шлюза из файла.
  • --session <key>: ключ сессии по умолчанию.
  • --session-label <label>: метка сессии по умолчанию для разрешения.
  • --require-existing: завершиться с ошибкой, если ключ/метка сессии не существует.
  • --reset-session: сбросить ключ сессии перед первым использованием.
  • --no-prefix-cwd: не добавлять рабочую директорию в префикс промптов.
  • --verbose, -v: подробное логирование в stderr.

Примечание по безопасности:

  • --token и --password могут быть видны в списках локальных процессов на некоторых системах.
  • Предпочтительнее использовать --token-file/--password-file или переменные окружения (OPENCLAW_GATEWAY_TOKEN, OPENCLAW_GATEWAY_PASSWORD).
  • Дочерние процессы бэкенда времени выполнения ACP получают OPENCLAW_SHELL=acp, что можно использовать для правил оболочки/профиля, специфичных для контекста.
  • openclaw acp client устанавливает OPENCLAW_SHELL=acp-client для запущенного процесса моста.

Опции acp client

  • --cwd <dir>: рабочая директория для сессии ACP.
  • --server <command>: команда сервера ACP (по умолчанию: openclaw).
  • --server-args <args...>: дополнительные аргументы, передаваемые серверу ACP.
  • --server-verbose: включить подробное логирование на сервере ACP.
  • --verbose, -v: подробное логирование клиента.

Справочник по CLIagent