我用 Claude Code 为 GUSNAIS 社区开发了 OpenClaw Chat 插件(openclaw_chat),让社区可以无缝对接 OpenClaw AI 平台。用户可以在社区内直接与 AI 机器人对话,每个用户都能自行创建和管理自己的机器人。
同时,在 OpenClaw 端开发了对应的 Homeland Channel 扩展(@openclaw/homeland),负责从 Homeland 拉取消息、调用 AI 处理、并将回复推送回社区。
/openclaw 页面与 AI 机器人对话/new(新对话)、/stop(停止)、/clear(清空记录)、/status(查看状态)、/summarize(总结)等快捷操作整体采用 轮询 + 回调 架构:
用户发消息 → Homeland 存入数据库(状态: queued)
↓
OpenClaw 每 3 秒轮询 GET /openclaw/api/messages/pending
↓
OpenClaw 确认接收 POST /openclaw/api/messages/:id/ack(状态: sending)
↓
OpenClaw 调用 AI 处理消息
↓
OpenClaw 回调 POST /openclaw/callbacks/messages 推送回复
↓
Homeland 存入数据库 → ActionCable 实时推送到浏览器
/openclaw
/openclaw/settings)在 OpenClaw 的配置文件中添加 Homeland channel:
channels:
homeland:
enabled: true
appId: "cb_xxxxxxxxxxxx" # 第一步拿到的 App ID
appSecret: "xxxxxxxxxxxxxxxx" # 第一步拿到的 App Secret
callbackUrl: "https://your-homeland.com/openclaw/callbacks/messages"
如果需要对接多个机器人,使用 accounts 配置:
channels:
homeland:
enabled: true
accounts:
bot1:
name: "客服助手"
appId: "cb_aaa"
appSecret: "secret_aaa"
callbackUrl: "https://your-homeland.com/openclaw/callbacks/messages"
bot2:
name: "技术顾问"
appId: "cb_bbb"
appSecret: "secret_bbb"
callbackUrl: "https://your-homeland.com/openclaw/callbacks/messages"
npm install @openclaw/homeland
启动 OpenClaw 后,它会自动开始轮询 Homeland 拉取消息。回到社区聊天界面发一条消息,几秒后即可收到 AI 回复。
| 接口 | 方法 | 说明 |
|---|---|---|
/openclaw/api/messages/pending |
GET | OpenClaw 拉取待处理消息 |
/openclaw/api/messages/:id/ack |
POST | OpenClaw 确认收到消息 |
/openclaw/callbacks/messages |
POST | OpenClaw 回调推送 AI 回复 |
所有接口都需要以下请求头:
X-App-Id:机器人的 App IDX-OC-Signature:HMAC-SHA256(app_secret, request_body) 签名plugins/openclaw_chat/
extensions/homeland/(npm 包 @openclaw/homeland)如有问题或建议,欢迎在本帖下方回复讨论。