模型网关仓库
oceanway-text-gateway 实施计划
UUMI/new-api 收敛为 OceanWay 私有文本模型基础设施的实施计划
仓库:Oceanway-AI/oceanway-text-gateway。现有运行基础:pic-vps 上的 UUMI/new-api 文本服务。
目标结果与当前基线
Text Gateway 把现有 UUMI/new-api 收敛为 OceanWay 私有文本模型基础设施,承载文本、Embedding、Rerank 等 Provider 协议适配、Channel/Supply、Provider Credential Version、健康容量、路由冻结、执行和不可变 Usage/Cost Evidence。
它与 Media Gateway 同级、互不级联。现有服务可继续作为迁移来源,但正式接入 Core 前必须完成私有边界、契约适配和唯一生产来源核对。
明确移除或禁止
- OceanWay 客户用户、Customer Group 和 Customer Session;
- DeveloperCredential、客户 API Key 与公开 API 认证;
- 公开模型广场、Surface Offering 和用户售价;
- Wallet、订阅、预算、产品 Run、规范 MeterEvent/ProviderCostFact 与正式 Asset;
- 产品仓或 API Edge 直接调用网关;
- Text Gateway 级联到 Media Gateway,或反向级联。
new-api 中与这些能力相关的现存功能只能作为上游运维实现细节关闭、隔离或删除,不能成为 OceanWay 客户事实源。
仓库里程碑
- TEXT-1 来源盘点:核对 UUMI/new-api Remote、分支、Worktree、部署来源、数据库、Secret、Channel 和在途任务。
- TEXT-2 私有化收口:关闭客户注册、用户分组、公开 Key、商城、用户价格和外部管理入口;建立 Workload-only Audience。
- TEXT-3 Gateway Contract:实现 Attempt、唯一 Dispatch Slot、Route Binding/Snapshot、Task 状态和安全错误映射。
- TEXT-4 Evidence:追加 ProviderUsageEvidence/ProviderCostEvidence、Availability、Current Read/Validate Receipt 和内容摘要。
- TEXT-5 Canary:只接一个 Organization、credits、Offering、Execution Target 与固定 Provider 路径。
- TEXT-6 扩展:在 canary 通过后按 Provider/能力逐项开放文本、Embedding、Rerank 和容量路由。
执行不变量
- Provider Side Effect 前原子创建唯一 Dispatch Slot 与 Route Binding;同一 Attempt 不换 Channel、Supply、Credential、Provider Model 或 Adapter。
- 需要换路时由 Core 创建新 Attempt;网关内部重试只允许完全相同路由且有供应商幂等/查询证据。
- 提交结果未知时保留 Attempt-bound 状态并查询/对账,不伪装失败或盲目重投。
- Gateway 只保存不可变 Provider Evidence 与 source ref;Metering 才能创建规范 MeterEvent/ProviderCostFact。
- 返回 Core 的对象使用固定 Contracts 四元组和摘要,不返回 Provider Secret 或完整私有 Payload。
验收与切换
- Workload JWT 的 Issuer、Audience、Subject、Purpose、Scope 与 Operation 全部逐项验证。
- 同 Operation 重放返回首次 Task/Receipt;同身份异摘要被隔离。
- 故障注入覆盖 Provider 已提交但响应丢失、Poll/Reconcile 竞态、凭据轮换、旧 Lease 和 Callback 乱序。
- 生产切换前冻结旧/新唯一 Writer、在途任务、渠道映射和回滚路径;旧部署不能继续接受同一范围的新任务。
- 网关数据库与 API 中不能出现 OceanWay 客户余额、用户售价、DeveloperCredential 或产品对象。
完整契约见调度、执行与模型网关池,计量边界见ADR-031。