文档

文本用量与计费迁入

保留 Core/Edge 后的首批源码迁入、离线差分与未完成边界

归档内容,只读,不代表现行方案。现行文档见文档总览。

2026-09-20,用户“确认按照你的逻辑来执行”,已将路线复盘确认为实施基线。已完成 NEXT-05 内的离线计算器、Edge 证据采集、Core 接收结算与 Edge 新模式完整链切片,并推进首批真实 uumi 验收;整体 NEXT-05、生产计费和客户迁移未完成。

已实现

Core 迁入固定 new-api 385d2dfd10d821b25c8a6766bd16eea248cb1652 的完整 usage DTO/合并、checked quota 舍入和常规纯文本倍率计算分支,保留 AGPL 许可证、文件哈希和可重复生成检查。新增本地 text-billing-replay 命令,无网关调用或钱包写入。

迁入层保留原始 billing_usage 的语义,区分 Claude 普通输入与缓存读写、5m/1h 缓存,以及 Gemini candidates/thoughts;不按模型名猜口径。OceanWay 外层拒绝估算、缺失终态/计数、歧义、非法数值、重复 JSON 键、不支持的计量维度与溢出金额,不转成零扣费。

验证证据

17 组离线夹具通过相同输入、相同价格对照:临时 Go overlay 在只读参考的 service 包执行原始 calculateTextQuotaSummary,与 Core 新计算器逐一比较完整 canonical usage 和 quota。包括 Chat、Responses、Claude 原生及带原始计量的转换示例、Gemini 思考 token、缓存读写/重叠/TTL、客户不同倍率与舍入。

这是固定源码的差分验证,不是 17 次真实模型调用,也不证明运行中 uumi 每种路径都有完整字段。Core 上游迁入测试、自有拒绝/冻结价格/溢出/命令测试及全仓 race、vet、build 作为本轮检查;具体结果和文件摘要存放本机 coordination/handoffs/TEXT-USAGE-CALCULATOR/。

Edge 与 Contracts 后续交付

用户要求“下一步工作”后,已完成 text-usage-evidence-v1 有序证据采集及私有归档,Contracts 增加 0.4.1-usage-design.1 proposal。Edge 保存 usage 原文片段、协议终态、uumi 请求 ID 与 Core operation/attempt/execution 绑定;不在 Edge 叠加 token 或计算价格。Messages 的开头输入/缓存与后续输出分段保存,交 Core 按原始语义合并。

8 组 Chat/Responses/Messages/Gemini 普通/SSE 本地 TCP 样本完成采集、保存、重读与独立 Contracts 校验。重复 JSON 字段、缺终态、断流、超限、并发保存/冲突、篡改与权限拒绝有对应回归。Edge race/vet/build、来源检查以及 Contracts 43 项测试与构建通过,证据位于 coordination/handoffs/TEXT-USAGE-EVIDENCE/。

ready_for_core_validation 只是待 Core 校验的候选,不是收费完成。新 -capture-usage-evidence 仅给隔离 uumi-log-v1 入口附加私有归档;其旧计费仍查日志,未实现新的正常零日志查询结算。生产入口、uumi 代码和客户账本均未改变,本批没有收费调用。

Core 接收与唯一钱包结算

本批新增显式 response-usage-v1 和服务鉴权的 POST /internal/v1/billing/operations/{operation_id}/usage-evidence。Core 验证原始归档摘要、操作/执行/网关绑定、模型/路径/协议与终态,合并最终用量,再用准入时冻结的计算参数求 quota,以冻结客户销售费率换算积分,接既有唯一钱包事务。旧 capture-chat-v1/uumi-log-v1 保留,新模式不接受旧 quantities 上报绕过证据校验。

Chat/Responses/Gemini 不累加每个累计快照;Messages 保留 start 输入/缓存与 delta 输出,明确的零值覆盖旧值。不完整 carrier 不用默认零补齐。缺少可信用量或未知维度进入待核对。相同证据重放返回当前状态,同网关请求不能跨操作重复扣费;内部证据和计算器参数不进入本人账务读投影。

两层规则同时冻结: 先按固定 new-api 规则得到已舍入 quota,再按客户费率 ceil(quota × price_microcredits / unit_size) 换为 microcredits。换算版本 local-text-quota-to-microcredit-v1;客户折扣在第二层应用,不重复计入组倍率。它与“先改变 new-api 组倍率再舍入”可能有舍入差异。RMB 充值比例与正式售价未因此确认。

8 组 Edge 归档夹具经本地 TCP 进入 Core 并完成结算,覆盖四协议普通/SSE、不同客户价、重复上报/结算、改价与服务重建、余额不足且保护其他预留、待核对恢复、事件/审计失败回滚。Contracts 增加独立 0.4.2-text-design.1 proposal,用 Go 实际输出独立核对绑定和整数金额。完整检查和摘要见 coordination/handoffs/TEXT-USAGE-CORE/。这些是本地合成请求,本批没有付费调用、修改 uumi 或生产客户账本。

Edge 新模式完整链

cmd/billing-edge -enable-text-usage-billing 已接通响应证据模式,覆盖四协议,保持请求/响应原文及 uumi 请求 ID。Edge 在 Core 准入与一次发送授权后调用网关,先将用量证据私有持久化,再交 Core 计算与结算。新模式不走旧日志计费分支;旧模式保持兼容,可选 API 文档也按新模式展示实际支持的路径。

真实独立 Core/Edge 进程与本地合成网关完成 29 项完整链检查:16 组双客户四协议普通/SSE 的原文、费率与幂等验证,4 类权限/额度拒绝,5 类回包丢失或 Core 不可用恢复,2 类缺 usage/断流保留,2 个客户单一流水总额核对。共 22 次本地合成模型执行,网关日志查询为零。进程重启后重交证据无额外模型执行或重复扣费;未付费调用 uumi。

billing-reconcile -usage-evidence <私有归档> 只访问 Core,可恢复证据提交/结算失败或回包丢失。Core 的 pending 原样保留;证据落盘失败则拒绝提交扣费。绑定/摘要/最终事件不匹配和归档失败有 Go 回归。此切片当时仅支持单文件恢复;后续自动恢复 Worker已交付同机扫描、退避、领取和状态计数,外部告警尚未接入。归档前崩溃仍可能缺证据,不能靠重发模型恢复。

Contracts 保存完整链的真实 Core 输出并独立校验,报告和检查摘要见 coordination/handoffs/TEXT-USAGE-EDGE/。本批不发布 SDK、不部署、不改 uumi 或生产账本。

真实 uumi 首批验收

完成 8 次隔离真实调用:7 次结算、1 次待核对。成功样本包括 Claude Chat 普通/SSE、Messages 普通/SSE、原生 5m 缓存创建/读取,以及 GPT Responses 普通请求。成功 quota 与 uumi 账单逐笔一致:4 笔各 16、缓存创建 4018、缓存读取 336、Responses 15,共 4433 quota。测试 Key 用量与消费日志合计一致;这不是人民币金额,也没有关闭旧 Key 的 4199 quota 差额。

Core 调用前冻结 uumi 模型参数与 default 组倍率 1,客户测试费率分别为 1/1、1/2。正常链路 0 次网关日志查询,结束后单独做只读账单审计。重启 Core 后仅重交全部 8 份证据,7 笔保持原结算、1 笔继续待核对;4 个隔离钱包与 7 条唯一结算流水一致,无重复模型调用或扣费。

Responses SSE 返回 HTTP 200 后出现 upstream_error,观察代理发生 IncompleteRead,没有完整 usage,Core 保留 50 microcredits 预留、实际扣费 0;uumi 日志 quota 为 0。未将这条日志自动转成退款依据。此后停止收费测试,Gemini 本批未执行。Messages SSE 用量有效,但终态后的尾部字节未完整透传,本批不宣称全协议字节完全一致。

本轮已补 Core 真实回包兼容:可选 input_tokens_details:null、Responses 输出明细别名,以及已观察的标准服务/全局地区/按需流量元数据。非零 Messages thinking、其他服务等级、地区、流量类型及未知计费字段继续待核对。7 份历史真实回包回归、17 份固定源差分及 29 项本地合成完整链检查通过;历史回放和合成调用不算本次收费调用。

测试 Key 174 已禁用,网关 Key 文件删除,Core/Edge/隧道均停止;保留私有隔离数据库供 pending 调查。uumi 代码和生产客户账本未改,未部署。报告及原始脱敏证据见本机 coordination/handoffs/TEXT-USAGE-LIVE/。

Responses 修复与第二批真实验收

新增有限枚举的流式诊断后,定位并修复两处字段重名缺陷:Responses 错误的字符串 message 被误当成 Claude 对象;Responses 文本增量的字符串 delta 被误当成 Claude delta 对象。修复按协议解析,不改 Core 公式或可信证据要求。

本批 5 次真实请求最终均结算,逐笔与 uumi 一致,共 6453 quota:Responses SSE 15,Gemini 普通/SSE 各 1,OpenAI→Claude 两次显式缓存请求各 3218。Responses 已收到 9 个事件、completed 和完整用量,初次被采集器误标 pending;使用当时保存、SHA256 与观察到的网关响应一致的完整原回包,经修复后的解析器重新采集,相同终态用量与执行绑定另存新证据,再恢复结算。没有重发模型、人工填入用量或覆盖旧证据。Core 重启与重复上报后,6 个隔离钱包共 5 条唯一结算流水一致。

缓存能力仍有限制: 本次 OpenAI→Claude 两次都返回普通输入 6415、输出 4、缓存读写 0。计费与 uumi 一致,但显式 cache_control 没有产生缓存;固定参考转换代码构造 system text 时也未携带该字段,这与观察相符,但不能据此认定所有运行镜像/渠道行为。明确需要原生缓存语义时,当前已有验收证据的是 Messages;不在 Edge 偷改请求。正推理 token 本批仍未覆盖。

正常链路不查网关日志,测试后独立只读审计。Key 175 已禁用、网关 Key 文件删除、测试进程停止;未改 uumi 代码、生产客户账本或部署。首批真正中断且缺证据的 Responses 请求仍保持 pending。报告及修复前后证据见 coordination/handoffs/TEXT-STREAM-ACCEPTANCE/。

非零推理与当前能力快照

后续已完成 GPT 5.4 Mini 的 Responses 普通/SSE 非零推理实测:推理 26/28 token,包含在输出 34/36 中,Core 与 uumi 分别为 85/90 quota;两笔均由修复后的完整链直接结算,重启重交未重复扣费。计算公式未改。各模型/协议/缓存/推理的已验收范围与限制集中在文本模型能力验收,原始证据为 coordination/handoffs/TEXT-REASONING-ACCEPTANCE/。

自动证据恢复增量

同机 Worker 已通过 34 项本地完整链检查,验证持久退避、强制终止释放领取、结算回包丢失后的唯一扣费和缺证据隔离。恢复未调用模型或网关日志;不计为真实 uumi 新样本。详细运行边界、证据和下一检查点见用量证据自动恢复。

有界准入与用户验收

已补按模型冻结限制、保守预留、请求输出上限和超限待核对。48 项完整链及 7 项客户操作通过,测试环境保持运行,操作步骤见Core/Edge 本地验收。保证客户自动扣款不越过原预留,不等于已验证供应商成本硬上界。

明确未完成

项目当前边界
运行主链Edge/Core 新 profile 的本地完整链已验证零日志查询;生产入口未切换
客户扣费隔离钱包已接入,显式 quota→microcredits 换算;正式商业规则与生产收费未验收
Edge/Contracts新模式客户端、持久交接和同机自动恢复已验证;跨机/Core 队列与人工处置待做
现网两批成功结算分别为 7 笔和 5 笔;Responses SSE 原回包恢复、Gemini 已验收;首批真中断保持 pending;转换缓存仍有限制;非零推理目前只验收 GPT Responses 代表样本
规则覆盖工具、多模态、按次、表达式/阶梯、请求倍率、OpenRouter cost 反推等尚未接入;Responses output_tokens_details 已适配,非零 Messages thinking 与其他未知维度继续待核对
异常与容量缺证据继续 pending;完整 Worker、系统恢复矩阵与目标并发未验收,race 不等于容量测试

上一轮协议与缓存验证的缓存过期观察与测试账户 quota 差额未被本轮本地测试消除。

下一项

按文本联调计划进入自动账务证据恢复 Worker:基于已保存完整证据重交 Core,补幂等、退避、并发领取、可观测与待核对隔离,不重发模型或伪造用量。模型能力以当前验收矩阵为边界;转换缓存、其他模型的推理、历史真中断、Messages 尾部和旧 Key 差额仍独立追踪。NEXT-05 保持进行中,生产商业政策和容量另行验收。

On this page