openclaw-china README

The project's README from github.com/BytePioneer-AI/openclaw-china. As one markdown file: README.md.

🦞 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
  • 如果二维码过期,可以加下我微信备注说明来意:a28417416
欢迎同学们一起开发~
交流群二维码
平台 状态 配置复杂度 配置指南
钉钉 ✅ 可用 简单 钉钉企业注册指南
QQ 机器人 ✅ 可用 简单 QQ 渠道配置指南
企业微信(智能机器人) ✅ 可用 简单 企业微信智能机器人配置指南
企业微信(自建应用-可接入微信) ✅ 可用 中等 企业微信自建应用配置指南
微信客服(微信客服-外部微信用户) ✅ 可用 中等 微信客服配置指南
微信公众号(订阅号 / 服务号 / 测试号) ✅ 可用 中等 微信公众号配置指南
飞书(本仓库插件,停止维护) ✅ 可用 中等 -
微信(官方插件,非本仓库) ✅ 可用 简单 微信官方插件安装文档
飞书(官方插件,非本仓库) ✅ 可用 中等 飞书官方插件安装文档

谁在使用

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

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

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

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

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

功能支持

更多功能在努力开发中~

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

功能 钉钉 飞书 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 字节限制问题:
    • 新增 getUtf8ByteLength 和 splitTextByByteLimit 工具函数
    • 优先在自然边界处分割:段落 \n\n → 分割线 --- → 换行 \n → 句末标点 → 空格
    • 确保不截断多字节字符(中文等),分割后逐条发送
    • 新增 14 个单元测试覆盖字节计算和分割逻辑
  • wecom 对外状态上报现在会暴露更完整的 runtime snapshot;长连接 ws 模式的底层 ready 状态也会正确映射为 connected,减少状态面板和探测结果误报“未连接”的情况。
  • Merge PR #193:dingtalk 现在会向 Gateway 透传 x-openclaw-message-channel 与 x-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,并支持 activeDeliveryMode:split 按日志 / chunk 逐条主动发送,merged 在 reply pipeline 结束后合并为一条主动消息;passive 模式仍保持单次 HTTP 回包。
  • openclaw china setup 和统一渠道包现在已支持 WeChat MP(微信公众号),可直接录入 appId、appSecret、回调 token / encodingAESKey、messageMode、replyMode 等参数,并补齐相关类型与测试。
  • 发布脚本新增 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 调低到 5000 到 10000。
  • 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 / EncodingAESKey、openKfId 等参数,并补齐相关类型与测试。

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 on 且 replyFinalOnly=false 后,assistant 的普通过渡说明和工具日志现在都会实时发送,并按真实生成顺序交错出现,不会再出现“日志先刷完、说明最后补发”的时序错乱。

2026-03-13

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

2026-03-12

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

2026-03-11

  • dingtalk 默认关闭 AI Card 流式响应。配置默认值、入站处理和 openclaw china setup 向导的推荐选项已统一改为 enableAICard=false;如需继续使用,可再显式开启。
  • qqbot 优化了 QQ 私聊里的 Markdown �

openclaw-china (BytePioneer-AI/openclaw-china)

Searching Database…

What is this?OpenClaw China is a set of channel plugins for OpenClaw that connect its AI agent to popular Chinese messaging platforms, including DingTalk, WeCom, WeChat Customer Service, WeChat Official Accounts, QQ and Feishu.
Is this a standalone app or an add-on for something else?It is an add-on plugin collection for OpenClaw, not a standalone application — you install it on top of an existing OpenClaw setup to add China-specific messaging channels.
How do I install OpenClaw China?Run the one-line installer `npx @openclaw-china/setup`, which guides you through installing and initializing the plugins and their per-channel configuration.
Do I need an existing OpenClaw setup and Node.js first?Yes — this package only adds channels to an existing OpenClaw installation and requires Node.js 20 or newer plus pnpm for building the workspace packages.
Which channels support group chat, and which need a public IP?Group chat works on DingTalk, Feishu, QQ and WeCom's internal bot, but WeCom self-built app, WeChat Customer Service and WeChat Official Account channels don't support group chat, and several of them require a public IP and domain.
Which WeCom channel should I pick to connect to a personal WeChat account?Use the WeCom self-built app channel — it can bridge to regular personal WeChat but needs a public IP and does not support group chat; the internal bot channel is easier to set up but cannot reach personal WeChat at all.
Can I see AI replies stream in real time instead of waiting for the full answer?Yes, on DingTalk, QQ (private chats only) and WeCom's internal bot; QQ streaming must be explicitly enabled via the channels.qqbot-china.streaming config flag.
Who is already using OpenClaw China in production?The README lists known users including Alibaba Cloud, Volcano Engine, and several Chinese enterprise teams running customer-service and sales-assist bots on top of it.
Is the Feishu plugin actively maintained?No — the in-repo Feishu plugin is marked as no longer maintained; an official Feishu plugin outside this repository is recommended instead.
Size
21.6 MB
Stars
4K
Age
8mo
Commits · 90 Days