====== RTK ======
RTK(Rust Token Killer)是一款高性能的 CLI 代理工具,能在命令输出进入 LLM 上下文之前进行过滤和压缩,从而将 Token 消耗降低 **60-90%**。单个 Rust 二进制文件,零依赖,每次处理开销 <10ms。
在 AI 编码助手的日常使用中,终端命令的输出(如 ''git status''、''ls -la''、''pytest''、''cargo build'' 等)往往是 Token 消耗的大头——大量无关的噪音信息占据了宝贵的上下文窗口。RTK 正是为了解决这个问题而生。
===== 工作原理 =====
RTK 作为代理层插入在 AI 工具和 Shell 之间:
不带 RTK:
智能体 --git status--> Shell --> git --> ~2,000 tokens(原始输出)
带 RTK:
智能体 --git status--> RTK --> git --> ~200 tokens(过滤后)
| |
+--- 过滤/压缩 -------+
RTK 对每种命令类型应用四种策略:
- **智能过滤(Smart Filtering)**——去除注释、空白行、样板代码等噪音
- **分组聚合(Grouping)**——将相似项聚合(如按目录分组文件、按类型分组错误)
- **截断保留(Truncation)**——保留相关上下文,裁剪冗余信息
- **去重合并(Deduplication)**——将重复的日志行合并为计数
===== 支持的 AI 工具 =====
RTK 支持主流的 AI 编码助手:
^ AI 工具 ^ 集成方式 ^ 初始化命令 ^
| Claude Code | Hook | ''rtk init -g'' |
| GitHub Copilot | Hook | ''rtk init -g'' |
| Hermes Agent | 插件 | ''rtk init --agent hermes'' |
| Codex(OpenAI) | Hook | ''rtk init -g --codex'' |
| Gemini CLI | Hook | ''rtk init -g --gemini'' |
| Cursor | Hook | ''rtk init -g --agent cursor'' |
| Windsurf | Hook | ''rtk init -g --agent windsurf'' |
| Cline / Roo Code | 插件 | ''rtk init --agent cline'' |
| Kilo Code | 插件 | ''rtk init --agent kilocode'' |
===== 实际节省效果 =====
以 30 分钟的 Claude Code 会话为例:
^ 操作 ^ 次数 ^ 原始 Token ^ RTK 后 ^ 节省 ^
| ''ls'' / ''tree'' | 10 | 2,000 | 400 | -80% |
| ''cat'' / ''read'' | 20 | 40,000 | 12,000 | -70% |
| ''grep'' / ''rg'' | 8 | 16,000 | 3,200 | -80% |
| ''git status'' | 10 | 3,000 | 600 | -80% |
| ''git diff'' | 5 | 10,000 | 2,500 | -75% |
| ''git log'' | 5 | 2,500 | 500 | -80% |
| ''git add/commit/push'' | 8 | 1,600 | 120 | -92% |
| ''pytest'' | 4 | 8,000 | 800 | -90% |
| ''cargo test'' / ''npm test'' | 5 | 25,000 | 2,500 | -90% |
| ''ruff check'' / ''golangci-lint'' | 3 | 3,000 | 600 | -80% |
| ''docker ps'' | 3 | 900 | 180 | -80% |
| **合计** | | **~118,000** | **~23,900** | **-80%** |
≈ 基于中等规模 TypeScript/Rust 项目估算,实际效果因项目而异。
===== 支持的命令 =====
==== 文件操作 ====
rtk ls . # 优化目录树
rtk read file.rs # 智能文件读取
rtk read file.rs -l aggressive # 仅显示签名(去掉函数体)
rtk smart file.rs # 两行启发式摘要
rtk find "*.rs" . # 紧凑的查找结果
rtk grep "pattern" . # 分组搜索结果
rtk diff file1 file2 # 精简 diff
==== Git ====
rtk git status # 紧凑状态
rtk git log -n 10 # 一行一条提交
rtk git diff # 精简 diff
rtk git add # → "ok"
rtk git commit -m "msg" # → "ok abc1234"
rtk git push # → "ok main"
rtk git pull # → "ok 3 files +10 -2"
==== GitHub CLI ====
rtk gh pr list # 紧凑 PR 列表
rtk gh pr view 42 # PR 详情 + 检查状态
rtk gh issue list # 紧凑 issue 列表
rtk gh run list # CI 运行状态
==== 测试运行器 ====
rtk pytest # Python 测试(-90%)
rtk go test # Go 测试(-90%)
rtk cargo test # Cargo 测试(-90%)
rtk jest / vitest # JS/TS 测试(仅失败项)
rtk playwright test # E2E 测试(仅失败项)
rtk rspec # Ruby RSpec(-60%+)
rtk err # 仅保留任何命令的错误输出
rtk test # 通用测试包装器(-90%)
==== 构建与 lint ====
rtk lint # ESLint 分组(按规则/文件)
rtk tsc # TypeScript 错误分组
rtk next build # Next.js 构建精简
rtk cargo build # Cargo 构建(-80%)
rtk cargo clippy # Cargo clippy(-80%)
rtk ruff check # Python lint(-80%)
rtk golangci-lint run # Go lint(-85%)
===== 安装 =====
==== 快速安装(Linux/macOS) ====
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
安装到 ''~/.local/bin/rtk'',确保该目录在 ''PATH'' 中:
export PATH="$HOME/.local/bin:$PATH"
==== Homebrew ====
brew install rtk
==== Cargo ====
cargo install --git https://github.com/rtk-ai/rtk
==== 验证安装 ====
rtk --version # 显示 rtk 0.43.0
rtk gain # 显示 token 节省统计
===== 快速上手 =====
安装后,为你的 AI 工具初始化 RTK:
# Claude Code / Copilot
rtk init -g
# 重启 AI 工具,然后测试
git status # 自动被重写为 rtk git status,输出更紧凑
===== 在 Hermes Agent 中集成 =====
Hermes Agent 通过插件系统集成 RTK,与基于 Hook 的工具不同,Hermes 使用插件 API 在命令执行前进行重写。
操作步骤:
**1. 安装 RTK**
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
验证安装:
rtk --version # 应显示 v0.43.0 或更高版本
**2. 接入 Hermes**
rtk init --agent hermes
这条命令会:
- 创建插件目录 ''~/.hermes/plugins/rtk-rewrite/''
- 生成插件配置文件 ''plugin.yaml''
- 更新 ''config.yaml'',启用 RTK 重写
**3. 重启 Hermes**
退出当前会话,重新运行 ''hermes'' 即可生效。之后所有 ''terminal()'' 命令的输出都会自动通过 RTK 过滤压缩,Token 消耗预计减少 **60-90%**。
===== 开源信息 =====
- **GitHub**: [[https://github.com/rtk-ai/rtk]]
- **官网**: [[https://www.rtk-ai.app]]
- **许可证**: Apache 2.0
- **语言**: Rust
- **Stars**: 68,000+
===== 总结 =====
RTK 是 AI 编码工具生态中一个极其实用的增效工具。它不改变命令的执行结果,只优化输出格式,让 LLM 在有限的上下文窗口中看到更多有效信息。对于高频使用 AI 编程助手的开发者来说,RTK 能在不牺牲准确性的前提下显著降低 Token 消耗,节约成本并提升响应质量。