GoForum🌐 V2EX

[开源] 给微信 Bot 做了个 App Store:装一个查股票,装一个生成图片,装一个 AI 聊天,全程不写代码

0x01Dev · 2026-03-27 11:59 · 0 次点赞 · 9 条回复

背景

3 月 22 号微信正式开放了 ClawBot 插件,底层叫 iLink 协议(ilinkai.weixin.qq.com)。这是微信第一次官方允许用程序收发个人号消息,不用逆向、不怕封号,算是个里程碑。

我第一时间就开始对接了。说实话,iLink 协议本身的设计不复杂——标准 HTTP/JSON ,长轮询收消息,POST 发回复。但实际用下来,坑比想象中多很多。

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 发张图片?流程是这样的:

  1. getuploadurl 拿到腾讯 CDN 的预签名上传地址
  2. 用 AES-128-ECB 加密图片数据
  3. 上传到 CDN
  4. 拿到 CDN URL 后再调 sendmessage

语音消息更惨,还要处理 Silk 编码格式。这套流程每种语言都得自己实现一遍。

5. 没有管理界面

想同时管多个微信号的 Bot ?想看消息有没有送达?想知道哪个环节出了问题?只能自己写日志慢慢翻。

花了几周时间,把上面这些问题全解决了,做成一个完整的开源平台。

一行命令安装:

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 相关的开源项目不少,但大多是两类:

  1. 底层 SDK(比如 wechatbot 、weixin-bot ) — 帮你封装了协议调用,但你得自己写全部业务逻辑
  2. 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 。

链接

MIT 开源,随便用,不限商用。


如果你也在折腾微信 iLink ,欢迎试用反馈。有问题可以在 GitHub 提 issue ,也欢迎 star 支持一下。

9 条回复
dubyfans · 2026-03-27 12:04
#1

来学习

colorcat · 2026-03-27 12:04
#2

看起来非常好的项目,我来试用试用

whhjdi · 2026-03-27 12:04
#3

自动续期好啊,还能白嫖 bot

idoubi · 2026-03-27 12:09
#4

有意思。WeClaw 的 Hub 功能也在做了😄

awsl2333 · 2026-03-27 12:09
#5

学习了,这个好

IceHe · 2026-03-27 12:14
#6

666 ,下周试试看

HaoC12 · 2026-03-27 12:14
#7

好玩,好玩,不过这个不会导致微信泄露信息吧,up 科普下

liril · 2026-03-27 12:14
#8

好玩好玩

soouu · 2026-03-27 12:24
#9

支持一下 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.

https://i.imgur.com/i8qxDq4.jpeg

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: 0x01Dev
发布: 2026-03-27
点赞: 0
回复: 0