OpeniLink Hub 常见问题与解决方案
安装部署
Q: 安装后访问页面白屏
原因: 前端资源未构建。
解决:
- Docker 部署:确保使用的镜像包含前端资源,或使用 release 二进制
- 源码构建:先构建前端
cd web && pnpm install && pnpm build,再编译 Go
Q: 数据库文件在哪?
| 平台 |
路径 |
| Linux |
~/.local/share/openilink-hub/openilink.db |
| macOS |
~/Library/Application Support/openilink-hub/openilink.db |
| root/service |
/var/lib/openilink-hub/openilink.db |
PostgreSQL 模式下由 DATABASE_URL 环境变量指定。
Bot 连接
Q: Bot 显示「会话已过期」
原因: 微信登录 session 过期(通常 24 小时不活动后)。
解决: 在 Bot 详情页点击重新扫码登录。
Q: Bot 在线但收不到消息
排查步骤:
- 确认微信端能正常收发消息
- 查看 Hub 日志确认消息是否到达:在 Bot 详情页查看消息记录
- 如果消息到了 Hub 但没转发,检查 App 安装状态和事件订阅配置
App 相关
Q: 安装 App 后收不到消息事件
排查:
- 确认 App 订阅了
message 事件(App 详情页可查看)
- 确认 App Installation 的 scopes 包含
message:read
- 确认 Installation 状态为
enabled
- Hub 版本需 ≥ v0.1.1(修复了 builtin App 事件分发问题)
Q: WebSocket 连接正常但收不到事件推送
原因(v0.1.0 及之前): builtin App(如 OpenClaw)注册为内置应用但无 handler,事件分发被 continue 跳过,WebSocket 投递被绕过。
解决: 升级到 v0.1.1+,此版本修复了 builtin App 无 handler 时 fallthrough 到 WebSocket 投递的问题。
Q: 发送消息 API 返回 409
{"error":"暂无法发送:需要先收到用户消息","ok":false}
原因: Bot 还没有与目标用户建立过会话上下文(context_token)。
解决: 用户需要先主动发消息给 Bot,建立会话后才能回复。这是微信平台的限制。
Q: 发送消息 API 返回 503
{"error":"bot not connected","ok":false}
原因: Bot 不在线。
解决: 登录 Hub 后台,确认 Bot 状态为在线。如果显示离线,重新扫码登录。
多微信号
Q: 同一个 App 能接多个微信号吗?
可以。每个微信号在 Hub 上是一个独立的 Bot,分别安装同一个 App 即可。每个 Installation 有独立的 Token。
客户端(如 OpenClaw)使用多账户配置,每个账户填不同的 Token:
{
"channels": {
"openilink": {
"hub_url": "https://hub.openilink.com",
"accounts": {
"bot1": { "app_token": "app_第一个bot的token" },
"bot2": { "app_token": "app_第二个bot的token" }
}
}
}
}
斜杠命令
Q: /s、/gi、/a 等命令怎么用?
这些是 Command Service App 提供的功能:
| 命令 |
功能 |
/s 600519 |
查股价 |
/gi 赛博朋克城市 |
生成图片 |
/a 帮我写邮件 |
AI 对话 |
需要在 Hub 后台单独安装:Bot 详情页 → 应用市场 → Command Service → 安装。
Q: @claw 提及命令怎么用?
在微信中发送 @claw 你的问题 即可触发 OpenClaw AI 回复。需要先在 Bot 上安装 OpenClaw App。
@handle 路由支持所有 App,handle 在 Installation 详情页可配置。
API
Q: Bot API 认证方式
所有 /bot/v1/* 接口使用 Bearer Token 认证:
curl -X POST https://hub.openilink.com/bot/v1/message/send \
-H "Authorization: Bearer app_你的token" \
-H "Content-Type: application/json" \
-d '{"content":"hello","to":"user_id"}'
Token 在 Hub 后台 App Installation 详情页获取。
Q: WebSocket 连接地址
wss://hub.openilink.com/bot/v1/ws?token=app_你的token
连接后会收到 init 消息,包含 bot_id 和 installation_id。需定期发送 {"type":"ping"} 保持连接。
升级
Q: 如何升级 Hub?
二进制部署:
# 下载最新 release
# 停止旧服务 → 替换二进制 → 启动
systemctl stop openilink-hub
cp oih /usr/local/bin/oih
systemctl start openilink-hub
Docker 部署:
docker compose pull
docker compose up -d
数据库迁移会自动执行。
遇到其他问题?请提交 Issue。
OpeniLink Hub 常见问题与解决方案
安装部署
Q: 安装后访问页面白屏
原因: 前端资源未构建。
解决:
cd web && pnpm install && pnpm build,再编译 GoQ: 数据库文件在哪?
~/.local/share/openilink-hub/openilink.db~/Library/Application Support/openilink-hub/openilink.db/var/lib/openilink-hub/openilink.dbPostgreSQL 模式下由
DATABASE_URL环境变量指定。Bot 连接
Q: Bot 显示「会话已过期」
原因: 微信登录 session 过期(通常 24 小时不活动后)。
解决: 在 Bot 详情页点击重新扫码登录。
Q: Bot 在线但收不到消息
排查步骤:
App 相关
Q: 安装 App 后收不到消息事件
排查:
message事件(App 详情页可查看)message:readenabledQ: WebSocket 连接正常但收不到事件推送
原因(v0.1.0 及之前): builtin App(如 OpenClaw)注册为内置应用但无 handler,事件分发被
continue跳过,WebSocket 投递被绕过。解决: 升级到 v0.1.1+,此版本修复了 builtin App 无 handler 时 fallthrough 到 WebSocket 投递的问题。
Q: 发送消息 API 返回 409
{"error":"暂无法发送:需要先收到用户消息","ok":false}原因: Bot 还没有与目标用户建立过会话上下文(context_token)。
解决: 用户需要先主动发消息给 Bot,建立会话后才能回复。这是微信平台的限制。
Q: 发送消息 API 返回 503
{"error":"bot not connected","ok":false}原因: Bot 不在线。
解决: 登录 Hub 后台,确认 Bot 状态为在线。如果显示离线,重新扫码登录。
多微信号
Q: 同一个 App 能接多个微信号吗?
可以。每个微信号在 Hub 上是一个独立的 Bot,分别安装同一个 App 即可。每个 Installation 有独立的 Token。
客户端(如 OpenClaw)使用多账户配置,每个账户填不同的 Token:
{ "channels": { "openilink": { "hub_url": "https://hub.openilink.com", "accounts": { "bot1": { "app_token": "app_第一个bot的token" }, "bot2": { "app_token": "app_第二个bot的token" } } } } }斜杠命令
Q:
/s、/gi、/a等命令怎么用?这些是 Command Service App 提供的功能:
/s 600519/gi 赛博朋克城市/a 帮我写邮件需要在 Hub 后台单独安装:Bot 详情页 → 应用市场 → Command Service → 安装。
Q:
@claw提及命令怎么用?在微信中发送
@claw 你的问题即可触发 OpenClaw AI 回复。需要先在 Bot 上安装 OpenClaw App。@handle路由支持所有 App,handle 在 Installation 详情页可配置。API
Q: Bot API 认证方式
所有
/bot/v1/*接口使用 Bearer Token 认证:Token 在 Hub 后台 App Installation 详情页获取。
Q: WebSocket 连接地址
连接后会收到
init消息,包含bot_id和installation_id。需定期发送{"type":"ping"}保持连接。升级
Q: 如何升级 Hub?
二进制部署:
Docker 部署:
数据库迁移会自动执行。
遇到其他问题?请提交 Issue。