跳到正文
发现
RTK:压缩 AI 编程代理命令输出的 CLI
命令行工具开发者工具

RTK:压缩 AI 编程代理命令输出的 CLI

一个 Rust 编写的单二进制 CLI 代理,在命令输出进入 LLM 上下文前做压缩,减少 token 消耗。

admin
发布于 2026-10-28
浏览
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 整理,以原仓库为准。

更新记录

  1. v1.1.0当前版本

    新增 fish 脚本包装为 rtk run --shell fish、安全压缩 Angular 构建表格;修复分析报表周支出聚合、MinGW 链接参数、cargo nextest 失败计数以及 -h/--help 透传给被包装工具等问题。

评论