Skip to content

Display/acp_status context-usage estimator excludes reasoning tokens (undercounts real usage) #371

Description

@ranxianglei

来源: #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,44input + cacheRead + cacheWrite + output + reasoning —— 包含 reasoning。
  • 因此显示值 < 真实值,且最大的残留项(reasoning)恰好在显示中不可见

影响

建议修复

estimateContextComposition 中为 part.type === "reasoning" 增加分支,累加 part.text.length(或对应 token 估算),与 lib/token-utils.ts 的 usage 口径对齐。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions