Repository navigation
v3.7.4 版本发布
[3.7.4] · 2026-10-09 · 概览秒开 + Token 统计去重 + 网关投影与并发加固批
范围:自 [3.7.3] 以来的全部变更,核心为概览秒开与 Buddy 积分取数并发化、Token 统计跨会话去重、Responses→Chat 投影修复与账号池并发加固;实现细节、根因分析与过程记录见 git 提交历史。
性能优化
- 概览页切板块即显不再空等(PR #68):环境探测全面去子进程——exe 版本改 PE 直读(powershell 1.2s+ → ~2ms,进程内 (路径, mtime, 大小) 缓存命中 0.14ms)、进程运行态改 sysinfo 枚举(tasklist 301ms → 18.5ms,2s TTL 复用快照)、注册表兜底加 3s TTL(「未找到」同样缓存,手动指定路径仍实时判定);Buddy 积分取数账号间并发(≤4 路,整轮墙钟≈最慢单账号,单请求经代理链路 2s+ 不再串行叠加)+ 缓存过期先回旧值转后台刷新(stale-while-revalidate,在途去重),出网轮次带耗时埋点可从 app.log 直查。
- Buddy 积分取数健壮性(PR #68 评审):并发取数单账号 panic 时 catch_unwind 就地捕获、占位失败行,不再让整轮取数 Err;后台刷新线程 panic 导致 IN_FLIGHT 标记永久卡 true、刷新静默失效(恒回旧值),改 Drop 守卫异常路径也能复位。
修复加强
- Buddy Token 统计重复计算修复(显示总数虚高约 13.8%):CodeBuddy IDE 侧同一批请求会以新会话 id 重新登记到另一个 uid 的目录下(同 workspace、会话 id 不同),原去重只在单会话文件内生效——实测 609 个 request id 跨 uid 目录双份计入、多计约 17.1 亿 tokens。现扫描级按「实际计入的 request id」跨文件去重:整份重复整文件跳过、无重复走快路径、部分重复过滤后重解析(过滤结果与扫描顺序相关,不进增量缓存);缓存解析版本升级强制旧缓存重算一次。
- Responses→Chat 投影工具结果配对重写(issue #69):Codex 并行多图时,view_image 的图片超限提示以 developer 消息插在工具结果之间,旧实现按原序 1:1 映射打断 assistant.tool_calls 与 tool 消息的连续配对,上游返回 400
11148。改配对窗口算法:连续 function_call 合并进同一条 assistant 载体、窗口内非 tool 消息推迟补回、收尾先补占位结果再补推迟消息;工具结果按载体 tool_calls 顺序统一回填(与到达序无关,乱序结果重排、缺结果补占位),object 输出取 text 字段不再整段序列化(避免 data URL 撑爆载荷)。 - 上游错误空 message 统一兜底(issue #71):聚合错误与流式 inline 错误帧(三副本全覆盖)在空 message 时回填含错误码的诊断文案,消除
{"message":""}透传旁路;文案并列多因(网络波动/上游异常/全局代理劫持回环),避免固定归因误导排查;使用手册补「全局代理劫持 127.0.0.1 回环流量」FAQ。 - 账号池读改写互斥防 lost-update:新增 WB/豆包双池锁,15 处运行期池写点全部纳入保护;额度巡检/会话续期改两阶段回写(锁外网络调用,短临界区重读最新池按 uid 字段级合并——删号不复活、merged=0 不写盘);「空完成」取证捕获上游响应头摘要(logid 等 7 头,竞速接管取对冲侧);device_map 缺条目时按 uid 确定性派生 device_id,不再发送空 x-device-id;代理日志分片改按 (日期, 分片序号) 数值排序,修复
.log.10排到.log.2前的错序,畸形文件名不放行。 - PE 版本读取 Translation 字节序修复:语言 ID 在低 16 位(代码页在高 16 位),原实现字节序颠倒导致真实资源全部 miss——TRAE SOLO CN.exe 显示构建号 2.3.21877 而非 0.1.69、CodeBuddy 4.12.1 显示成 1.106.1,且错误值进 (路径, mtime, 大小) 缓存长期固化。修正子块名拼接口径后真机复测两 exe 均取回正确 ProductVersion,与 PowerShell VersionInfo 一致。