指南
快速开始
5 分钟内部署 OpeniLink Hub 并发送第一条消息。
本指南将带你从零开始,部署 OpeniLink Hub 并发送第一条消息。
第一步:安装 Hub
无需任何依赖,一行命令即可安装。支持 Linux 和 macOS:
curl -fsSL https://raw.githubusercontent.com/openilink/openilink-hub/main/install.sh | sh安装完成后,直接启动:
oih默认使用内置 SQLite 数据库,无需配置任何外部依赖。数据库文件自动存储在平台标准目录:
- Linux:
~/.local/share/openilink-hub/openilink.db - macOS:
~/Library/Application Support/openilink-hub/openilink.db
你也可以将 Hub 注册为系统服务,实现开机自启:
oih install # 安装为 systemd (Linux) / launchd (macOS) 服务
oih uninstall # 卸载服务docker run -d -p 9800:9800 ghcr.io/openilink/openilink-hub:latest适合生产环境,包含 PostgreSQL 和 MinIO:
git clone https://github.com/openilink/openilink-hub.git
cd openilink-hub
docker compose up -d这会启动三个服务:
| 服务 | 端口 | 说明 |
|---|---|---|
| PostgreSQL 17 | 15432 | 数据持久化存储 |
| MinIO 对象存储 | 19000 (API) / 19001 (控制台) | 文件和媒体存储 |
| OpeniLink Hub | 9800 | Hub 主服务 |
git clone https://github.com/openilink/openilink-hub.git
cd openilink-hub
# 构建前端
cd web && pnpm install && pnpm run build && cd ..
# 构建并运行
go build -o oih .
./oih首次启动时,Hub 会自动执行数据库迁移,创建所有必要的表结构。无需手动运行迁移命令。
第二步:访问 Hub 控制台
在浏览器中打开 http://localhost:9800,你将看到 OpeniLink Hub 的登录页面。
第三步:注册账号
OpeniLink Hub 支持多种注册方式:
- 密码注册:使用用户名和密码注册
- Passkey 生物识别:使用指纹、面部识别或硬件密钥
- GitHub OAuth:使用 GitHub 账号登录(需提前配置)
- LinuxDo OAuth:使用 LinuxDo 账号登录(需提前配置)
首个注册用户自动成为管理员。 本地开发环境下,建议直接使用密码注册。
第四步:扫码绑定微信 Bot
登录后,按照以下步骤绑定你的微信 Bot:
- 点击控制台中的 "绑定 Bot" 按钮
- 页面将显示一个二维码
- 用微信扫描该二维码
- 在微信客户端确认登录
- Bot 自动上线,系统进入引导流程
绑定微信 Bot 需要使用真实的微信账号。请确保该微信号未在其他 iLink 服务上同时登录。
第五步:完成引导设置
首次绑定 Bot 后,系统会进入引导流程:
- 基础配置:可选择开启 AI 自动回复功能
- 应用安装:浏览应用市场,安装推荐的扩展应用
第六步:用 SDK 接收消息
以 Node.js 为例,安装 SDK 并编写接收消息的代码:
npm install openilink-sdk-nodeimport { Client, extractText } from "openilink-sdk-node";
// 使用 Channel API Key 初始化客户端
const client = new Client("<你的 API Key>");
// 扫码登录
const result = await client.loginWithQr({
on_qrcode: (url) => console.log("请扫描二维码:", url),
});
if (!result.connected) {
throw new Error(result.message);
}
console.log("Bot 已上线,开始监听消息...");
// 监听消息
await client.monitor(async (message) => {
const text = extractText(message);
if (!text) return;
console.log(`收到消息: ${text}`);
// 回复消息
await client.sendText(
String(message.from_user_id),
`收到: ${text}`,
String(message.context_token)
);
});运行代码后,向你的微信 Bot 发送一条消息,你将看到 Bot 自动回复。
环境变量说明
以下是 OpeniLink Hub 支持的主要环境变量:
| 变量 | 默认值 | 说明 |
|---|---|---|
LISTEN | :9800 | HTTP 监听地址 |
DATABASE_URL | 平台标准路径下的 SQLite | SQLite 路径或 PostgreSQL 连接串 |
RP_ORIGIN | http://localhost:9800 | WebAuthn RP 源地址 |
RP_ID | localhost | WebAuthn RP ID |
SECRET | change-me-in-production | 服务端密钥,用于签名和加密 |
STORAGE_ENDPOINT | — | MinIO/S3 端点地址(可选) |
STORAGE_ACCESS_KEY | — | 存储访问密钥(可选) |
STORAGE_SECRET_KEY | — | 存储密钥(可选) |
STORAGE_BUCKET | openilink | 存储桶名称(可选) |
默认使用内置 SQLite,无需配置 DATABASE_URL。如需使用 PostgreSQL,设置 DATABASE_URL=postgres://... 即可切换。
在生产环境中,务必修改 SECRET 为随机的强密码字符串,并正确配置 RP_ORIGIN 和 RP_ID 为你的实际域名。
CLI 命令
| 命令 | 说明 |
|---|---|
oih | 前台运行服务 |
oih install | 安装为系统服务(systemd / launchd) |
oih uninstall | 卸载系统服务 |
oih version | 显示版本信息 |
下一步
- 了解 Hub 的完整架构:架构说明
- 深入了解 Hub 平台功能:Hub 概览
- 查看所有 SDK:SDK 总览
- 了解 WebSocket 实时接入:WebSocket 接入
- 配置 Webhook 回调:Webhook 与插件