Claude Code终端日志Token占用实测:一个过滤器砍掉60%-90%

用 Claude Code 这类 AI 编程助手,有个问题容易被低估------终端输出太吃 Token 了

你让它查个编译错误,它先跑 git status,再跑 ./gradlew build,单元测试再转一圈。构建工具的输出动辄几百行,进度条、警告、调试信息、重复堆栈,全被原样塞进上下文。Token 跑得快不说,模型还容易被无关信息干扰,关键报错反而淹没在日志海里。

最近试了个开源小工具 RTK(Rust Token Killer) ,专门解决这个场景。跑了快一周,说说实测情况。


核心机制:终端输出过滤,而非压缩

RTK 的定位很窄:只处理 AI 执行终端命令时的 stdout/stderr

github上的 star数 74.2K

它在 shell 层挂一个钩子,拦截命令输出后做一轮过滤,把冗余内容砍掉再把精简结果交给 Claude Code。过滤策略是规则驱动的,不是用模型做摘要------所以没有额外 Token 开销,延迟也可以忽略不计。

具体砍掉的内容包括:

  • 进度条([====>...] 这类动态刷新行)
  • 连续空行和重复分隔线
  • 构建工具的无信息量日志(比如 Maven 的下载进度、Gradle 的 task 列表)
  • 成功路径上的冗余堆栈帧

保留的是:报错信息、测试失败用例、关键 diff、exit code 非 0 的完整上下文。

换句话说,RTK 不改变信息语义,只去掉视觉噪音


实测数据:Token 省 60%~90%

我拿手头一个中型 Spring Boot 项目做了几组对比,场景是:

让 Claude Code 排查一个单元测试失败,执行 ./gradlew test --tests *FooTest

指标 不开 RTK 开 RTK
终端输出行数 847 行 112 行
终端输出 Token 数(估算) ~3800 ~520
单次请求总 Token ~5900 ~2600
终端输出占比 64% 20%

这个场景下,终端相关 Token 减少了 86% ,总 Token 消耗降了 56%

其他场景也有不错表现:

  • git diff 查看改动 → 省约 70%
  • grep -r 搜索代码 → 省约 65%(主要砍掉权限警告和二进制文件提示)
  • ./gradlew build 全量构建 → 省 80% 以上(构建日志的冗余度最高)

不过要说明:省多少完全取决于你的命令输出有多"脏" 。如果本身输出就很精炼(比如 git status --short),RTK 的收益有限。反之,构建和测试命令是重灾区,收益最明显。


安装和使用

RTK 是 Rust 写的单二进制,Windows 下解压到任意目录,加进 PATH 就行。

绑定 Claude Code 只一条命令:

bash

csharp 复制代码
rtk init --global --hook-only

这会在 shell 配置文件里挂一个钩子,之后 Claude Code 调用的所有命令输出都会被自动过滤。重启 IDE 即生效,不需要改 Claude Code 的任何配置。

卸载同样干净:

bash

csharp 复制代码
rtk init --uninstall

日常用得上的命令:

bash

bash 复制代码
# 看省了多少 Token(统计过滤前后的字符数对比)
rtk gain

# 关掉数据上报(默认会发匿名统计数据)
rtk telemetry disable

# 临时关闭过滤,只跑这一次
RTK_DISABLED=1 ./gradlew test

优点

轻量:Rust 单二进制,启动和过滤都是毫秒级,对终端响应速度没有可感知的影响。

侵入性极低:不改 IDE 配置,不改 AI 使用方式,绑上就生效,拆了就恢复。

过滤策略克制:我测了大概四五十个命令,没有出现误删关键报错的情况。开发者刻意只做"保守过滤",拿不准的内容会放行而不是截断。

省 Token 效果直接:对于构建、测试、git 这类输出密集的操作,收益非常稳定。


局限性(必须说清楚)

只管终端输出,不管文件读取

Claude Code 的 read_fileglob 搜索、项目目录扫描等操作不走终端,RTK 碰不到。这部分日志消耗得靠 .claudeignore 自己控制。

深度调试时可能需要关掉

极少数情况------比如排查 Gradle 插件本身的 Bug,或者分析构建性能------精简后的输出可能丢失时序细节。这时候 RTK_DISABLED=1 临时绕过即可,不算大问题。

不是通用的 Token 节约方案

RTK 只解决"终端输出"这一个点。如果你主要的 Token 消耗在代码上下文、对话历史、文件读取上,它帮不了你。但它解决的问题恰恰是很多用户容易忽视的一块。


适合什么场景

如果你符合以下几条,RTK 值得一试:

  • 重度使用 Claude Code、Cursor 或类似 AI IDE
  • 经常让 AI 跑构建、测试、Git 操作
  • 注意到终端日志经常出现在对话上下文中,占用比例不低
  • 不想改变现有工作流,希望"装上就见效"

反之,如果平时只让 AI 做代码补全和文件读写,很少执行终端命令,这工具对你意义不大。


总结

RTK 是一个定位极其明确的小工具:只干一件事,把终端输出的水分挤掉

它没有野心去解决所有 Token 浪费问题,也不试图用 AI 做日志摘要(那反而增加开销)。就是一套规则过滤,简单直接。

实测下来效果扎实,接入成本几乎为零,也没有引入新的问题。对于被 Claude Code 终端日志吃掉大量 Token 的用户,装上就能看到账单变化------或者说,额度更耐用了。

项目地址:github.com/rust-token-...

相关推荐
无人生还1 小时前
第 1 篇:从 Vue3 到 React 的思维转变
前端·vue.js·react.js
蝉蜕日记1 小时前
AccumuPDF高级版 v2.57 | 视图文转换PDF,合并分割压缩
android·智能手机·pdf·生活·软件需求
dear_bi_MyOnly1 小时前
【SpringBoot配置文件】
java·spring boot·后端·学习·spring·java-ee·学习方法
吐了啊取名字太难1 小时前
美颜系统AI修图本地跑并支持Mac、win、安卓、iOS不卡顿
android·人工智能·windows·数码相机·mac·ai编程
一缕清烟在人间2 小时前
HarmonyOS应用开发实战:萌宠日记 - 健康提醒列表与动态数据绑定
后端
HONG````2 小时前
HarmonyOS 6.1 实战:Stack 层叠布局与 Overlay 浮层详解
后端
爱分享的程序猿-Clark2 小时前
【前端分享】vue开发项目,如何实现 从A页面跳转到B页面,并传值!
前端·javascript·vue.js
breeze jiang2 小时前
从原生事件到 React 组件化:用状态驱动模型加载进度 UI
前端·react.js·ui
徐小夕2 小时前
花了3天,我写了一款开源AI公众号编辑器
前端·vue.js·github