Webhooks
Gateway 可以为外部触发器暴露一个小型 HTTP webhook 端点。启用
在~/.openclaw/openclaw.json 中:
- 当
hooks.enabled=true时,hooks.token是必需的 hooks.path默认为/hooks
认证
每个请求必须包含 hook 令牌。优先使用请求头:Authorization: Bearer <token>(推荐)x-openclaw-token: <token>
端点
POST /hooks/wake
将系统事件入队到主会话。
请求体:
text(必填): 事件描述mode(可选):now或next-heartbeat
POST /hooks/agent
运行一个独立代理行动。
请求体:
message(必填): 代理需要处理的提示name(可选): hook 的名称agentId(可选): 将此 hook 路由到指定代理sessionKey(可选): 用于识别代理会话的键wakeMode(可选):now或next-heartbeatdeliver(可选): 是否发送回复到频道channel(可选): 消息投递频道to(可选): 频道的接收者标识model(可选): 模型覆盖thinking(可选): 思考级别timeoutSeconds(可选): 代理运行的最大持续时间
使用不同的模型
会话键策略
/hooks/agent 请求体中的 sessionKey 覆盖默认禁用。
推荐配置:
响应
/hooks/wake返回200/hooks/agent返回200(异步运行已接受)- 认证失败时返回
401 - 同一客户端多次认证失败后返回
429 - 请求体无效时返回
400
安全性
- 将 hook 端点放置于回环地址、tailnet 或受信任的反向代理之后
- 使用专用 hook 令牌;不要重用 gateway 的认证令牌
- 针对同一客户端地址的多次认证失败会进行速率限制
- 若使用多代理路由,设置
hooks.allowedAgentIds以限制显式的agentId选择 - 除非需要调用方自行选择会话,保持
hooks.allowRequestSessionKey=false
映射配置
可以通过hooks.mappings 将自定义路径映射到 wake 或 agent 动作。
示例: