拓冰建站拓冰建站
首页 / 资讯中心 / 正文

RTK代理原理图详解:命令从AI Agent到压缩输出的完整路径

RTK代理原理图详解命令从AI Agent到压缩输出的完整路径【免费下载链接】rtkCLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies项目地址: https://gitcode.com/GitHub_Trending/rtk4/rtkRTKRust Token Killer是一个高性能的CLI 代理CLI proxy用单个 Rust 二进制、零依赖的方式把 AI Agent 读取的 bash 命令输出压缩60%–90%。本文用一张原理路径图串起它的完整工作机制你的命令如何从 AI Agent 出发经过钩子拦截、CLI 解析、过滤器压缩最终以精简文本回到模型上下文。一图看懂 RTK 代理的完整路径先看整体对比没有 RTK 时Agent 拿到的是全量原始输出装上 RTK 后命令会先绕道 RTK 代理输出被过滤压缩后才返回。无 RTK 有 RTK Claude --git status-- shell -- git Claude --git status-- RTK -- git ^ | ^ | | | 完整原始输出 | | 压缩输出 | filter | ----------------------------- ----- (过滤后) -------------整条路径可以拆成四个阶段阶段发生位置核心动作① 钩子拦截AI Agent 侧PreToolUse 事件把git status改写成rtk git status② 解析路由src/main.rsClap 解析参数按命令枚举分发到对应过滤模块③ 过滤压缩src/cmds/或src/filters/执行命令并只保留有用信息④ 追踪回写src/core/tracking.rs记录原始/压缩后字节数写入 SQLite 供rtk gain展示下面逐个阶段拆解。阶段一钩子拦截与命令改写Agent → RTK这是路径的起点。rtk init会在你的 AI 工具Claude Code、Copilot、Cursor 等 16 款里安装一个轻量钩子Agent 执行命令如 cargo test --nocapture → 钩子拦截 PreToolUse 事件 → 读取 JSON提取命令字符串 → 调用 rtk rewrite cargo test --nocapture → 注册表命中模式返回 rtk cargo test --nocapture → Agent 改写执行压缩后输出进入 LLM 上下文几个值得注意的设计钩子只是薄代理所有改写逻辑都在 Rust 二进制内部src/discover/registry.rs钩子脚本只负责适配各家 Agent 的 JSON 格式见 hooks/README.md保证 70 条改写规则有单一事实来源。复合命令分段处理cargo fmt --all cargo test | tail -20会被词法分析器src/discover/lexer.rs按、|拆段逐段改写管道中间环节保持原样避免破坏 shell 语义。失败即静默放行任何一步出错缺依赖、无匹配规则原始命令照常执行——这是 RTK Fail-Safe 设计原则的第一道体现。阶段二CLI 解析与命令路由改写后的rtk git status进入 RTK 主程序路径如下Clap 解析Cli::try_parse()把命令行匹配到Commands枚举入口在src/main.rs完整性检查src/hooks/integrity.rs校验已安装钩子的 SHA-256 哈希防止钩子被篡改路由分发一个match cli.command把请求派发到 42 个命令过滤模块中的对应一个。如果命令不在枚举里比如rtk some-unknown-tool不会报错而是进入fallback 路径先查 TOML 声明式过滤器再匹配不上就纯透传——RTK 保证透明代理未知命令原样执行。阶段三双过滤器系统与压缩策略核心环节这是省 token真正发生的地方。RTK 有两套过滤系统Rust 过滤器src/cmds/编译进二进制的高性能模块按生态组织——git、rust、js、python、go、dotnet、cloud、system 等 9 个生态处理复杂转换JSON 解析、状态机、正则分组TOML DSL 过滤器src/filters/*.toml声明式配置8 级流水线去 ANSI → 正则替换 → 行匹配保留/剔除 → 截断 → 头尾裁剪等适合快速为新命令补规则。以rtk git log --oneline -5为例执行生命周期六步走PARSE解析参数→ ROUTE路由到 git 模块 → EXECUTE真正跑 git捕获 stdout 退出码 → FILTER统计抽取5 commits, 142/-89压缩 96% → PRINT输出彩色精简结果 → TRACK500 字节 → 20 字节 写入 ~/.local/share/rtk 数据库不同命令类型对应不同压缩策略官方归纳了 12 类挑几个最直观的策略原始输出压缩后典型命令统计抽取5000 行 status3 files, 142/-89git status、git diff失败聚焦100 个测试全量输出2 failed: test_auth...pytest、vitest、go test按模式分组100 条零散 lint 错误no-unused-vars: 23lint、tsc、ruff日志去重重复日志行[ERROR] ... (×5)rtk log进度条剥离ANSI 动态进度条✓ Downloadedwget、pnpm install树形压缩50 个文件平铺列表src/ ├─ lib/ (12)ls、tree想看完整策略矩阵可参考 docs/contributing/ARCHITECTURE.md 中的 Filtering Strategy Taxonomy 章节。阶段四Token 追踪与失败恢复路径的最后两环让省了多少变得可量化、可追溯Token 追踪每次执行都记录原始/压缩字节数按bytes / 4估算 token、节省百分比、项目路径到 SQLite数据自动保留 90 天。运行rtk gain即可看到节省看板与 30 天 ASCII 图表rtk discover还能反查哪些高频命令还没被压缩。Tee 失败恢复命令退出码非零时RTK 会把未过滤的完整原始输出另存到本地日志文件并在结果里附一行提示路径——Agent 需要细节时重读文件即可不必重跑失败命令。为什么这套代理设计可靠四条设计原则贯穿始终详见 docs/contributing/TECHNICAL.mdFail-Safe过滤失败 → 回退原始输出绝不吞掉信息退出码保真RTK 永不掩盖非零退出码CI/CD 场景安全透明可控-v/-vv/-vvv三级调试可看到被过滤前的原始输出极低开销单线程、无 async启动 10ms常驻内存 5MB。⚠️ 小贴士RTK 压缩的是bash 输出占用的输入 token它只是账单中输入 token的一部分贡献者不等于整单费用下降 90%。官方口径百分比可靠绝对 token 数为近似值。快速上手5 分钟跑通完整路径# 1. 安装任选其一 brew install rtk # 或curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh # 2. 为你的 AI 工具安装钩子 rtk init -g # 3. 重启 AI 工具后测试 git status # 自动被改写为 rtk git status # 4. 查看节省效果 rtk gain # 节省看板 rtk gain --graph # 近 30 天 ASCII 图表一条命令走完全程Agent 发命令 → 钩子改写 → RTK 路由 → 过滤压缩 → 精简输出回传 → 节省数据入库。理解这条路径后你就能明白为什么 RTK 能以 10ms 的开销稳定为 AI Agent 省下 60%–90% 的命令输出 token。【免费下载链接】rtkCLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies项目地址: https://gitcode.com/GitHub_Trending/rtk4/rtk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门