官方中文正文为项目官方提供的中文文档(原文转载),本站未作翻译、未改动文字,仅剔除图片与无关章节。
高性能 CLI 代理,为你的智能体削减多达 90% 的 bash 输出
rtk 在命令输出到达 LLM 上下文之前进行过滤和压缩。单一 Rust 二进制文件,零依赖,<10ms 开销。
RTK 做什么
RTK 拦截 shell 命令,在你的智能体读取之前压缩其输出。
| 操作 | RTK 对输出做了什么 |
|---|---|
ls / tree |
用带文件计数的树形格式代替每个条目一行 |
cat / read |
智能文件读取:保留签名和结构,而非完整函数体 |
grep / rg |
截断超长行,按文件分组匹配结果 |
git status |
紧凑的 stat 格式,按状态分组 |
git diff |
减少上下文,去掉头部信息 |
git log |
仅保留哈希、作者和标题 |
git add/commit/push |
用一行确认代替完整的进度输出 |
cargo test / npm test |
仅显示失败,通过的测试折叠为计数 |
ruff check |
按规则和文件分组 |
pytest |
仅显示失败,精简 traceback |
go test |
解析 NDJSON,仅显示失败 |
docker ps |
仅保留关键字段 |
节省是如何计算的
RTK 为你的智能体削减多达 90% 的 bash 输出。这正是 RTK 所测量的指标,它与「账单降低 90%」不是一回事。
bash 输出只是输入 token 的来源之一,此外还有你的提示词、系统提示词和对话历史。而输入 token 本身也只是账单的一部分,账单还包含输出 token。削减效果在每一步都会被稀释。
RTK 报告的 token 数量按 字节数 / 4 估算:RTK 不内置分词器,因此百分比是可靠的,但 token 绝对数值只是近似值。
完整说明:RTK 的节省是如何计算的
安装
Homebrew(推荐)
brew install rtk
winget(Windows)
Windows 上最简单的安装方式 — 一条命令,无需配置 PATH:
winget install rtk-ai.rtk
快速安装(Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
Cargo
cargo install --git https://github.com/rtk-ai/rtk
验证
rtk --version # 应显示 "rtk 0.27.x"
rtk gain # 应显示 token 节省统计
快速开始
# 1. 为对应的 AI 工具安装 hook
rtk init --global # Claude Code(默认)
rtk init --agent trae # Trae(项目级)
rtk init --global --agent trae # Trae(全局)
# 2. 重启相应的 AI 工具,然后测试
git status # 自动重写为 rtk git status
工作原理
没有 rtk: 使用 rtk:
Claude --git status--> shell --> git Claude --git status--> RTK --> git
^ | ^ | |
| ~2,000 tokens(原始) | | ~200 tokens | 过滤 |
+-----------------------------------+ +------- (已过滤)-----+----------+
四种策略:
- 智能过滤 - 去除噪音(注释、空白、样板代码)
- 分组 - 聚合相似项(按目录分文件,按类型分错误)
- 截断 - 保留相关上下文,删除冗余
- 去重 - 合并重复日志行并计数
命令
下列百分比是 bash 输出字节数的削减比例,由 RTK 的
字节数 / 4估算器测得。参见节省是如何计算的。
文件
rtk ls . # 优化的目录树
rtk read file.rs # 智能文件读取
rtk find "*.rs" . # 紧凑的查找结果
rtk grep "pattern" . # 按文件分组的搜索结果
Git
rtk git status # 紧凑状态
rtk git log -n 10 # 单行提交
rtk git diff # 精简 diff
rtk git push # -> "ok main"
测试
rtk jest # Jest 紧凑输出
rtk vitest # Vitest 紧凑输出
rtk pytest # Python 测试(-90%)
rtk go test # Go 测试(-90%)
rtk test <cmd> # 仅显示失败(-90%)
构建 & 检查
rtk lint # ESLint 按规则分组
rtk tsc # TypeScript 错误分组
rtk cargo build # Cargo 构建(-80%)
rtk ruff check # Python lint(-80%)
容器
rtk docker ps # 紧凑容器列表
rtk docker logs <container> # 去重日志
rtk kubectl pods # 紧凑 Pod 列表
分析
rtk gain # 节省统计
rtk gain --graph # ASCII 图表(30 天)
rtk discover # 发现遗漏的节省机会
文档
- TROUBLESHOOTING.md - 解决常见问题
- INSTALL.md - 详细安装指南
- ARCHITECTURE.md - 技术架构
贡献
欢迎贡献!请在 GitHub 上提交 issue 或 PR。
加入 Discord 社区。
许可证
Apache 2.0 许可证 - 详见 LICENSE。
免责声明
详见 DISCLAIMER.md。
本站来源与版权声明
- 本文标题:rtk - CLI 代理
- 本文链接:https://cn121.com/cli/rtk-ai-rtk.html
- 原项目:rtk-ai/rtk 版权归原作者 rtk-ai 及贡献者所有
- 收录信息:本站于 2026-09-22 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 rtk-ai/rtk。
- 内容说明:本页正文为项目官方提供的中文文档(原文转载),本站未作翻译、未改动文字,仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。