不用养服务器:在 Cloudflare Workers 上部署 OctaFuse
发布于
独立开发者和小团队通常同时购买多个 Coding Plan、Token Plan,也会接入官方模型、聚合平台和自托管服务。每个上游都有自己的基础地址(Base URL)、API 密钥(API Key)、额度与价格,客户端越多,切换和维护就越麻烦。
自托管 AI 网关可以把这些资源收敛为一个入口:
- 上游基础地址与 API 密钥只在网关中集中维护。
- Cursor、CLI、脚本和业务应用统一使用网关地址(Gateway URL)与用户 API 密钥。
- 自研产品可以复用用户、API 密钥、预算、计费、日志和审计能力。
- 多个供应商(Provider)通过
priority、策略与权重完成分流和故障转移。
OctaFuse 默认支持部署到 Cloudflare Workers + D1,不必长期维护一台服务器,适合个人项目、原型和中小流量场景。
部署后的结构
Section titled “部署后的结构”AI Client │ 用户 API Key ▼Proxy Worker ───┐ ├── 共享 D1 数据库Admin Worker ───┘ ▲ │ 浏览器登录 / MASTER_KEY运维人员代理服务(Proxy)负责模型与工具请求,管理后台(Admin)提供配置和运营控制面。两个 Worker 独立部署,但必须绑定同一个 D1 数据库。
从零到可调用的主流程
Section titled “从零到可调用的主流程”完整部署可以拆成六个阶段:
- 准备 Cloudflare 账号、Git、Node.js 与 npm。
- 克隆仓库并通过 Wrangler 登录 Cloudflare。
- 使用引导脚本(bootstrap)创建 D1、Proxy Worker 与 Admin Worker。
- 登录管理后台,立即轮换开发占位的主密钥(Master Key)。
- 配置供应商、模型(Model)与路由(Route),创建用户及用户 API 密钥。
- 调用
/v1/models或/v1/chat/completions完成首次验证。
仓库提供交互式引导脚本,首次部署时只需规划两个名称:本地实例名和 Cloudflare 资源前缀。脚本会创建数据库、生成 Worker 配置、执行迁移、部署代理服务 / 管理后台,并设置管理后台登录密钥(Secret)。
部署成功不等于已经可以调用模型
Section titled “部署成功不等于已经可以调用模型”新数据库尚未包含你的供应商凭证和路由,因此公开模型目录返回空数组是正常现象。需要依次完成:
1. 供应商
Section titled “1. 供应商”在管理后台导入或创建上游供应商,确认端点,填写真实 API 密钥并启用。
导入内置模型或手动创建,检查模型 ID、输入输出模态与计价配置。
把模型与供应商连接起来,填写上游模型名、协议、路由组、priority 和 weight,并启用路由。
4. 用户 API 密钥
Section titled “4. 用户 API 密钥”创建用户,设置预算周期与额度,再为用户签发 API 密钥。客户端调用代理服务时使用用户 API 密钥,而不是管理 API 的主密钥。
三类凭证不要混用
Section titled “三类凭证不要混用”| 凭证 | 用途 | 建议存储位置 |
|---|---|---|
ADMIN_PASSWORD | 登录管理后台网页 | Cloudflare Worker Secret |
MASTER_KEY | 调用 /api/admin/* | 服务端安全环境变量 / D1 配置 |
| 用户 API 密钥 | 调用代理服务 /v1/* | 用户或客户端密钥存储 |
首次部署后,应立即把公开的开发占位主密钥替换为强随机值。不要把主密钥放入浏览器前端、公开仓库、截图或 CI 日志。
为什么这条路径适合独立开发者
Section titled “为什么这条路径适合独立开发者”- 无需单独购买和维护服务器。
- 代理服务、管理后台与数据库处于同一 Cloudflare 运行环境。
- 可以从
workers.dev免费域名开始,验证后再绑定自定义域名。 - 一套网关可以同时服务个人客户端和自研产品。
- 上游切换、预算和计费逻辑不再散落在每个业务项目里。
当流量规模、合规要求或数据库需求发生变化时,OctaFuse 也支持 Docker + PostgreSQL / MySQL 部署,不需要改变客户端的统一接入方式。
进一步了解 OctaFuse 或查看源码:
如果 OctaFuse 对你的项目有帮助,欢迎在 GitHub 上点一个 Star。你的关注和反馈,会帮助我们继续完善部署流程与自托管体验。