@zeyiy/openclaw-channel
v0.3.10
Published
OpenIM channel plugin for OpenClaw gateway (fork of @openim/openclaw-channel)
Readme
@zeyiy/openclaw-channel
OpenClaw Gateway 的 OpenIM 渠道插件。
将 OpenClaw 智能体接入 OpenIM 即时通讯平台,支持私聊和群聊中的 AI 对话。
功能
- 支持私聊与群聊
- 文本 / 图片 / 文件 / 视频消息收发
- 引用消息上下文解析
- 多账号并发登录
- 群聊 @触发模式(可选)
- 每用户独立会话(私聊)/ 同群共享会话(群聊)
- 私聊自动已读回执
- 入站发送者白名单(可选)
- Agent Portal Bridge — 与 agent-portal 云服务保持 WebSocket 长连接,支持远程管理
- 交互式配置命令:
openclaw openim setup
安装
openclaw plugins install @zeyiy/openclaw-channel标识说明
| 项目 | 值 |
|------|-----|
| npm 包名 | @zeyiy/openclaw-channel |
| 插件 ID | openclaw-channel |
| 渠道 ID | openim |
| 配置命令 | openclaw openim setup |
配置
交互式配置(推荐)
openclaw openim setup手动编辑 ~/.openclaw/openclaw.json
{
"channels": {
"openim": {
"accounts": {
"default": {
"enabled": true,
"token": "your_jwt_token",
"wsAddr": "wss://your-openim-server/msg_gateway",
"apiAddr": "https://your-openim-server/api",
"botId": "your-bot-id",
"portalWsAddr": "wss://agent-portal.example.com/ws/workspace"
}
}
}
}
}字段说明
| 字段 | 必填 | 说明 |
|------|------|------|
| token | 是 | OpenIM JWT token |
| wsAddr | 是 | OpenIM WebSocket 端点 |
| apiAddr | 是 | OpenIM REST API 端点 |
| userID | 否 | 自动从 JWT UserID 声明解析 |
| platformID | 否 | 自动从 JWT PlatformID 声明解析 |
| enabled | 否 | 默认 true |
| requireMention | 否 | 群聊需 @触发,默认 true |
| inboundWhitelist | 否 | 仅处理指定用户 ID 的消息 |
| botId | 否 | 用于 agent-portal 连接的 Bot ID |
| portalWsAddr | 否 | Agent-portal WebSocket 端点 |
| historyLimit | 否 | 聊天历史上下文条数,默认 20 |
支持单账号简写(不使用 accounts 包装)。
注意: 已移除环境变量配置方式,所有配置通过
openclaw.json完成。
Agent 工具
| 工具 | 参数 | 说明 |
|------|------|------|
| openim_send_text | target, text, accountId? | 发送文本消息 |
| openim_send_image | target, image, accountId? | 发送图片(本地路径或 URL) |
| openim_send_file | target, file, name?, accountId? | 发送文件(本地路径或 URL) |
| openim_send_video | target, video, name?, accountId? | 发送视频(按文件消息发送) |
target 格式:user:<id> 或 group:<id>
Agent Portal Bridge
配置 botId 和 portalWsAddr 后,插件与 agent-portal 保持 WebSocket 连接,支持远程管理:
| 方法 | 说明 |
|------|------|
| bot.agent.get | 获取 bot 绑定的 agent |
| models.list | 列出可用模型 |
| agents.list | 列出已配置的 agent |
| agents.create | 创建 agent + 工作空间 |
| agents.files.list | 列出工作空间文件 |
| agents.files.get | 读取工作空间文件 |
| agents.files.set | 写入工作空间文件 |
| tools.catalog | 列出可用工具 |
| skills.status | 技能/插件状态 |
| agent.skills.status | Agent 级技能状态(含白名单) |
| agent.skills.set | 启用/禁用 agent 技能 |
| agent.model.set | 切换 agent 模型 |
| skills.search | 搜索 ClawHub 技能 |
| skills.install | 从 ClawHub 或 URL 安装技能 |
| skills.set | 全局启用/禁用技能 |
| cron.list | 列出定时任务 |
支持指数退避自动重连和心跳保活。
开发
pnpm install
pnpm run build
pnpm run test:connect # 先配置 .env许可证
AGPL-3.0-only,详见 LICENSE。
