OpenClaw WeChat/WeCom channel plugin via Stride
npm install @max1874/openclaw-wecom通过 Stride 服务与微信/企业微信对接的 OpenClaw 渠道插件。
``bash`
npm install
在 openclaw.yaml 或环境变量中配置:
`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 端点:
| 路径 | 说明 |
|------|------|
| /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 指示器 | 反应替代 | 不支持 |
`bash类型检查
npx tsc --noEmit
MIT