AI 模型统一管理平台——CF Worker 搭建

AI 模型统一管理平台——CF Worker 搭建

基于 Cloudflare Workers + Hono 的 AI 提供商 API 代理网关,统一 /v1 接口转发,支持多 Key 轮询、健康检查与自动故障转移。

功能与特性

  • 统一 API 接口 — 所有 AI 提供商通过 https://你的域名/v1 访问,兼容 OpenAI / Anthropic 协议
  • 多 Key 轮询 + 健康检查 — 每个提供商可配置多个 API Key,请求随机打乱;失败 Key 自动降权,连续失败 5 次后进入冷却
  • Key 自动恢复 — 降权 Key 冷却 5 分钟后自动获得一次试用机会,成功则恢复权重,失败则重新冷却
  • OpenCode 默认接入 — 默认启用 4 个免费模型,无需配置上游 API Key
  • OpenCode 自动故障转移 — 配置 Key 时优先官方 API,失败后使用三个公共镜像;无 Key 时直接使用公共镜像
  • 多提供商管理 — 默认仅创建 OpenCode,支持自定义添加其他 OpenAI / Anthropic 兼容提供商
  • 两级启用控制 — 提供商级别 + 模型级别的启用/禁用
  • 转发 Key 认证 — 生成 sk_cf_* 格式的 API Key,支持有效期管理
  • 模型连接测试 — 管理后台手动测试模型是否可连接(通过服务端代理,无跨域限制)
  • 管理后台 — 卡片式 UI,移动端自适应,无需前端构建

技术栈

  • 运行时:Cloudflare Workers
  • 框架Hono v4
  • 存储:Cloudflare Workers KV
  • 语言:TypeScript

本地开发

1
2
3
4
5
6
7
8
9
10
11
12
# 克隆项目
git clone <你的仓库地址>
cd ai-gateway
npm install

# 创建 .dev.vars(已 .gitignore)
echo ADMIN_USERNAME=admin >> .dev.vars
echo ADMIN_PASSWORD=your-password >> .dev.vars
echo OPENCODE_MIRRORS_URL=https://opencode.ai.cmliussss.net/zen/v1 >> .dev.vars

# 启动本地开发服务器
npm run dev

部署

方式一:手动部署

  1. 在 Cloudflare Dashboard → Workers & Pages → 点击 创建Workers连接到 Git
  2. 选择你的 GitHub 仓库,在构建设置中使用默认选项,点击保存并部署
  3. Cloudflare Pages 会自动构建并部署 Worker,同时自动创建 KV 命名空间并绑定
  4. 部署完成后,进入 Worker 页面 → SettingsVariables,添加:
    • ADMIN_USERNAME — 管理后台登录用户名
    • ADMIN_PASSWORD — 管理后台登录密码
    • OPENCODE_MIRRORS_URL — OpenCode 镜像地址列表,每行一个 URL 或用 , 分隔。填写以下三个地址:
1
2
3
https://opencode.ai.cmliussss.net/zen/v1
https://opencode.fastly.cmliussss.net/zen/v1
https://opencode.gcore.cmliussss.net/zen/v1

以上镜像地址来源于 CM 大佬,在此表示感谢!
也可按仓库中的 opencode-cdn.md 文档自建镜像

  • 建议:绑定一个自定义域名

方式二:GitHub Actions 自动部署

  1. Fork 或推送代码到你的 GitHub 仓库

  2. 在 GitHub 仓库 Settings → Secrets and variablesActions 中配置:

    • SecretsCF_API_TOKEN CF_ACCOUNT_ID(Cloudflare API Token,权限需包含 Workers 编辑)
    • VariablesADMIN_USERNAMEADMIN_PASSWORDOPENCODE_MIRRORS_URL(可选,追加额外镜像地址,每行一个,默认已包含上述三个镜像地址)
  3. 在 GitHub 仓库 Actions 页面手动触发 Deploy to Cloudflare Workers 工作流

工作流会在 CI 中自动生成 wrangler.toml(含 KV 绑定和 ADMIN 凭据),无需手动配置 Dashboard。

使用方法

  • API BASE URLhttps://你的域名/v1/
  • API KEY:在管理后台手动生成,格式为:sk_cf_<KEY>
  • 模型 ID:提供商 ID/模型 ID,提供商 ID 在设置中自定义,如:
    • deepseek/deepseek-v4/flash
    • openai/gpt-5.5
    • anthropic/claude-opus-4-8
  • OpenCode 默认不需要上游 Key。若在管理后台为 OpenCode 添加 Key,请求会先访问后台配置的官方 API 地址;未成功时再从随机起点依次尝试镜像地址,并使用内置的 Bearer public。镜像地址列表通过环境变量 OPENCODE_MIRRORS_URL 配置(多行,每行一个 URL),部署脚本默认写入三个公共镜像。用户可在 GitHub Actions Variables 中设置同名变量追加额外地址(全局去重)。已有 KV 数据不会被删除,升级时仅在缺少 OpenCode 的情况下补充该默认提供商。

首页预览

  • 点击右上角 管理 按钮登录后台,设置提供商和模型

image.png

管理后台

  • 点击 添加按钮可添加提供商模型
  • 点击 生成 按钮可生成 API KEY

image.png

  • 填入提供商的 API 地址API KEY,点击 KEY 右侧的测试按钮,可测试 KEY 可用性,并在右侧 显示该提供商的所有可用模型
  • 点击 模型右侧+ 号,可一键将模型添加到左侧的模型 ID 输入框中,也可以手动填写
  • 可以添加 多个 API KEY,用于多 key 轮询负载均衡,对于已失效的 key 自动降权,不参与轮询

image.png

#AI #cloudflare #面板