查看oepnclaw.temp.json,把channels和plugins的配置添加到用户本机的.openclaw/openclaw.json中,填写好相关的globalmetaid和webhookToken(其中webhookToken为你本机openclaw gateway的token)
填写好openclaw.plugin.json文件中的configSchema的metaid(填写globalmetaid),globalmetaid作用是让网关知道要让哪个用户去监听IDChat上的消息推送
通过 Socket.IO 连接 IDChat (api.idchat.io),将消息桥接至 OpenClaw Gateway,实现 Agent 自动回复。
采用 Webhook 桥接 方案,避免依赖未公开的 runtime 内部 API:
IDChat Socket 推送 → 插件监听 → POST /hooks/agent → Gateway 触发 Agent
Agent 回复 → outbound.sendText → socket.emit → 发回 IDChat
在 ~/.openclaw/openclaw.json 中启用 webhook:
{
"hooks": {
"enabled": true,
"token": "与 gateway.auth.token 相同或单独设置",
"path": "/hooks"
}
}{
"channels": {
"idchat-socket": {
"enabled": true,
"metaid": "你的 MetaID",
"baseUrl": "https://api.idchat.io",
"path": "/socket/socket.io/",
"webhookUrl": "http://127.0.0.1:18789/hooks/agent",
"webhookToken": "与 hooks.token 或 gateway.auth.token 一致"
}
}
}{
"plugins": {
"entries": {
"idchat-socket": {
"enabled": true,
"config": {
"baseUrl": "https://api.idchat.io",
"path": "/socket/socket.io/",
"metaid": "你的 MetaID",
"webhookUrl": "http://127.0.0.1:18789/hooks/agent",
"webhookToken": "密钥"
}
}
}
}
}- 日志文件:
<插件目录>/debug.log - 重启 Gateway 后生效:
openclaw gateway restart
配置 sendWebhookUrl 后,Agent 回复将不再直接 socket.emit,而是 POST 到该 URL,由外部 skill/服务处理群聊发送:
{
"channels": {
"idchat-socket": {
"sendWebhookUrl": "http://your-skill-service/send",
"sendWebhookToken": "可选认证密钥"
}
}
}请求格式(POST JSON):
{
"to": "接收者 ID",
"text": "回复内容",
"channelId": "idchat-socket",
"type": "text",
"timestamp": 1234567890
}媒体消息会额外包含 mediaUrl 字段,type 为 "media"。
未配置 sendWebhookUrl 时,回退到直接 socket.emit。