跳转到内容

不用养服务器:在 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,不必长期维护一台服务器,适合个人项目、原型和中小流量场景。

AI Client
│ 用户 API Key
Proxy Worker ───┐
├── 共享 D1 数据库
Admin Worker ───┘
│ 浏览器登录 / MASTER_KEY
运维人员

代理服务(Proxy)负责模型与工具请求,管理后台(Admin)提供配置和运营控制面。两个 Worker 独立部署,但必须绑定同一个 D1 数据库。

完整部署可以拆成六个阶段:

  1. 准备 Cloudflare 账号、Git、Node.js 与 npm。
  2. 克隆仓库并通过 Wrangler 登录 Cloudflare。
  3. 使用引导脚本(bootstrap)创建 D1、Proxy Worker 与 Admin Worker。
  4. 登录管理后台,立即轮换开发占位的主密钥(Master Key)。
  5. 配置供应商、模型(Model)与路由(Route),创建用户及用户 API 密钥。
  6. 调用 /v1/models/v1/chat/completions 完成首次验证。

仓库提供交互式引导脚本,首次部署时只需规划两个名称:本地实例名和 Cloudflare 资源前缀。脚本会创建数据库、生成 Worker 配置、执行迁移、部署代理服务 / 管理后台,并设置管理后台登录密钥(Secret)。

部署成功不等于已经可以调用模型

Section titled “部署成功不等于已经可以调用模型”

新数据库尚未包含你的供应商凭证和路由,因此公开模型目录返回空数组是正常现象。需要依次完成:

在管理后台导入或创建上游供应商,确认端点,填写真实 API 密钥并启用。

导入内置模型或手动创建,检查模型 ID、输入输出模态与计价配置。

把模型与供应商连接起来,填写上游模型名、协议、路由组、priorityweight,并启用路由。

创建用户,设置预算周期与额度,再为用户签发 API 密钥。客户端调用代理服务时使用用户 API 密钥,而不是管理 API 的主密钥。

凭证用途建议存储位置
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。你的关注和反馈,会帮助我们继续完善部署流程与自托管体验。