项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 37393
技术标签
使用教程
环境要求
- 已安装 Docker 环境(可用 docker 命令)
- 一台可访问外网的服务器或本机,端口 3000 未被占用
- 准备一个用于持久化数据的宿主机目录,如 /home/ubuntu/data/one-api
- 可选:如使用 MySQL 需自备数据库连接参数(用户名、密码、地址、端口、库名)
安装与启动步骤
-
1启动 One API 容器
用 SQLite 存储数据,挂载宿主机目录到容器 /data 保证数据不丢;端口映射到宿主机 3000。
docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api -
2改用 MySQL 存储(可选)
在上面命令基础上增加 SQL_DSN 环境变量即可换成 MySQL,请按实际数据库修改连接参数。
docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -v /home/ubuntu/data/one-api:/data justsong/one-api -
3登录管理后台
浏览器打开 http://localhost:3000/ ,用初始账号 root、密码 123456 登录,登录后立即修改密码。
-
4在渠道页添加 API Key
进入“渠道”页面,填入你要使用的大模型上游 API Key,完成渠道配置。
-
5在令牌页新增令牌
进入“令牌”页面新增一个访问令牌,这个令牌就是后续调用 One API 时使用的 API Key。
-
6客户端接入 One API
在任意使用 OpenAI API 的客户端里,把 API Base 设为你的部署地址 /v1,API Key 填上一步生成的令牌。
OPENAI_API_KEY="sk-xxxxxx" OPENAI_API_BASE="https://<HOST>:<PORT>/v1"
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
TZ | 是 | 容器时区,影响日志与统计时间显示 | Asia/Shanghai |
SQL_DSN | 否 | 数据库连接串,填写后使用 MySQL 而非 SQLite | root:123456@tcp(localhost:3306)/oneapi |
SESSION_SECRET | 否 | 会话密钥,多机部署时所有服务器需设为相同值 | your-session-secret |
NODE_TYPE | 否 | 节点类型,从服务器需设为 slave,默认主服务器 | slave |
SYNC_FREQUENCY | 否 | 定期从数据库同步配置的频率,使用远程数据库时推荐设置 | 60 |
REDIS_CONN_STRING | 否 | Redis 连接串,启用后可减少数据库访问降低延迟 | redis://default:123456@localhost:6379 |
如何确认成功
浏览器访问 http://localhost:3000/ 能打开登录页,用 root / 123456 成功登录即部署成功。
常见问题
Q:初始账号和密码是什么?
A:用户名为 root,密码为 123456,登录后请立刻修改,避免被他人使用。
Q:数据存在哪里,容器删了会丢吗?
A:SQLite 模式数据存在挂载的 /data 目录(如 /home/ubuntu/data/one-api),删除容器后数据仍在;用 MySQL 则存数据库。
Q:客户端里的 API Base 应该怎么填?
A:填你的 One API 部署地址加 /v1,例如 https://<HOST>:<PORT>/v1,具体格式取决于所用客户端。
Q:如何指定用某个渠道处理请求?
A:在令牌后拼接渠道 ID,例如 Authorization: Bearer ONE_API_KEY-CHANNEL_ID,且必须使用管理员创建的令牌。
Q:不指定渠道时会怎样?
A:不指定渠道 ID 时会按负载均衡的方式在多个渠道之间分发请求。
注意事项
- 本项目为开源项目,使用时必须遵循 OpenAI 使用条款及当地法律法规。
- 多机部署时所有服务器的 SESSION_SECRET 必须一致,且必须设置 SQL_DSN 使用同一个 MySQL,从服务器设置 NODE_TYPE=slave。
- 系统开箱即用,可通过环境变量或命令行参数配置;不清楚某项含义时,可临时删掉该值以看到提示文字。
核心亮点
- 支持 20+ 主流大模型提供商,统一 API 格式,切换模型零代码改动
- 内置密钥管理、额度限制和请求日志,适合团队协作和二次分发
- 单文件或 Docker 部署,安装简单,资源占用低,自带 Web 管理界面
不足之处
- 界面为英文,对中文用户不够友好
- 高级功能(如自定义模型路由策略)配置复杂,文档深度不足
- 文档/社区待观察
适用场景
- 企业内部统一管理多个大模型 API 密钥,按部门分配额度
- 开发者或平台方将模型能力封装成 API 转售给第三方用户
- 个人开发者集中调用多种模型,避免维护多个 SDK 和密钥
替代项目
LiteLLM、new-api、FastGPT
上一篇:memobase
下一篇:ChatGPTReversed
同类项目推荐
delta-Mem
开源
让大模型边聊边记,长对话不再爆显存
The official repo of the paper: $delta$-mem: Efficient Online Memory for Large Langu···
StringZilla
开源
一行代码,让字符串处理快上百倍,跨语言通用。
Up to 100x faster strings for C, C++, CUDA, Python, Rust, Swift, JS, & Go, leveragin···
vllm-plugin-FL
开源
让 vLLM 一套代码跑多种国产芯片
A vLLM plugin built on the FlagOS unified multi-chip backend.
ReMe
开源
给 AI 装上长期记忆,让对话不再失忆
ReMe: Memory Management Kit for Agents - Remember Me, Refine Me.
kapitsa
开源
Mac 上跑 Qwen,接口兼容主流 SDK
Blazing fast Apple Silicon inference engine optimized for Qwen & Nemotron. OpenAI + ···
mlops-templates
开源
把机器学习模型快速、标准化地部署到 Azure 生产环境
Azure MLOps (v2) solution accelerators. Enterprise ready templates to deploy your ma···
tiygate
开源
给 LLM 服务加个高可用保险,自动切换不宕机
TiyGate is a lightweight gateway for highly available LLM services. 一款致力于提供高···
airbyte
开源
600+连接器,把任意数据源同步到仓库或AI应用
Open-source data movement for ELT pipelines and AI agents — from APIs, databases & ···
1flowbase
开源
自托管 AI 网关,协议转换+调度+日志,Agent 通过 MCP 全掌控
Build for agents — from the AI Gateway to the entire application stack.
