RTK:压缩 AI 编程代理命令输出的 CLI
一个 Rust 编写的单二进制 CLI 代理,在命令输出进入 LLM 上下文前做压缩,减少 token 消耗。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v1.1.0
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
RTK 是一个命令行代理工具,会在 shell 命令的输出被 AI 编程代理读取之前,先对输出做过滤和压缩。它由单个 Rust 二进制文件构成,官方介绍称支持 100+ 条命令、额外开销低于 10ms,在常见开发命令上可减少 60%–90% 的 LLM token 消耗。
它不限定某个 AI 工具:安装后会把 AI 代理发出的 shell 命令自动重写为 rtk 等价命令,代理拿到的是压缩后的紧凑输出,无需显式调用 rtk。
主要功能
RTK 按命令类型应用四种策略:智能过滤(去掉注释、空白、样板内容)、分组(按目录聚合文件、按类型聚合错误)、截断(保留相关上下文)、去重(重复日志行折叠并计数)。
部分命令的处理方式:
| 命令 | 输出处理 |
|---|---|
ls / tree |
转为树形格式并附文件计数 |
cat / read |
智能读取,优先函数签名与结构而非全文 |
grep / rg |
截断超长行,按文件分组匹配 |
ast-grep |
结构化匹配按文件分组并限制溢出 |
git status |
紧凑统计格式,按状态分组 |
git diff |
缩减上下文,去掉头部 |
git log |
仅保留 hash、作者和标题 |
cargo test / npm test |
只留失败用例,通过用例折叠为计数 |
ruff check / sqlfluff lint |
按规则和文件分组 |
pytest / go test |
只留失败,裁剪 traceback |
docker ps |
仅保留关键字段 |
此外,rtk ng build 可压缩 Angular 构建表格,同时保留每个 bundle 和诊断信息。
安装与使用
安装(macOS / Linux / Windows):
brew install rtk # macOS / Linux
winget install rtk-ai.rtk # Windows
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
安装后确认版本与功能正常(crates.io 上存在另一个同名项目):
rtk --version # 任意当前版本
rtk gain # 必须显示节省统计面板,而不是 command not found
为所用 AI 工具初始化:
rtk init -g # Claude Code / Copilot(默认)
rtk init -g --gemini # Gemini CLI
rtk init -g --codex # Codex (OpenAI)
rtk init -g --agent cursor # Cursor
rtk init -g --agent windsurf # Windsurf
rtk init --agent cline # Cline / Roo Code
rtk init --agent kilocode # Kilo Code
rtk init --agent antigravity # Google Antigravity
rtk init --agent kimi # Kimi AI
rtk init -g --agent pi # Pi
rtk init --agent omp # Oh My Pi (OMP)
rtk init --agent hermes # Hermes
rtk init -g --agent droid # Factory Droid
rtk init --agent trae # Trae(项目级 .trae/hooks.json)
rtk init -g --agent trae # Trae 全局
初始化后重启 AI 工具即可,例如输入 git status 会被自动改写为 rtk git status。
注意事项
- 只对 Bash 工具调用生效:
Read、Grep、Glob等内置工具不经过 hook,可改用 shell 命令(cat、rg、find)或直接调用rtk read、rtk grep、rtk find。 - 节省是估算值:RTK 报告的 token 数按
bytes / 4估算,不含分词器,百分比可靠但绝对数值仅为近似。它压缩的是代理读取的 bash 输出,不等于账单同比例下降。 - 三个下载版本:
rtk(Apache-2.0 + BUSL-1.1,含 hook、全部过滤器和压缩引擎)、rtk-oss(仅 Apache-2.0,含 hook 与过滤器,无引擎)、rtk-proxy(BUSL-1.1,压缩 API 流量的守护进程)。两个rtk版本安装同名二进制,不能共存,切换前需先卸载。 - 许可范围:生产环境免费使用;但不得将 RTK 或其衍生物作为商业产品或服务提供给第三方。
- 不破坏提示缓存:RTK 每条命令只过滤一次,结果进入历史后按正常方式缓存。
本作品整理自 GitHub 开源项目 rtk-ai/rtk,原作者 @rtk-ai,许可证 Apache-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.1.0当前版本
新增 fish 脚本包装为 rtk run --shell fish、安全压缩 Angular 构建表格;修复分析报表周支出聚合、MinGW 链接参数、cargo nextest 失败计数以及 -h/--help 透传给被包装工具等问题。
评论