@max1874/openclaw-wecom
v0.1.3
Published
OpenClaw WeChat/WeCom channel plugin via Stride
Maintainers
Readme
OpenClaw WeChat/WeCom Plugin
通过 Stride 服务与微信/企业微信对接的 OpenClaw 渠道插件。
安装
npm install配置
在 openclaw.yaml 或环境变量中配置:
channels:
wecom:
enabled: true
token: "your-stride-token" # Stride API token
chatId: "your-default-chat-id" # 默认 chatId
webhookPath: "/webhooks/wechat" # Webhook 路径
webhookPort: 3000 # Webhook 端口
# 私聊策略
dmPolicy: "allowlist" # "open" | "allowlist"
allowFrom:
- "7881303019076556" # 允许的用户 ID
- "username" # 或用户名
# 群聊策略
groupPolicy: "allowlist" # "open" | "allowlist" | "disabled"
groupAllowFrom:
- "R:10917132666297873" # 允许的群 ID
requireMention: true # 群聊是否需要 @
# 单群配置 (可选)
groups:
"R:10917132666297873":
requireMention: false
allowFrom:
- "*" # 允许所有群成员
# 消息配置
textChunkLimit: 4000 # 单条消息字符限制
mediaMaxMb: 30 # 媒体文件大小限制 (MB)环境变量支持:
WECOM_TOKEN或STRIDE_TOKEN: API tokenWECOM_CHAT_ID或STRIDE_CHAT_ID: 默认 chatId
Webhook 端点
启动后,插件会监听以下 Webhook 端点:
| 路径 | 说明 |
|------|------|
| /webhooks/wechat/events/message | 消息事件 |
| /webhooks/wechat/events/room/joined | 群成员加入 |
| /webhooks/wechat/events/chatroom/loaded | 群信息加载 |
| /webhooks/wechat/events/chatroom/joined | 入群完成 |
| /health | 健康检查 |
消息类型
支持接收的消息类型
| type | 类型 | 说明 | |------|------|------| | 1 | 文件 | 下载并保存本地 | | 2 | 语音 | 使用 Stride 转写的文本 | | 4 | 聊天记录 | 合并转发的消息 | | 6 | 图片 | 下载并保存本地 | | 7 | 文字 | 主要消息类型 | | 12 | 链接 | 提取标题和 URL |
支持发送的消息类型
| messageType | 类型 | 说明 | |-------------|------|------| | 0 | 文字 | 主要发送类型 | | 1 | 图片 | 需要可访问的 URL | | 2 | 链接 | 卡片式链接 | | 3 | 文件 | 需要可访问的 URL |
与飞书插件的差异
| 特性 | 飞书插件 | 微信插件 | |------|---------|----------| | 连接方式 | WebSocket | Webhook 回调 | | SDK | 官方 SDK | HTTP REST API | | ID 类型 | open_id / chat_id | contactId / chatId / roomId | | 媒体处理 | 需要上传下载 | URL 直接可用 | | Card 消息 | 支持 | 不支持 | | 消息编辑 | 支持 | 不支持 | | Typing 指示器 | 反应替代 | 不支持 |
开发
# 类型检查
npx tsc --noEmit
# 运行测试
npm test许可
MIT
