rtk-ai / rtk
rtk-ai/rtk
RTK (Rust Token Killer) 是一个高性能 CLI 代理,通过智能过滤和压缩命令输出,为 AI 编程助手减少高达 90% 的 bash 输出 token 消耗。单 Rust 二进制,零依赖,支持 100+ 命令和 16 种 AI 工具集成。
项目概览
项目概述
RTK (Rust Token Killer) 是一个高性能 CLI 代理,位于 AI 编程助手(如 Claude Code、Cursor、Copilot 等)与开发工具之间,通过智能过滤和压缩命令输出,减少高达 90% 的 bash 输出 token 消耗。项目采用 Rust 编写,提供单一二进制文件,零运行时依赖,启动开销小于 10ms。
核心功能
- 命令输出压缩:对
ls、cat、grep、git status、git diff、cargo test、pytest等 100+ 常用命令的输出进行智能过滤、分组、截断和去重,减少 60-99% 的 bash 输出。 - 自动重写 Hook:通过 Hook 机制透明拦截 AI 工具的 Bash 命令,自动重写为
rtk等价命令,实现 100% 采用率,无需手动干预。 - 多 AI 工具集成:支持 Claude Code、GitHub Copilot、Cursor、Gemini CLI、Codex、Windsurf、Cline、OpenCode 等 16 种 AI 编码工具。
- Token 节省分析:提供
rtk gain、rtk discover、rtk session等命令,分析 token 节省量、发现遗漏的优化机会、跟踪采用率。 - Tee 恢复机制:命令失败时自动保存完整原始输出到本地文件,供 LLM 重新读取,避免重复执行。
- 可配置过滤:支持通过 TOML DSL 自定义过滤器,以及
config.toml配置排除命令、调整行为。
适用与不适用场景
适用场景:
- 使用 AI 编程助手(Claude Code、Cursor、Copilot 等)进行日常开发,希望降低 token 消耗和成本。
- 需要处理大量命令行输出(如测试、构建、Git 操作)的 AI 辅助编码工作流。
- 希望在不改变工作流程的前提下,优化 LLM 上下文窗口利用率的开发者。
不适用场景:
- 交互式 TUI 程序(如 htop、vim、less),不兼容批处理模式。
- 二进制输出(如图像、编译产物),无文本可过滤。
- 无文本输出的命令,无压缩空间。
- 需要精确 token 计数的场景(RTK 使用
bytes/4估算,非真实 tokenizer)。
技术架构与依赖
- 语言:Rust
- 许可证:Apache-2.0
- 依赖:零运行时依赖,单二进制文件
- 架构:CLI 代理模式,通过 Hook 拦截命令,执行过滤后输出。核心模块包括命令路由、过滤引擎(Rust 模块 + TOML DSL)、token 跟踪(SQLite)、Tee 恢复、Hook 系统。
- 性能:启动时间 <10ms,内存占用 <5MB,二进制大小 <5MB。
安装与快速开始
安装方式:
# Homebrew (macOS/Linux)
brew install rtk
# 快速安装 (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
# Cargo (注意名称冲突,使用 Git URL)
cargo install --git https://github.com/rtk-ai/rtk
# 预编译二进制:从 GitHub Releases 下载对应平台包
快速开始:
# 1. 为 AI 工具初始化 (以 Claude Code 为例)
rtk init -g
# 2. 重启 AI 工具,然后测试
git status # 自动重写为 rtk git status
# 3. 查看节省统计
rtk gain
典型使用方法
# 文件操作
rtk ls . # 紧凑目录树
rtk read file.rs # 智能文件读取
rtk grep "pattern" . # 分组搜索结果
# Git 操作
rtk git status # 紧凑状态
rtk git log -n 10 # 单行提交
rtk git diff # 压缩 diff
# 测试运行器
rtk cargo test # 仅显示失败 (-90%)
rtk pytest # Python 测试 (-90%)
rtk go test # Go 测试 (-90%)
# 构建与 Lint
rtk cargo build # 仅错误和警告 (-80%)
rtk tsc # TypeScript 错误分组
rtk ruff check # Python Lint (-80%)
# 容器
rtk docker ps # 紧凑容器列表
rtk kubectl pods # 紧凑 Pod 列表
# 分析
rtk gain # 节省统计
rtk discover # 发现遗漏的节省机会
配置与部署要点
配置文件: ~/.config/rtk/config.toml (Linux) 或 ~/Library/Application Support/rtk/config.toml (macOS)
[hooks]
exclude_commands = ["curl", "playwright"] # 排除自动重写的命令
[tee]
enabled = true # 失败时保存原始输出
mode = "failures" # "failures", "always", 或 "never"
环境变量:
RTK_DISABLED=1:禁用单条命令的 RTK 处理RTK_TELEMETRY_DISABLED=1:禁用遥测RTK_TEE_DIR:覆盖 tee 目录
部署要点:
- 安装后需重启 AI 工具使 Hook 生效。
- Windows 原生支持 Hook(v0.37.2+),但需从终端运行,不要双击 exe。
- 部分过滤器依赖 ripgrep (
rg),需确保其已安装并在 PATH 中。 - 遥测默认禁用,需显式同意(
rtk telemetry enable)。
限制、风险与许可证
限制:
- Token 计数为估算值(
bytes/4),非真实 tokenizer,绝对数字不精确。 - 仅过滤 bash 输出,不减少提示词、系统提示、对话历史或输出 token。
- 部分命令(如 Claude Code 内置 Read/Grep 工具)不经过 Bash Hook,需手动使用
rtk命令。
风险:
- 存在名称冲突:crates.io 上另有名为
rtk的项目(Rust Type Kit),安装时需注意。 - 自定义过滤器(
.rtk/filters.toml)需显式信任后才生效,编辑后需重新信任。
许可证: Apache-2.0
官方链接
- GitHub 仓库: https://github.com/rtk-ai/rtk
- 官方网站: https://www.rtk-ai.app
- Discord 社区: https://discord.gg/RySmvNF5kF
- 最新版本: v0.47.0 (2026-09-02)
信息来源和分析时间
- 信息来源:GitHub 仓库 README、CHANGELOG、文档目录(docs/)等。
- 分析时间:2026-09-02(基于最新 release 日期)