MCPcopy
hub / github.com/BytePioneer-AI/openclaw-china

github.com/BytePioneer-AI/openclaw-china @v2026.4.24 sqlite

repository ↗ · DeepWiki ↗ · release v2026.4.24 ↗
1,509 symbols 4,132 edges 214 files 75 documented · 5%
README

🦞 OpenClaw China — China IM Channels

面向中国 IM 平台的 OpenClaw 扩展插件集合

downloads license MIT LINUX DO

OpenClaw China 为 OpenClaw 提供面向中国常用通讯平台的渠道扩展,帮助你把 AI 助手接入钉钉、企业微信、企业微信自建应用、微信客服、微信公众号、QQ 和飞书等渠道。项目聚焦稳定的消息收发、统一的插件接入面,以及尽量低门槛的配置流程。

文档目录:快速开始总体架构功能支持更新日志演示💗 支持我们加入交流群

⭐ 如果这个项目对你有帮助,请给我们一个 Star!⭐

您的支持是我们持续改进的动力

生态项目推荐

ClawMate · 为 OpenClaw 添加一个有温度的角色伴侣。

weixin-agent-gateway · 在微信中接入 Claude Code、Codex、OpenCode、Kimi Code CLI、Qwen Code 等

加入交流群 对 OpenClaw 用法、插件感兴趣的可以扫码加入微信群交流。
  • 安装问题可以加群询问
  • 提PR时遇到开发问题加群询问
  • 项目架构细节加群询问
  • 插件 BUG 建议提交 issue
欢迎同学们一起开发~
交流群二维码
平台 状态 配置复杂度 配置指南
钉钉 ✅ 可用 简单 钉钉企业注册指南
QQ 机器人 ✅ 可用 简单 QQ 渠道配置指南
企业微信(智能机器人) ✅ 可用 简单 企业微信智能机器人配置指南
企业微信(自建应用-可接入微信) ✅ 可用 中等 企业微信自建应用配置指南
微信客服(微信客服-外部微信用户) ✅ 可用 中等 微信客服配置指南
微信公众号(订阅号 / 服务号 / 测试号) ✅ 可用 中等 微信公众号配置指南
飞书(本仓库插件,停止维护) ✅ 可用 中等 -
微信(官方插件,非本仓库) ✅ 可用 简单 微信官方插件安装文档
飞书(官方插件,非本仓库) ✅ 可用 中等 飞书官方插件安装文档

谁在使用

目前已知已有以下公司 / 团队在使用 OpenClaw China

阿里云 阿里云 火山引擎 火山引擎 财富云 财富云 北少云 北少云 西安铂傲智能 西安铂傲智能

本项目开源且可免费使用。

如果你的公司或团队也在使用 OpenClaw China,欢迎通过 Issue、PR、交流群或微信留下公司名称 / Logo / 使用场景,帮助我们持续维护项目,也让更多用户看到真实的落地案例。

西安铂傲智能:助力西北实业公司实现智能客服、辅助拓客与低成本经营,覆盖便利店、建筑材料、地产、家居建材等业务场景。

功能支持

更多功能在努力开发中~

企业微信 3 个渠道 + 微信公众号怎么选

  • 企业微信智能机器人(长连接):主要面向企业内部使用,支持企微内部私聊和群聊,不需要公网 IP,部署成本最低。不能接入微信。【企业内使用 | 推荐】

  • 企业微信自建应用(可接入普通微信):可接入普通微信,不支持群聊,需要公网 IP。【个人使用 | 推荐】

  • 微信客服(外部微信用户):适合让任意微信用户通过客服入口与企业的 OpenClaw 对话,不支持群聊,需要公网 IP。【企业外部客户使用 | 推荐】

按微信客服官方入口范围,理论上还可承接视频号小店、视频号主页、直播间、微信内网页、公众号菜单、小程序、搜一搜品牌官方区、支付凭证等入口,最终都是跳转到客服对话。

  • 微信公众号(订阅号 / 服务号 / 测试号):面向公众号粉丝的通用接入方式,支持文本消息收发。订阅号有 5 秒被动回复限制且不支持主动发送;服务号和测试号无限制,支持主动发送消息。需要公网 IP 和域名。

| 功能 | 钉钉 | 飞书 | QQ | 企业微信

智能机器人

长连接 | 企业微信自建应用

(可接入普通微信) | 微信客服

(外部微信用户) | 微信公众号 | |------|:----:|:----:|:--:|:------------------:|:----------------:|:---------------:|:---------:| | 文本消息 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Markdown | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | | 流式响应 | ✅ | - | ✅ | ✅ | ❌ | ❌ | ❌ | | 图片/文件 | ✅ | ✅ | ✅ | ✅ | ✅ | ⚠️

开发中 | ⚠️仅图片 | | 语音消息 | ✅ | - | ✅ | ✅ | ✅ | ⚠️

开发中 | ✅ | | 私聊 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 群聊 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | | 多账户 | ✅ | - | ✅ | ✅ | ✅ | ⚠️

开发中 | ⚠️

开发中 | | 主动发送消息

(定时任务) | ✅ | ✅ | ✅ | ✅ | ✅ | ⚠️

开发中 | ⚠️

开发中 |

说明:qqbot 现在支持 QQ 平台原生 stream_messages 流式输出,但只覆盖 C2C 私聊,且默认关闭,需要显式设置 channels.qqbot-china.streaming=true。群聊、频道、replyFinalOnly=true、结构化 Markdown 和媒体回复仍会回退到原有普通发送链路;tool / progress 文本保持普通消息实时回发。

qqbot 在 QQ 私聊里处理长 Markdown 表格时,会优先缓冲连续的结构化内容,再按“完整表头 + 完整行”安全切分;续块会自动补回表头。如果上游流式把同一行拆成几段,插件也会先在本地合并后再发送,尽量避免把半截表格直接发给 QQ。

wecom-kf 当前已支持外部微信用户文本会话闭环和 enter_session 欢迎语;多账户、文件收发、定时任务仍在开发中。

wechat-mp 当前已支持文本消息收发、slash command 透传(CommandAuthorized=true)、被动回复闭环、Markdown 降级(renderMarkdown),以及 activeDeliveryMode 控制的主动发送(split 逐条 / merged 合并),超长消息自动按字节限制智能分片;图片、语音、视频、位置、链接等全量媒体收发已完成,语音支持 ASR 自动转文字(腾讯云 Flash ASR);OAuth / JS-SDK / 自定义菜单仍在规划中。

更新日志

点击展开更新日志

2026-04-23

  • 新增 @openclaw-china/setup 一键安装脚本,可直接通过 npx @openclaw-china/setup 引导安装与初始化 OpenClaw China。
  • qqbot 的配置入口切换为 channels.qqbot-china,用于避免与 OpenClaw 官方内置 QQ 插件的 channels.qqbot 配置名冲突。

2026-03-29

  • qqbot 新增 QQ 平台原生 C2C 流式回复支持。开启 channels.qqbot-china.streaming=true 后,AI 正文会通过 stream_messages 以单条消息实时更新,呈现更接近打字机的效果。
  • 流式模式继续保留可见的 tool / progress 文本;assistant 正文一旦成功进入流式会话,就不会再额外重复发送成普通文本消息。
  • 为避免破坏现有稳定性,群聊、频道、replyFinalOnly=true、带媒体的回复,以及命中结构化 Markdown 安全传输的 C2C 回复,仍保持原有发送策略。

2026-03-22

  • wechat-mp 新增全量消息类型入站支持:图片、语音、视频、短视频、位置、链接消息。
  • wechat-mp 新增语音转文字(ASR)功能,集成腾讯云 Flash ASR 录音文件识别极速版。
  • wechat-mp 新增主动发送能力:模板消息、图片、语音、视频发送(自动上传媒体并发送)。
  • wechat-mp 新增发送能力检测:48 小时交互窗口检测、时间窗口配置、用户交互记录。
  • wechat-mp 新增指数退避重试机制,支持自定义重试参数。

2026-03-21

  • wecom 智能机器人长连接 ws 模式修复空占位收尾文案问题。某些 OpenClaw 复杂回复路径下,渠道层可能先创建 thinking 占位气泡,但最终没有可展示内容;现在这类空占位会静默结束,不再错误显示 ✅ 处理完成。

2026-03-20

  • wechat-mp 新增 Markdown 降级功能,可通过 renderMarkdown 配置项控制是否将 Markdown 转换为公众号友好的纯文本格式;setup 向导同步新增降级选项。
  • wechat-mp 新增超长消息自动分割功能,解决公众号客服消息 2048 字节限制问题:
  • 新增 getUtf8ByteLengthsplitTextByByteLimit 工具函数
  • 优先在自然边界处分割:段落 \n\n → 分割线 --- → 换行 \n → 句末标点 → 空格
  • 确保不截断多字节字符(中文等),分割后逐条发送
  • 新增 14 个单元测试覆盖字节计算和分割逻辑
  • wecom 对外状态上报现在会暴露更完整的 runtime snapshot;长连接 ws 模式的底层 ready 状态也会正确映射为 connected,减少状态面板和探测结果误报“未连接”的情况。
  • Merge PR #193:dingtalk 现在会向 Gateway 透传 x-openclaw-message-channelx-openclaw-session-key 请求头,修复缺少渠道标识时被默认识别为 webchat、导致 Agent 看到错误渠道信息的问题。

2026-03-19

  • dingtalk 优化了实时回复投递链路,减少处理中间消息堆积到任务结束后再集中发送的问题。
  • dingtalk 更新了 reply dispatcher 接入方式,对齐 QQ 的实时分发思路。
  • 新增 wechat-mp 微信公众号渠道,打通首版最小闭环:支持回调 GET/POST 验证、plain / safe / compat 三种消息模式、文本消息入站与标准化、基础事件(subscribe/unsubscribe/scan/click/view)分发、passive 被动回复和 active 主动发送 skeleton。
  • wechat-mp 现在会把 slash command 显式标记为 CommandAuthorized=true,并支持 activeDeliveryModesplit 按日志 / chunk 逐条主动发送,merged 在 reply pipeline 结束后合并为一条主动消息;passive 模式仍保持单次 HTTP 回包。
  • openclaw china setup 和统一渠道包现在已支持 WeChat MP(微信公众号),可直接录入 appIdappSecret、回调 token / encodingAESKeymessageModereplyMode 等参数,并补齐相关类型与测试。
  • 发布脚本新增 wechat-mp 到统一发布流程。
  • 新增并完善微信公众号配置指南,覆盖订阅号/服务号/测试号三种接入路径、主动发送模式说明和使用场景截图。
  • wecom-kf 配置向导。
  • 修复 workspace 依赖与版本配置问题,减少本地联调和发布时的版本错配。

2026-03-18

  • dingtalk 统一了回复阶段的媒体提取与文本清理逻辑。AI Card 流式预览、最终完成卡片和普通回复现在共用同一套预处理:会先从回复文本中提取本地图片/文件、去重后单独发送,并清理残留的本地路径或 Markdown 媒体语法,减少正文夹带文件路径、重复发送媒体或预览与最终内容不一致的情况。
  • wecom 智能机器人长连接 ws 模式使用平台原生 thinking 占位,体验更佳。
  • Merge PR #183:强化 wecom 长连接关闭时的清理流程。停止或断开连接时会进入短暂的优雅关闭窗口,抑制预期的 websocket 1006 / invalid frame 噪声,并及时清理残留回复上下文,降低停机、重连阶段的误报和脏状态风险。
  • qqbot 继续收紧了 QQ 私聊 Markdown 表格的安全切分。长表格现在会尽量按完整行贪心装箱,放不下下一整行时再提前断开,续块自动重复表头,减少“表头丢失”或“半行被切断”的情况。
  • qqbot 新增结构化 Markdown 续片合并逻辑。即使上游流式输出把同一行表格拆成多段,插件也会先按列数和上下文把碎片拼回去,再统一进入安全分片,降低 | 1-50kg | ... 这类中间列碎片直接发出的风险。
  • qqbot 放松了宽表自动收紧策略。默认 auto 安全分片仍会保留字节余量,但不再过度保守,10 列左右的长表格通常能在保持稳定渲染的前提下减少消息条数。

2026-03-17

  • qqbot 优化了 QQ 私聊长思考时的 对方正在输入中 指示。收到 C2C 消息后会先发一次 typing,并支持通过配置切换为不续发、按空档续发或固定间隔续发。
  • 同步补充文档说明:这项能力对应 QQ 平台的 typing 指示,不等同于客户端自己的临时 loading 气泡常驻;如果你希望长思考时更早给用户稳定的可见反馈,建议把 channels.qqbot-china.longTaskNoticeDelayMs 调低到 500010000
  • wecom 智能机器人长连接 ws 模式现已支持本地图片、文件、语音、视频的原生媒体发送。
  • Merge PR #148:调整 wecom 长连接消息的占位 ACK 时机。现在只有消息真正被 OpenClaw 接收并开始分发后,才会回发 占位,减少“实际未受理却先显示处理中”的误导。
  • wecom 新增内置 wecom-doc skill,支持创建和编辑企业微信文档、智能表格。

2026-03-16

  • 新增 wecom-kf 微信客服渠道,打通首版最小闭环:支持回调 GET/POST 验证、sync_msg 拉取真实消息、外部微信用户文本消息入站、Agent 文本回复回发,以及 enter_session 欢迎语。
  • openclaw china setup 和统一渠道包现在已支持 WeCom KF(微信客服),可直接录入 corpId、微信客服 Secret、回调 Token / EncodingAESKeyopenKfId 等参数,并补齐相关类型与测试。

2026-03-15

  • qqbot 新增 停止 / /stop 快速通道。当前任务正在执行时,这类中断命令会绕过本地排队立即发送给 OpenClaw,并丢弃同一会话里尚未处理的排队消息,减少“停不下来还继续串消息”的情况。
  • qqbot 新增 c2cMarkdownChunkStrategy,默认 markdown-block。QQ 私聊 Markdown 现在会优先按标题、表格、引用、分割线、代码块和正文块这些安全边界切分;如需兼容旧的纯长度切分行为,可切回 length

2026-03-14

  • qqbot 新增私聊用户显示名别名映射 displayAliases。首期仅对 direct 用户生效,支持 user:<openid><openid>senderId 等键名,方便按已有联系人信息覆盖默认显示名。
  • qqbot 现在会优先使用 ~/.openclaw/qqbot/data/known-targets.json 里的 displayName 作为私聊用户显示名;如果没有,再回退到 displayAliases,最后才使用稳定 ID,减少多账号和备注名场景下的识别成本。
  • qqbot 新增内置 qqbot-contact-send skill,并会随插件自动注册到新会话的 <available_skills>。模型可直接基于 known-targets.json 按联系人备注/显示名解析发送对象,并默认优先使用当前会话的 accountId 过滤目标,降低误发给同名联系人的风险。
  • qqbot 在 QQ 私聊里开启 /verbose onreplyFinalOnly=false 后,assistant 的普通过渡说明和工具日志现在都会实时发送,并按真实生成顺序交错出现,不会再出现“日志先刷完、说明最后补发”的时序错乱。

2026-03-13

  • qqbot 现在能看懂 QQ 私聊里的“引用上一条消息”。用户问“这个是什么”“你刚才说的哪个文件”时,模型会一起参考被引用的那条内容来回答。
  • 引用内容会自动缓存在本地 ~/.openclaw/qqbot/data/ref-index.jsonl,就算网关重启,之前的引用关系也还能继续识别。
  • 被引用的内容不只支持纯文本,也支持图片、语音、视频、文件这类消息的摘要;如果本地确实找不到旧消息,也不会再把“原始内容不可用”这种占位词喂给模型。

2026-03-12

  • qqbot 在 QQ 私聊里开启 /verbose onreplyFinalOnly=false 后,执行过程中的工具输出和日志会边跑边发,一条一条实时出现,不会再等到最后一起发。
  • 如果你保持 replyFinalOnly=true,行为还是和以前一样:普通过程日志不发,只发最终文本结果;但图片、语音这类媒体结果照样能正常发出。

2026-03-11

  • dingtalk 默认关闭 AI Card 流式响应。配置默认值、入站处理和 openclaw china setup 向导的推荐选项已统一改为 enableAICard=false;如需继续使用,可再显式开启。
  • qqbot 优化了 QQ 私聊里的 Markdown 回复,标题、引用、列表、图片这些格式更接近原文,不容易被改坏。
  • 文档里补充了 c2cMarkdownDeliveryMode 的使用建议。如果你遇到“带表格的回复显示很乱”,直接用 proactive-all 会更稳。
  • 现在带表格的内容默认整条一次发出,减少被 QQ 截断、拆坏格式的问题。

2026-03-10

  • dingtalk 新增流式输出支持,并补齐网关认证配置。openclaw china setup 和钉钉接入文档现在支持录入 channels.dingtalk.gatewayToken;当流式调用因网关认证失败中断时,错误提示也会直接引导检查 channels.dingtalk.gatewayToken 或全局 gateway.auth.token
  • 修复 wecom-app 开启 /verbose on 后“中间过程一直不发、最后一次性刷屏”的问题。现在长任务执行时会持续回消息,能更早看到进度。
  • 同步补充了 wecom-app 的验证步骤和排查说明,升级后更容易自查有没有生效。

2026-03-09

  • qqbot 现在可以直接走标准配置流程接入和关闭,不用再自己额外拼一套配置步骤。
  • qqbot 新增“已知目标”记录和主动发送能力。机器人见过的用户或群会被记下来,后面可以直接给指定对象主动发文字或媒体。

2026-03-08

  • 主要: wecom 智能机器人新增长连接 ws 模式 ,无需 IP 即可配置,并且体验更佳。【全网首发!企微官方3月8日支持长连接模式,本项目当天即支持】
  • 主要: dingtalk 新增多账号支持 ,完善默认账号解析、账号配置管理、监控与出站逻辑,并补充多账号测试与配置文档。
  • Merge PR #131:修复入站媒体归档在跨分区移动时的 EXDEV 失败问题,避免归档后路径失效,提升共享媒体链路与 wecom-app 的稳定性。
  • qqbot 增强回复可靠性与入站媒体处理,完善回复、发送与客户端链路,并补强相关测试覆盖。
  • 修复 wecom 多账号多 Agent 场景下入站路由未透传 accountId 的问题,避免 bindings.match.accountId 失效后消息错误落到默认 Agent。

2026-03-07

  • Merge PR #127:进一步修复心跳 ACK 上报逻辑,避免通道在无用户消息期间被错误判定为失活。
  • qqbot 新增长任务通知能力,支持配置延迟时间,提升长耗时任务场景下的交互反馈。
  • qqbot 支持文件上传与文件名参数,并优化媒体发送链路,补强相关测试覆盖。
  • dingtalk 新增长任务通知,并将非 AI 回复切换为直接分发,减少回复链路复杂度。
  • 文档补充腾讯云 ASR 仅支持国内网络环境的使用提示。

2026-03-05

  • qqbotmsg_id 失效场景下回退使用 event_id,提升定时与异步回发稳定性。
  • 优化定时任务稳定性:提醒类任务统一采用 sessionTarget="isolated" + 固定 delivery.channel/to/accountId,避免投递串会话。
  • 强化 Cron 创建提示词:明确要求将执行期约束写入 payload.message(仅纯文本、禁止调用工具、禁止手动发送)。

2026-03-03

  • Merge PR #101:qqbot 新增多账户能力,覆盖配置、连接管理与令牌缓存。
  • Merge PR #89:修复 replyFinalOnly=true 场景下 QQ 工具媒体投递,并支持语音转换。
  • Merge 分支 pr-105:修复 WeCom / WeCom App webhook 路由注册,并支持多个 webhook 路径。
  • 发布脚本新增固定版本控制选项,并同步 README 中 WeCom 问题说明。

2026-03-02

  • Merge PR #96:修复发送文本消息时的账号检查逻辑。
  • Merge PR #95:修复 wecom-app 在多账户配置下的消息路由错误。
  • wecom 渠道增强 XML 解析能力,支持更多消息类型与 CDATA 处理。
  • 优化 wecom-app 消息发送逻辑,提升发送稳定性。

2026-02-28

  • 修复企业微信插件异常重启循环问题,提升整体运行稳定性。

2026-02-26

  • 新增安装提示能力,降低首次安装和排障成本。
  • openclaw china setup 新增交互式配置向导,减少手动配置步骤。

2026-02-25

  • Merge PR #73:wecom-app 支持以视频播放器形式发送 MP4 视频(3c32173)。
  • Merge PR #65:钉钉日志补充 userId/groupId,便于定向投递排障(a293250)。

2026-02-15

  • 优化企业微信智能机器人的文件发送能力,支持发送多种文件类型。

2026-02-14

  1. 企业微信支持接入腾讯云 ASR 服务,实现语音转文本。
  2. 企业微信自建应用支持在微信侧发送定位,OpenClaw 可读取定位对应的具体位置。
  3. 修复企业微信插件无法执行特殊命令的问题(如 `/ne

Extension points exported contracts — how you extend this code

ActiveConnection (Interface)
* 活动连接状态(每个账户独立)
extensions/qqbot/src/monitor.ts
TokenCache (Interface)
Token 缓存结构
extensions/dingtalk/src/client.ts
WechatMpApiError (Interface)
(no doc) [1 implementers]
extensions/wechat-mp/src/api.ts
ChannelConfig (Interface)
(no doc)
packages/channels/src/index.ts
TencentFlashASRConfig (Interface)
(no doc)
packages/shared/src/asr/tencent-flash.ts
MoltbotPluginApi (Interface)
(no doc)
extensions/wecom-app/index.ts
MoltbotPluginApi (Interface)
(no doc)
extensions/feishu/index.ts
MoltbotPluginApi (Interface)
(no doc)
extensions/wecom/index.ts

Core symbols most depended-on inside this repo

handleQQBotDispatch
called by 62
extensions/qqbot/src/bot.ts
extractXmlTag
called by 57
extensions/wecom/src/monitor.ts
measureQQBotUtf8Length
called by 38
extensions/qqbot/src/bot.ts
toTrimmedString
called by 37
packages/shared/src/cli/china-setup.ts
resolveFileCategory
called by 36
packages/shared/src/file/file-utils.ts
resolveExtension
called by 29
packages/shared/src/file/file-utils.ts
extractFileFromMessage
called by 29
extensions/dingtalk/src/media.ts
buildInboundContext
called by 24
extensions/dingtalk/src/bot-handler.ts

Shape

Function 1,257
Interface 142
Method 65
Class 44
Enum 1

Languages

TypeScript99%
Python1%

Modules by API surface

extensions/qqbot/src/bot.ts141 symbols
packages/shared/src/cli/china-setup.ts48 symbols
extensions/wecom-app/src/api.ts44 symbols
extensions/wecom/src/monitor.ts38 symbols
extensions/wecom/src/ws-gateway.ts36 symbols
extensions/dingtalk/src/media.ts36 symbols
packages/shared/src/media/media-io.ts33 symbols
extensions/wecom/src/ws-reply-context.ts31 symbols
extensions/qqbot/src/client.ts31 symbols
extensions/dingtalk/src/bot-handler.ts28 symbols
extensions/wecom-app/src/monitor.ts27 symbols
extensions/qqbot/src/config.ts25 symbols

Dependencies from manifests, versioned

@clack/prompts1.0.0 · 1×
@larksuiteoapi/node-sdk1.46.0 · 1×
@openclaw-china/channelsworkspace:* · 1×
@openclaw-china/dingtalk2026.3.9-1 · 1×
@openclaw-china/feishu-china2026.3.9-1 · 1×
@openclaw-china/qqbot2026.3.9-1 · 1×
@openclaw-china/sharedworkspace:* · 1×
@openclaw-china/wechat-mpworkspace:* · 1×
@openclaw-china/wecomworkspace:* · 1×
@openclaw-china/wecom-appworkspace:* · 1×
@openclaw-china/wecom-kfworkspace:* · 1×
@types/node22.0.0 · 1×

For agents

$ claude mcp add openclaw-china \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact