openclaw acp использует ACP через stdio для IDE и пересылает запросы в Gateway через WebSocket, сопоставляя сеансы ACP с ключами сеансов Gateway. Это мост ACP на базе Gateway, а не полноценная среда редактора с нативной поддержкой ACP: он предназначен для маршрутизации сеансов, доставки запросов и потоковой передачи обновлений.
Если вы хотите, чтобы внешний клиент MCP взаимодействовал напрямую с диалогами каналов OpenClaw, а не размещал сеанс среды ACP, используйте openclaw mcp serve.
Чем это не является
openclaw acp означает, что OpenClaw выступает в роли сервера ACP: IDE или клиент ACP подключается к OpenClaw, а OpenClaw перенаправляет работу в сеанс Gateway.
Это отличается от агентов ACP, где OpenClaw запускает внешнюю среду, например Codex или Claude Code, через acpx.
Краткое правило:
- редактор или клиент должен взаимодействовать с OpenClaw по ACP: используйте
openclaw acp - OpenClaw должен запускать Codex, Claude или Gemini как среду ACP: используйте
/acp spawnи агентов ACP
Матрица совместимости
Известные ограничения
loadSessionвоспроизводит полную историю журнала событий ACP только для сеансов, созданных мостом. Для старых сеансов или сеансов без журнала используется резервная расшифровка, которая не восстанавливает исторические вызовы инструментов и системные уведомления.- Если несколько клиентов ACP используют один ключ сеанса Gateway, маршрутизация событий и отмен выполняется по возможности, а не строго изолированно для каждого клиента. Если нужны чистые локальные для редактора циклы взаимодействия, предпочитайте изолированные по умолчанию сеансы
acp-bridge:<uuid>. - Состояния остановки Gateway преобразуются в причины остановки ACP, но это сопоставление менее выразительно, чем в полностью нативной среде ACP.
- Средства управления сеансом предоставляют ограниченный набор параметров Gateway: уровень размышлений, подробность вывода инструментов, рассуждения, детализацию использования и действия с повышенными привилегиями. Выбор модели и управление узлом выполнения не предоставляются как параметры конфигурации ACP.
session_info_updateиusage_updateформируются на основе снимков сеансов Gateway, а не данных учёта нативной среды ACP в реальном времени. Данные об использовании приблизительны, не содержат сведений о стоимости и выдаются только тогда, когда Gateway помечает общие данные о токенах как актуальные.- Сопутствующие данные инструментов предоставляются по возможности: мост показывает пути к файлам, обнаруженные в известных аргументах или результатах инструментов, но не выдаёт терминалы ACP или структурированные различия файлов.
- Передача подтверждений выполнения ограничена активным циклом запроса ACP; подтверждения из других сеансов Gateway игнорируются.
Использование
Клиент ACP (отладка)
Используйте встроенный клиент ACP для базовой проверки моста без IDE. Он запускает мост ACP и позволяет вводить запросы в интерактивном режиме.- Автоматическое подтверждение основано на списке разрешённых значений и применяется только к доверенным идентификаторам основных инструментов.
- Автоматическое подтверждение
readограничено текущим рабочим каталогом (--cwd, если он задан). - ACP автоматически подтверждает только узкие классы операций, доступных только для чтения: ограниченные вызовы
readв активном текущем рабочем каталоге, а также инструменты поиска только для чтения (search,web_search,memory_search). Неизвестные и неосновные инструменты, чтение за пределами разрешённой области, инструменты с возможностью выполнения, инструменты плоскости управления, изменяющие инструменты и интерактивные процессы всегда требуют явного подтверждения запроса. - Предоставленное сервером значение
toolCall.kindсчитается недоверенными метаданными, а не источником авторизации. - Эта политика моста ACP не связана с разрешениями среды ACPX. Если вы запускаете OpenClaw через бэкенд
acpx, параметрplugins.entries.acpx.config.permissionMode=approve-allслужит аварийным переключателем «yolo» для этого сеанса среды.
Дымовое тестирование протокола
Для отладки на уровне протокола запустите Gateway с изолированным состоянием и управляйтеopenclaw acp через stdio с помощью клиента ACP JSON-RPC. Проверьте initialize, session/new, session/list с абсолютным cwd, session/resume, session/close, повторным закрытием и отсутствующим возобновлением.
Доказательство должно включать объявленные возможности жизненного цикла, строку сеанса на базе Gateway, уведомления об обновлениях и журнал Gateway sessions.list:
openclaw gateway call sessions.list как единственное доказательство работы ACP. Этот путь CLI может запросить повышение области оператора для нового токена; корректность моста ACP подтверждается кадрами ACP через stdio и журналом Gateway sessions.list.
Как это использовать
Используйте ACP, когда IDE или другой клиент поддерживает Agent Client Protocol и должен управлять сеансом OpenClaw Gateway.- Убедитесь, что Gateway запущен локально или удалённо.
- Настройте целевой Gateway с помощью конфигурации или флагов.
- Настройте IDE для запуска
openclaw acpчерез stdio.
Выбор агентов
ACP не выбирает агентов напрямую. Маршрутизация выполняется по ключу сессии Gateway. Чтобы обратиться к конкретному агенту, используйте ключи сессий с областью действия агента:acp-bridge:<uuid>, если вы не переопределите ключ или метку.
Параметры mcpServers для отдельных сессий не поддерживаются в режиме моста. Если клиент ACP отправляет их во время newSession или loadSession, мост возвращает понятную ошибку, а не молча игнорирует их.
Чтобы в сеансах на базе ACPX были доступны инструменты плагинов OpenClaw или выбранные встроенные инструменты, например cron, включите мосты ACPX MCP на стороне Gateway вместо попытки передать параметры mcpServers для отдельных сессий. См. Агенты ACP и мост MCP для инструментов OpenClaw.
Использование из acpx (Codex, Claude и других клиентов ACP)
Чтобы агент разработки, например Codex или Claude Code, взаимодействовал с вашим ботом OpenClaw по ACP, используйте acpx со встроенной целью openclaw.
Типичный порядок действий:
- Запустите Gateway и убедитесь, что мост ACP может к нему подключиться.
- Направьте
acpx openclawнаopenclaw acp. - Укажите ключ сессии OpenClaw, который должен использовать агент разработки.
acpx openclaw всегда обращался к определённому Gateway и ключу сессии, переопределите команду агента openclaw в ~/.acpx/config.json:
Настройка редактора Zed
Добавьте пользовательского агента ACP в~/.config/zed/settings.json (или используйте интерфейс настроек Zed):
Сопоставление сессий
По умолчанию сессии моста ACP получают изолированный ключ сессии Gateway с префиксомacp-bridge:. Эти синтетические одноразовые сессии моста обычной модели подлежат удалению при очистке устаревших записей и не считаются защищёнными каналами общения с пользователями. Чтобы повторно использовать известную сессию, передайте ключ или метку сессии:
--session <key>: использовать определённый ключ сессии Gateway.--session-label <label>: найти существующую сессию по метке.--reset-session: создать новый идентификатор сессии для этого ключа (тот же ключ, новая расшифровка).
Параметры
--url <url>: URL WebSocket для Gateway (если настроено, по умолчанию используетсяgateway.remote.url).--token <token>: токен аутентификации Gateway.--token-file <path>: прочитать токен аутентификации Gateway из файла.--password <password>: пароль аутентификации Gateway.--password-file <path>: прочитать пароль аутентификации Gateway из файла.--session <key>: ключ сессии по умолчанию.--session-label <label>: метка сессии по умолчанию для поиска.--require-existing: завершить работу с ошибкой, если ключ или метка сессии не существуют.--reset-session: сбросить ключ сессии перед первым использованием.--no-prefix-cwd: не добавлять рабочий каталог в начало запросов.--provenance <off|meta|meta+receipt>: включать метаданные происхождения ACP или подтверждения.--verbose, -v: подробное журналирование в stderr.
--tokenи--passwordв некоторых системах могут быть видны в локальных списках процессов. Предпочтительнее использовать--token-file/--password-fileили переменные среды (OPENCLAW_GATEWAY_TOKEN,OPENCLAW_GATEWAY_PASSWORD).- Определение данных аутентификации Gateway следует общему контракту, используемому другими клиентами Gateway:
- локальный режим: переменная среды (
OPENCLAW_GATEWAY_*), затемgateway.auth.*; переход кgateway.remote.*выполняется только тогда, когдаgateway.auth.*не задан (если локальный SecretRef настроен, но не разрешается, операция завершается с ошибкой без небезопасного молчаливого перехода) - удалённый режим:
gateway.remote.*с резервным использованием переменных среды или конфигурации согласно правилам приоритета для удалённого режима --urlбезопасен при переопределении и не использует неявные учётные данные из конфигурации или переменных среды; передайте явные--token/--password(либо варианты с файлами)
- локальный режим: переменная среды (
Параметры acp client
--cwd <dir>: рабочий каталог сессии ACP.--server <command>: команда сервера ACP (по умолчанию:openclaw).--server-args <args...>: дополнительные аргументы, передаваемые серверу ACP.--server-verbose: включить подробное журналирование на сервере ACP.--verbose, -v: подробное журналирование клиента.openclaw acp clientзадаётOPENCLAW_SHELL=acp-clientдля порождённого процесса моста, что можно использовать для зависящих от контекста правил оболочки или профиля.