Files
openclaw/docs/zh-CN/gateway/tools-invoke-http-api.md
Josh Palmer a3ec2d0734 Docs: update zh-CN translations and pipeline
What:
- update zh-CN glossary, TM, and translator prompt
- regenerate zh-CN docs and apply targeted fixes
- add zh-CN AGENTS pipeline guidance

Why:
- address terminology/spacing feedback from #6995

Tests:
- pnpm build && pnpm check && pnpm test
2026-02-03 13:23:00 -08:00

93 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
read_when:
- 不运行完整智能体回合直接调用工具
- 构建需要工具策略强制执行的自动化
summary: 通过 Gateway 网关 HTTP 端点直接调用单个工具
title: 工具调用 API
x-i18n:
generated_at: "2026-02-03T07:48:58Z"
model: claude-opus-4-5
provider: pi
source_hash: 17ccfbe0b0d9bb61cc46fb21f5c09b106ba6e8e4c2c14135a11ca8d5b77b8a88
source_path: gateway/tools-invoke-http-api.md
workflow: 15
---
# 工具调用HTTP
OpenClaw 的 Gateway 网关暴露了一个简单的 HTTP 端点用于直接调用单个工具。它始终启用,但受 Gateway 网关认证和工具策略限制。
- `POST /tools/invoke`
- 与 Gateway 网关相同的端口WS + HTTP 多路复用):`http://<gateway-host>:<port>/tools/invoke`
默认最大负载大小为 2 MB。
## 认证
使用 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`)。
## 请求体
```json
{
"tool": "sessions_list",
"action": "json",
"args": {},
"sessionKey": "main",
"dryRun": false
}
```
字段:
- `tool`string必需要调用的工具名称。
- `action`string可选如果工具 schema 支持 `action` 且 args 负载省略了它,则映射到 args。
- `args`object可选工具特定的参数。
- `sessionKey`string可选目标会话键。如果省略或为 `"main"`Gateway 网关使用配置的主会话键(遵循 `session.mainKey` 和默认智能体,或在全局范围中使用 `global`)。
- `dryRun`boolean可选保留供将来使用当前忽略。
## 策略 + 路由行为
工具可用性通过 Gateway 网关智能体使用的相同策略链过滤:
- `tools.profile` / `tools.byProvider.profile`
- `tools.allow` / `tools.byProvider.allow`
- `agents.<id>.tools.allow` / `agents.<id>.tools.byProvider.allow`
- 群组策略(如果会话键映射到群组或渠道)
- 子智能体策略(使用子智能体会话键调用时)
如果工具不被策略允许,端点返回 **404**
为帮助群组策略解析上下文,你可以选择设置:
- `x-openclaw-message-channel: <channel>`(示例:`slack``telegram`
- `x-openclaw-account-id: <accountId>`(当存在多个账户时)
## 响应
- `200``{ ok: true, result }`
- `400``{ ok: false, error: { type, message } }`(无效请求或工具错误)
- `401` → 未授权
- `404` → 工具不可用(未找到或未在允许列表中)
- `405` → 方法不允许
## 示例
```bash
curl -sS http://127.0.0.1:18789/tools/invoke \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"tool": "sessions_list",
"action": "json",
"args": {}
}'
```