[开源] 给微信 Bot 做了个 App Store:装一个查股票,装一个生成图片,装一个 AI 聊天,全程不写代码
背景
3 月 22 号微信正式开放了 ClawBot 插件,底层叫 iLink 协议(ilinkai.weixin.qq.com)。这是微信第一次官方允许用程序收发个人号消息,不用逆向、不怕封号,算是个里程碑。
我第一时间就开始对接了。说实话,iLink 协议本身的设计不复杂——标准 HTTP/JSON ,长轮询收消息,POST 发回复。但实际用下来,坑比想象中多很多。
用 iLink 遇到的几个大坑
1. 没有官方文档
腾讯到现在没有公开 iLink 的 API 文档。现在社区里流传的协议规范全是逆向出来的,光端点说明就有 1200 多行。哪天腾讯调一下接口,所有第三方实现可能瞬间挂掉。
2. context_token 管理复杂
这是 iLink 最反直觉的设计。跟其他 Bot 平台不同(比如 Slack 你知道 channel_id 就能发消息),iLink 里光知道 user_id 不够,你必须拿到这条消息附带的 context_token 才能回复。token 是动态的、24 小时过期的,你得自己做缓存和刷新逻辑。我一开始没处理好这块,消息发出去微信端根本收不到,debug 了一整天。
3. 24 小时窗口过期
iLink 有个硬性限制:如果 24 小时内没有新的用户消息,之前的 context_token 全部失效,Bot 等于掉线了。对于需要持久运行的 Bot (比如定时提醒、消息转发),这个限制很致命。
4. 发媒体消息的门槛离谱
想让 Bot 发张图片?流程是这样的:
- 调
getuploadurl拿到腾讯 CDN 的预签名上传地址 - 用 AES-128-ECB 加密图片数据
- 上传到 CDN
- 拿到 CDN URL 后再调
sendmessage
语音消息更惨,还要处理 Silk 编码格式。这套流程每种语言都得自己实现一遍。

5. 没有管理界面
想同时管多个微信号的 Bot ?想看消息有没有送达?想知道哪个环节出了问题?只能自己写日志慢慢翻。
所以我做了 OpeniLink Hub
花了几周时间,把上面这些问题全解决了,做成一个完整的开源平台。
一行命令安装:
curl -fsSL https://raw.githubusercontent.com/openilink/openilink-hub/main/install.sh | sh
oih
内置 SQLite ,零配置启动。打开 http://localhost:9800,第一个注册用户自动当管理员,扫码绑定微信号就可以用了。
最大的亮点:应用市场
这是和其他 iLink 项目最大的区别。GitHub 上已经有不少 iLink 的 SDK 和 Agent 桥接工具了,但它们都需要你写代码才能用。
Hub 有一个应用市场,扫码绑定 Bot 之后,在引导页面直接点「安装」就能给 Bot 加新功能:
Command Service ( 20+ 命令)
/s 600519— 查贵州茅台实时股价/ss— 查上证指数/sus— 查美股指数(标普、纳斯达克、道琼斯)/shk— 查港股指数/b btc— 查数字货币价格/gi 赛博朋克城市夜景— AI 生成图片,Bot 直接发回微信/a 帮我写一封请假邮件— AI 对话,调大模型回答问题/dp— 查大盘市场信息- 还有更多…
Bridge (消息转发) 把微信收到的消息自动转发到飞书、Slack 、或者你自己的 HTTP 服务。不用写代码,配一下转发地址就行。
OpenClaw ( AI Agent ) 如果你在用 OpenClaw ,装这个 App 你的 Agent 就能直接通过微信聊天了。
Echo (开发模板) 想自己开发 App ?从 Echo 开始,3 个命令的最简示例,看懂了就能写自己的。
整个流程就是:扫码绑定 → 打开应用市场 → 点安装 → Bot 立刻获得新能力。App 之间互不影响,想装就装想卸就卸。
其他功能
自动续期 — 24 小时窗口快到期了,Hub 自动续约,Bot 不会莫名其妙掉线。这个功能可以设置提前多久续期(比如提前 1 小时)。

消息追踪 — 每条消息从收到、存储、投递到 App 、App 回复、发送回微信,完整的时间线。哪一步成功了、哪一步耗时多少、哪一步出错了,打开追踪页面一眼就能看到。Debug 体验比自己翻日志好 10 倍。
多 Bot 管理 — 可以同时绑定多个微信号,统一面板管理。每个 Bot 独立安装不同的 App 、独立配置。
三通道并行 — WebSocket 实时推送 + Webhook HTTP 回调 + AI 自动回复,三个通道可以同时开。你可以一边让 AI 自动回复用户,一边通过 WebSocket 实时收消息做自己的处理。
7 种语言 SDK — Go 、Node.js 、Python 、PHP 、Java 、C#、Lua 。如果你想写代码对接而不是用应用市场,SDK 已经帮你封装好了 context_token 管理、CDN 加密、媒体发送这些脏活。
Passkey 登录 — 支持指纹、Face ID 、硬件密钥直接登录管理后台,也支持 GitHub / LinuxDo OAuth 。
和其他项目的区别
目前 GitHub 上 iLink 相关的开源项目不少,但大多是两类:
- 底层 SDK(比如 wechatbot 、weixin-bot ) — 帮你封装了协议调用,但你得自己写全部业务逻辑
- Agent 桥接器(比如 WeClaw ) — 专注于把微信消息转给 AI Agent ,但没有通用的消息管理能力
Hub 的定位不一样:它是一个完整的消息管理平台,带 Web 后台、应用市场、消息追踪、多通道分发。如果类比的话,SDK 相当于给你一堆砖头,Hub 相当于给你一栋装修好的房子,应用市场相当于家具城——你搬进去就能住,还能随时加家具。
| OpeniLink Hub | SDK 类 | Agent 桥接类 | |
|---|---|---|---|
| Web 管理后台 | 有 | 无 | 无/简易 |
| 应用市场 | 有 | 无 | 无 |
| 消息追踪 | 有 | 无 | 无 |
| 多 Bot 管理 | 有 | 需自己实现 | 部分支持 |
| 不写代码也能用 | 是 | 否 | 否 |
| SDK 数量 | 7 种语言 | 1~4 种 | 无 |
技术栈
后端 Go 1.25 ,前端 React 19 + Vite + Tailwind ,数据库默认 SQLite (可选 PostgreSQL ),认证 WebAuthn + OAuth 2.0 PKCE ,App 事件投递支持 WebSocket 和 Webhook ,部署方式单文件二进制 / Docker / Docker Compose 。
链接
- GitHub: https://github.com/openilink/openilink-hub
- 官网 & 文档: https://openilink.com
- 在线体验: https://hub.openilink.com
- App 开发模板: https://github.com/openilink/openilink-app-echo
MIT 开源,随便用,不限商用。
如果你也在折腾微信 iLink ,欢迎试用反馈。有问题可以在 GitHub 提 issue ,也欢迎 star 支持一下。
支持一下 up 这个软件把我这个问题解决了。感谢感谢 不给 curl 安装有问题
curl -fsSL https://raw.githubusercontent.com/openilink/openilink-hub/main/install.sh | sh
==> Detected: darwin/arm64
==> Fetching latest version...
==> Version: v0.0.8
==> Downloading https://github.com/openilink/openilink-hub/releases/download/v0.0.8/openilink-hub_0.0.8_darwin_arm64.tar.gz
error: Binary 'oih' not found in archive. Download may have failed.
来学习