来源: #368 (#368) 分析 "compress-call reasoning inflates the incompressible floor" 时发现
问题
estimateContextComposition 只统计 text + tool 两部分,不统计 reasoning 部分,导致 /acp context / acp_status 显示的上下文占用百分比系统性低估真实 usage(真实 usage 包含 reasoning)。
证据
lib/messages/inject/utils.ts:586 estimateContextComposition:只累加 text(:624-638)+ tool(:639+)部分,没有 reasoning 分支。
- 真实 usage 计算
lib/token-utils.ts:19,44:input + cacheRead + cacheWrite + output + reasoning —— 包含 reasoning。
- 因此显示值 < 真实值,且最大的残留项(reasoning)恰好在显示中不可见。
影响
建议修复
在 estimateContextComposition 中为 part.type === "reasoning" 增加分支,累加 part.text.length(或对应 token 估算),与 lib/token-utils.ts 的 usage 口径对齐。
来源: #368 (#368) 分析 "compress-call reasoning inflates the incompressible floor" 时发现
问题
estimateContextComposition只统计 text + tool 两部分,不统计 reasoning 部分,导致/acp context/acp_status显示的上下文占用百分比系统性低估真实 usage(真实 usage 包含 reasoning)。证据
lib/messages/inject/utils.ts:586estimateContextComposition:只累加 text(:624-638)+ tool(:639+)部分,没有 reasoning 分支。lib/token-utils.ts:19,44:input + cacheRead + cacheWrite + output + reasoning—— 包含 reasoning。影响
建议修复
在
estimateContextComposition中为part.type === "reasoning"增加分支,累加part.text.length(或对应 token 估算),与lib/token-utils.ts的 usage 口径对齐。