RTK:58k 星的 Rust Token Killer,一次命令省 80% Token
RTK:58k 星的 Rust Token Killer,一次命令省 80% Token
看完你会发现,你之前的 Token 都白烧了。
用 Claude Code 写代码的人,30 分钟的 session 平均消耗约 118,000 Token。其中大部分不是 LLM 在"思考",而是 git status 的 2000 Token、cargo test 的 25000 Token、grep 的 16000 Token——全都是命令输出把上下文撑爆的。
RTK(Rust Token Killer) 干的事情简单粗暴:在命令输出到达 LLM 之前,先压缩它。单个 Rust 二进制,零依赖,100+ 命令支持,额外延迟不到 10ms。结果是同样的 30 分钟 session,Token 从 118,000 降到 23,900——省了 80%。
58,664 星,3,608 fork,Apache 2.0 协议。这不是一个小项目,这是目前 Token 优化领域最火的工具。
本文提纲
- 30 分钟省了多少钱——真实数据
- 它怎么做到的:四层压缩策略
- 一行命令接入 14 个 AI Agent
- 支持 100+ 命令的覆盖范围
- 失败了怎么办——Tee 恢复机制
- 跟 Headroom 的区别
30 分钟省了多少钱——真实数据
项目给出了一个中等规模 TypeScript/Rust 项目的 30 分钟 Claude Code session 对比:
| 操作 | 频次 | 标准 Token | RTK Token | 节省 |
|---|---|---|---|---|
ls / tree |
10x | 2,000 | 400 | 80% |
cat / read |
20x | 40,000 | 12,000 | 70% |
grep / rg |
8x | 16,000 | 3,200 | 80% |
git status |
10x | 3,000 | 600 | 80% |
git diff |
5x | 10,000 | 2,500 | 75% |
cargo test / npm test |
5x | 25,000 | 2,500 | 90% |
pytest |
4x | 8,000 | 800 | 90% |
docker ps |
3x | 900 | 180 | 80% |
| 合计 | ~118,000 | ~23,900 | 80% |
按 Claude Sonnet 的价格($3/M input),一次 session 省 $0.28。一天跑 10 个 session 就省 $2.8,一个月省 $60+。团队用的话 ROI 更明显。
它怎么做到的:四层压缩策略
RTK 对每条命令按类型应用四层策略:
- Smart Filtering:去噪声——注释、空行、boilerplate
- Grouping:聚合相似项——按目录归组文件、按类型归组错误
- Truncation:保留关键上下文,砍掉冗余重复
- Deduplication:合并重复的日志行,只记次数
看几个直观的例子:
# git push — 标准 vs RTK
# 标准(~200 tokens) # RTK(~10 tokens)
Enumerating objects: 5, done. ok main
Counting objects: 100% (5/5)...
Delta compression using up...
# cargo test 失败 — 标准 vs RTK
# 标准(200+ 行) # RTK(~20 行)
running 15 tests FAILED: 2/15 tests
test utils::test_parse ... ok test_edge_case: assertion failed
test utils::test_format ... ok test_overflow: panic at utils.rs:18
...最极端的案例是 git add/commit/push:标准输出吃 1,600 Token,RTK 压到 120——92% 压缩率。
一行命令接入 14 个 AI Agent
RTK 最聪明的设计是 auto-rewrite hook。安装后,Agent 的 Bash 命令会被透明地改写为 RTK 版本:
# 安装(以 Claude Code 为例)
rtk init -g
# 之后 Agent 执行的 git status → 自动变成 rtk git status
# Agent 完全无感,100% adoption,零额外 Token14 个 Agent 工具的支持矩阵:
| Agent | 安装命令 | 接入方式 |
|---|---|---|
| Claude Code | rtk init -g |
PreToolUse hook |
| GitHub Copilot | rtk init -g --copilot |
PreToolUse hook |
| Cursor | rtk init -g --agent cursor |
hooks.json |
| Gemini CLI | rtk init -g --gemini |
BeforeTool hook |
| Codex | rtk init -g --codex |
AGENTS.md |
| Windsurf | rtk init -g --agent windsurf |
.windsurfrules |
| Aider | rtk init -g |
代理启动 |
| Hermes | rtk init --agent hermes |
Python plugin |
| Cline / Roo Code | rtk init --agent cline |
.clinerules |
关键点:不需要改任何项目代码,装上就行。Hook 在 Bash 层面拦截,Agent 透明接收压缩后的输出。
支持 100+ 命令的覆盖范围
RTK 不只是压 git。它的命令覆盖范围让大多数开发场景都能受益:
文件操作:ls、read、find、grep、diff、smart(两行代码摘要)
Git 全家桶:status、log、diff、add、commit、push、pull
GitHub CLI:pr list/view、issue list、run list
测试框架:jest、vitest、pytest、cargo test、go test、rspec、rake test、playwright
构建 & Lint:tsc、ruff check、cargo build/clippy、golangci-lint、next build
包管理器:pnpm list、pip list、bundle install
云 & 容器:docker ps/images/logs、kubectl pods/logs/services、aws ec2/lambda/s3/iam
数据工具:json、deps、env、log、curl、summary
还有一种通用方式——rtk test <cmd> 和 rtk err <cmd>,把任意命令的输出压缩到只留失败或错误信息,压缩率 90%。
失败了怎么办——Tee 恢复机制
压缩最怕的是:砍掉了关键信息,LLM 看不到报错细节。
RTK 的解法是 Tee 模式:命令失败时,完整原始输出自动保存到本地文件。LLM 看到的是压缩后的摘要 + 原始文件路径,需要深挖时可以直接读取:
FAILED: 2/15 tests
[full output: ~/.local/share/rtk/tee/1707753600_cargo_test.log]这比 Headroom 的 CCR 可逆压缩简单直接得多——不需要额外工具调用,文件系统就是你的恢复层。
跟 Headroom 的区别
上一篇介绍了 Headroom(11k 星),两者经常被拿来比较,但定位其实不同:
| 维度 | RTK | Headroom |
|---|---|---|
| 压缩目标 | CLI 命令输出 | 所有上下文(tool 输出 + RAG + 对话 + 代码 + 图片) |
| 实现方式 | Rust 二进制,命令拦截 | Python/TS 库 + Proxy + MCP |
| 压缩算法 | 规则型(过滤/分组/截断/去重) | ML 模型 + 规则混合(Kompress-base) |
| 可逆性 | Tee 文件保存 | CCR 按需取回 |
| 适用场景 | Agent 编码工作流 | 更广泛的 LLM 应用 |
| 额外学习 | 无 | headroom learn 失败挖掘 |
简单说:RTK 是命令级压缩,Headroom 是全上下文压缩。两者可以配合使用——事实上 Headroom 已经内置了 RTK 作为 CLI 输出的第一层处理器。
对了,RTK 还自带分析工具。rtk gain --graph 会输出最近 30 天的 ASCII 图表,rtk discover 会告诉你哪些命令还没被覆盖、错过了多少节省机会。对数据控来说,这个反馈循环很上瘾。
你的 Agent 每天烧多少 Token?评论区聊聊。觉得有用点个赞让更多人看到。
作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。
本文首发于 AI人工智能时代,转载请注明出处。