Вызов инструментов (HTTP)
Gateway (шлюз) OpenClaw предоставляет простой HTTP‑эндпоинт для прямого вызова одного инструмента. Он всегда включён, но доступ к нему ограничен аутентификацией Gateway и политиками инструментов.POST /tools/invoke- Тот же порт, что и у Gateway (мультиплексирование WS + HTTP):
http://<gateway-host>:<port>/tools/invoke
Аутентификация
Используется конфигурация аутентификации Gateway. Отправьте bearer‑токен:Authorization: Bearer <token>
- Когда
gateway.auth.mode="token", используйтеgateway.auth.token(илиOPENCLAW_GATEWAY_TOKEN). - Когда
gateway.auth.mode="password", используйтеgateway.auth.password(илиOPENCLAW_GATEWAY_PASSWORD). - Если настроен
gateway.auth.rateLimitи происходит слишком много неудачных попыток аутентификации, endpoint возвращает429сRetry-After.
Тело запроса
tool(string, обязательно): имя инструмента для вызова.action(string, необязательно): сопоставляется с args, если схема инструмента поддерживаетactionи полезная нагрузка args его не содержит.args(object, необязательно): аргументы, специфичные для инструмента.sessionKey(string, необязательно): целевой ключ сеанса. Если опущен или"main", Gateway использует настроенный основной ключ сеанса (с учётомsession.mainKeyи агента по умолчанию либоglobalв глобальной области).dryRun(boolean, необязательно): зарезервировано для будущего использования; в настоящее время игнорируется.
Политики и поведение маршрутизации
Доступность инструментов фильтруется той же цепочкой политик, что используется агентами Gateway:tools.profile/tools.byProvider.profiletools.allow/tools.byProvider.allowagents.<id>.tools.allow/agents.<id>.tools.byProvider.allow- групповые политики (если ключ сеанса сопоставляется с группой или каналом)
- политика субагента (при вызове с ключом сеанса субагента)
sessions_spawnsessions_sendgatewaywhatsapp_login
gateway.tools:
x-openclaw-message-channel: <channel>(пример:slack,telegram)x-openclaw-account-id: <accountId>(когда существует несколько учётных записей)
Ответы
200→{ ok: true, result }400→{ ok: false, error: { type, message } }(некорректный запрос или ошибка инструмента)401→ не авторизован429→ превышен лимит попыток аутентификации (Retry-Afterустановлен)404→ инструмент недоступен (не найден или не в списке разрешённых)405→ метод не разрешён500→{ ok: false, error: { type, message } }(неожиданная ошибка выполнения инструмента; сообщение очищено)