tzt
5b04276fc8
feat(proxy): T-P4 路由端到端(M1:计费代理跑通)
- routes.py 主时序:auth(热缓存) -> 限流/并发槽 -> 413 -> 池条目解析 ->
try_hold 预扣(字符/3 + min(max_tokens,4096) 宁可高估)-> 上游流式 tee
-> usage 归一 -> compute -> settle(actual 回补) -> 流水;异常路径:
UpstreamError 全额 void / UpstreamAborted 按已收 usage 结算 status=aborted
- install_error_handlers:ProxyError 家族 -> §5.3 错误码
(401/402/403/413/429/502,401 带 WWW-Authenticate)
- 管理面:students/topup/keys 签发/keys-revoke(X-Admin-Key 或 loopback)
- SSE 同构:chunk 补齐 object/created/id/model(OpenAI SDK 兼容形状),
usage chunk 按客户端要求过滤
- 修复:补回 T-P4 重写时丢失的 /proxy/v1/models
- 测试 +8(非流式全程含 2550/1491 黄金账目/流式/402/401/413/502 void/
httpx 手写 OpenAI SDK 合规断言含 chunk 形状+usage 过滤+[DONE]),全量 362 passed
2026-09-05 09:35:12 +08:00
..
2026-09-05 08:29:20 +08:00
2026-08-30 21:00:52 +08:00
2026-08-12 10:40:04 +08:00
2026-08-30 21:00:52 +08:00
2026-08-30 21:08:45 +08:00
2026-09-01 23:12:26 +08:00
2026-09-02 00:02:24 +08:00
2026-08-30 21:06:34 +08:00
2026-08-30 21:20:00 +08:00
2026-09-01 08:31:47 +08:00
2026-09-01 08:31:47 +08:00
2026-09-05 08:28:25 +08:00
2026-09-05 08:28:25 +08:00
2026-09-05 08:28:25 +08:00
2026-09-01 11:45:33 +08:00
2026-08-30 21:00:52 +08:00
2026-09-05 08:28:25 +08:00
2026-09-05 08:28:25 +08:00
2026-09-05 08:28:25 +08:00
2026-08-30 21:00:52 +08:00
2026-09-01 08:51:52 +08:00
2026-09-05 08:28:25 +08:00
2026-08-30 21:12:03 +08:00
2026-09-05 08:28:25 +08:00
2026-08-30 21:16:02 +08:00
2026-09-05 09:05:59 +08:00
2026-09-05 09:05:59 +08:00
2026-09-05 09:18:51 +08:00
2026-09-05 09:35:12 +08:00
2026-09-05 08:35:31 +08:00
2026-09-05 09:14:31 +08:00
2026-08-30 21:12:52 +08:00
2026-09-05 08:28:25 +08:00
2026-09-01 08:31:47 +08:00
2026-09-05 08:28:25 +08:00
2026-09-02 00:01:33 +08:00
2026-08-30 21:58:41 +08:00
2026-08-30 21:17:22 +08:00
2026-09-05 08:28:25 +08:00
2026-09-01 23:41:45 +08:00
2026-09-01 23:12:26 +08:00
2026-08-30 21:15:19 +08:00
2026-08-30 21:08:45 +08:00
2026-08-30 21:03:52 +08:00