RTK (Rust Token Killer) 使用文档
项目概述
RTK 是一个高性能的 CLI 代理工具,可以将 LLM 令牌消耗减少 60-90%。它通过过滤和压缩命令输出,在输出到 LLM 上下文之前进行优化。
- 单个 Rust 二进制文件
- 支持 100+ 命令
- 开销 <10ms
- MIT 许可证
核心优势
在一个 30 分钟的 Claude Code 会话中,RTK 可以节省约 80% 的令牌:
| 操作 | 频率 | 标准输出 | RTK 输出 | 节省 |
|---|---|---|---|---|
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 |
5x | 25,000 | 2,500 | -90% |
| 总计 | ~118,000 | ~23,900 | -80% |
安装指南
Windows 安装(推荐)
方法 1:下载预编译二进制
- 访问 GitHub Releases
- 下载最新版本的
rtk-x86_64-pc-windows-msvc.zip - 解压到本地目录
- 将
rtk.exe放到 PATH 中:
# 创建本地 bin 目录
mkdir -p ~/.local/bin
# 移动可执行文件
mv rtk.exe ~/.local/bin/
# 添加到 PATH(PowerShell)
$env:PATH += ";$env:USERPROFILE\.local\bin"
# 或添加到系统 PATH(永久)
# 控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量
方法 2:使用 Cargo 安装
cargo install --git https://github.com/rtk-ai/rtk
方法 3:使用 Homebrew(如果已安装)
brew install rtk
验证安装
# 检查版本
rtk --version
# 查看令牌节省统计
rtk gain
# 如果两个命令都成功,说明安装正确
⚠️ 注意:存在名称冲突。另一个项目 "Rust Type Kit" 也叫 "rtk"。确保 rtk gain 命令有效。
快速开始
1. 初始化 RTK
为你的 AI 工具初始化 RTK:
# Claude Code / Copilot(默认)
rtk init -g
# Gemini CLI
rtk init -g --gemini
# OpenAI Codex
rtk init -g --codex
# Cursor
rtk init --agent cursor
# Windsurf
rtk init --agent windsurf
# Cline / Roo Code
rtk init --agent cline
# Kilo Code
rtk init --agent kilocode
# Google Antigravity
rtk init --agent antigravity
# Hermes
rtk init --agent hermes
2. 重启 AI 工具
初始化后,重启你的 AI 工具(如 Claude Code)。
3. 测试
运行任何命令,RTK 会自动优化输出:
git status # 自动转换为 rtk git status
ls -la # 自动转换为 rtk ls
cat file.txt # 自动转换为 rtk cat
工作原理
无 RTK 的流程
Claude --git status--> shell --> git
^ |
| ~2,000 tokens (原始) |
+-----------------------------------+
使用 RTK 的流程
Claude --git status--> RTK --> git
^ | |
| ~200 tokens | 过滤 |
+------- (压缩) --------+----------+
四大优化策略
- 智能过滤 - 移除噪声(注释、空白、样板代码)
- 分组聚合 - 按目录分组文件、按类型分组错误
- 截断处理 - 保留相关上下文,删除冗余信息
- 去重处理 - 折叠重复的日志行
常用命令
基础命令
# 查看帮助
rtk --help
rtk <command> --help
# 查看版本
rtk --version
# 查看配置
rtk config show
文件操作
# 列出目录(压缩格式)
rtk ls
rtk ls -la
rtk tree
# 读取文件
rtk cat file.txt
rtk head -20 file.txt
rtk tail -10 file.txt
# 搜索文件
rtk find . -name "*.rs"
rtk grep "pattern" file.txt
rtk rg "pattern"
Git 操作
# 查看状态
rtk git status
# 查看差异
rtk git diff
rtk git diff --cached
# 查看日志
rtk git log
rtk git log --oneline
# 提交操作
rtk git add .
rtk git commit -m "message"
rtk git push
测试和构建
# Rust 项目
rtk cargo test
rtk cargo build
rtk cargo check
# Node.js 项目
rtk npm test
rtk npm run build
# Python 项目
rtk pytest
rtk python -m pytest
# Go 项目
rtk go test ./...
令牌分析
# 查看节省统计
rtk gain
# 显示 ASCII 图表(最近 30 天)
rtk gain --graph
# 查看历史记录
rtk gain --history
# 按天分解
rtk gain --daily
# JSON 格式导出
rtk gain --all --format json
# 发现遗漏的节省机会
rtk discover
# 查看最近 7 天的所有项目
rtk discover --all --since 7
# 显示最近会话的 RTK 采用情况
rtk session
高级命令
# 摘要模式(启发式摘要)
rtk summary <long command>
# 原始传递模式(跟踪但不过滤)
rtk proxy <command>
# 超紧凑模式(ASCII 图标,内联格式)
rtk <command> -u
# 详细模式
rtk <command> -v # 一级详细
rtk <command> -vv # 二级详细
rtk <command> -vvv # 三级详细
输出示例
目录列表
无 RTK(45 行,~800 tokens):
drwxr-xr-x 15 user staff 480 Jan 15 10:30 .
drwxr-xr-x 20 user staff 640 Jan 15 10:00 ..
-rw-r--r-- 1 user staff 1234 Jan 15 10:30 .gitignore
-rw-r--r-- 1 user staff 5678 Jan 15 10:30 Cargo.toml
drwxr-xr-x 3 user staff 96 Jan 15 10:30 src
drwxr-xr-x 2 user staff 64 Jan 15 10:30 tests
...
使用 RTK(12 行,~150 tokens):
my-project/
+-- src/ (8 files)
| +-- main.rs
| +-- lib.rs
| +-- utils.rs
+-- tests/ (3 files)
+-- Cargo.toml
+-- .gitignore
+-- README.md
Git 操作
无 RTK(15 行,~200 tokens):
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 456 bytes | 456.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To github.com:user/repo.git
abc1234..def5678 main -> main
使用 RTK(1 行,~10 tokens):
ok main
测试输出
无 RTK(200+ 行):
running 15 tests
test utils::test_parse ... ok
test utils::test_format ... ok
test utils::test_edge_case ... FAILED
test utils::test_overflow ... FAILED
...
failures:
---- utils::test_edge_case stdout ----
thread 'utils::test_edge_case' panicked at 'assertion failed: ...
使用 RTK(~20 行):
FAILED: 2/15 tests
test_edge_case: assertion failed at utils.rs:42
test_overflow: panic at utils.rs:18
Summary: 13 passed, 2 failed
自动重写钩子
最有效的使用方式。钩子透明地拦截 Bash 命令,在执行前将其重写为 RTK 等效命令。
结果:100% RTK 采用,零令牌开销。
工作流程
- 运行
rtk init -g初始化 - RTK 在 shell 配置中安装钩子
- 每个 Bash 命令自动被 RTK 拦截和优化
- AI 工具接收压缩后的输出
支持的 Shell
- Bash
- Zsh
- Fish
- PowerShell(Windows)
配置
查看配置
rtk config show
编辑配置
RTK 配置文件位置:
-
Linux/macOS:
~/.config/rtk/config.toml -
Windows:
%APPDATA%\rtk\config.toml
常见配置选项
# 启用/禁用特定命令的优化
[filters]
git = true
cargo = true
npm = true
docker = true
# 输出格式
[output]
ultra_compact = false
colors = true
max_lines = 100
# 分析
[analytics]
enabled = true
track_tokens = true
故障排除
问题 1:rtk gain 命令失败
原因:可能安装了错误的 RTK(Rust Type Kit)
解决方案:
# 卸载错误的版本
cargo uninstall rtk
# 重新安装正确的版本
cargo install --git https://github.com/rtk-ai/rtk
问题 2:Windows 上 RTK 不工作
原因:可能没有正确添加到 PATH
解决方案:
# 检查 PATH
echo $env:PATH
# 手动添加到 PATH
$env:PATH += ";$env:USERPROFILE\.local\bin"
# 或使用系统设置永久添加
问题 3:钩子未激活
原因:Shell 配置未正确更新
解决方案:
# 重新初始化
rtk init -g
# 重启 shell 或 AI 工具
# 检查钩子是否安装
cat ~/.bashrc | grep rtk
问题 4:某些命令未被优化
原因:该命令可能不在支持列表中
解决方案:
# 查看支持的命令
rtk discover
# 使用代理模式
rtk proxy <command>
高级用法
与 Claude Code 集成
- 安装 RTK:
rtk init -g
重启 Claude Code
所有 Bash 命令自动优化
与其他 AI 工具集成
# Cursor
rtk init --agent cursor
# Windsurf
rtk init --agent windsurf
# Cline
rtk init --agent cline
自定义过滤规则
编辑 ~/.config/rtk/config.toml:
[filters.custom]
my_command = true
another_command = false
导出分析数据
# JSON 格式
rtk gain --all --format json > rtk_stats.json
# CSV 格式
rtk gain --all --format csv > rtk_stats.csv
性能指标
开销
- 平均延迟: <10ms
- 内存占用: ~5MB
- CPU 使用: <1%
节省效果
- 平均令牌节省: 60-90%
- 最佳情况: 92%(git add/commit/push)
- 最差情况: 70%(cat/read)
资源链接
- 官方网站: https://www.rtk-ai.app
- GitHub 仓库: https://github.com/rtk-ai/rtk
- 问题报告: https://github.com/rtk-ai/rtk/issues
- Discord 社区: https://discord.gg/RySmvNF5kF
- 故障排除: https://www.rtk-ai.app/guide/troubleshooting
- 架构文档: https://github.com/rtk-ai/rtk/blob/master/docs/contributing/ARCHITECTURE.md
许可证
MIT License - 详见 LICENSE
常见问题
Q: RTK 会影响命令的功能吗?
A: 不会。RTK 只是过滤和压缩输出,不改变命令的实际功能。
Q: RTK 支持哪些操作系统?
A: Linux、macOS 和 Windows(通过 WSL 或 PowerShell)。
Q: RTK 可以离线使用吗?
A: 可以。RTK 是本地工具,不需要网络连接。
Q: RTK 会收集数据吗?
A: RTK 可以选择性地收集匿名使用统计数据,但可以禁用。
Q: 如何卸载 RTK?
A:
# 如果通过 Cargo 安装
cargo uninstall rtk
# 如果通过 Homebrew 安装
brew uninstall rtk
# 手动删除二进制文件
rm ~/.local/bin/rtk.exe
最后更新: 2026-05-13
RTK 版本: 0.34.3