OneLLM 一个 Key 管所有模型,一层网关管所有 Agent
OneLLM 一个 Key 管所有模型,一层网关管所有 Agent
OneLLM 是一个面向国产模型生态的统一控制平面,助力企业的 Agent 跑的稳、算得清、合规安全
一套 API 统一接入 国产大模型厂商, 智能路由、自动故障转移、三级预算熔断、全链路可观测——让每一分钱都花在刀刃上。

http://59.110.62.203:18080/
https://github.com/EmilyLi2026/OneLLM
先说一个你可能正在经历的事
你的团队接了 5 个大模型。DeepSeek 的 Key 在运维手里,通义千问的 Key 在后端配置里,GLM 那个是一个已离职同事申请的——没人知道还剩多少额度。
月底老板问:这个月模型调用花了 3200,哪个项目花的?哪个人用的?哪些是可省的?
你答不上来。
更糟糕的是,你们刚上线了一个 Agent。它在凌晨触发了一个边缘 case,陷入循环思考,反复调用推理模型。第二天早上,DeepSeek 账户余额从 850 变成了 -0.2。整个团队的 API 调用全部中断。
这不是假设场景,这是过去一年里发生在我们身上、也发生在几十个团队身上的真实事件。
这就是 OneLLM 要解决的问题。
它到底解决什么 --- 三个问题,一个方案

问题一:Key 碎片化
| 厂商 | 谁申请的 | 余额 | 到期时间 |
|---|---|---|---|
| DeepSeek | 老李 | 不知道 | 没记 |
| 通义千问 | 小王 | 好像还有 | 忘了 |
| GLM | 离职前同事 | ? | ? |
5 个厂商 5 把 Key,散落在代码仓库、运维手里、离职同事的文档里。一个 Key 可能被五六个服务同时用,谁也说不清全量调用是多少。
解决方式:一个虚拟 Key,绑定所有厂商。 你在控制台里把各家 Key 录进去,生成一个 aihub_sk_xxx,从此只记这一个。同事离职?吊销一个虚拟 Key 就行,不用去每个厂商后台轮换。
问题二:成本黑洞
绝大多数团队的模型费用统计方式,是每个月分别登录 DeepSeek、阿里云、智谱、百度智能云……每家后台点一遍,手动拉 Excel,自己加总。
别说按项目、按人、按 Agent 拆分了。能拉出总数已经算用心的了。
解决方式:每次调用自动记账。 网关作为所有模型流量的必经之路,天然记录每条请求的模型名、Token 量、花费、耗时、发起人。打开控制台就能看到:昨天花了多少、哪个 Agent 最烧钱、哪个模型调用最多。
问题三:Agent 失控
当 AI 调用从"人手一条 Prompt"变成"Agent 自动高频跑",管控就从"锦上添花"变成了"生存条件"。
一个没有预算上限的 Agent,就像一张没有密码的信用卡交给了循环程序——你不知道它什么时候会刷爆,但你知道它一定会刷爆。
解决方式:预算告警 + 硬熔断
设工作空间月预算 500 元。花到 400 元(80%),系统发消息提醒你;花到 500 元(100%),直接阻断所有调用。不是"发封邮件告诉你超了",是直接停——让 Agent 烧不到你的底线。
它是怎么做到的
原理不复杂。OneLLM 在你和各家模型厂商之间,架了一层网关:
你的应用 → 网关 :8787 → DeepSeek → 通义千问 → GLM → 豆包 / Kimi / 文心 / 星火 / 混元 / ... ↓ 记日志(谁、什么时候、花了多少)
你用虚拟 Key 调用网关,网关帮你查身份、查绑定、把请求转发到对应的模型厂商,同时记录每一笔调用。

对开发者来说,接入只需要改一行:
# 以前:直连每个厂商,每个 Key 都不一样
client_openai = OpenAI(api_key="sk-xxx1")
client_deepseek = OpenAI(base_url="https://api.deepseek.com", api_key="sk-xxx2")
client_qwen = OpenAI(base_url="https://dashscope.aliyuncs.com/...", api_key="sk-xxx3")
# 现在:只连自己的网关,Key 只有一个
fromopenaiimportOpenAI
client = OpenAI(
base_url="http://gateway:8787/v1",
api_key="aihub_sk_xxx" # 唯一要记的 Key
)
response = client.chat.completions.create(
model="deepseek-chat", # 想用哪个填哪个
messages=[{"role": "user", "content": "Hello"}]
)
切模型只改 model 参数,代码不动。网关兼容 OpenAI API 格式,你现有的项目不需要改 import、不需要改环境变量。
跟市面上其他方案的区别
很多人第一次看到 OneLLM 的第一反应是:"这不就是一个 API 中转站吗?one-api / new-api 也是做这个的。"
看下面这张表就清楚了:
| 对比维度 | OneLLM | new-api / one-api | Portkey | LiteLLM |
|---|---|---|---|---|
| 国产模型深度适配 | ✅ 15+ 家 | ✅ | ❌ 不支持 | ⚠️ 基础 |
| 虚拟 Key + 多厂商绑定 | ✅ | ✅ | ✅ | ⚠️ 部分 |
| 管理控制台 | ✅ 完整 | ✅ 基础 | ✅ 完整 | ⚠️ 简陋 |
| 工作空间隔离(多租户) | ✅ | ❌ | ✅ | ❌ |
| 预算告警 + 硬熔断 | ✅ | ❌ | ⚠️ 仅告警 | ❌ |
| 不可变审计日志 | ✅ | ❌ | ✅ | ⚠️ |
| Agent 维度成本归因 | ✅ | ❌ | ❌ | ❌ |
| 开源协议 | MIT | MIT | MIT | MIT |
可以粗暴地总结成一句话:
new-api / one-api 管的是模型接入——让不同厂商的 API 都能用同一个格式调。OneLLM 管的是 Agent 成本——让你的 AI 应用烧了多少钱、谁来烧的、什么时候该停,一目了然。
这不是说谁好谁差。如果你的需求只是"把 DeepSeek + 通义千问 + GLM 用一个 API 调",new-api 完全够用。但如果你除了统一接入之外,还需要知道「昨天 Agent X 到底花了多少钱」「下周记得给 Agent 加个预算上限不然审计过不了」——这些事 OneLLM 已经帮你做好了。
给你带来的价值
如果你是开发者:
忘掉 .env 里那堆 DEEPSEEK_KEY、QWEN_KEY、GLM_KEY。一行 base_url 改完,网关里选要用的模型,剩下的和你没关系。服务端不会再因为某个 Key 过期而半夜崩掉——管 Key 的人去控制台操作,不用你改代码。
如果你是技术负责人:
打开控制台,按项目、按 Agent、按时间筛选,每个维度的花费清清楚楚。月底把报表导出来发给老板——不用打开五六个厂商后台、不用手动对账。
设好预算线,到了自动告警,超了自动停。不用每天早上第一件事是查余额。
如果你是老板 / 合规负责人:
所有管理操作全部以 append-only 方式记录——谁在什么时候创建了 Key、改了预算、删了配置,不可篡改、不可删除。金融、医疗、政务等有合规要求的行业,这是一份可以直接用于审计的完整证据链。
怎么开始
开源的,MIT 协议,不收费。
git clone https://github.com/EmilyLi2026/OneLLM.git cd OneLLM/gateway-core npm install && npm run dev:node
一分钟跑起来。然后找一个最熟悉的模型——DeepSeek 也好、通义千问也好——发一个请求试试。
如果遇到问题,去 GitHub Issues 留言。如果觉得有用,Star 一下让更多人看到。
聊聊?
如果你也在折腾多模型接入、Agent 成本管控、或者正在为合规审计头疼——欢迎直接联系我。

扫码添加,备注"OneLLM"。不一定能秒回,但每条都会看。
下一篇我们会聊一件事——Agent 普及之后,LLM 网关怎么从"模型路由器"变成"Agent 控制平面"。
留言
写留言
更多推荐
所有评论(0)