mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-19 16:17:56 +00:00
- 原生 /v1beta、Claude 兼容 /v1/messages、Chat 兼容三条流式路径:读取中断由客户端 断开引起(context.Canceled 或请求 context 已取消),且已观测到 token 用量或已回吐 图片时,以已收集结果收尾并返回成功,handler 照常提交 usage;ForwardResult 标记 ClientDisconnect - 读到结束分片后断开按完整用量计费;中途断开按断开前最后一份 usageMetadata 计费, 断开前无任何用量时仍不计费 - 图片数:收到 finishReason 前断开只计已送达的图片(原生按已观测 inlineData,Claude/ Chat 兼容流不转发图片计 0);收到 finishReason 后断开与正常完成同口径 - Chat 兼容流写失败断开的既有返回同样带上断开标记与结束状态 - 原生路径读错误时不处理未以换行结尾的残行,避免截断的 usageMetadata 覆盖已收集用量 - 上游 context 不解绑:Gemini 兼容链路没有流空闲超时,解绑后上游挂起会让读取无限期阻塞 - 客户端未断开时的上游读错误、非流式客户端断开、Antigravity 非流式转换的读错误 行为不变