桃子桃子快讯
返回首页
工具

Cloudflare 上部署的 LLM API 网关:按预算与 IP 限制客户端调用

一款托管在 Cloudflare Workers 上的 LLM API 网关,通过不透明令牌隔离真实密钥,并按提供商、用…

2026.07.20 · 周一4 分钟阅读

工具概述

近日在 Hacker News 上出现了一款部署在 Cloudflare Workers 上的 LLM API 网关项目。它的核心目标有两个:一是将真实的上游 API 密钥完全藏在服务端,客户端只持有不透明的代理令牌;二是为这些代理令牌提供细粒度的预算与权限控制,方便开发者在团队或代理场景下管理多家 LLM 厂商的调用。

目前该网关支持 DeepSeek、OpenAI 与 Anthropic 三家上游提供商,并已在 OpenCode、Claude Code CLI、Codex CLI 等几款主流 AI 编程工具中验证可用。

令牌机制:细粒度但非严格

每个不透明令牌在创建时绑定以下参数:

  • 单一提供商:令牌只对创建时指定的上游生效,例如 deepseekopenaianthropic
  • 过期时间:以毫秒时间戳表示,过期后令牌立即失效。
  • IP 白名单:基于 Cloudflare 边缘设置的 CF-Connecting-IP 字段校验,无法被客户端伪造。
  • 花费预算:以美元为单位的上限,超过后该令牌后续请求将被拒绝。

发起请求时,网关在 D1 数据库中查找该令牌,校验有效期、IP 与预算后,注入真实密钥并转发到上游。

不过项目作者也明确指出两项已知限制:

  • 预算非严格实时:仅在请求开始时检查累计花费是否超限,单次大请求或并发请求仍可能导致超支。
  • 计费非 100% 可靠:客户端或上游异常中断、或网关未能成功持久化成本时,请求仍会被服务但不会被记账。

支持的客户端与部署方式

提供商端点鉴权方式已验证客户端
DeepSeek/deepseek/chat/completionsAPI keyOpenCode
DeepSeek/deepseek/v1/messagesAPI keyClaude Code CLI
OpenAI/openai/v1/responsesAPI keyOpenCode、Codex CLI
Anthropic/anthropic/v1/messagesAPI key 或 OAuth 令牌Claude Code CLI

目前仅支持静态凭证(长期 API key 或 claude setup-token 类长生命周期 access token),尚不支持 refresh-token + access-token 模式,主要原因是相关刷新接口并非公开稳定 API,且无法从不断轮换的 access token 中稳定识别用户。

部署方面,需在 Cloudflare 控制台创建 Worker 与 D1 数据库,执行 db_init.sql 初始化表结构,并通过 Wrangler 完成构建与发布。构建需要 Rust 工具链及 wasm32-unknown-unknown 目标。

使用示例

以 OpenCode 调用 DeepSeek 与 OpenAI 为例,先在 Worker 中配置 DEEPSEEK_API_KEYOPENAI_API_KEY 等密钥,随后在 ~/.config/opencode/opencode.json 中将 baseURL 指向网关域名;最后将创建的测试令牌填入 ~/.local/share/opencode/auth.json 即可,重启 OpenCode 后生效。

适用场景与局限

对于需要在多团队或多项目间共享 LLM 密钥、又希望对每个使用方设置用量上限与 IP 限制的开发者,这类网关提供了一种轻量自托管方案。但其「预算非严格」与「计费可能丢失」的限制,意味着它更适合作为内部试用或低风险场景下的成本隔离工具,而非严格的财务级计量系统。

信源