Huo15 Wecom Plugin
火一五·企业微信(WeCom)OpenClaw 插件 v2.8.25 — 默认走 Bot WebSocket(响应快、配置简单),自带加密媒体解密 / Agent 主动发消息 / 微信客服三通道接入 / 多账号切换。v2.8.25 重点:GUIDANCE 优先级翻转回 MEDIA: 直发——v2.8.22 当时担... Skill: Huo15 Wecom Plugin Owner: zhaobod1 Summary: 火一五·企业微信(WeCom)OpenClaw 插件 v2.8.25 — 默认走 Bot WebSocket(响应快、配置简单),自带加密媒体解密 / Agent 主动发消息 / 微信客服三通道接入 / 多账号切换。v2.8.25 重点:GUIDANCE 优先级翻转回 MEDIA: 直发——v2.8.22 当时担... Tags: latest:2.9.5, plugin:2.8.30 Version history: v2.9.5 | 2026-05-10T18:38:42.867Z | auto - Added a new CHANGELOG.md file for improved change tracking. - Updated openclaw.plugin.json and package.json for th
Rank
62
Safety
84
Downloads
1.5k
Updated
Oct 10, 2026
Version
2.9.5
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.5K downloadsadoption · observed Oct 10, 2026
- Latest release
- 2.9.5release · observed May 10, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17f6q72skfgyjycm2frgdc8dn83v5mk:huo15-wecom-plugin- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-wecom-plugin/snapshot"
Documentation
CLAWHUB
160,000 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: huo15-wecom
description: "火一五·企业微信(WeCom)OpenClaw 插件 v2.8.25 — 默认走 Bot WebSocket(响应快、配置简单),自带加密媒体解密 / Agent 主动发消息 / 微信客服三通道接入 / 多账号切换。v2.8.25 重点:GUIDANCE 优先级翻转回 MEDIA: 直发——v2.8.22 当时担心 stream 截断 + 86008 把链接设为优先,v2.8.23/v2.8.24 修了群聊主动推送通道 + UI 锁交互后 MEDIA: 路径稳定可靠,应用户偏好翻转:默认 MEDIA: 直发,仅大文件(> 企微上限)才走 enhance_share_file 链接。GUIDANCE 加决策表 + 用户偏好覆盖。继承 v2.8.24 placeholder timeout 解锁、v2.8.23 群聊主动推送、v2.8.20 MEDIA: parser。Use when: 接企业微信、给企微 Bot/自建应用接 OpenClaw、用微信客服收外部用户消息、需要图片/文件双向、跨账号切换。Do NOT use for 个人微信(不同协议)。"
version: 2.9.4
homepage: https://cnb.cool/huo15/ai/huo15-wecom-plugin
metadata: { "openclaw": { "emoji": "🦜", "requires": { "bins": [] } } }
---
# 火一五企业微信插件
`@huo15/wecom` 是 OpenClaw 的企业微信通道插件,fork 自 [yanhaidao/wecom](https://github.com/yanhaidao/wecom) 并持续合并上游。**默认 Bot WebSocket 模式**,配置简单、响应快;同时支持 Agent 自建应用主动推送和微信客服三方通道。
## 三条消息通道
| 通道 | 用途 | 配置入口 |
|---|---|---|
| **Bot WebSocket** | 默认推荐,企业微信"智能机器人"WS 协议,免公网回调 | `channels.wecom.accounts.<id>.bot.ws` |
| **Agent 自建应用** | 走企微官方 API(CorpId/AgentId/Secret),支持主动推送给指定用户/群 | `channels.wecom.accounts.<id>.agent` |
| **微信客服** | 接管"客服会话",外部客户在微信/视频号里发给客服账号的消息 | `channels.wecom.accounts.<id>.kefu` |
三条通道可以**单独启用**或**组合启用**,多账号场景每个账号独立配置。
## 安装
```bash
# OpenClaw 内置安装(推荐)
openclaw plugins install @huo15/wecom
# 或者直接 npm
npm install @huo15/wecom
```
## 最小配置(Bot WS 模式)
```yaml
# ~/.openclaw/openclaw.json 中
channels:
wecom:
enabled: true
accounts:
default:
bot:
ws:
botId: "你的智能机器人 ID"
secret: "WS 密钥"
```
启动后,Bot 收到的消息会自动路由到默认 Agent,回复也通过 WS 直接送回 — 不需要部署任何回调 endpoint。
## 关键能力
- **加密媒体解密**:图片/文件/语音 AES-256-CBC 解密直接拿 buffer,可让 Agent 直接读取(OCR / ASR / 文档解析)
- **Markdown V2**:支持企微富文本(标题、表格、代码块、链接、引用),自动适配 chat 上下文
- **图片回复**:`` 自动抽离 + uploadMedia + replyMedia,COS/OSS 预签名 URL 失败时降级为占位文本(不让"链接已过期"漏到客户端)
- **多账号切换**:单实例支持多个企业、多个智能体并存,按 conversation 路由
- **流式回复**:placeholder + partial replyStream(最多 8 次中间更新)+ ack timeout watchdog 自动重连
## v2.8.8 关键修复(WS BOT 图片)
1. **Reply 通道纠错**:reply 上下文从 `sendMediaMessage`(主动推送)改用 `replyMedia`(被动回复,绑定 reqId)
2. **入向多图**:`mixed` 与 `quote.mixed` 类型从只取首张改为全部提取;首张挂 `ctx.MediaPath`,其余落盘 + info 日志
3. **Outbound fetch UA**:从裸 `fetch` 切到 plugin-sdk `fetchRemoteMedia`,显式带 desktop User-Agent,避免部分 Tencent COS / 阿里 OSS bucket 拒绝 Node 默认 UA
4. **解析可观测性**:媒体类型消息但无 attachments 时记 warn 日志(含 msgid + body keys),便于 SDK 字段漂移排查
详见 [changelog/v2.8.8.md](./changelog/v2.8.8.md)。
## 安全实践
- LLM 输出的 `touser` / `chatid` 经 `resolveWecomTarget` sanitizer,**拒绝 `@all` / `@everyone` / `*` 等广播字面量**(v2.8.1 SECURITY 修复)
- 跨企业上下游消息走 upstream-delivery 通道,不与本企业 Agent API 混用
- 微信客服 `corpSecret` 可与 Agent `corpSecret` 独立配置,权限隔离
## 不变的设计原则
- **Bot WS 优先**:能用 WS 就不用 Agent API(少配置、低延迟)
- **失败降级**:WS reply ack timeout 自动 fallback 到 Agent API(保留消息可达性),watchdog 连续 8 次后触发 WS 重连
- **不修改 OpenClaw 核心**:所有功能通过 channel plugin SDK 注册
## 仓库
- 主仓库:https://cnb.cool/huo15/ai/huo15-wecom-plugin
- 镜像:https://github.com/zhaobod1/huo15-wecom-plREADME.md
# OpenClaw 企业微信(WeCom)Channel 插件 <p align="center"> <a href="https://github.com/yanhaitao/wecom"><img src="https://img.shields.io/badge/Original%20Project-逸寻智库-orange?style=for-the-badge&logo=github" alt="Original Project" /></a> <img src="https://img.shields.io/badge/License-ISC-blue?style=for-the-badge" alt="License" /> <img src="https://img.shields.io/badge/Min%20Recommended-2.8.1+-red?style=for-the-badge" alt="Minimum recommended" /> </p> > [!CAUTION] > **🛡️ 安全公告(2026-04-22)**:受影响版本 `<= 2.8.0`。Agent 在工作区写自定义脚本时可能把 `touser="@all"` 当默认收件人,导致原本私聊的图片/视频/文档**被广播到企业微信应用可见范围全员**。 > > **请所有部署立即升级到 `@huo15/[email protected]` 或以上**。修复见 [`changelog/v2.8.1.md`](changelog/v2.8.1.md)。 > [!WARNING] > **原创声明**:本项目涉及的"多账号隔离与矩阵路由架构"、"Bot+Agent双模融合架构"、"长任务超时接力逻辑"及"全自动媒体流转接"等核心设计均为作者 **YanHaidao** 独立思考与实践的原创成果。 > 欢迎技术交流与合规引用,但严禁任何不经授权的"功能像素级抄袭"或删除原作者署名的代码搬运行为。 <p align="center"> <strong>🚀 企业级多模式 AI 助手接入方案(统一运行时架构)</strong> </p> --- ## 💡 核心价值:为什么团队会真正选择这个插件? 企业真正需要的,不是"把一个模型接进企业微信",而是让企业微信变成一个**能长期工作的 AI 协作入口**。 大多数团队最终只关心五件事: - 能不能先低门槛接起来,而不是先做一轮重部署 - 多人同时使用时,会不会串上下文、串身份、串会话 - 长任务会不会因为长连接窗口太短而白跑 - 能不能既有实时对话体验,又能做正式推送和稳定投递 - AI 能不能真正进入文档、日程、会议、待办、通讯录这些协作层,而不只是停留在聊天框 常见方案通常会很快碰到边界: - **只用 Bot WS**:接得快、聊得顺,但会受到单连接、心跳保活、会话边界和组织级广播能力的限制 - **只用 Agent**:能力强、治理清晰,但部署门槛更高,对话体验不如 Bot WS 丝滑 - **只选单一路径**:团队最后往往被迫在"体验"和"能力"之间二选一 本插件的价值,就在于把这些原本互相冲突的目标,尽量同时成立。 ### 您真正会得到什么? 1. **多人共用一个入口,但上下文不会串** - **问题本质**:企业里真正难的不是"接入一个机器人",而是让几十上百个人同时使用时,仍然保持每个人的上下文隔离。 - **插件做法**:按 `(底层账号 + 部门/群组/人员)` 动态切分运行上下文和 Agent 实例。 - **用户收益**:同一个企业微信入口可以承接多人并发使用,而不会出现"张三的问题让李四接上回答"的串流灾难。 2. **长任务不白跑,回复不轻易丢** - **问题本质**:企业微信长连接的响应窗口很短,而推理模型的思考时间往往很长。 - **插件做法**:先保活,再流式推进;必要时走备用投递路径,把最终结果交付出去。 - **用户收益**:更敢把复杂任务、长文本分析、报告生成交给 AI,而不是每次都担心"算完了却发不回来"。 3. **实时对话体验和正式投递能力,不用二选一** - **问题本质**:实时聊天和组织级推送,往往不是同一条技术路径最擅长的事。 - **插件做法**:会话内实时交互、流式回复、异步追发优先走 `Bot WS`;组织级广播、冷启动触达、正式通知由 `Agent` 兜底。 - **用户收益**:日常使用时体验像聊天助手,正式落地时又有企业应用该有的稳定性和控制力。 4. **AI 不只会聊天,还能进入企业微信协作层** - **问题本质**:如果 AI 只能回消息,信息最终还是散落在聊天流里,业务并没有真正被推进。 - **插件做法**:把企业微信原生协作能力按两条能力平面接入 OpenClaw。 - **用户收益**:AI 不仅能回答问题,还能真正参与文档、日程、会议、待办和通讯录相关工作。 5. **小团队能低门槛上手,大团队也能正式上线** - **问题本质**:小团队怕折腾,大团队怕失控。 - **插件做法**:`Bot WS` 适合快速启用,`Agent` 适合正式治理,两者可以并存。 - **用户收益**:您不用在"今天先跑起来"和"将来能不能正规化"之间做破坏性迁移。 --- ## 📊 为什么不是只选 Bot,或者只选 Agent? 从用户视角看,差别不在于协议名词,而在于**你要解决的是什么问题**。 | 你真正关心的事 | 🤖 Bot 模式 (WebSocket) | 🧩 Agent 模式 (自建应用 API) | ✨ 本插件的做法 | |:---|:---|:---|:---| | **先跑起来的速度** | ✅ 快,无需固定公网 IP | ❌ 较重,需要正式应用配置 | ✅ 先用 Bot 起步,后续平滑补 Agent | | **实时聊天体验** | ✅ 最强,天然适合低延迟和流式回复 | ⚠️ 能收能发,但不是最佳对话入口 | ✅ 默认把实时交互交给 Bot | | **异步结果回推** | ✅ 可以,适合已建立会话内追发 | ✅ 可以 | ✅ 会话内追发优先 Bot,必要时 Agent 兜底 | | **组织级广播与冷启动触达** | ⚠️ 受会话边界约束 | ✅ 更适合 | ✅ 正式通知和广播走 Agent | | **企业微信协作能力** | ✅ 适合个人身份能力入口 | ✅ 适合应用身份能力入口 | ✅ 两种身份平面都兼容 | | **适合谁** | 想快速上线、重视实时体验的团队 | 需要正式治理、自动化和组织级能力的团队 | 想同时要"体验"和"能力"的团队 | > **建议理解方式:** > - 如果您最在意的是"先接起来、先用起来、先聊顺",优先上 `Bot WS` > - 如果您最在意的是"正式部署、组织级能力、自动化治理",补齐 `Agent` > - 如果您真正想把 AI 在企业微信里长期用下去,最终往往需要两者
_meta.json
{
"ownerId": "kn7byevkn40d6z4p7ghdb097z983tj33",
"slug": "huo15-wecom-plugin",
"version": "2.9.5",
"publishedAt": 1778438322867
}CHANGELOG.md
# Changelog
## 2.9.5 — 2026-05-11(manifest contracts.tools — 适配 OpenClaw 2026.5.x loader 契约)
### 触发
OpenClaw 2026.5.x gateway 启动 log 大量 warning:
```
[gateway] [plugins] plugin must declare contracts.tools before registering agent tools
(plugin=wecom, source=...dist/index.js)
```
3 个工具(wecom_calendar / wecom_doc / wecom_mcp)各刷一条。
### 根因
OpenClaw 2026.5.x loader(`dist/loader-B-GXgDrk.js`)在 `registerTool` 加了契约校验,要求 manifest 根级 `contracts.tools[]` 显式声明。
### 改动
`openclaw.plugin.json` 加根级 `contracts.tools` 数组:
```json
"contracts": {
"tools": ["wecom_calendar", "wecom_doc", "wecom_mcp"]
}
```
### 不影响
- 没改任何代码逻辑,只动 manifest
- 工具注册 / 调用方式不变
- 兼容旧 OpenClawchangelog/v2.2.28.md
# 🚀 OpenClaw 企业微信 (WeCom) 插件 v2.2.28 - 多账号隔离与稳定性增强 本次 v2.2.28 版本是 **OpenClaw 企业微信 (WeCom) 插件** 的一次重大里程碑更新。我们深度优化了 **微信 / 企业微信** 办公场景下的多智能体隔离逻辑,并修复了生命周期、XML 数据保真等多个生产环境的核心痛点。 本次更新让 **OpenClaw** 在处理企业级复杂 **插件** 配置时更加得心应手,完美解决大模型接入 **WeCom** 的所有阻碍。 --- ### 🌟 版本亮点 (Release Highlights) * 🎯 **多账号矩阵支持**:支持按 `accountId` 进行组内会话隔离。不同部门、不同业务的 **企业微信** 机器人可并行运行,互不干扰,彻底解决跨账号串会话问题。 * 🔐 **数据保真解析**:针对 **WeCom** 的 XML 消息解析进行了重构。关闭了自动数值化,保留 `FromUserName` 前导 `0`,并完美解决 64 位 `MsgId` 精度风险。 * 🔁 **Gateway 生命周期适配**:完美兼容最新版 **OpenClaw** Gateway 的生命周期管理,修复了在高频心跳监测下的重启循环问题,运行更稳健。 * 🧹 **入站消息过滤**:优化了 **微信** 与 **企业微信** 的事件过滤逻辑,避免系统事件、缺失发送者等无效消息进入 AI 会话,防止“误回复”。 * 🧱 **配置安全护栏**:新增 **企业微信** 账号冲突检测。自动拦截重复的 `bot.token` 或 `agentId` 配置,并提供友好的中文错误提示。 --- ### 📝 详细更新日志 (Changelog) #### 【重磅更新】🎯 多账号/多智能体可用性增强 - 支持按 `accountId` 做组内隔离(Bot + Agent + 路由绑定同组生效)。 - 动态 Agent 与会话键增加 `accountId` 维度,避免跨账号串会话。 #### 【稳定性】🔁 生命周期兼容修复 - 适配新版 **OpenClaw** Gateway 生命周期,`startAccount` 改为长生命周期运行。 - 修复了“几秒一次重启 + health-monitor 二次重启”的循环问题。 #### 【准确性】🔐 XML 字段保真修复 - **WeCom** Agent XML 解析关闭自动数值化,保留发送者原始 ID。 - 避免 `MsgId` (64bit) 精度损失,确保回复目标不被误改。 #### 【准确性】🧹 误回复修复 - Bot/Agent 入站均增加事件过滤,避免处理 `event`、`sys` 及缺失发送者的消息。 - 修复群聊缺失 `chatid` 时仍进入 AI 会话的问题,避免“一个消息触发多人误回复”。 #### 【可控性】🧱 配置安全护栏 - 新增多账号冲突检测,自动拦截重复 Token 或 Agent ID 的配置。 - **账号管理修复**:`deleteAccount` 现在仅删除目标账号,不再误删整个 **插件** 的 `channels.wecom` 配置。 #### 【质量保障】✅ 自动化回归 - 新增账号解析、冲突检测、动态路由隔离、生命周期与入站过滤的多项自动化测试。 - **文档优化**:README 快速开始文档更新,优先展示“多账号 + 多 Agent”矩阵配置。 --- ### 💾 安装与升级 (Install & Update) 使用 **OpenClaw** CLI 即可一键升级 **插件**: ```bash openclaw plugins upgrade wecom ``` 或手动更新配置: ```bash openclaw config set channels.wecom.enabled true ``` --- ### 🔍 SEO 关键词 (Keywords) **openclaw** | **企业微信** | **微信** | **wecom** | **插件** | **AI 机器人** | **大模型网关** | **流式响应** | **多账号隔离** | **WeCom Plugin** --- ### 📮 联系我们 如果您在 **企业微信 / 微信** 接入过程中遇到任何问题,欢迎提交 Issue 或加入我们的交流群。 > **提示**:建议 **OpenClaw** 主程序版本保持在 **2026.2.24+** 以获得最佳体验。
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/zhaobod1/skills/huo15-wecom-plugin",
"sourceUrl": "https://clawhub.ai/zhaobod1/skills/huo15-wecom-plugin",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T09:44:37.095Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-wecom-plugin/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-wecom-plugin/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T09:44:37.095Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.5K downloads",
"href": "https://clawhub.ai/zhaobod1/huo15-wecom-plugin",
"sourceUrl": "https://clawhub.ai/zhaobod1/huo15-wecom-plugin",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T09:44:37.095Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "2.9.5",
"href": "https://clawhub.ai/zhaobod1/huo15-wecom-plugin",
"sourceUrl": "https://clawhub.ai/zhaobod1/huo15-wecom-plugin",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-05-10T18:38:42.867Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-wecom-plugin/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-wecom-plugin/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 2.9.5",
"description": "- Added a new CHANGELOG.md file for improved change tracking. - Updated openclaw.plugin.json and package.json for this release.",
"href": "https://clawhub.ai/zhaobod1/huo15-wecom-plugin",
"sourceUrl": "https://clawhub.ai/zhaobod1/huo15-wecom-plugin",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-05-10T18:38:42.867Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
