返回项目页

RTK v0.49.0:压缩 shell 输出,不要把它当成账单计算器

RTK 在编码 Agent 读取结果前执行真实 shell 命令,再按命令类型过滤、分组、截断和去重。它覆盖 git、测试、lint、容器、IaC、AWS 等大量命令,可通过 Agent hook 或插件自动改写调用。

当前稳定版

v0.49.0 发布于 2026-09-11,加入 SQLite recall、sqlfluff 过滤和更安全的管道改写,同时修复 diff、grep、信号透传与静默丢失问题。Releases 中的 v0.50.0 dev RC 是预发布,不能当作当前稳定版。

先审阅,再安装 hook

rtk --version
rtk gain
rtk init --show
# 确认改动后,再针对宿主运行对应 rtk init

官方还提醒 crates.io 上有另一个名为 rtk 的 Rust Type Kit。若 `rtk gain` 不存在,说明很可能装错。优先使用官方 Release、Homebrew 或 winget,并核对二进制来源。

输出怎样被压缩

RTK 的规则按命令设计:通过的测试折成计数、失败保留摘要;git diff 去掉冗余头部;容器日志去重;云 CLI 只保留常用字段。v0.49.0 的 recall 会把被截断的尾部存入本地 SQLite,以便出错时取回。内置 Read、Grep、Glob 不经过 Bash hook,因此不会自动受益。

口径提醒:官方“最多 90%”指 bash 输出减少比例,token 数按 bytes/4 估算。系统提示、对话历史、其他工具输入和模型输出仍会计费,不能把 `rtk gain` 直接换算成账单。

可靠性与隐私

与 Headroom 对比

Headroom 提供库、HTTP proxy、MCP 和多算法压缩,覆盖工具输出、日志、RAG、文件与会话历史。RTK 的范围更窄,只在本地 shell 层使用命令专属过滤器。只需处理 git/test/docker 等终端噪声时 RTK 更直接;还要压缩非 CLI 上下文时再评估 Headroom。

验证边界:本轮只核对官方 README、DISCLAIMER、v0.49.0 Release、安装与 hook 说明。未安装二进制,未修改 Agent hook/配置,未执行开发命令,未创建统计或 recall 数据库,也未验证官方节省比例。

这里仅补原教程没有展开的事实和边界。安装命令与操作步骤仍以前文为准。

先判断这个项目是否适合你

适合谁用

适合命令输出量大、上下文经常被测试日志、git diff、容器日志或云 CLI 占满的编码 Agent。它只能缩短经过 hook 的 shell 输出,不能缩短系统提示、用户提示、模型输出或宿主内置文件工具。

采用建议

RTK 对 shell 输出占用上下文的问题给出了边界清楚的本地方案。采用时要把收益理解为输出压缩,先审阅 hook、用失败命令验证信息保真,并保留绕过与 recall;不要用 `gain` 的估算值直接推算账单。

原教程未展开的系统信息

核心功能

  • 自动改写 hook

    针对 Claude Code、Codex、Gemini、Cursor 等宿主安装 hook 或插件,把 Bash 调用透明改写为 RTK。

  • 统计与发现

    `rtk gain` 展示估算节省,`rtk discover` 查找遗漏机会;估算使用 bytes/4,不是精确 tokenizer 账单。

  • 失败驱动 recall

    v0.49.0 增加内容寻址的 SQLite recall,在截断或失败时保存可恢复尾部,并跟踪过滤器效率。

架构与数据流

Agent 的 shell hook 先识别命令并改写为 RTK,RTK 再执行真实程序、捕获 stdout/stderr,并按命令类型应用过滤、分组、截断和去重。输出交回 Agent,原命令退出与信号需要透传。v0.49.0 的 recall 使用本地 SQLite 保存被省略内容,必要时可按内容哈希取回。内置 Read/Grep/Glob 不经过 Bash hook,必须显式使用 RTK 命令才会过滤。

技术栈和运行条件

语言

Rust

框架

单一 CLI 二进制 + Agent hook/plugin + 本地 SQLite recall

关键依赖

  • 目标开发命令本身
  • 部分过滤器需要 ripgrep
  • 可选 Homebrew/winget/Cargo

运行环境

macOS/Linux/Windows/WSL;本地配置、hook、统计和 recall 数据

常见问题

RTK v0.49.0 宣称减少 90% token,账单也会少 90% 吗?

不会。官方说明该数字是 bash 输出减少量;总费用还包含系统提示、对话历史、其他输入和模型输出,而且 token 数按 bytes/4 估算。

RTK 会处理 Claude Code 的 Read、Grep 和 Glob 吗?

不会自动处理。这些内置工具不经过 Bash hook;需要改用 shell 命令或显式调用 `rtk read`、`rtk grep` 和 `rtk find`。

怎样避免安装到 crates.io 上另一个同名 rtk?

优先用官方 Release、Homebrew 或 winget。安装后运行 `rtk gain`;若命令不存在,应卸载错误包并按官方仓库给出的 Cargo Git 地址重装。

RTK 截断后找不到关键日志怎么办?

先用 recall 取回被省略内容,或用 `rtk proxy`/原始命令绕过过滤。团队应为故障排查和取证流程保留明确的原始输出路径。

官方来源:仓库v0.49.0免责声明