RTK Token 优化工具
CLI 代理工具,在 AI 编程工具执行 Shell 命令时自动压缩输出,降低 60-90% 的 Token 消耗。
这是什么
RTK(Rust Token Killer)是一个 CLI 代理工具,解决 AI 编程中上下文窗口被无用输出填满的问题。
AI 编程工具执行 Shell 命令时,原始输出包含大量噪音:测试用例名称、ANSI 颜色码、重复日志、冗余格式等。RTK 在输出到达 LLM 上下文之前自动过滤和压缩,让 AI 只看到关键信息。
核心数据:60-90% Token 节省,<10ms 性能开销,纯 Rust 单二进制,零依赖。
主要功能
- 智能过滤:自动去掉注释、空格、模板代码、ANSI 颜色码等格式噪音
- 分组聚合:文件按目录聚合,错误按类型聚合(100 个 lint 错误 → 按规则分组的摘要)
- 截断保留:保留关键上下文,剪掉重复冗余(git log 500 字符 → "5 commits, +142/-89")
- 去重压缩:重复日志行合并为带计数的单行(
[ERROR] Connection failed (x42)) - 100+ 命令支持:ls、git 系列、测试命令、Docker、AWS 等主流开发场景
- 多工具适配:Claude Code、Cursor、GitHub Copilot、Gemini CLI、Windsurf、Cline 等 10+ 款工具
工作原理
RTK 通过 Hook 机制透明拦截 AI 工具的 Shell 命令。以 Claude Code 为例:
- 你在对话中触发一条 Shell 命令(如
git status) - RTK Hook 自动将命令改写为
rtk git status - RTK 执行命令并压缩输出
- AI 收到的是压缩后的精简输出,而非原始噪音
四种压缩策略按命令类型智能组合:
| 策略 | 做什么 | 例子 |
|---|---|---|
| 智能过滤 | 剥离格式噪音、注释、颜色码 | 测试框架装饰性输出 → 纯结果 |
| 分组聚合 | 同类项合并统计 | 100 个 lint 错误 → 按规则分类摘要 |
| 截断保留 | 剪掉冗余,保留核心 | 500 字符 git log → 20 字符摘要 |
| 去重压缩 | 重复行合并计数 | 42 行相同错误 → 1 行带 (x42) |
安装
三种方式任选:
Homebrew(macOS/Linux):
brew install rtk
安装脚本(Linux/macOS):
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
安装后加到 PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc # 或 ~/.zshrc
cargo install(所有平台):
cargo install --git https://github.com/rtk-ai/rtk
Windows:从 GitHub Releases 下载预编译二进制,解压即用。
安装后验证:
rtk gain
输出 Token 节省统计说明装对了。如果功能不对,检查是否误装了另一个同名项目(见下方排错)。
初始化 Hook
RTK 支持 13+ 款 AI 编程工具,根据你使用的工具选择对应的初始化命令:
# Claude Code
rtk init -g # PreToolUse hook
# Codex
rtk init -g --codex # AGENTS.md + RTK.md 指令
# Gemini CLI
rtk init -g --gemini # BeforeTool hook
# Cursor
rtk init -g --agent cursor # hooks.json
# GitHub Copilot
rtk init -g --copilot
# Windsurf
rtk init -g --agent windsurf
# Cline / Roo Code
rtk init -g --agent cline
# OpenCode
rtk init -g --opencode
# Google Antigravity
rtk init -g --agent antigravity
# Hermes
rtk init -g --agent hermes
根据提示修改对应工具的配置文件,然后重启工具即可。
验证 Hook 生效:
rtk init --show # 查看 Hook 安装状态
rtk git status # 手动测试,应看到压缩后的输出
查看节省统计
rtk gain # 汇总统计
rtk gain --graph # ASCII 折线图(近 30 天)
rtk gain --history # 最近命令历史
rtk gain --daily # 按天细分
排错
- 名字冲突:GitHub 上有两个同名
rtk项目。rtk gain能显示 Token 统计的是 Rust Token Killer(rtk-ai/rtk),不是 Rust Type Kit(reachingforthejack/rtk) - Hook 不生效:确认重启了 AI 工具,检查配置文件是否正确写入
- 只对 Bash 生效:Claude Code 内置的 Read、Grep、Glob 等 MCP 工具不经过 Bash Hook,不受影响
适用场景
- 适合:频繁执行 dev 命令、大项目输出处理、长会话上下文紧张
- 不太需要:快速探索(1-2 条命令)、小输出(<100 字符)、已用 MCP 原生工具