免责声明:本项目基于公开的 iLink 协议进行独立开发,仅供学习交流与技术研究使用。项目与 iLink 协议的官方团队无任何关联或授权关系。若相关权利方认为本项目存在侵权,请通过 Issue 联系我们,我们将在确认后第一时间予以下架处理。
Disclaimer: This project is independently developed based on the publicly available iLink protocol for learning and research purposes only. It is not affiliated with or endorsed by the official iLink team. If any rights holder believes this project infringes upon their rights, please contact us via an Issue and we will take it down promptly upon confirmation.
微信 ClawBot iLink 协议的开源消息管理平台 + App 应用市场
Open-source message management platform + App Marketplace for WeChat ClawBot (iLink protocol)
扫码绑定微信号,通过应用市场一键扩展能力 —— 飞书 / Slack / Discord / GitHub / Notion 等 20+ App,装上就用
多 Bot 管理 · 20+ App · 平台互通 · 效率工具 · 生活助手 · AI Tools · 7 种语言 SDK · Passkey 登录
# 一键安装(Linux / macOS)
curl -fsSL https://raw.githubusercontent.com/openilink/openilink-hub/main/install.sh | sh
# 启动
oih
# 或者用 Docker(二选一)
docker run -d -p 9800:9800 openilink/openilink-hub:latest # Docker Hub
# 或者 / or:
docker run -d -p 9800:9800 ghcr.io/openilink/openilink-hub:latest # GHCR打开 http://localhost:9800,注册账号(第一个注册的自动当管理员),扫码绑定微信号,完事。
默认用 SQLite,不用装数据库,不用配任何东西。想用 PostgreSQL?设个
DATABASE_URL就行。
2026 年 3 月微信推出了 ClawBot 插件,底层叫 iLink(智联) 协议 —— 第一次官方允许你用程序收发微信消息。
但 iLink 只是个原始通道:能收消息、能发回复,没了。你还得自己处理 context_token、CDN 加密、24 小时过期、多 Bot 管理……
OpeniLink Hub 把这些全包了,并且通过 App 应用市场 让你一键扩展功能:
- 扫码绑定,Web 后台管理多个 Bot
- 应用市场一键装功能 —— 对接飞书 / Slack / GitHub / Notion,查天气、记账、AI 对话,不用写代码
- WebSocket / Webhook / AI 三个通道同时转发消息到你的服务
- 24 小时窗口自动续期,不掉线
- 消息链路追踪,出问题一眼看到卡在哪
flowchart TD
subgraph WeChat
A[微信 ClawBot 插件]
end
A -->|iLink 协议| B[OpeniLink SDK]
subgraph OpeniLink["OpeniLink Hub"]
C[消息调度]
end
B --> C
C --> D[App: 平台互通<br/>飞书 / Slack / Discord / 钉钉 / 企业微信]
C --> E[App: 效率工具<br/>GitHub / Google / Notion / Linear]
C --> F[App: 生活工具<br/>天气 / 汇率 / 记账 / 地图 / RSS ...]
C --> G[App: OpenClaw]
C --> H[自定义 App]
C --> I[WebSocket 实时推送]
C --> J[Webhook 转发]
C --> K[AI 自动回复]
D --> L[第三方平台<br/>消息互通 + AI Tools]
E --> M[项目管理 / 文档协作 / 代码仓库]
F --> N[日常查询 / 自动化 / 个人助手]
G --> O[AI Agent Gateway]
H --> P[你的业务系统]
I --> Q[实时客户端]
J --> R[HTTP 回调服务]
K --> S[LLM]
和 OpenClaw 什么关系?
OpenClaw 是 AI Agent 框架,OpeniLink Hub 是消息管理平台,两个东西。
在 Hub 里,OpenClaw 是一个内置 App —— 在应用市场一键启用就行。当然你也可以完全不用 OpenClaw,选别的 App 或直接用 WebSocket/Webhook 对接你自己的服务。
简单说:OpenClaw 管 AI 逻辑,Hub 管消息收发和 App 分发,各干各的,想连就连。
| 你遇到的问题 | Hub 怎么解决 |
|---|---|
| iLink 没有官方文档,全靠社区逆向 | 完善中文文档 + 7 种语言 SDK |
| context_token 管理复杂,消息经常发不出去 | SDK 自动处理,你只管收消息发回复 |
| 24 小时过期掉线,重要消息丢了 | 自动续期 + 消息持久化 |
| 发图片要自己搞 CDN 上传 + AES 加密 | 一行代码发图片视频文件 |
| 只能命令行操作,管不了多个 Bot | Web 控制台,扫码绑定、状态监控、消息追踪 |
| 想加功能得自己写代码 | 应用市场一键安装,不写代码也能扩展 |
GitHub 上有不少 iLink 相关的开源项目,但大多是底层 SDK 或 Agent 桥接工具。Hub 是目前唯一带管理后台 + 应用市场 + 多通道分发的完整平台。
| OpeniLink Hub | 其他方案 | |
|---|---|---|
| 定位 | 完整消息管理平台 | SDK / Agent 桥接器 |
| 应用市场 | 有,一键装功能,支持社区 App | 无 |
| Web 后台 | 完整控制台 + 消息追踪 | 无 / 仅配置面板 |
| 消息分发 | App + WebSocket + Webhook + AI 并行 | 单一通道 |
| SDK | 7 种语言 | 1~4 种 |
| 部署 | 一行命令,内置 SQLite 零配置 | 需要外部数据库 |
| OpenClaw 依赖 | 完全独立(可选适配) | 部分强依赖 |
App 应用市场 · 不写代码也能扩展 Bot。20+ 官方 App 覆盖平台互通(飞书、Slack、Discord、钉钉、企业微信)、效率工具(GitHub、Google Workspace、Notion、Linear)、生活工具(天气、汇率、记账、地图、RSS)等场景。通过 PKCE OAuth 安全安装,支持第三方开发者上架。
多 Bot 管理 · 扫码绑定多个微信号,统一面板看状态,自动续期防掉线。
多通道消息下发
- App — 已安装的 App 自动接收匹配的消息,通过 WebSocket 或 Webhook 投递
- WebSocket — 毫秒级实时推送
- Webhook — HTTP 回调,对接任意服务
- AI 自动回复 — 接入 OpenAI 兼容 API,Bot 自动对话
消息追踪 · 每条消息从收到到投递的完整链路,哪一步耗时多少一目了然,出问题快速定位。
Passkey 登录 · 指纹、Face ID、硬件密钥直接登录,也支持 GitHub / LinuxDo OAuth。
管理后台 · 用户管理、角色权限、OAuth 配置、AI 全局设置、App 管理,一站式掌控。
Hub 的核心扩展机制。每个 App 是一个独立服务,通过标准协议与 Hub 交互。
平台互通 — 微信与第三方平台双向消息互通 + AI Tools 自然语言操作
| 应用 | 能干什么 |
|---|---|
| Lark(飞书) 🔥 | 消息互通 + 34 个 AI Tools,覆盖日历、云文档、任务、通讯录、多维表格、邮箱、知识库、视频会议等 11 大业务域 |
| Slack | 消息互通 + 23 个 AI Tools,管理频道、消息、用户、文件、提醒、书签 |
| Discord | 消息互通 + 19 个 AI Tools,管理频道、成员、Embed、服务器 |
| DingTalk(钉钉) | 消息互通 + 20 个 AI Tools,覆盖通讯录、日程、待办、审批、考勤、钉盘 |
| WeCom(企业微信) | 消息互通 + 18 个 AI Tools,覆盖通讯录、日程、审批、打卡、微盘、客户联系 |
效率工具 — 在微信里用自然语言操作主流 SaaS 平台
| 应用 | 能干什么 |
|---|---|
| GitHub | 36 个 AI Tools,管理 Issue、PR、Repo、Actions、Release、Gist |
| Google Workspace | 18 个 AI Tools,操作 Gmail、Calendar、Drive、Docs、Sheets |
| Notion | 15 个 AI Tools,管理页面、数据库、评论、搜索 |
| Linear | 13 个 AI Tools,管理 Issue、项目、团队、Cycle |
生活工具 — 轻量实用,零配置或免费 API 即可运行
| 应用 | 能干什么 |
|---|---|
| Amap(高德地图) | 10 个 AI Tools,POI 搜索、路线规划、天气、地理编码 |
| Weather(天气) | 全球城市天气 + 空气质量查询 |
| Currency(汇率) | 30+ 货币实时汇率换算 |
| Expense(记账) | 微信记账 + 月报 + 分类统计 |
| Reminder(提醒) | 一次性 / 重复 / Cron 定时提醒 |
| Cron(定时任务) | Cron 调度 + 自动消息推送 |
| RSS | RSS 订阅,新文章自动推送到微信 |
| QRCode(二维码) | 二维码生成与解码,纯本地运算 |
开发者 & 基础设施
| 应用 | 能干什么 |
|---|---|
| Command Service | /s 600519 查股价、/gi 赛博朋克城市 生成图片、/a 帮我写邮件 AI 对话,20+ 命令 |
| OpenClaw | 让 OpenClaw AI Agent 直接通过微信聊天 |
| Runner | 把本地 CLI 命令暴露为微信可调用的 App Tools |
| Bridge | 微信消息自动转发到你自己的服务器 |
| Echo | 开发者模板,3 分钟上手写自己的 App |
| 类型 | 说明 | 示例 |
|---|---|---|
| 内置 App | 随 Hub 一起提供,无需额外部署 | Bridge、OpenClaw |
| 市场 App | 从远程 Registry 安装 | Lark、GitHub、Weather 等 20+ |
| 自定义 App | 你自己开发的 | 你的业务系统 |
- 在 Hub 后台进入「应用市场」
- 看到想要的 App,点「安装」
- 通过 PKCE OAuth 完成授权
- App 开始接收消息,完事
App 通过以下方式与 Hub 交互:
- 接收事件:WebSocket 连接或 Webhook 回调
- 定义命令:声明 tools 和 commands,用户通过
/命令或@提及触发 - 发送回复:调用 Hub API 发消息
参考 openilink-app-echo 快速上手。
不用跑真实 Hub + 微信 Bot,用 Mock Server 在本地开发和测试 App:
# 启动 Mock Server,将事件通过 Webhook 投递到你的 App
go run ./cmd/appmock --webhook-url http://localhost:8080/webhook
# 注入一条模拟消息,触发你的 App
curl -X POST http://localhost:9801/mock/event \
-d '{"sender":"alice","content":"@test-app hello"}'
# 查看你的 App 发了什么消息
curl http://localhost:9801/mock/messagesMock Server 复用真实的 Bot API handler,行为与生产环境完全一致。完整文档见 docs/mock-server.md。
flowchart TB
subgraph Client["客户端"]
direction TB
WX[微信号<br/>扫码绑定] --> Provider[Provider<br/>iLink]
UI[Web UI<br/>React] --> API[REST API<br/>Go]
end
Provider --> Broker[Message Broker]
API --> Broker
Broker --> AppDispatch[App 调度]
Broker --> WS[WebSocket<br/>实时客户端]
Broker --> WH[Webhook<br/>回调]
Broker --> AI[AI Sink<br/>自动回复]
AppDispatch --> BuiltinApps[内置 App<br/>Bridge / OpenClaw]
AppDispatch --> MarketApps[市场 App<br/>Echo / Command Service]
AppDispatch --> CustomApps[自定义 App]
subgraph Storage["存储"]
DB[(SQLite / PostgreSQL<br/>数据)]
MinIO[(MinIO<br/>媒体存储)]
PK[Passkey<br/>WebAuthn]
end
默认 SQLite,零配置。数据文件位置:
- Linux:
~/.local/share/openilink-hub/openilink.db - macOS:
~/Library/Application Support/openilink-hub/openilink.db - root/service:
/var/lib/openilink-hub/openilink.db
设置 DATABASE_URL=postgres://... 切换到 PostgreSQL。
oih install # 安装 systemd (Linux) / launchd (macOS) 服务
oih uninstall # 卸载服务适合需要 PostgreSQL + MinIO 的场景:
services:
postgres:
image: postgres:17-alpine
environment:
POSTGRES_USER: openilink
POSTGRES_PASSWORD: <改为强密码>
POSTGRES_DB: openilink
volumes:
- pgdata:/var/lib/postgresql/data
hub:
image: openilink/openilink-hub:latest # 或 ghcr.io/openilink/openilink-hub:latest
ports:
- "9800:9800"
environment:
DATABASE_URL: postgres://openilink:<密码>@postgres:5432/openilink?sslmode=disable
RP_ORIGIN: https://hub.example.com
RP_ID: hub.example.com
SECRET: <随机字符串>
depends_on:
- postgres
volumes:
pgdata:前面放个 Nginx / Caddy 做 HTTPS 反代就行。
cd web && pnpm install && pnpm run build && cd ..
go build -o oih .
./oih| 命令 | 说明 |
|---|---|
oih |
前台运行 |
oih install |
装成系统服务 |
oih uninstall |
卸载系统服务 |
oih version |
看版本 |
7 种语言,挑你熟悉的用:
| 语言 | 安装 |
|---|---|
| Go | go get github.com/openilink/openilink-sdk-go |
| Node.js | npm install @openilink/openilink-sdk-node |
| Python | pip install openilink-sdk-python |
| PHP | composer require openilink/openilink-sdk-php |
| Java | openilink-sdk-java(从源码构建) |
| C# | openilink-sdk-csharp(开发中) |
| Lua | openilink-sdk-lua(从源码引入) |
App(完整列表见 应用市场)
| 项目 | 说明 |
|---|---|
| openilink-app-lark | 飞书 · 34 AI Tools 🔥 |
| openilink-app-slack | Slack · 23 AI Tools |
| openilink-app-discord | Discord · 19 AI Tools |
| openilink-app-dingtalk | 钉钉 · 20 AI Tools |
| openilink-app-wecom | 企业微信 · 18 AI Tools |
| openilink-app-github | GitHub · 36 AI Tools |
| openilink-app-google | Google Workspace · 18 AI Tools |
| openilink-app-notion | Notion · 15 AI Tools |
| openilink-app-linear | Linear · 13 AI Tools |
| openilink-app-echo | App 开发模板 |
更多 App:amap · weather · currency · expense · reminder · cron · rss · qrcode · command-service · runner
其他
| 项目 | 说明 |
|---|---|
| openclaw-channels | OpenClaw 渠道插件 |
| openilink-tg | 微信消息转发到其他平台 |
| openilink-webhook-plugins | 官方 Webhook 插件仓库 |
| 变量 | 默认值 | 说明 |
|---|---|---|
LISTEN |
:9800 |
监听地址 |
DATABASE_URL |
SQLite | 不设就用 SQLite,设 postgres://... 切 PostgreSQL |
RP_ORIGIN |
http://localhost:9800 |
站点地址,必须和浏览器访问的一样 |
RP_ID |
localhost |
WebAuthn RP ID,填域名 |
SECRET |
change-me-in-production |
服务端密钥,生产必须改 |
REGISTRY_URL |
— | 远程 App Registry 地址 |
REGISTRY_ENABLED |
true |
是否启用远程 Registry |
GITHUB_CLIENT_ID |
— | GitHub OAuth |
GITHUB_CLIENT_SECRET |
— | GitHub OAuth |
LINUXDO_CLIENT_ID |
— | LinuxDo OAuth |
LINUXDO_CLIENT_SECRET |
— | LinuxDo OAuth |
STORAGE_ENDPOINT |
— | MinIO / S3 端点 |
STORAGE_ACCESS_KEY |
— | 存储密钥 |
STORAGE_SECRET_KEY |
— | 存储密钥 |
STORAGE_BUCKET |
— | 存储桶 |
STORAGE_PUBLIC_URL |
— | 存储公开 URL |
配置 OAuth 登录
GitHub OAuth
- GitHub Developer Settings → OAuth Apps → New OAuth App
- Homepage URL:
https://hub.example.com - Callback URL:
https://hub.example.com/api/auth/oauth/github/callback - 拿到 Client ID 和 Secret,填环境变量
LinuxDo OAuth
- connect.linux.do 创建应用
- 回调地址:
https://hub.example.com/api/auth/oauth/linuxdo/callback - 填环境变量
回调地址格式:
{RP_ORIGIN}/api/auth/oauth/{provider}/callback
| 层 | 技术 |
|---|---|
| 后端 | Go 1.25, SQLite / PostgreSQL 17, gorilla/websocket |
| 前端 | React 19, Vite, TypeScript, Tailwind CSS |
| 认证 | WebAuthn (Passkey), OAuth 2.0 (PKCE), 密码 |
| App 系统 | PKCE OAuth 安装, WebSocket/Webhook 事件投递 |
| 存储 | MinIO / S3(可选) |
| 部署 | 单文件二进制 / Docker (Docker Hub / GHCR) / Docker Compose |
欢迎提 Issue 和 PR!
- App 开发参考 openilink-app-echo
- 插件提交到 openilink-webhook-plugins
- SDK 问题到对应语言仓库
MIT — 随便用,不限商用。
OpeniLink · 让微信 Bot 接入更简单
OpeniLink Hub is a self-hosted, open-source WeChat Bot management and message relay platform built on top of the iLink protocol — WeChat's first official Bot API, launched in March 2026.
It wraps WeChat's raw messaging into a complete system: bind multiple accounts via QR code, install apps from the marketplace to add features like stock queries and image generation, forward messages through WebSocket / Webhook / AI auto-reply — all managed from a web dashboard.
- App Marketplace (20+) — Platform integration (Lark, Slack, Discord, DingTalk, WeCom), productivity (GitHub, Google Workspace, Notion, Linear), utilities (weather, expense, RSS, maps...), all with AI Tools
- Multi-bot management — Bind and manage multiple WeChat accounts, auto session renewal
- Message tracing — Full delivery timeline for every message, pinpoint issues instantly
- Multi-channel delivery — Apps, WebSocket, Webhook, and AI auto-reply in parallel
- Passkey (WebAuthn) — Passwordless login with biometric / hardware key support
- Built-in SQLite — Zero-config database with optional PostgreSQL
- 7 language SDKs — Go, Node.js, Python, PHP, Java, C#, Lua
# One-line install
curl -fsSL https://raw.githubusercontent.com/openilink/openilink-hub/main/install.sh | sh
# Start
oih
# Or use Docker (either registry works)
docker run -d -p 9800:9800 openilink/openilink-hub:latest # Docker Hub
# or:
docker run -d -p 9800:9800 ghcr.io/openilink/openilink-hub:latest # GHCRVisit http://localhost:9800 — first user becomes admin. Zero config needed.
Website: openilink.com · Live Demo: hub.openilink.com