一个 API Key,统一调用大模型、生图和联网搜索
如果一个 AI 应用需要同时使用大模型、图片生成和联网搜索通常需要准备多少个 API Key答案可能是三个也可能是五个甚至更多。每个模型供应商都有自己的 Key图片服务可能来自另一个平台搜索和网页抓取又需要单独申请账号。随着项目和成员增加密钥很快就会散落在环境变量、部署平台和本地配置中。OctaFuse Gateway 想把这个过程简化成一个 Gateway URL一把用户 API Key。用户 Key 与 Provider Key 分离客户端使用的不是上游 Provider 的真实密钥而是 OctaFuse 创建的用户 Key。真实的 Provider Key 被保存在 Gateway 中并由路由系统负责选择。这种分离首先解决了安全和维护问题。业务应用不再直接持有供应商密钥某把上游 Key 需要轮换时也不必重新修改所有客户端。其次它建立了统一的用户身份。团队可以为不同成员、项目或客户创建 User再给 User 创建一把或多把 API Key并设置预算和周期。无论用户调用的是 Chat、图片生成还是联网工具都可以进入同一套用量和成本记录。OctaFuse 对每次请求区分供应成本、目录标准价和用户计费。模型通常按 Token 统计图片支持 Token 与按生成数量两种模式Agent Tools 则可以按次计费。一个 Key 可以调用什么模型调用支持 OpenAI、Anthropic 和 Gemini 风格接口。图片能力提供/v1/images/generations与图片编辑接口。Agent 联网能力当前包括/v1/tools/web-search/v1/tools/web-fetch/v1/tools/web-deep-search工具上游失败时不会扣除用户预算调用记录也会进入统一日志。当某个 Provider 发生限流、余额不足或者服务异常时Gateway 可以结合路由优先级、Key 池、熔断状态和余量选择其他路径。客户端继续使用原来的用户 Key不需要了解背后的切换过程。快速部署并创建第一把用户 Key先在本地启动gitclone https://github.com/OctaFuse/octafuse-gateway.gitcdoctafuse-gatewaynpminstallnpmrun db:migratenpmrun dev:proxy另开终端运行npmrun dev:admin打开http://127.0.0.1:8789使用本地默认账号admin/admin登录。然后按以下顺序配置添加 Provider 和真实上游 Key创建或导入 Model为 Model 创建 Route创建 User并设置预算与周期在 User 下创建用户 API Key。拿到用户 Key 后可以先查询当前身份和预算curlhttp://127.0.0.1:8787/v1/me\-HAuthorization: Bearer sk-your-api-key然后调用模型curlhttp://127.0.0.1:8787/v1/chat/completions\-HAuthorization: Bearer sk-your-api-key\-HContent-Type: application/json\-d{model:your-route-model,messages:[{role:user,content:Hello}]}如果已经配置图片路由同一把 Key 还可以调用curlhttp://127.0.0.1:8787/v1/images/generations\-HAuthorization: Bearer sk-your-api-key\-HContent-Type: application/json\-d{model:gpt-image-2,prompt:a watercolor fox,size:1024x1024}上云或自托管Cloudflare 是 OctaFuse 的默认部署路径npx wrangler loginnpmrun bootstrap:cloudflare不希望依赖 Cloudflare 时也可以通过 Docker 部署并使用 PostgreSQL 或 MySQL。生产环境上线前需要修改 Admin 密码、轮换 Master Key并用部署平台的 Secret 管理 Provider Key。统一 API Key 的意义不只是少配置几个环境变量。它是在客户端和供应商之间建立了一层稳定边界让 Provider、密钥、路由、预算和计费都可以独立演进。完整配置步骤请查看OctaFuse 快速开始OctaFuse 文档中心GitHub