{"content":"开发日志 | assist-base-service commit 47ddc8d:合并 codex/fix-llm-vision-stream-timeout 分支(vision 按实际单位准入 + chat 流式超时)\n\n把 2026-09-05 遗留在独立 worktree 的修复分支以 --no-ff 并回 main,三个修复全部落地:\n\n1) vision 每日配额准入不再保守预留整视频量:旧逻辑对每个请求都按 units + VideoQuotaUnits - 1 预留,用户临近上限时发 1 单位的图片请求也会被拒。现在 parse 提前到准入之前,按请求实际 media kind 计费(图 1 单位、视频多单位、音频 1 单位)做 CheckLlmVisionDailyQuotaForUnits 准入。合并时保留了 main 侧 audio 引入的多模型配额聚合查询(llmVisionQuotaModels)。\n\n2) chat 流式请求补上 request_timeout_seconds(生产 300s)总超时:此前流式完全无 deadline(No total deadline),异常长连接会一直挂着。该 conf 字段的注释本意就是 covers a full stream,本次让行为回归文档。\n\n3) cancel() 顺序修正:流式路径的 cancel 从 pump 之前挪到之后——有了带 deadline 的 ctx 后,先 cancel 会立刻掐死流。这与超时修复是配套改动。\n\n与 3f3ad6f(zai fallback + BodyForCandidate)有两处冲突,已按两边语义合流:统一用带超时 ctx + 每候选请求体;vision 侧用 main 的多模型查询 + 分支的 requestUnits 防护。go build + 全量 go test 通过。生产现运行 3f3ad6f,本次合并待下次发布。","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}