Claude Code 状态栏消耗 15-20% Token,开源脚本可关闭
速览
开发者发现 Claude Code 后台代理每 30 秒将完整对话发给模型生成状态摘要,消耗约 16.4% 的 Token 费用,占比近五分之一。该功能自 2.1.232 版本起默认开启且无关闭开关。一份约 80 行的 Bun 预加载脚本能通过拦截定时器禁用此行为,已获 HN 社区 129 分讨论。
Flamerix AI 通过 Claude Code 的 OpenTelemetry 导出发现异常:按查询来源分组后,agent_summary 的 API 请求费用占总费用的 16.4%,而主对话本身仅占 15.7%;按请求数计,它占了所有 API 调用的 19.7%。这些请求将整个后台代理的对话记录发给模型(通常为 Opus),要求用 3-5 个词描述最近动作,结果只用于更新代理面板的状态栏,不进入会话。该行为自 2026 年 8 月的 2.1.232 版本起默认启用,无官方开关。HN 上的 #86879 帖子汇集了四个独立测量,数值在 18-26% 之间。
修复方案是一个名为 no-agent-summary.js 的 Bun 预加载脚本,约有 80 行代码。它包装 setTimeout 和 setInterval,当回调源码包含 [AgentSummary] 标识时返回一个惰性定时器(延迟设为 2³¹−1 毫秒)而非真正触发,其他定时器不受影响。选择定时器钩子而非直接修改是因为模块以预编译字节码分发,直接编辑 JS 无效;但 Function.prototype.toString 仍能读取回调源码,因此可用字符串匹配识别。脚本已在 Linux 上测试,覆盖 Claude Code 2.1.257 至 2.1.312 版本,macOS 和 Windows 未验证。
安装需将脚本放在稳定路径,并通过 BUN_OPTIONS 全局注入,或使用包装器 claude 命令。设置 CC_AGENT_SUMMARY_MODE=off 可抑制摘要定时器,pass 作为 A/B 对照组。安装后必须重启 daemon(claude daemon stop --any),否则已启动的 daemon 会继续生成未挂钩的会话。无头运行(claude -p、cron、CI)同样需要该设置。每次更新后需用 claude --version 配合日志验证。
原文Claude Code burns ~15–20% of your tokens on a 3-word status linegist.github.com
#Claude Code#token#效率
本文由程序自动抓取公开报道,经 AI 筛选与改写生成,未经人工逐条核实,事实以原文为准。