====== 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 消耗,节约成本并提升响应质量。