面向中国 IM 平台的 OpenClaw 扩展插件集合
OpenClaw China 为 OpenClaw 提供面向中国常用通讯平台的渠道扩展,帮助你把 AI 助手接入钉钉、企业微信、企业微信自建应用、微信客服、微信公众号、QQ 和飞书等渠道。项目聚焦稳定的消息收发、统一的插件接入面,以及尽量低门槛的配置流程。
文档目录:快速开始 • 总体架构 • 功能支持 • 更新日志 • 演示 • 💗 支持我们 • 加入交流群
⭐ 如果这个项目对你有帮助,请给我们一个 Star!⭐
您的支持是我们持续改进的动力
生态项目推荐:
ClawMate · 为 OpenClaw 添加一个有温度的角色伴侣。
weixin-agent-gateway · 在微信中接入 Claude Code、Codex、OpenCode、Kimi Code CLI、Qwen Code 等
|
加入交流群 对 OpenClaw 用法、插件感兴趣的可以扫码加入微信群交流。
|
|
| 平台 | 状态 | 配置复杂度 | 配置指南 |
|---|---|---|---|
| 钉钉 | ✅ 可用 | 简单 | 钉钉企业注册指南 |
| QQ 机器人 | ✅ 可用 | 简单 | QQ 渠道配置指南 |
| 企业微信(智能机器人) | ✅ 可用 | 简单 | 企业微信智能机器人配置指南 |
| 企业微信(自建应用-可接入微信) | ✅ 可用 | 中等 | 企业微信自建应用配置指南 |
| 微信客服(微信客服-外部微信用户) | ✅ 可用 | 中等 | 微信客服配置指南 |
| 微信公众号(订阅号 / 服务号 / 测试号) | ✅ 可用 | 中等 | 微信公众号配置指南 |
| 飞书(本仓库插件,停止维护) | ✅ 可用 | 中等 | - |
| 微信(官方插件,非本仓库) | ✅ 可用 | 简单 | 微信官方插件安装文档 |
| 飞书(官方插件,非本仓库) | ✅ 可用 | 中等 | 飞书官方插件安装文档 |
目前已知已有以下公司 / 团队在使用 OpenClaw China
|
阿里云 |
火山引擎 |
财富云 |
北少云 |
西安铂傲智能 |
本项目开源且可免费使用。
如果你的公司或团队也在使用 OpenClaw China,欢迎通过 Issue、PR、交流群或微信留下公司名称 / Logo / 使用场景,帮助我们持续维护项目,也让更多用户看到真实的落地案例。
西安铂傲智能:助力西北实业公司实现智能客服、辅助拓客与低成本经营,覆盖便利店、建筑材料、地产、家居建材等业务场景。
更多功能在努力开发中~
企业微信 3 个渠道 + 微信公众号怎么选
企业微信智能机器人(长连接):主要面向企业内部使用,支持企微内部私聊和群聊,不需要公网 IP,部署成本最低。不能接入微信。【企业内使用 | 推荐】
企业微信自建应用(可接入普通微信):可接入普通微信,不支持群聊,需要公网 IP。【个人使用 | 推荐】
微信客服(外部微信用户):适合让任意微信用户通过客服入口与企业的 OpenClaw 对话,不支持群聊,需要公网 IP。【企业外部客户使用 | 推荐】
按微信客服官方入口范围,理论上还可承接视频号小店、视频号主页、直播间、微信内网页、公众号菜单、小程序、搜一搜品牌官方区、支付凭证等入口,最终都是跳转到客服对话。
微信公众号(订阅号 / 服务号 / 测试号):面向公众号粉丝的通用接入方式,支持文本消息收发。订阅号有 5 秒被动回复限制且不支持主动发送;服务号和测试号无限制,支持主动发送消息。需要公网 IP 和域名。
| 功能 | 钉钉 | 飞书 | 企业微信 智能机器人 长连接 | 企业微信自建应用 (可接入普通微信) | 微信客服 (外部微信用户) | 微信公众号 | |
|---|---|---|---|---|---|---|---|
| 文本消息 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 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 / 自定义菜单仍在规划中。
@openclaw-china/setup 一键安装脚本,可直接通过 npx @openclaw-china/setup 引导安装与初始化 OpenClaw China。qqbot 的配置入口切换为 channels.qqbot-china,用于避免与 OpenClaw 官方内置 QQ 插件的 channels.qqbot 配置名冲突。qqbot 新增 QQ 平台原生 C2C 流式回复支持。开启 channels.qqbot-china.streaming=true 后,AI 正文会通过 stream_messages 以单条消息实时更新,呈现更接近打字机的效果。replyFinalOnly=true、带媒体的回复,以及命中结构化 Markdown 安全传输的 C2C 回复,仍保持原有发送策略。wechat-mp 新增全量消息类型入站支持:图片、语音、视频、短视频、位置、链接消息。wechat-mp 新增语音转文字(ASR)功能,集成腾讯云 Flash ASR 录音文件识别极速版。wechat-mp 新增主动发送能力:模板消息、图片、语音、视频发送(自动上传媒体并发送)。wechat-mp 新增发送能力检测:48 小时交互窗口检测、时间窗口配置、用户交互记录。wechat-mp 新增指数退避重试机制,支持自定义重试参数。wecom 智能机器人长连接 ws 模式修复空占位收尾文案问题。某些 OpenClaw 复杂回复路径下,渠道层可能先创建 thinking 占位气泡,但最终没有可展示内容;现在这类空占位会静默结束,不再错误显示 ✅ 处理完成。。wechat-mp 新增 Markdown 降级功能,可通过 renderMarkdown 配置项控制是否将 Markdown 转换为公众号友好的纯文本格式;setup 向导同步新增降级选项。wechat-mp 新增超长消息自动分割功能,解决公众号客服消息 2048 字节限制问题:
getUtf8ByteLength 和 splitTextByByteLimit 工具函数\n\n → 分割线 --- → 换行 \n → 句末标点 → 空格wecom 对外状态上报现在会暴露更完整的 runtime snapshot;长连接 ws 模式的底层 ready 状态也会正确映射为 connected,减少状态面板和探测结果误报“未连接”的情况。dingtalk 现在会向 Gateway 透传 x-openclaw-message-channel 与 x-openclaw-session-key 请求头,修复缺少渠道标识时被默认识别为 webchat、导致 Agent 看到错误渠道信息的问题。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 配置向导。dingtalk 统一了回复阶段的媒体提取与文本清理逻辑。AI Card 流式预览、最终完成卡片和普通回复现在共用同一套预处理:会先从回复文本中提取本地图片/文件、去重后单独发送,并清理残留的本地路径或 Markdown 媒体语法,减少正文夹带文件路径、重复发送媒体或预览与最终内容不一致的情况。wecom 智能机器人长连接 ws 模式使用平台原生 thinking 占位,体验更佳。wecom 长连接关闭时的清理流程。停止或断开连接时会进入短暂的优雅关闭窗口,抑制预期的 websocket 1006 / invalid frame 噪声,并及时清理残留回复上下文,降低停机、重连阶段的误报和脏状态风险。qqbot 继续收紧了 QQ 私聊 Markdown 表格的安全切分。长表格现在会尽量按完整行贪心装箱,放不下下一整行时再提前断开,续块自动重复表头,减少“表头丢失”或“半行被切断”的情况。qqbot 新增结构化 Markdown 续片合并逻辑。即使上游流式输出把同一行表格拆成多段,插件也会先按列数和上下文把碎片拼回去,再统一进入安全分片,降低 | 1-50kg | ... 这类中间列碎片直接发出的风险。qqbot 放松了宽表自动收紧策略。默认 auto 安全分片仍会保留字节余量,但不再过度保守,10 列左右的长表格通常能在保持稳定渲染的前提下减少消息条数。qqbot 优化了 QQ 私聊长思考时的 对方正在输入中 指示。收到 C2C 消息后会先发一次 typing,并支持通过配置切换为不续发、按空档续发或固定间隔续发。channels.qqbot-china.longTaskNoticeDelayMs 调低到 5000 到 10000。wecom 智能机器人长连接 ws 模式现已支持本地图片、文件、语音、视频的原生媒体发送。wecom 长连接消息的占位 ACK 时机。现在只有消息真正被 OpenClaw 接收并开始分发后,才会回发 ⏳ 占位,减少“实际未受理却先显示处理中”的误导。wecom 新增内置 wecom-doc skill,支持创建和编辑企业微信文档、智能表格。wecom-kf 微信客服渠道,打通首版最小闭环:支持回调 GET/POST 验证、sync_msg 拉取真实消息、外部微信用户文本消息入站、Agent 文本回复回发,以及 enter_session 欢迎语。openclaw china setup 和统一渠道包现在已支持 WeCom KF(微信客服),可直接录入 corpId、微信客服 Secret、回调 Token / EncodingAESKey、openKfId 等参数,并补齐相关类型与测试。qqbot 新增 停止 / /stop 快速通道。当前任务正在执行时,这类中断命令会绕过本地排队立即发送给 OpenClaw,并丢弃同一会话里尚未处理的排队消息,减少“停不下来还继续串消息”的情况。qqbot 新增 c2cMarkdownChunkStrategy,默认 markdown-block。QQ 私聊 Markdown 现在会优先按标题、表格、引用、分割线、代码块和正文块这些安全边界切分;如需兼容旧的纯长度切分行为,可切回 length。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 的普通过渡说明和工具日志现在都会实时发送,并按真实生成顺序交错出现,不会再出现“日志先刷完、说明最后补发”的时序错乱。qqbot 现在能看懂 QQ 私聊里的“引用上一条消息”。用户问“这个是什么”“你刚才说的哪个文件”时,模型会一起参考被引用的那条内容来回答。~/.openclaw/qqbot/data/ref-index.jsonl,就算网关重启,之前的引用关系也还能继续识别。qqbot 在 QQ 私聊里开启 /verbose on 且 replyFinalOnly=false 后,执行过程中的工具输出和日志会边跑边发,一条一条实时出现,不会再等到最后一起发。replyFinalOnly=true,行为还是和以前一样:普通过程日志不发,只发最终文本结果;但图片、语音这类媒体结果照样能正常发出。dingtalk 默认关闭 AI Card 流式响应。配置默认值、入站处理和 openclaw china setup 向导的推荐选项已统一改为 enableAICard=false;如需继续使用,可再显式开启。qqbot 优化了 QQ 私聊里的 Markdown 回复,标题、引用、列表、图片这些格式更接近原文,不容易被改坏。c2cMarkdownDeliveryMode 的使用建议。如果你遇到“带表格的回复显示很乱”,直接用 proactive-all 会更稳。dingtalk 新增流式输出支持,并补齐网关认证配置。openclaw china setup 和钉钉接入文档现在支持录入 channels.dingtalk.gatewayToken;当流式调用因网关认证失败中断时,错误提示也会直接引导检查 channels.dingtalk.gatewayToken 或全局 gateway.auth.token。wecom-app 开启 /verbose on 后“中间过程一直不发、最后一次性刷屏”的问题。现在长任务执行时会持续回消息,能更早看到进度。wecom-app 的验证步骤和排查说明,升级后更容易自查有没有生效。qqbot 现在可以直接走标准配置流程接入和关闭,不用再自己额外拼一套配置步骤。qqbot 新增“已知目标”记录和主动发送能力。机器人见过的用户或群会被记下来,后面可以直接给指定对象主动发文字或媒体。wecom 智能机器人新增长连接 ws 模式 **,无需 IP 即可配置,并且体验更佳。【全网首发!企微官方3月8日支持长连接模式,本项目当天即支持】dingtalk 新增多账号支持 **,完善默认账号解析、账号配置管理、监控与出站逻辑,并补充多账号测试与配置文档。wecom-app 的稳定性。qqbot 增强回复可靠性与入站媒体处理,完善回复、发送与客户端链路,并补强相关测试覆盖。wecom 多账号多 Agent 场景下入站路由未透传 accountId 的问题,避免 bindings.match.accountId 失效后消息错误落到默认 Agent。qqbot 新增长任务通知能力,支持配置延迟时间,提升长耗时任务场景下的交互反馈。qqbot 支持文件上传与文件名参数,并优化媒体发送链路,补强相关测试覆盖。dingtalk 新增长任务通知,并将非 AI 回复切换为直接分发,减少回复链路复杂度。qqbot 在 msg_id 失效场景下回退使用 event_id,提升定时与异步回发稳定性。qqbot 新增多账户能力,覆盖配置、连接管理与令牌缓存。replyFinalOnly=true 场景下 QQ 工具媒体投递,并支持语音转换。pr-105:修复 WeCom / WeCom App webhook 路由注册,并支持多个 webhook 路径。wecom-app 在多账户配置下的消息路由错误。wecom 渠道增强 XML 解析能力,支持更多消息类型与 CDATA 处理。wecom-app 消息发送逻辑,提升发送稳定性。openclaw china setup 新增交互式配置向导,减少手动配置步骤。wecom-app 支持以视频播放器形式发送 MP4 视频(3c32173)。userId/groupId,便于定向投递排障(a293250)。/new)。npx @openclaw-china/setup
ℹ️ 这条路径由 OpenClaw 自己解析,当前行为是
ClawHub优先、npm 回退。
安装统一包(包含所有渠道)
openclaw plugins install @openclaw-china/channels
openclaw china setup
或者:安装单个渠道(不要和统一包同时安装)
openclaw plugins install @openclaw-china/dingtalk
openclaw china setup
openclaw plugins install @openclaw-china/feishu-china
openclaw china setup
openclaw plugins install @openclaw-china/qqbot
openclaw china setup
openclaw plugins install @openclaw-china/wecom-app
openclaw china setup
openclaw plugins install @openclaw-china/wecom-kf
openclaw china setup
openclaw plugins install @openclaw-china/wechat-mp
openclaw china setup
openclaw plugins install @openclaw-china/wecom
openclaw china setup
openclaw plugins update channels
git clone https://github.com/BytePioneer-AI/openclaw-china.git
cd openclaw-china
pnpm install
pnpm build
openclaw plugins install -l ./packages/channels
openclaw china setup
git pull origin main
pnpm install
pnpm build
链接模式下构建后即生效,重启 Gateway 即可。
推荐:优先使用「配置向导」
openclaw china setup完成配置。下面的openclaw config set ...为手动配置示例。
📖 钉钉企业注册指南 — 无需材料,5 分钟内完成配置
openclaw config set channels.dingtalk.enabled true
openclaw config set channels.dingtalk.clientId dingxxxxxx
openclaw config set channels.dingtalk.clientSecret your-app-secret
openclaw config set channels.dingtalk.enableAICard false
openclaw config set gateway.http.endpoints.chatCompletions.enabled true
可选高级配置
如果你需要更细粒度控制(例如私聊策略或白名单),可以在 ~/.openclaw/openclaw.json 中按需添加:
{
"channels": {
"dingtalk": {
"dmPolicy": "open", // open | pairing | allowlist
"groupPolicy": "open", // open | allowlist | disabled
"allowFrom": [],
"groupAllowFrom": []
},
"wecom-app": {
"dmPolicy": "open", // open | pairing | allowlist | disabled
"allowFrom": []
}
}
}
📖 企业微信自建应用配置指南 — 支持主动发送消息
企业微信自建应用支持主动发送消息,需要额外配置 corpId、corpSecret、agentId:
openclaw config set channels.wecom-app.enabled true
openclaw config set channels.wecom-app.webhookPath /wecom-app
openclaw config set channels.wecom-app.token your-token
openclaw config set channels.wecom-app.encodingAESKey your-43-char-encoding-aes-key
openclaw config set channels.wecom-app.corpId your-corp-id
openclaw config set channels.wecom-app.corpSecret your-app-secret
openclaw config set channels.wecom-app.agentId 1000002
(可选)开启语音转文本(腾讯云 Flash ASR):
openclaw config set channels.wecom-app.asr.enabled true
openclaw config set channels.wecom-app.asr.appId your-tencent-app-id
openclaw config set channels.wecom-app.asr.secretId your-tencent-secret-id
openclaw config set channels.wecom-app.asr.secretKey your-tencent-secret-key
与智能机器人的区别
| 功能 | 智能机器人 (wecom) | 自建应用 (wecom-app) |
|---|---|---|
| 被动回复 | ✅ | ✅ |
| 主动发送消息 | ❌ | ✅ |
| 支持群聊 | ✅ | ❌(专注于私聊) |
| 需要 corpSecret | ❌ | ✅ |
| 需要 IP 白名单 | ❌ | ✅ |
| 配置复杂度 | 简单 | 中等 |
wecom-app 已实现功能清单(摘要)
saved: 稳定路径;按 keepDays 延迟清理。
/tmp 造成"收到后很快被清理",确保 OCR/MCP/回发等二次处理有稳定路径可依赖。wecom-app:user:.. / user:.. / 裸 id / @accountId),减少 Unknown target。更完整说明见:
doc/guides/wecom-app/configuration.md
(可选)安装 wecom-app 专用 Skill
企业微信自建应用可配套使用 wecom-app-ops(target/replyTo/回发图片/录音/文件、OCR/MCP、排障、媒体保留策略)。
安装方式(推荐:Workspace 级):
# 在你的项目目录(workspace)下
mkdir -p ./skills
cp -a ~/.openclaw/extensions/openclaw-china/extensions/wecom-app/skills/wecom-app-ops ./skills/
或安装方式(全局):
mkdir -p ~/.openclaw/skills
cp -a ~/.openclaw/extensions/openclaw-china/extensions/wecom-app/skills/wecom-app-ops ~/.openclaw/skills/
说明:Workspace > 全局(
~/.openclaw/skills)> 内置 skills。复制后无需重启网关。
📖 微信客服配置指南 — 适合让外部微信用户通过客服入口与 Agent 对话
微信客服运行时使用的是微信客服 API 参数,不是普通自建应用的 agentId / 应用 Secret:
openclaw config set channels.wecom-kf.enabled true
openclaw config set channels.wecom-kf.webhookPath /wecom-kf
openclaw config set channels.wecom-kf.token your-token
openclaw config set channels.wecom-kf.encodingAESKey your-43-char-encoding-aes-key
openclaw config set channels.wecom-kf.corpId your-corp-id
openclaw config set channels.wecom-kf.corpSecret your-wecom-kf-secret
openclaw config set channels.wecom-kf.openKfId your-open-kfid
openclaw config set channels.wecom-kf.welcomeText "你好,我是 AI 客服,请问有什么可以帮你?"
注意事项
corpSecretagentIdenter_session 欢迎语;多账户、文件收发、定时任务正在开发中📖 微信公众号配置指南 — 支持订阅号、服务号和测试号
订阅号 / 服务号 / 测试号怎么选
| 订阅号 | 服务号 | 测试号 | |
|---|---|---|---|
| 适合场景 | 个人开发者、内容推送 | 企业正式运营 | 开发调试、快速验证 |
| 回复限制 | 5 秒内必须回复 | 无时间限制 | 无时间限制(服务号权限) |
| 主动发送 | ❌ 不支持 | ✅ 客服消息接口 | ✅ 客服消息接口 |
| 推荐回复模式 | passive | active | active |
| 获取方式 | 微信公众平台注册 | 微信公众平台注册 + 企业认证 | 测试号申请,扫码即用 |
| 需要公网 IP | ✅ | ✅ | ✅ |
推荐:如果没有企业认证服务号,建议先用测试号跑通,它拥有服务号权限且无需认证。正式上线后再切换到认证服务号。
最小配置(plain 模式)
openclaw config set channels.wechat-mp.enabled true
openclaw config set channels.wechat-mp.webhookPath /wechat-mp
openclaw config set channels.wechat-mp.appId wx1234567890abcdef
openclaw config set channels.wechat-mp.token your-callback-token
openclaw config set channels.wechat-mp.messageMode plain
openclaw config set channels.wechat-mp.replyMode passive
推荐配置(服务号 / 测试号)
openclaw config set channels.wechat-mp.enabled true
openclaw config set channels.wechat-mp.webhookPath /wechat-mp
openclaw config set channels.wechat-mp.appId wx1234567890abcdef
openclaw config set channels.wechat-mp.appSecret your-app-secret
openclaw config set channels.wechat-mp.token your-callback-token
openclaw config set channels.wechat-mp.encodingAESKey your-43-char-encoding-aes-key
openclaw config set channels.wechat-mp.messageMode safe
openclaw config set channels.wechat-mp.replyMode active
openclaw config set channels.wechat-mp.activeDeliveryMode split
消息模式
plain:明文收发,适合调试safe:密文收发,推荐生产使用(需额外配置 encodingAESKey)compat:兼容模式,密文优先处理回复模式
passive:5 秒窗口内 HTTP 直接回包(订阅号唯一选择)active:通过客服消息 API 主动发送(服务号 / 测试号推荐,需额外配置 appSecret)主动发送模式
activeDeliveryMode=split:每个非空日志 / chunk 单独发一条消息activeDeliveryMode=merged:等待 reply pipeline 结束后合并成一条消息replyMode=active 时生效;passive 时始终单次 HTTP 回包注意事项
passive 模式active 模式以获取更完整的能力体验当前已实现
plain / safe / compat 三种消息加解密模式passive / active 两种回复模式(可选)开启语音转文本(腾讯云 Flash ASR)
openclaw config set channels.wechat-mp.asr.enabled true
openclaw config set channels.wechat-mp.asr.appId your-tencent-app-id
openclaw config set channels.wechat-mp.asr.secretId your-tencent-secret-id
openclaw config set channels.wechat-mp.asr.secretKey your-tencent-secret-key
开发中 / 规划中
更完整说明见:
doc/guides/wechat-mp/configuration.md
openclaw config set channels.qqbot-china.enabled true
openclaw config set channels.qqbot-china.appId your-app-id
openclaw config set channels.qqbot-china.clientSecret your-app-secret
openclaw config set channels.qqbot-china.markdownSupport true
openclaw config set channels.qqbot-china.c2cMarkdownDeliveryMode proactive-all
openclaw config set channels.qqbot-china.c2cMarkdownChunkStrategy markdown-block
openclaw config set channels.qqbot-china.streaming true
openclaw config set channels.qqbot-china.typingHeartbeatMode idle
openclaw config set channels.qqbot-china.typingHeartbeatIntervalMs 5000
openclaw config set channels.qqbot-china.typingInputSeconds 60
openclaw config set channels.qqbot-china.autoSendLocalPathMedia false
# 如果你希望长思考时更早出现稳定的可见消息,可选:
openclaw config set channels.qqbot-china.longTaskNoticeDelayMs 5000
也可以直接使用一条命令完成接入:
openclaw channels add --channel qqbot --token "AppID:ClientSecret"
(可选)开启语音转文本(腾讯云 Flash ASR):
openclaw config set channels.qqbot-china.asr.enabled true
openclaw config set channels.qqbot-china.asr.appId your-tencent-app-id
openclaw config set channels.qqbot-china.asr.secretId your-tencent-secret-id
openclaw config set channels.qqbot-china.asr.secretKey your-tencent-secret-key
如果你希望回复里保留本地证据路径文本,而不是把 /root/.openclaw/media/qqbot/inbound/...jpeg 自动再次作为图片发送,可设置:
openclaw config set channels.qqbot-china.autoSendLocalPathMedia false
私聊 C2C Markdown 渲染建议:
openclaw config set channels.qqbot-china.markdownSupport true
openclaw config set channels.qqbot-china.c2cMarkdownDeliveryMode proactive-all
openclaw config set channels.qqbot-china.c2cMarkdownChunkStrategy markdown-block
c2cMarkdownDeliveryMode 只控制私聊 Markdown 走被动发送还是主动发送:passive:整条 C2C Markdown 回复保持被动发送proactive-table-only:仅当回复里出现 Markdown 表格时,整条 C2C 回复改走主动发送proactive-all:所有 C2C Markdown 回复统一改走主动发送c2cMarkdownChunkStrategy 只控制长 Markdown 的切分方式:markdown-block:默认值。优先按标题、表格、引用、分割线、代码块、列表和正文块这些安全边界切分;replyFinalOnly=false 时还会先合并连续的结构化 Markdown,再把 tool/log 文本按原顺序单独发出length:回退旧行为,继续按长度直接切分markdownSupport=true 的 QQ 私聊/C2C Markdown;群聊、频道和普通文本发送保持原样私聊 C2C 流式回复(打字机效果):
openclaw config set channels.qqbot-china.streaming true
openclaw config set channels.qqbot-china.accounts.main.streaming true
C2C 私聊生效,默认关闭stream_messages 单消息实时更新;tool / progress 仍按普通消息继续回发replyFinalOnly=true,插件会自动继续走旧的普通发送链路onPartialReply,或 QQ 流式接口暂时不可用,插件会自动降级为普通消息发送,不需要额外切换配置补充说明:
typingHeartbeatMode 控制续发策略:none 只发首个 typing,idle 只在回复空档续发,always 会固定间隔续发到整轮回复结束typingHeartbeatIntervalMs 和 typingInputSeconds 分别控制续发周期与单次 QQ typing 有效时长longTaskNoticeDelayMs 调低到 5000 到 10000markdownSupport=true)后,开启 /verbose on 且 replyFinalOnly=false 时,非 final 的工具/日志输出会即时回发,一个日志一个消息replyFinalOnly=true,非 final 纯文本日志仍会被抑制,只保留最终回复;媒体类工具结果不受影响proactive-all;这通常是 QQ 被动回复接口本身的渲染限制引用消息上下文(REFIDX):
REFIDX_* 索引,不直接返回被引用消息全文;qqbot 现在会自动从本地索引中恢复引用内容并注入 AI 上下文ref_idx 会自动建索引,默认落盘到 ~/.openclaw/qqbot/data/ref-index.jsonl主动发送与已知目标:
~/.openclaw/qqbot/data/known-targets.json~/.openclaw/data/qqbot/known-targets.json 会在首次访问时自动迁移到新路径user: / group: / channel: 目标displayName,把它当成 QQ 私聊用户的正式备注known-targets.json 里已有的 displayName;如果没有,再回退到 displayAliases,最后才使用平台 IDuser: 与 group: 目标import {
listKnownQQBotTargets,
sendProactiveQQBotMessage,
} from "@openclaw-china/qqbot";
const targets = listKnownQQBotTargets({ accountId: "default" });
await sendProactiveQQBotMessage({
cfg: {
channels: {
"qqbot-china": {
appId: "your-app-id",
clientSecret: "your-app-secret",
},
},
},
to: targets[0]?.target ?? "user:your-openid",
text: "这是一条主动发送的 QQ 消息",
});
如果 QQ 私聊里经常只能看到 openid,推荐先在 ~/.openclaw/qqbot/data/known-targets.json 里手工补 displayName 作为正式备注;也可以继续在配置里补 alias:
{
"channels": {
"qqbot-china": {
"displayAliases": {
"user:u-123456": "Alice"
},
"accounts": {
"bot2": {
"displayAliases": {
"user:u-123456": "Alice (bot2)"
}
}
}
}
}
}
QQBot 插件现在也会随包自动提供 qqbot-contact-send skill:
<available_skills> 中看到 qqbot-contact-sendextensions/qqbot/skills/qqbot-contact-send 手工复制到 workspace 或 ~/.openclaw/skills~/.openclaw/skills 里存在同名 skill,仍按 OpenClaw 的正常优先级覆盖插件内置版本企业微信智能机器人推荐使用长连接
ws模式,无需公网 IP
openclaw config set channels.wecom.enabled true
openclaw config set channels.wecom.mode ws
openclaw config set channels.wecom.botId your-bot-id
openclaw config set channels.wecom.secret your-bot-secret
注意事项
mode 时,默认也是 wsbotId 和 secret 需要从企业微信智能机器人后台获取ws 模式现已支持本地图片、文件、语音、视频的原生媒体发送;其中图片是否走原生发送可通过 wsImageReplyMode 控制webhook 模式说明飞书应用需开启机器人能力,并使用「长连接接收消息」模式
openclaw:
openclaw config set channels.feishu-china.enabled true
openclaw config set channels.feishu-china.appId cli_xxxxxx
openclaw config set channels.feishu-china.appSecret your-app-secret
openclaw config set channels.feishu-china.sendMarkdownAsCard true
openclaw gateway --port 18789 --verbose
以下为钉钉渠道效果示例:
ps: 此为最初版本的演示效果,当前已完美支持Markdown格式。


为 OpenClaw 添加一个有温度的角色伴侣
ClawMate 是一个为 OpenClaw 设计的角色伴侣插件,让你的 AI 助手拥有视觉形象和情感温度。
核心功能
快速安装
npx github:BytePioneer-AI/clawmate
应用场景:个人伴侣、虚拟导师、智能客服、专业顾问
了解更多:https://github.com/BytePioneer-AI/clawmate
适合希望在微信中接入 Claude Code、Codex、OpenCode、Kimi Code CLI、Qwen Code 等助手的用户
weixin-agent-gateway 是一个面向微信生态的多 Agent 接入项目,可用于在微信场景下连接 Claude Code、Codex、OpenCode、Kimi Code CLI、Qwen Code 等多种 Coding / AI Agent。
适合场景
说明
适合需要二次开发或调试的场景:
# 克隆仓库
git clone https://github.com/BytePioneer-AI/openclaw-china.git
cd openclaw-china
# 安装依赖并构建
pnpm install
pnpm build
# 以链接模式安装(修改代码后实时生效)
openclaw plugins install -l ./packages/channels
openclaw china setup
示例配置(开发环境)
{
"plugins": {
"load": {
"paths": ["/path/to/OpenClaw-china/packages/channels"]
},
"entries": {
"channels": { "enabled": true }
}
},
"channels": {
"dingtalk": {
"enabled": true,
"clientId": "dingxxxxxx",
"clientSecret": "your-app-secret"
},
"qqbot-china": {
"enabled": true,
"appId": "your-app-id",
"clientSecret": "your-app-secret"
},
"feishu-china": {
"enabled": true,
"appId": "cli_xxxxxx",
"appSecret": "your-app-secret"
},
"wecom": {
"enabled": true,
"botId": "your-bot-id",
"secret": "your-bot-secret"
},
"wecom-app": {
"enabled": true,
"webhookPath": "/wecom-app",
"token": "your-token",
"encodingAESKey": "your-43-char-encoding-aes-key",
"corpId": "your-corp-id",
"corpSecret": "your-app-secret",
"agentId": 1000002
}
}
}
当前架构分为宿主、统一通道聚合、各渠道插件和 shared 基础能力层。
%%{init: {"markdownAutoWrap": false, "flowchart": {"htmlLabels": false, "wrappingWidth": 1200}}}%%
flowchart TD
%% 1. 核心宿主层 (Pill Shape)
HOST(["🦞 OpenClaw"]):::host
%% 2. 调度中心 (Rounded Rectangle)
subgraph Dispatcher [" 核心调度与分发中心 "]
direction TB
CH("📦 @openclaw-china/channels"):::aggregate
end
%% 3. 插件网格 (利用子图内部布局)
subgraph PluginGrid [" 多渠道插件生态 (Plugins) "]
direction LR
DT("DingTalk"):::plugin
FE("Feishu"):::plugin
QQ("QQBot"):::plugin
WC("WeCom"):::plugin
WA("WeCom App"):::plugin
end
%% 4. 基础设施层 (Rounded Rectangle)
subgraph SharedLayer [" 基础设施层 (Shared) "]
direction TB
SH("🛠️ @openclaw-china/shared"):::shared
end
%% --- 核心连接逻辑 ---
HOST ==>|Bootstrapping| CH
CH -.->|Dynamic Registration| DT
CH -.->|Dynamic Registration| FE
CH -.->|Dynamic Registration| QQ
CH -.->|Dynamic Registration| WC
CH -.->|Dynamic Registration| WA
DT & FE & QQ & WC & WA ==>|Dependencies| SH
%% --- 样式定义 ---
classDef host fill:#ebf5ff,stroke:#2563eb,stroke-width:2px,color:#1e40af,font-weight:bold
classDef aggregate fill:#f0fdf4,stroke:#16a34a,stroke-width:2px,color:#166534,font-weight:bold
classDef plugin fill:#ffffff,stroke:#64748b,stroke-width:1.5px,color:#334155
classDef shared fill:#f8fafc,stroke:#334155,stroke-width:2px,stroke-dasharray: 5 5,color:#0f172a,font-weight:bold
style Dispatcher fill:#f8fafc,stroke:#e2e8f0,stroke-dasharray: 5 5,color:#64748b,rx:10,ry:10
style PluginGrid fill:#fffcf9,stroke:#fed7aa,stroke-dasharray: 5 5,color:#9a3412,rx:10,ry:10
style SharedLayer fill:#f8fafc,stroke:#e2e8f0,stroke-dasharray: 5 5,color:#64748b,rx:10,ry:10
这是一个公益项目,感谢支持。项目由我们利用业余时间持续开发和维护,后续也会继续更新迭代并提供支持。
如果你愿意支持这个项目,欢迎帮忙宣传,并点亮项目右上角的 Star。

对 OpenClaw 用法、插件感兴趣的可以扫码加入微信群交流。
欢迎同学们一起开发~
如果二维码过期,可以加下我微信备注说明来意:a28417416
MIT
831 followers · starred Mar 2026
1,136 followers · starred Mar 2026
8 followers · starred Mar 2026
10 followers · starred Mar 2026
面向中国 IM 平台的 OpenClaw 扩展插件集合
OpenClaw China 为 OpenClaw 提供面向中国常用通讯平台的渠道扩展,帮助你把 AI 助手接入钉钉、企业微信、企业微信自建应用、微信客服、微信公众号、QQ 和飞书等渠道。项目聚焦稳定的消息收发、统一的插件接入面,以及尽量低门槛的配置流程。
文档目录:快速开始 • 总体架构 • 功能支持 • 更新日志 • 演示 • 💗 支持我们 • 加入交流群
⭐ 如果这个项目对你有帮助,请给我们一个 Star!⭐
您的支持是我们持续改进的动力
生态项目推荐:
ClawMate · 为 OpenClaw 添加一个有温度的角色伴侣。
weixin-agent-gateway · 在微信中接入 Claude Code、Codex、OpenCode、Kimi Code CLI、Qwen Code 等
|
加入交流群 对 OpenClaw 用法、插件感兴趣的可以扫码加入微信群交流。
|
|
| 平台 | 状态 | 配置复杂度 | 配置指南 |
|---|---|---|---|
| 钉钉 | ✅ 可用 | 简单 | 钉钉企业注册指南 |
| QQ 机器人 | ✅ 可用 | 简单 | QQ 渠道配置指南 |
| 企业微信(智能机器人) | ✅ 可用 | 简单 | 企业微信智能机器人配置指南 |
| 企业微信(自建应用-可接入微信) | ✅ 可用 | 中等 | 企业微信自建应用配置指南 |
| 微信客服(微信客服-外部微信用户) | ✅ 可用 | 中等 | 微信客服配置指南 |
| 微信公众号(订阅号 / 服务号 / 测试号) | ✅ 可用 | 中等 | 微信公众号配置指南 |
| 飞书(本仓库插件,停止维护) | ✅ 可用 | 中等 | - |
| 微信(官方插件,非本仓库) | ✅ 可用 | 简单 | 微信官方插件安装文档 |
| 飞书(官方插件,非本仓库) | ✅ 可用 | 中等 | 飞书官方插件安装文档 |
目前已知已有以下公司 / 团队在使用 OpenClaw China
|
阿里云 |
火山引擎 |
财富云 |
北少云 |
西安铂傲智能 |
本项目开源且可免费使用。
如果你的公司或团队也在使用 OpenClaw China,欢迎通过 Issue、PR、交流群或微信留下公司名称 / Logo / 使用场景,帮助我们持续维护项目,也让更多用户看到真实的落地案例。
西安铂傲智能:助力西北实业公司实现智能客服、辅助拓客与低成本经营,覆盖便利店、建筑材料、地产、家居建材等业务场景。
更多功能在努力开发中~
企业微信 3 个渠道 + 微信公众号怎么选
企业微信智能机器人(长连接):主要面向企业内部使用,支持企微内部私聊和群聊,不需要公网 IP,部署成本最低。不能接入微信。【企业内使用 | 推荐】
企业微信自建应用(可接入普通微信):可接入普通微信,不支持群聊,需要公网 IP。【个人使用 | 推荐】
微信客服(外部微信用户):适合让任意微信用户通过客服入口与企业的 OpenClaw 对话,不支持群聊,需要公网 IP。【企业外部客户使用 | 推荐】
按微信客服官方入口范围,理论上还可承接视频号小店、视频号主页、直播间、微信内网页、公众号菜单、小程序、搜一搜品牌官方区、支付凭证等入口,最终都是跳转到客服对话。
微信公众号(订阅号 / 服务号 / 测试号):面向公众号粉丝的通用接入方式,支持文本消息收发。订阅号有 5 秒被动回复限制且不支持主动发送;服务号和测试号无限制,支持主动发送消息。需要公网 IP 和域名。
| 功能 | 钉钉 | 飞书 | 企业微信 智能机器人 长连接 | 企业微信自建应用 (可接入普通微信) | 微信客服 (外部微信用户) | 微信公众号 | |
|---|---|---|---|---|---|---|---|
| 文本消息 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 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 / 自定义菜单仍在规划中。
@openclaw-china/setup 一键安装脚本,可直接通过 npx @openclaw-china/setup 引导安装与初始化 OpenClaw China。qqbot 的配置入口切换为 channels.qqbot-china,用于避免与 OpenClaw 官方内置 QQ 插件的 channels.qqbot 配置名冲突。qqbot 新增 QQ 平台原生 C2C 流式回复支持。开启 channels.qqbot-china.streaming=true 后,AI 正文会通过 stream_messages 以单条消息实时更新,呈现更接近打字机的效果。replyFinalOnly=true、带媒体的回复,以及命中结构化 Markdown 安全传输的 C2C 回复,仍保持原有发送策略。wechat-mp 新增全量消息类型入站支持:图片、语音、视频、短视频、位置、链接消息。wechat-mp 新增语音转文字(ASR)功能,集成腾讯云 Flash ASR 录音文件识别极速版。wechat-mp 新增主动发送能力:模板消息、图片、语音、视频发送(自动上传媒体并发送)。wechat-mp 新增发送能力检测:48 小时交互窗口检测、时间窗口配置、用户交互记录。wechat-mp 新增指数退避重试机制,支持自定义重试参数。wecom 智能机器人长连接 ws 模式修复空占位收尾文案问题。某些 OpenClaw 复杂回复路径下,渠道层可能先创建 thinking 占位气泡,但最终没有可展示内容;现在这类空占位会静默结束,不再错误显示 ✅ 处理完成。。wechat-mp 新增 Markdown 降级功能,可通过 renderMarkdown 配置项控制是否将 Markdown 转换为公众号友好的纯文本格式;setup 向导同步新增降级选项。wechat-mp 新增超长消息自动分割功能,解决公众号客服消息 2048 字节限制问题:
getUtf8ByteLength 和 splitTextByByteLimit 工具函数\n\n → 分割线 --- → 换行 \n → 句末标点 → 空格wecom 对外状态上报现在会暴露更完整的 runtime snapshot;长连接 ws 模式的底层 ready 状态也会正确映射为 connected,减少状态面板和探测结果误报“未连接”的情况。dingtalk 现在会向 Gateway 透传 x-openclaw-message-channel 与 x-openclaw-session-key 请求头,修复缺少渠道标识时被默认识别为 webchat、导致 Agent 看到错误渠道信息的问题。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 配置向导。dingtalk 统一了回复阶段的媒体提取与文本清理逻辑。AI Card 流式预览、最终完成卡片和普通回复现在共用同一套预处理:会先从回复文本中提取本地图片/文件、去重后单独发送,并清理残留的本地路径或 Markdown 媒体语法,减少正文夹带文件路径、重复发送媒体或预览与最终内容不一致的情况。wecom 智能机器人长连接 ws 模式使用平台原生 thinking 占位,体验更佳。wecom 长连接关闭时的清理流程。停止或断开连接时会进入短暂的优雅关闭窗口,抑制预期的 websocket 1006 / invalid frame 噪声,并及时清理残留回复上下文,降低停机、重连阶段的误报和脏状态风险。qqbot 继续收紧了 QQ 私聊 Markdown 表格的安全切分。长表格现在会尽量按完整行贪心装箱,放不下下一整行时再提前断开,续块自动重复表头,减少“表头丢失”或“半行被切断”的情况。qqbot 新增结构化 Markdown 续片合并逻辑。即使上游流式输出把同一行表格拆成多段,插件也会先按列数和上下文把碎片拼回去,再统一进入安全分片,降低 | 1-50kg | ... 这类中间列碎片直接发出的风险。qqbot 放松了宽表自动收紧策略。默认 auto 安全分片仍会保留字节余量,但不再过度保守,10 列左右的长表格通常能在保持稳定渲染的前提下减少消息条数。qqbot 优化了 QQ 私聊长思考时的 对方正在输入中 指示。收到 C2C 消息后会先发一次 typing,并支持通过配置切换为不续发、按空档续发或固定间隔续发。channels.qqbot-china.longTaskNoticeDelayMs 调低到 5000 到 10000。wecom 智能机器人长连接 ws 模式现已支持本地图片、文件、语音、视频的原生媒体发送。wecom 长连接消息的占位 ACK 时机。现在只有消息真正被 OpenClaw 接收并开始分发后,才会回发 ⏳ 占位,减少“实际未受理却先显示处理中”的误导。wecom 新增内置 wecom-doc skill,支持创建和编辑企业微信文档、智能表格。wecom-kf 微信客服渠道,打通首版最小闭环:支持回调 GET/POST 验证、sync_msg 拉取真实消息、外部微信用户文本消息入站、Agent 文本回复回发,以及 enter_session 欢迎语。openclaw china setup 和统一渠道包现在已支持 WeCom KF(微信客服),可直接录入 corpId、微信客服 Secret、回调 Token / EncodingAESKey、openKfId 等参数,并补齐相关类型与测试。qqbot 新增 停止 / /stop 快速通道。当前任务正在执行时,这类中断命令会绕过本地排队立即发送给 OpenClaw,并丢弃同一会话里尚未处理的排队消息,减少“停不下来还继续串消息”的情况。qqbot 新增 c2cMarkdownChunkStrategy,默认 markdown-block。QQ 私聊 Markdown 现在会优先按标题、表格、引用、分割线、代码块和正文块这些安全边界切分;如需兼容旧的纯长度切分行为,可切回 length。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 的普通过渡说明和工具日志现在都会实时发送,并按真实生成顺序交错出现,不会再出现“日志先刷完、说明最后补发”的时序错乱。qqbot 现在能看懂 QQ 私聊里的“引用上一条消息”。用户问“这个是什么”“你刚才说的哪个文件”时,模型会一起参考被引用的那条内容来回答。~/.openclaw/qqbot/data/ref-index.jsonl,就算网关重启,之前的引用关系也还能继续识别。qqbot 在 QQ 私聊里开启 /verbose on 且 replyFinalOnly=false 后,执行过程中的工具输出和日志会边跑边发,一条一条实时出现,不会再等到最后一起发。replyFinalOnly=true,行为还是和以前一样:普通过程日志不发,只发最终文本结果;但图片、语音这类媒体结果照样能正常发出。dingtalk 默认关闭 AI Card 流式响应。配置默认值、入站处理和 openclaw china setup 向导的推荐选项已统一改为 enableAICard=false;如需继续使用,可再显式开启。qqbot 优化了 QQ 私聊里的 Markdown 回复,标题、引用、列表、图片这些格式更接近原文,不容易被改坏。c2cMarkdownDeliveryMode 的使用建议。如果你遇到“带表格的回复显示很乱”,直接用 proactive-all 会更稳。dingtalk 新增流式输出支持,并补齐网关认证配置。openclaw china setup 和钉钉接入文档现在支持录入 channels.dingtalk.gatewayToken;当流式调用因网关认证失败中断时,错误提示也会直接引导检查 channels.dingtalk.gatewayToken 或全局 gateway.auth.token。wecom-app 开启 /verbose on 后“中间过程一直不发、最后一次性刷屏”的问题。现在长任务执行时会持续回消息,能更早看到进度。wecom-app 的验证步骤和排查说明,升级后更容易自查有没有生效。qqbot 现在可以直接走标准配置流程接入和关闭,不用再自己额外拼一套配置步骤。qqbot 新增“已知目标”记录和主动发送能力。机器人见过的用户或群会被记下来,后面可以直接给指定对象主动发文字或媒体。wecom 智能机器人新增长连接 ws 模式 **,无需 IP 即可配置,并且体验更佳。【全网首发!企微官方3月8日支持长连接模式,本项目当天即支持】dingtalk 新增多账号支持 **,完善默认账号解析、账号配置管理、监控与出站逻辑,并补充多账号测试与配置文档。wecom-app 的稳定性。qqbot 增强回复可靠性与入站媒体处理,完善回复、发送与客户端链路,并补强相关测试覆盖。wecom 多账号多 Agent 场景下入站路由未透传 accountId 的问题,避免 bindings.match.accountId 失效后消息错误落到默认 Agent。qqbot 新增长任务通知能力,支持配置延迟时间,提升长耗时任务场景下的交互反馈。qqbot 支持文件上传与文件名参数,并优化媒体发送链路,补强相关测试覆盖。dingtalk 新增长任务通知,并将非 AI 回复切换为直接分发,减少回复链路复杂度。qqbot 在 msg_id 失效场景下回退使用 event_id,提升定时与异步回发稳定性。qqbot 新增多账户能力,覆盖配置、连接管理与令牌缓存。replyFinalOnly=true 场景下 QQ 工具媒体投递,并支持语音转换。pr-105:修复 WeCom / WeCom App webhook 路由注册,并支持多个 webhook 路径。wecom-app 在多账户配置下的消息路由错误。wecom 渠道增强 XML 解析能力,支持更多消息类型与 CDATA 处理。wecom-app 消息发送逻辑,提升发送稳定性。openclaw china setup 新增交互式配置向导,减少手动配置步骤。wecom-app 支持以视频播放器形式发送 MP4 视频(3c32173)。userId/groupId,便于定向投递排障(a293250)。/new)。npx @openclaw-china/setup
ℹ️ 这条路径由 OpenClaw 自己解析,当前行为是
ClawHub优先、npm 回退。
安装统一包(包含所有渠道)
openclaw plugins install @openclaw-china/channels
openclaw china setup
或者:安装单个渠道(不要和统一包同时安装)
openclaw plugins install @openclaw-china/dingtalk
openclaw china setup
openclaw plugins install @openclaw-china/feishu-china
openclaw china setup
openclaw plugins install @openclaw-china/qqbot
openclaw china setup
openclaw plugins install @openclaw-china/wecom-app
openclaw china setup
openclaw plugins install @openclaw-china/wecom-kf
openclaw china setup
openclaw plugins install @openclaw-china/wechat-mp
openclaw china setup
openclaw plugins install @openclaw-china/wecom
openclaw china setup
openclaw plugins update channels
git clone https://github.com/BytePioneer-AI/openclaw-china.git
cd openclaw-china
pnpm install
pnpm build
openclaw plugins install -l ./packages/channels
openclaw china setup
git pull origin main
pnpm install
pnpm build
链接模式下构建后即生效,重启 Gateway 即可。
推荐:优先使用「配置向导」
openclaw china setup完成配置。下面的openclaw config set ...为手动配置示例。
📖 钉钉企业注册指南 — 无需材料,5 分钟内完成配置
openclaw config set channels.dingtalk.enabled true
openclaw config set channels.dingtalk.clientId dingxxxxxx
openclaw config set channels.dingtalk.clientSecret your-app-secret
openclaw config set channels.dingtalk.enableAICard false
openclaw config set gateway.http.endpoints.chatCompletions.enabled true
可选高级配置
如果你需要更细粒度控制(例如私聊策略或白名单),可以在 ~/.openclaw/openclaw.json 中按需添加:
{
"channels": {
"dingtalk": {
"dmPolicy": "open", // open | pairing | allowlist
"groupPolicy": "open", // open | allowlist | disabled
"allowFrom": [],
"groupAllowFrom": []
},
"wecom-app": {
"dmPolicy": "open", // open | pairing | allowlist | disabled
"allowFrom": []
}
}
}
📖 企业微信自建应用配置指南 — 支持主动发送消息
企业微信自建应用支持主动发送消息,需要额外配置 corpId、corpSecret、agentId:
openclaw config set channels.wecom-app.enabled true
openclaw config set channels.wecom-app.webhookPath /wecom-app
openclaw config set channels.wecom-app.token your-token
openclaw config set channels.wecom-app.encodingAESKey your-43-char-encoding-aes-key
openclaw config set channels.wecom-app.corpId your-corp-id
openclaw config set channels.wecom-app.corpSecret your-app-secret
openclaw config set channels.wecom-app.agentId 1000002
(可选)开启语音转文本(腾讯云 Flash ASR):
openclaw config set channels.wecom-app.asr.enabled true
openclaw config set channels.wecom-app.asr.appId your-tencent-app-id
openclaw config set channels.wecom-app.asr.secretId your-tencent-secret-id
openclaw config set channels.wecom-app.asr.secretKey your-tencent-secret-key
与智能机器人的区别
| 功能 | 智能机器人 (wecom) | 自建应用 (wecom-app) |
|---|---|---|
| 被动回复 | ✅ | ✅ |
| 主动发送消息 | ❌ | ✅ |
| 支持群聊 | ✅ | ❌(专注于私聊) |
| 需要 corpSecret | ❌ | ✅ |
| 需要 IP 白名单 | ❌ | ✅ |
| 配置复杂度 | 简单 | 中等 |
wecom-app 已实现功能清单(摘要)
saved: 稳定路径;按 keepDays 延迟清理。
/tmp 造成"收到后很快被清理",确保 OCR/MCP/回发等二次处理有稳定路径可依赖。wecom-app:user:.. / user:.. / 裸 id / @accountId),减少 Unknown target。更完整说明见:
doc/guides/wecom-app/configuration.md
(可选)安装 wecom-app 专用 Skill
企业微信自建应用可配套使用 wecom-app-ops(target/replyTo/回发图片/录音/文件、OCR/MCP、排障、媒体保留策略)。
安装方式(推荐:Workspace 级):
# 在你的项目目录(workspace)下
mkdir -p ./skills
cp -a ~/.openclaw/extensions/openclaw-china/extensions/wecom-app/skills/wecom-app-ops ./skills/
或安装方式(全局):
mkdir -p ~/.openclaw/skills
cp -a ~/.openclaw/extensions/openclaw-china/extensions/wecom-app/skills/wecom-app-ops ~/.openclaw/skills/
说明:Workspace > 全局(
~/.openclaw/skills)> 内置 skills。复制后无需重启网关。
📖 微信客服配置指南 — 适合让外部微信用户通过客服入口与 Agent 对话
微信客服运行时使用的是微信客服 API 参数,不是普通自建应用的 agentId / 应用 Secret:
openclaw config set channels.wecom-kf.enabled true
openclaw config set channels.wecom-kf.webhookPath /wecom-kf
openclaw config set channels.wecom-kf.token your-token
openclaw config set channels.wecom-kf.encodingAESKey your-43-char-encoding-aes-key
openclaw config set channels.wecom-kf.corpId your-corp-id
openclaw config set channels.wecom-kf.corpSecret your-wecom-kf-secret
openclaw config set channels.wecom-kf.openKfId your-open-kfid
openclaw config set channels.wecom-kf.welcomeText "你好,我是 AI 客服,请问有什么可以帮你?"
注意事项
corpSecretagentIdenter_session 欢迎语;多账户、文件收发、定时任务正在开发中📖 微信公众号配置指南 — 支持订阅号、服务号和测试号
订阅号 / 服务号 / 测试号怎么选
| 订阅号 | 服务号 | 测试号 | |
|---|---|---|---|
| 适合场景 | 个人开发者、内容推送 | 企业正式运营 | 开发调试、快速验证 |
| 回复限制 | 5 秒内必须回复 | 无时间限制 | 无时间限制(服务号权限) |
| 主动发送 | ❌ 不支持 | ✅ 客服消息接口 | ✅ 客服消息接口 |
| 推荐回复模式 | passive | active | active |
| 获取方式 | 微信公众平台注册 | 微信公众平台注册 + 企业认证 | 测试号申请,扫码即用 |
| 需要公网 IP | ✅ | ✅ | ✅ |
推荐:如果没有企业认证服务号,建议先用测试号跑通,它拥有服务号权限且无需认证。正式上线后再切换到认证服务号。
最小配置(plain 模式)
openclaw config set channels.wechat-mp.enabled true
openclaw config set channels.wechat-mp.webhookPath /wechat-mp
openclaw config set channels.wechat-mp.appId wx1234567890abcdef
openclaw config set channels.wechat-mp.token your-callback-token
openclaw config set channels.wechat-mp.messageMode plain
openclaw config set channels.wechat-mp.replyMode passive
推荐配置(服务号 / 测试号)
openclaw config set channels.wechat-mp.enabled true
openclaw config set channels.wechat-mp.webhookPath /wechat-mp
openclaw config set channels.wechat-mp.appId wx1234567890abcdef
openclaw config set channels.wechat-mp.appSecret your-app-secret
openclaw config set channels.wechat-mp.token your-callback-token
openclaw config set channels.wechat-mp.encodingAESKey your-43-char-encoding-aes-key
openclaw config set channels.wechat-mp.messageMode safe
openclaw config set channels.wechat-mp.replyMode active
openclaw config set channels.wechat-mp.activeDeliveryMode split
消息模式
plain:明文收发,适合调试safe:密文收发,推荐生产使用(需额外配置 encodingAESKey)compat:兼容模式,密文优先处理回复模式
passive:5 秒窗口内 HTTP 直接回包(订阅号唯一选择)active:通过客服消息 API 主动发送(服务号 / 测试号推荐,需额外配置 appSecret)主动发送模式
activeDeliveryMode=split:每个非空日志 / chunk 单独发一条消息activeDeliveryMode=merged:等待 reply pipeline 结束后合并成一条消息replyMode=active 时生效;passive 时始终单次 HTTP 回包注意事项
passive 模式active 模式以获取更完整的能力体验当前已实现
plain / safe / compat 三种消息加解密模式passive / active 两种回复模式(可选)开启语音转文本(腾讯云 Flash ASR)
openclaw config set channels.wechat-mp.asr.enabled true
openclaw config set channels.wechat-mp.asr.appId your-tencent-app-id
openclaw config set channels.wechat-mp.asr.secretId your-tencent-secret-id
openclaw config set channels.wechat-mp.asr.secretKey your-tencent-secret-key
开发中 / 规划中
更完整说明见:
doc/guides/wechat-mp/configuration.md
openclaw config set channels.qqbot-china.enabled true
openclaw config set channels.qqbot-china.appId your-app-id
openclaw config set channels.qqbot-china.clientSecret your-app-secret
openclaw config set channels.qqbot-china.markdownSupport true
openclaw config set channels.qqbot-china.c2cMarkdownDeliveryMode proactive-all
openclaw config set channels.qqbot-china.c2cMarkdownChunkStrategy markdown-block
openclaw config set channels.qqbot-china.streaming true
openclaw config set channels.qqbot-china.typingHeartbeatMode idle
openclaw config set channels.qqbot-china.typingHeartbeatIntervalMs 5000
openclaw config set channels.qqbot-china.typingInputSeconds 60
openclaw config set channels.qqbot-china.autoSendLocalPathMedia false
# 如果你希望长思考时更早出现稳定的可见消息,可选:
openclaw config set channels.qqbot-china.longTaskNoticeDelayMs 5000
也可以直接使用一条命令完成接入:
openclaw channels add --channel qqbot --token "AppID:ClientSecret"
(可选)开启语音转文本(腾讯云 Flash ASR):
openclaw config set channels.qqbot-china.asr.enabled true
openclaw config set channels.qqbot-china.asr.appId your-tencent-app-id
openclaw config set channels.qqbot-china.asr.secretId your-tencent-secret-id
openclaw config set channels.qqbot-china.asr.secretKey your-tencent-secret-key
如果你希望回复里保留本地证据路径文本,而不是把 /root/.openclaw/media/qqbot/inbound/...jpeg 自动再次作为图片发送,可设置:
openclaw config set channels.qqbot-china.autoSendLocalPathMedia false
私聊 C2C Markdown 渲染建议:
openclaw config set channels.qqbot-china.markdownSupport true
openclaw config set channels.qqbot-china.c2cMarkdownDeliveryMode proactive-all
openclaw config set channels.qqbot-china.c2cMarkdownChunkStrategy markdown-block
c2cMarkdownDeliveryMode 只控制私聊 Markdown 走被动发送还是主动发送:passive:整条 C2C Markdown 回复保持被动发送proactive-table-only:仅当回复里出现 Markdown 表格时,整条 C2C 回复改走主动发送proactive-all:所有 C2C Markdown 回复统一改走主动发送c2cMarkdownChunkStrategy 只控制长 Markdown 的切分方式:markdown-block:默认值。优先按标题、表格、引用、分割线、代码块、列表和正文块这些安全边界切分;replyFinalOnly=false 时还会先合并连续的结构化 Markdown,再把 tool/log 文本按原顺序单独发出length:回退旧行为,继续按长度直接切分markdownSupport=true 的 QQ 私聊/C2C Markdown;群聊、频道和普通文本发送保持原样私聊 C2C 流式回复(打字机效果):
openclaw config set channels.qqbot-china.streaming true
openclaw config set channels.qqbot-china.accounts.main.streaming true
C2C 私聊生效,默认关闭stream_messages 单消息实时更新;tool / progress 仍按普通消息继续回发replyFinalOnly=true,插件会自动继续走旧的普通发送链路onPartialReply,或 QQ 流式接口暂时不可用,插件会自动降级为普通消息发送,不需要额外切换配置补充说明:
typingHeartbeatMode 控制续发策略:none 只发首个 typing,idle 只在回复空档续发,always 会固定间隔续发到整轮回复结束typingHeartbeatIntervalMs 和 typingInputSeconds 分别控制续发周期与单次 QQ typing 有效时长longTaskNoticeDelayMs 调低到 5000 到 10000markdownSupport=true)后,开启 /verbose on 且 replyFinalOnly=false 时,非 final 的工具/日志输出会即时回发,一个日志一个消息replyFinalOnly=true,非 final 纯文本日志仍会被抑制,只保留最终回复;媒体类工具结果不受影响proactive-all;这通常是 QQ 被动回复接口本身的渲染限制引用消息上下文(REFIDX):
REFIDX_* 索引,不直接返回被引用消息全文;qqbot 现在会自动从本地索引中恢复引用内容并注入 AI 上下文ref_idx 会自动建索引,默认落盘到 ~/.openclaw/qqbot/data/ref-index.jsonl主动发送与已知目标:
~/.openclaw/qqbot/data/known-targets.json~/.openclaw/data/qqbot/known-targets.json 会在首次访问时自动迁移到新路径user: / group: / channel: 目标displayName,把它当成 QQ 私聊用户的正式备注known-targets.json 里已有的 displayName;如果没有,再回退到 displayAliases,最后才使用平台 IDuser: 与 group: 目标import {
listKnownQQBotTargets,
sendProactiveQQBotMessage,
} from "@openclaw-china/qqbot";
const targets = listKnownQQBotTargets({ accountId: "default" });
await sendProactiveQQBotMessage({
cfg: {
channels: {
"qqbot-china": {
appId: "your-app-id",
clientSecret: "your-app-secret",
},
},
},
to: targets[0]?.target ?? "user:your-openid",
text: "这是一条主动发送的 QQ 消息",
});
如果 QQ 私聊里经常只能看到 openid,推荐先在 ~/.openclaw/qqbot/data/known-targets.json 里手工补 displayName 作为正式备注;也可以继续在配置里补 alias:
{
"channels": {
"qqbot-china": {
"displayAliases": {
"user:u-123456": "Alice"
},
"accounts": {
"bot2": {
"displayAliases": {
"user:u-123456": "Alice (bot2)"
}
}
}
}
}
}
QQBot 插件现在也会随包自动提供 qqbot-contact-send skill:
<available_skills> 中看到 qqbot-contact-sendextensions/qqbot/skills/qqbot-contact-send 手工复制到 workspace 或 ~/.openclaw/skills~/.openclaw/skills 里存在同名 skill,仍按 OpenClaw 的正常优先级覆盖插件内置版本企业微信智能机器人推荐使用长连接
ws模式,无需公网 IP
openclaw config set channels.wecom.enabled true
openclaw config set channels.wecom.mode ws
openclaw config set channels.wecom.botId your-bot-id
openclaw config set channels.wecom.secret your-bot-secret
注意事项
mode 时,默认也是 wsbotId 和 secret 需要从企业微信智能机器人后台获取ws 模式现已支持本地图片、文件、语音、视频的原生媒体发送;其中图片是否走原生发送可通过 wsImageReplyMode 控制webhook 模式说明飞书应用需开启机器人能力,并使用「长连接接收消息」模式
openclaw:
openclaw config set channels.feishu-china.enabled true
openclaw config set channels.feishu-china.appId cli_xxxxxx
openclaw config set channels.feishu-china.appSecret your-app-secret
openclaw config set channels.feishu-china.sendMarkdownAsCard true
openclaw gateway --port 18789 --verbose
以下为钉钉渠道效果示例:
ps: 此为最初版本的演示效果,当前已完美支持Markdown格式。


为 OpenClaw 添加一个有温度的角色伴侣
ClawMate 是一个为 OpenClaw 设计的角色伴侣插件,让你的 AI 助手拥有视觉形象和情感温度。
核心功能
快速安装
npx github:BytePioneer-AI/clawmate
应用场景:个人伴侣、虚拟导师、智能客服、专业顾问
了解更多:https://github.com/BytePioneer-AI/clawmate
适合希望在微信中接入 Claude Code、Codex、OpenCode、Kimi Code CLI、Qwen Code 等助手的用户
weixin-agent-gateway 是一个面向微信生态的多 Agent 接入项目,可用于在微信场景下连接 Claude Code、Codex、OpenCode、Kimi Code CLI、Qwen Code 等多种 Coding / AI Agent。
适合场景
说明
适合需要二次开发或调试的场景:
# 克隆仓库
git clone https://github.com/BytePioneer-AI/openclaw-china.git
cd openclaw-china
# 安装依赖并构建
pnpm install
pnpm build
# 以链接模式安装(修改代码后实时生效)
openclaw plugins install -l ./packages/channels
openclaw china setup
示例配置(开发环境)
{
"plugins": {
"load": {
"paths": ["/path/to/OpenClaw-china/packages/channels"]
},
"entries": {
"channels": { "enabled": true }
}
},
"channels": {
"dingtalk": {
"enabled": true,
"clientId": "dingxxxxxx",
"clientSecret": "your-app-secret"
},
"qqbot-china": {
"enabled": true,
"appId": "your-app-id",
"clientSecret": "your-app-secret"
},
"feishu-china": {
"enabled": true,
"appId": "cli_xxxxxx",
"appSecret": "your-app-secret"
},
"wecom": {
"enabled": true,
"botId": "your-bot-id",
"secret": "your-bot-secret"
},
"wecom-app": {
"enabled": true,
"webhookPath": "/wecom-app",
"token": "your-token",
"encodingAESKey": "your-43-char-encoding-aes-key",
"corpId": "your-corp-id",
"corpSecret": "your-app-secret",
"agentId": 1000002
}
}
}
当前架构分为宿主、统一通道聚合、各渠道插件和 shared 基础能力层。
%%{init: {"markdownAutoWrap": false, "flowchart": {"htmlLabels": false, "wrappingWidth": 1200}}}%%
flowchart TD
%% 1. 核心宿主层 (Pill Shape)
HOST(["🦞 OpenClaw"]):::host
%% 2. 调度中心 (Rounded Rectangle)
subgraph Dispatcher [" 核心调度与分发中心 "]
direction TB
CH("📦 @openclaw-china/channels"):::aggregate
end
%% 3. 插件网格 (利用子图内部布局)
subgraph PluginGrid [" 多渠道插件生态 (Plugins) "]
direction LR
DT("DingTalk"):::plugin
FE("Feishu"):::plugin
QQ("QQBot"):::plugin
WC("WeCom"):::plugin
WA("WeCom App"):::plugin
end
%% 4. 基础设施层 (Rounded Rectangle)
subgraph SharedLayer [" 基础设施层 (Shared) "]
direction TB
SH("🛠️ @openclaw-china/shared"):::shared
end
%% --- 核心连接逻辑 ---
HOST ==>|Bootstrapping| CH
CH -.->|Dynamic Registration| DT
CH -.->|Dynamic Registration| FE
CH -.->|Dynamic Registration| QQ
CH -.->|Dynamic Registration| WC
CH -.->|Dynamic Registration| WA
DT & FE & QQ & WC & WA ==>|Dependencies| SH
%% --- 样式定义 ---
classDef host fill:#ebf5ff,stroke:#2563eb,stroke-width:2px,color:#1e40af,font-weight:bold
classDef aggregate fill:#f0fdf4,stroke:#16a34a,stroke-width:2px,color:#166534,font-weight:bold
classDef plugin fill:#ffffff,stroke:#64748b,stroke-width:1.5px,color:#334155
classDef shared fill:#f8fafc,stroke:#334155,stroke-width:2px,stroke-dasharray: 5 5,color:#0f172a,font-weight:bold
style Dispatcher fill:#f8fafc,stroke:#e2e8f0,stroke-dasharray: 5 5,color:#64748b,rx:10,ry:10
style PluginGrid fill:#fffcf9,stroke:#fed7aa,stroke-dasharray: 5 5,color:#9a3412,rx:10,ry:10
style SharedLayer fill:#f8fafc,stroke:#e2e8f0,stroke-dasharray: 5 5,color:#64748b,rx:10,ry:10
这是一个公益项目,感谢支持。项目由我们利用业余时间持续开发和维护,后续也会继续更新迭代并提供支持。
如果你愿意支持这个项目,欢迎帮忙宣传,并点亮项目右上角的 Star。

对 OpenClaw 用法、插件感兴趣的可以扫码加入微信群交流。
欢迎同学们一起开发~
如果二维码过期,可以加下我微信备注说明来意:a28417416
MIT
831 followers · starred Mar 2026
1,136 followers · starred Mar 2026
8 followers · starred Mar 2026
10 followers · starred Mar 2026