1Cloudflare 服务映射
| 服务 | 在引擎里的职责 | 里程碑 |
|---|---|---|
| Workers | 引擎主体:API 端点、路由、鉴权、记账、缓存逻辑(Hono) | M0 |
| D1 | 配置与记账:api_keys、products、channels、models、routes、requests、quotas | M0/M1 |
| KV | 响应缓存、模型/配置热缓存、软计数 | M2 |
| Durable Objects | 强一致令牌桶限流(每 key 一个 DO 实例) | M2 |
| Queues | Batch 异步任务队列(生产者=提交端点,消费者=批处理 Worker) | M3 |
| Cloudflare AI Gateway | 前置上游调用:缓存/重试/速率/可观测/成本日志(免费) | M2 |
| Workers AI | 一个内置渠道(免费层/小模型/嵌入) | M2 |
| Secrets(wrangler secret / Secrets Store) | 上游真实 key、签名密钥;不入仓、不下发 | M0 |
| Analytics Engine | 用量/成本/延迟/命中率指标写入;看板与告警 | M3 |
| Cron Triggers | 配额重置、对账、缓存清理等定时任务 | M3 |
为何纯 Cloudflare 可行、何时需 VPS:见 05。MVP 不需要 VPS。
2组件与数据流
内部产品后端 (OpenAI SDK, baseURL=gw.internal/v1, Bearer sk-内部)
│ HTTPS
▼
┌─────────────────────────────────────────────────────────────┐
│ Gateway Worker (Hono) │
│ 1. Auth 中间件 → 校验内部 key(D1/KV 缓存) │
│ 2. RateLimit 中间件 → 令牌桶(Durable Object,每 key) │
│ 3. 解析 + 规范化 → 算 cacheKey │
│ 4. Cache 查 (KV) → 命中即返回 (x-gw-cache: hit, cost=0) │
│ 5. Router → 逻辑模型→渠道候选列表(分层/权重) │
│ 6. Dispatch → 调上游(经 AI Gateway);429/5xx 回退 │
│ 7. 流式透传 / 聚合 → 返回 OpenAI 格式 │
│ 8. 记账 (D1) + 指标 (Analytics Engine) + 写缓存(KV) │
└─────────────────────────────────────────────────────────────┘
│ 经 Cloudflare AI Gateway(缓存/重试/日志)
▼
┌──────────┬───────────┬───────────┬───────────┐
▼ ▼ ▼ ▼
OpenRouter DeepSeek Groq Workers AI 官方免费层
(聚合/回退) (直采便宜) (快/小模型) (边缘/嵌入) (低SLA兜底)
Batch 路径(M3):提交端点 → Queues → 批处理 Worker → 厂商Batch价 → 结果存 D1/R2
✗ 不接入:逆向接口 / 养号号池 / 住宅代理(白名单护栏,见 20 FR-14)
3引擎内部模块(逻辑分层)
🚪接入层 (http)
Hono 路由 + 中间件(auth/ratelimit/requestId/error)。OpenAI 兼容 DTO。
🧭路由层 (router)
逻辑模型→渠道候选;分层/权重/意图选择;回退编排。详见 23。
🔌渠道适配层 (providers)
每个上游一个 adapter:把统一请求转成厂商格式、解析 usage、归一错误码。
🧠缓存层 (cache)
规范化哈希、KV 读写、TTL、命中标记。
💵计费层 (billing)
按 usage×单价×倍率算 cost;写 requests;配额扣减。详见 23。
⚙️配置层 (config)
渠道/模型/路由/定价;D1 + 可版本化文件;热加载 + 白名单护栏。
这些模块对应 24 的 packages/core 与 workers/gateway/src 目录划分。
4环境拓扑(dev / preview / prod)
| 环境 | 用途 | 资源命名 | 上游 |
|---|---|---|---|
| dev(本地) | Miniflare/wrangler dev + 本地 D1 | aigw-dev-* | OpenRouter 测试 key / mock |
| preview(PR) | 每 PR 自动预览部署 | aigw-preview-* | 受限额度真实 key |
| prod | 生产 | aigw-prod-* | 全量渠道 |
绑定与命名细节见 25。每环境独立 D1/KV/Queues 实例,互不串数据。
5安全模型
6可观测
- 指标(Analytics Engine):QPS、P50/P95 延迟、错误率、缓存命中率、各渠道成功率、按产品/模型的 token 与成本。
- 日志:结构化(request id、产品、逻辑模型、实际渠道、是否回退/命中、usage、cost);可 Logpush。
- 告警:错误率/上游失败率突增、单 key 用量异常、配额接近上限、成本日环比异常。
- 追踪:每请求
x-request-id贯穿,响应头回带x-gw-channel/x-gw-cache便于排查。