Bablo 是面向多用户、多 API Key、多模型的生产级 AI Gateway:自研控制面,使用隔离的 CPA SDK adapter 作为 inference engine。
当前已完成架构规划、bootstrap、CPA adapter、PostgreSQL/Redis data layer、Web Session auth、API Key 与模型/Provider/价格目录 P0;推理数据面和 route/scheduler 尚未实现。
- 一个 API Key 通过
policy/entitlement -> model route访问多个模型,不绑定单一 Group 或 Provider; - PostgreSQL 是用户、授权、路由、价格、Usage、钱包、支付和审计的唯一业务事实源;
- Redis 只保存限流、并发租约、短期 affinity/cursor 等可重建运行时状态;
- CPA 只允许存在于
internal/inference/cpa,业务层使用 Bablo 自有领域类型; - 计费只依赖 immutable
UsageEvent和 append-onlyWallet Ledger; - Scheduler 先硬过滤,再使用确定性、可解释的选择策略并写入 Decision Log;
- 原始 Prompt 和响应正文默认不持久化。
当前核验的稳定版本为:
github.com/router-for-me/CLIProxyAPI/v7 v7.2.145
该版本的 module 要求 Go 1.26.0。CPA 版本、公开 SDK 包、源码核验结果和 docs/sdk-usage.md 漂移记录见 docs/upstream-compatibility.md。
- 产品范围与分期
- 总体架构
- 数据模型
- API Surface
- 安全模型
- CPA 兼容性
- 实施状态与验收顺序
- ADR:CPA SDK 边界
- ADR:PostgreSQL 事实源
- ADR:Usage/Ledger 计费
- ADR:模型路由与 Scheduler
- ADR:Web Session 认证
项目按 docs/implementation-status.md 中的阶段顺序推进。plan、bootstrap、CPA adapter、data layer、Web Session auth、API Key 与模型目录已完成;后续依次实现 Credential、路由、调度、推理数据面、Usage/账务,再完成可观测性、安全、测试、压测、部署、CI 和上线门禁。
下一阶段:/bablo-credentials。
没有真实外部凭据时不伪造 OAuth、支付或生产 E2E 结果。支付 Provider、外部 Credential、TLS/域名、备份恢复和回滚验证必须在发布门禁中提供真实证据;未验证能力保持 NO-GO。