集中管理多家 One-API 站点的新选择:One API Hub 深度指南
“
“把 AI 服务的钥匙都挂在一把钥匙扣上,而不是每天翻遍口袋找。”
目录
-
为什么需要 One API Hub? -
它能做什么?——功能全景图 -
动手之前:你需要准备什么 -
本地开发:15 分钟跑起来 -
生产部署:Docker 一键上线 -
常见问题答疑(FAQ) -
下一步可以做什么
1. 为什么需要 One API Hub?
如果你用过 New API、Veloera、VoAPI、OneHub 这类 One-API 兼容站点,大概率遇到过以下情景:
场景 | 痛点 |
---|---|
每天打开 5 个不同后台查看余额 | 登录麻烦,容易忘 |
忘记哪个站点还有额度 | 资源浪费 |
想导出自己的 Key 做备份 | 手动复制粘贴 |
想给所有站点批量签到 | 一个个点网页 |
One API Hub 就是一把“万能钥匙扣”:
-
一处登录,就能查看所有站点的余额、Key、签到状态; -
一处备份,所有配置和 Key 都可导出 JSON; -
一处部署,Docker 一条命令即可上线,不挑服务器。
2. 它能做什么?——功能全景图
2.1 统一登录
-
单用户管理员模式,基于 JWT; -
界面只输入密码即可进入(用户名固定为 admin
)。
2.2 站点管理
操作 | 说明 |
---|---|
添加 | 输入站点地址、凭据即可 |
编辑 | 修改凭据或备注 |
删除 | 一键移除,不影响原站点数据 |
2.3 站点校验
每次添加或更新时,后端会立即请求一次目标站点的 /user
或 /dashboard
接口,验证凭据是否有效,失败会给出明确提示。
2.4 账户信息查询
自动拉取以下字段并展示在表格里:
-
用户名 -
总额度 -
已用额度 -
剩余额度
2.5 API Key 查询
列出每个站点下 所有 Key 的:
-
密钥字符串(脱敏显示,可点击复制) -
已用额度 -
剩余额度
2.6 每日签到
根据站点类型自动调用对应接口(如 /user/checkin
),结果会显示成功/失败及获得额度。
2.7 数据导出 / 导入
-
导出:生成一个 JSON 文件,包含所有站点配置及 Key。 -
导入:上传 JSON 即可恢复,适合迁移或备份。
2.8 仪表盘
首页卡片式汇总:
-
总站点数 -
API Key 总数 -
总额度 -
整体使用率
图:仪表盘首页
图:站点设置页
3. 动手之前:你需要准备什么
项目 | 最低要求 | 推荐 |
---|---|---|
Node.js | 18.x 及以上 | 20.x LTS |
包管理器 | npm、pnpm、yarn 均可 | npm |
操作系统 | Win / macOS / Linux | Linux(部署省心) |
内存 | 512 MB 可用 | 1 GB |
磁盘 | 100 MB 以上 | SSD |
4. 本地开发:15 分钟跑起来
步骤 1:克隆或下载源码
git clone <仓库地址>
cd one-api-hub
步骤 2:安装依赖
npm ci
“
ci
比install
更快更干净,适合 CI 与多人协作。
步骤 3:启动开发环境
npm run dev
终端会出现两行提示:
-
前端:http://localhost:3000 -
后端:http://localhost:8000
浏览器打开 http://localhost:3000
,输入初始密码 admin123456
即可进入后台。
步骤 4:添加第一个站点
-
点击左侧菜单「站点管理」→「添加站点」; -
填写名称、地址、凭据(通常是 Cookie 或 Token); -
点击「校验并保存」; -
成功后,仪表盘会立即显示该站点的余额信息。
5. 生产部署:Docker 一键上线
5.1 构建镜像
docker build -t one-api-hub:latest .
5.2 准备环境变量
复制示例文件并编辑:
cp .env.example .env
# 用你喜欢的编辑器打开 .env
最小可运行的 .env
示例:
NODE_ENV=production
PORT=8000
ADMIN_INITIAL_PASSWORD=your-very-strong-password
JWT_SECRET=change-me-too
5.3 运行容器
docker run -d \
--name one-api-hub \
-p 8000:8000 \
--env-file .env \
-v one-api-hub:/data \
-v one-api-hub:/app/logs \
one-api-hub:latest
首次启动后,访问 http://<服务器IP>:8000
,用刚才设置的密码登录即可。
6. 常见问题答疑(FAQ)
问题 | 回答 |
---|---|
可以支持多用户吗? | 目前设计为单用户管理员模式,团队场景可通过反向代理加 Basic Auth 实现简单隔离。 |
忘记密码怎么办? | 停止容器,删除 /data/data.db ,重启容器并重新设置 ADMIN_INITIAL_PASSWORD 。 |
数据库文件在哪? | 开发模式下在项目根目录 ./data/data.db ;生产模式下默认 /data/data.db (Docker 卷映射)。 |
如何更新版本? | 1. 拉取最新代码 → 2. 重新 docker build → 3. docker stop 旧容器 → 4. 用新镜像启动。 |
日志怎么看? | 容器内 /app/logs 已映射到卷,可直接 docker logs one-api-hub 或查看宿主机目录。 |
支持 HTTPS 吗? | 镜像本身只提供 HTTP,可在前面加 Nginx/Caddy 反向代理并配置证书。 |
会不会泄露我的 Cookie/Token? | 所有凭据仅保存在你自己的服务器 SQLite 中,不上传任何第三方。 |
可以跑在树莓派吗? | 可以,镜像为 linux/arm64 多架构,内存占用 <100 MB。 |
7. 下一步可以做什么
-
定时备份:写一条 cron,把 /data/data.db
每天打包备份到对象存储。 -
监控告警:用 Prometheus + Grafana 监控容器 CPU、内存,余额低于阈值时发邮件。 -
二次开发:前后端都是 TypeScript,结构清晰,你可以加“多用户”或“Webhook 通知”。 -
贡献代码:提 Issue、发 PR,一起让钥匙扣更好用。
写在最后
One API Hub 不是“又一个看板”,而是把分散在各处的 AI 额度、Key、签到任务 真正集中到一个地方。它足够轻量,小到树莓派能跑;也足够开放,源码就在你面前。
愿你在 AI 服务的海洋里,不再为“钥匙”而烦恼。