99 lines
6.1 KiB
Markdown
99 lines
6.1 KiB
Markdown
# 01 — 概述:ClawBot、iLink、OpenClaw 是什么关系
|
||
|
||
## 1. 背景
|
||
|
||
2026 年 3 月,微信上线了官方插件 **微信 ClawBot**(入口:微信 → 我 → 设置 → 插件 → 微信 ClawBot),这是微信**首次官方开放个人账号的 Bot API**。在此之前,程序控制微信只有灰色手段:
|
||
|
||
| 方式 | 典型实现 | 性质 |
|
||
|---|---|---|
|
||
| 逆向 iPad/网页协议 | WeChatPadPro、itchat(-uos) | 违反用户协议,随时封号 |
|
||
| PC 客户端 Hook | DLL 注入、内存读写 | 违法风险,高封号率 |
|
||
| 企业微信 API | 官方开放 | 合法,但面向企业不是个人微信 |
|
||
| **ClawBot / iLink** | 微信内置官方插件 | **官方产品,有专项使用条款背书** |
|
||
|
||
腾讯为此发布了《微信 ClawBot 功能使用条款》(签订地深圳南山,适用中国大陆法律)。条款明确腾讯的定位:**只提供消息收发通道,不存储用户输入/输出内容,不提供 AI 服务**——AI 能力完全由开发者自己接。
|
||
|
||
## 2. 三个概念的分工
|
||
|
||
| 名词 | 是什么 | 谁的产品 |
|
||
|---|---|---|
|
||
| **ClawBot** | 微信客户端内置插件,用户在微信里看到的 AI 联系人(带 "AI" 标识的普通聊天窗口) | 腾讯 |
|
||
| **iLink(智联)** | Bot 通信协议,HTTP/JSON + 长轮询,服务端 `ilinkai.weixin.qq.com` | 腾讯 |
|
||
| **OpenClaw** | 开源 AI Agent 框架(2025-11 首发,昵称"小龙虾"),腾讯官方通道的默认宿主 | 第三方开源社区(非腾讯) |
|
||
|
||
关系链条:
|
||
|
||
```
|
||
用户 → 微信客户端(ClawBot 插件) → iLink 服务器 → Bot 后端(默认是 OpenClaw,可以是任何东西)
|
||
```
|
||
|
||
腾讯发布的 npm 包:
|
||
|
||
- `@tencent-weixin/openclaw-weixin-cli` — 一键安装工具(检测 openclaw → 装插件 → 引导扫码 → 重启 gateway)
|
||
- `@tencent-weixin/openclaw-weixin` — 真正的协议实现包(TypeScript,约 41 个源文件:`auth/`、`api/`、`cdn/`、`messaging/`、`monitor/`、`config/`、`storage/`)
|
||
|
||
## 3. 关键事实:iLink 不绑定 OpenClaw
|
||
|
||
**iLink 是标准 HTTP/JSON API,与 OpenClaw 框架零耦合。** 官方的 npm 包只是协议的一个封装实现。任何语言、任何进程都可以直接调 iLink:
|
||
|
||
- 无需公网 IP(长轮询,主动外连)
|
||
- 无需 SDK(`fetch` / `requests` 即可)
|
||
- 无需安装 OpenClaw
|
||
|
||
已有的非 OpenClaw 实践:
|
||
|
||
- [cc-weixin](https://github.com/hao-ji-xing/cc-weixin):把 Claude Code Agent 接进微信
|
||
- [OpenAkita](https://github.com/openakita/openakita/blob/main/docs/im-channels.md):Python Agent 框架的微信适配器,直调 iLink 原生 API
|
||
- [openclaw-weixin-sdk](https://github.com/openclaw-java/openclaw-weixin-sdk):Java SDK + CLI + Web Terminal
|
||
|
||
> 协议跟随情况:2026-04 官方包已迭代到 2.1.x,但 iLink HTTP 协议本体(`getupdates` / `sendmessage` / `getuploadurl` / AES-128-ECB / CDN)未变,第三方适配器无需改动。
|
||
|
||
## 4. 能力边界总览
|
||
|
||
下表合并了多个来源的观察,**存在版本差异和放量灰度,标注 ⚠️ 的项建议实测确认**:
|
||
|
||
| 项 | 状态 | 备注 |
|
||
|---|---|---|
|
||
| 私聊(1 对 1) | ✅ 支持 | 主要形态 |
|
||
| 群聊 | ⚠️ 未开放/存疑 | 协议源码有 `group_id` 字段,但多数资料称群聊未开放 |
|
||
| 文本收发 | ✅ | 微信侧不支持 Markdown 渲染,发送时应转纯文本 |
|
||
| 图片收发 | ✅ | CDN + AES-128-ECB 加密 |
|
||
| 语音 | ⚠️ 入站 ✅ / 出站存疑 | 入站 silk 编码且附 ASR 转写文本;有资料称 bot 暂不能主动发语音,也有适配器实现了语音上传 |
|
||
| 文件/视频 | ⚠️ 协议支持 | item type 有定义,CDN 链路完整;早期资料称"仅文本",后续适配器已实现 |
|
||
| 主动推送 | ⚠️ 受限 | 需携带入站消息返回的 `context_token`;有资料称超过 24h 窗口后送达不到 |
|
||
| 历史消息拉取 | ❌ | 只有游标机制,无历史 API |
|
||
| 一个微信号绑定 bot 数 | 1 个 | 一个微信号 = 一个 bot 实例 |
|
||
| 客户端版本要求 | iOS ≥ 8.0.70 | 有资料称安卓 ≥ 8.0.70、鸿蒙 ≥ 8.0.16.40 也已支持 ⚠️ |
|
||
| 开放状态 | 逐步放量 | 不是所有账号都能看到插件入口 |
|
||
|
||
## 5. 合规要点(详细条款解读见 06 文档)
|
||
|
||
- 这是官方通道,正常使用无封号风险——这是它相对 itchat/Wechaty 的核心价值。
|
||
- 腾讯保留限速、内容识别、拦截、终止连接的权利(条款 4.7)。
|
||
- 腾讯不存储消息内容,但收集 IP、操作日志、设备信息用于安全审计(条款 5.3)。
|
||
- 禁止用于绕过微信技术保护、违法违规、危害网络安全等用途(条款 4.6)。
|
||
- 腾讯可随时变更/终止服务(条款 7.2)——**核心业务不要单点依赖它,设计降级方案**。
|
||
|
||
## 6. 与其他 IM 通道的对比(选型参考)
|
||
|
||
如果你的 AI 项目不只接微信,可以横向比较(数据来自 OpenAkita 的多平台实践):
|
||
|
||
| 平台 | 接收方式 | 需要公网 IP | 群聊 | 合法性 |
|
||
|---|---|---|---|---|
|
||
| 微信个人号(iLink) | HTTP 长轮询 | 否 | ⚠️ 未开放 | 官方 |
|
||
| Telegram | 长轮询 / Webhook | 否 | ✅ | 官方 |
|
||
| 飞书 | WebSocket 长连接 | 否 | ✅ | 官方 |
|
||
| 钉钉 | Stream (WebSocket) | 否 | ✅ | 官方 |
|
||
| 企业微信 | HTTP 回调 | **是** | ✅ (@机器人) | 官方 |
|
||
| QQ 官方机器人 | WebSocket | 否 | ✅ | 官方 |
|
||
|
||
微信 iLink 的独特优势:用户在**自己的微信主界面**直接和 AI 聊,零安装、零跳转,体验最接近"真人联系人"。独特劣势:仅私聊、主动消息受限、灰度放量。
|
||
|
||
## 参考资料
|
||
|
||
- [微信 Bot API 技术解析:腾讯 iLink 协议首次合法开放](https://github.com/hao-ji-xing/openclaw-weixin/blob/main/weixin-bot-api.md)
|
||
- [WeChat ClawBot iLink 协议解析 — Charles Li](https://www.chihao.li/blog/zh/wechat-clawbot-ilink-protocol)
|
||
- [微信 ClawBot 是什么?OpenClaw 接入微信完整解读](https://xiaoman.lovetalkon.com/blog/openclaw-wechat-ai)
|
||
- [OpenAkita IM 通道集成指南](https://github.com/openakita/openakita/blob/main/docs/im-channels.md)
|
||
- [openclaw-weixin-sdk (Java) README](https://github.com/openclaw-java/openclaw-weixin-sdk)
|