尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

rtk git log

rtk git log rtk git log【免费下载链接】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/rtkCondensesgit logoutput for token efficiency.Syntax:rtk git log [git-flags]Examples:# Show last 10 commits (condensed) rtk git log -10 # With specific format rtk git log --oneline --graph -20Token Savings: 80% (verified with fixtures)Performance: 10ms startupExpected Output:commit abc1234 Add feature X commit def5678 Fix bug Y ...这个模板的设计逻辑值得注意 1. **一句话功能定位**Condenses ... for token efficiency——让读者 3 秒内知道该命令省在哪 2. **语法 带注释的示例**——示例不是孤立的命令而是“意图注释 命令”配对符合“Show, Dont Tell”原则 3. **量化声明必须附验证方式**——“80% (verified with fixtures)”要求每个百分比都能追溯到某个 fixture而不是拍脑袋 4. **预期输出**——给出过滤后的实际形态读者可以当场比对。 这一模板在仓库中有真实的执行痕迹。例如 [src/cmds/git/git.rs](https://link.gitcode.com/i/53fb9c1295386421b66ae666f8b3dc24) 中的测试 test_filter_log_output_token_savings 就是按同样的逻辑写的构造 20 条带完整元数据的 git log 输出作为输入经 filter_log_output 过滤后断言节省率 savings 60.0——即模板中“verified with fixtures”在工程上对应的是一个可重复执行的断言而非一次性的人工测量。 ## 四、性能声明的证据链Fixture count_tokens() 测试阈值 Agent 规范中最有工程含量的部分是 **Performance Claims Documentation** 模板它把“RTK 能省 60-90% token”这句话拆解成了一条完整的证据链 markdown ## Token Savings Evidence **Methodology**: - Fixtures: Real command output from production environments - Measurement: Whitespace-based tokenization (count_tokens()) - Verification: Tests enforce ≥60% savings threshold方法论三要素与仓库源码完全对应Fixtures真实输出样本仓库tests/fixtures/目录下存放着大量真实命令输出如 tests/fixtures/sbt_test_pass.txt、tests/fixtures/mvn_install_slice_raw.txt、tests/fixtures/golangci_v2_json.txt 等覆盖 sbt、Maven、golangci-lint、CTest 等生态作为 Filter 测试的输入基准。测量函数count_tokens()模板中提到的函数在 src/core/utils.rs 中有明确定义——/// Count whitespace-delimited tokens in text. Used by filter tests to verify /// token savings claims. #[cfg(test)] pub fn count_tokens(text: str) - usize { text.split_whitespace().count() }即“按空白分词计数”且仅在测试构建#[cfg(test)]中启用说明它是专门服务于性能声明验证的工具函数而非运行时逻辑。测试阈值 ≥60%各 Filter 的测试内联复用了同一个分词函数并断言阈值例如 src/cmds/git/git.rslet output filter_log_output(input, 10, false, false); let savings 100.0 - (count_tokens(output) as f64 / count_tokens(input) as f64 * 100.0); assert!( savings 60.0, Expected ≥60% token savings, got {:.1}%, savings );模板中“Tests enforce ≥60% savings threshold”因此不是口号只要节省率跌破 60%cargo test就会失败Filter 合入即被拦截。模板还规定了结果文档的呈现格式——“按 Filter 列表 每行附 fixture 路径”的表格以及hyperfine启动耗时基准示例hyperfine rtk git status --warmup 3 # Output: Time (mean ± σ): 6.2 ms ± 0.3 ms [User: 4.1 ms, System: 1.8 ms] Range (min … max): 5.8 ms … 7.1 ms 100 runs并以固定命令收尾验证# Run token accuracy tests cargo test test_token_savings # All tests should pass, enforcing ≥60% savings从源码结构看这条证据链还与运行时的分类器呼应src/discover/registry.rs 中的Classification::Supported变体携带estimated_savings_pct: f64字段说明每个被识别的命令在路由时都带有一个预估节省率——文档中面向用户展示的百分比与代码内部的元数据是同一套口径。五、安装文档规范多平台步骤 名称冲突预警 排障规范第三个模板是Installation Documentation其结构是“每个平台给安装选项 → 每步后跟验证命令 → 末尾集中排障”macOS两条路径# Option 1: Homebrew brew install rtk-ai/tap/rtk rtk --version # Should show rtk X.Y.Z # Option 2: From Source git clone rtk repo cd rtk cargo install --path . rtk --version # Verify installationLinux源码 二进制下载# From Source (Cargo required) cargo install --path . which rtk rtk --version # Binary Download (faster) # 下载 rtk-linux-x86_64 后 chmod x rtk sudo mv rtk /usr/local/bin/ rtk --versionWindows下载rtk-windows-x86_64.exe加入 PATHrtk --version验证。模板随后给出两个高频故障的排障条目rtk: command not found原因是二进制不在 PATH修复方式是echo export PATH$HOME/.cargo/bin:$PATH ~/.zshrc source ~/.zshrcrtk gain失败原因是装错了名为 rtk 的另一项目名称冲突Rust Type Kit修复方式是cargo uninstall rtk后从正确的 rtk-ai 仓库重装并用rtk gain --help验证。其中“名称冲突”这一点在仓库的 INSTALL.md 中有更完整的版本该安装指南开篇即警告存在两个完全不同的 rtk 项目并把rtk gain能显示节省量看板作为判定装对了 RTKRust Token Killer的唯一金标准仓库同样提供了 scripts/check-installation.sh 一类脚本辅助验证。模板要求“每个安装步骤必须有验证命令”的原则在rtk gain这个探针上体现得最为彻底——因为它同时验证了“二进制存在”和“是这个项目的二进制”两件事。六、Hook 集成文档五步命令路由与两个 Hook 脚本第四个模板讲解 RTK 与 Claude Code 的集成机制给出了标准化的五步流程用户在 Claude Code 中键入命令git statusHookrtk-rewrite.sh拦截该命令改写为rtk git statusRTK 应用 Filter返回压缩后的输出Claude 看到的是 token 优化后的结果文档标注约 80% 节省。模板指认了两个 Hook 文件及其职责分工它们在仓库中均真实存在.claude/hooks/rtk-rewrite.sh —— 命令改写模板标注 DO NOT MODIFY.claude/hooks/rtk-suggest.sh —— 当某命令存在可用 Filter 时发出建议不修改执行。仓库源码比模板更能说明这套机制的工程细节。从 rtk-rewrite.sh 的头部注释可以看出Hook 本身不含任何映射逻辑而是把rtk rewrite子命令作为“单一事实来源”single source of truth并约定了一套退出码协议退出码含义Hook 行为0 stdout找到改写且未命中 deny/ask 规则输出permissionDecision: allow自动放行1无 RTK 等价命令原样透传exit 02命中 deny 规则透传交给 Claude Code 原生 deny 处理3 stdout命中 ask 规则改写命令但不自动放行让 Claude Code 向用户弹确认脚本还会跳过 heredoc**与空命令当设置环境变量RTK_HOOK_AUDIT1时所有动作rewrite / skip:no_match / skip:deny_rule 等会追加写入~/.local/share/rtk/hook-audit.log使“透明改写”这一行为本身可审计。这正是文档中“Explain Hook Integration”要求落地为可验证依据的地方ls -la .claude/hooks/*.sh检查可执行位、rtk init --show检查 Hook 是否安装都是模板给出的验证手段见 INSTALL.md “Project Initialization”一节。与之互补的 rtk-suggest.sh 则代表了另一条更温和的集成路径它不调用rtk rewrite而是在脚本内用正则匹配git status/diff/log、cargo test、vitest、pnpm list、docker ps等命令族命中后仅输出一条systemMessage如 ⚡ RTK available:rtk git status(60-90% token savings)把改写决定留给模型。从源码结构看rewrite 走的是“二进制内规则表”src/discover/rules.rs经 src/discover/registry.rs 的RegexSet统一编译而 suggest 走的是“脚本内启发式”前者保证确定性路由后者保证零侵入提示两条路径在文档中被明确区分为“自动改写”与“建议”两种预期行为——“有 Filter 的命令 → 自动改写无 Filter 的命令 → 原样执行”。七、Filter 开发指南从模块到质量门禁第五个模板是Filter Development Guide规定了贡献一个新 Filter 的五步流程第 1 步创建 Filter 模块在src/cmds/ecosystem/newcmd_cmd.rs中实现模板给出的骨架展示了三条硬性要求——正则必须惰性编译、过滤函数返回Result、测试必须断言节省率use anyhow::{Context, Result}; use regex::Regex; use std::sync::LazyLock; static PATTERN: LazyLockRegex LazyLock::new(|| Regex::new(rpattern).unwrap()); pub fn filter_newcmd(input: str) - ResultString { // Filter logic Ok(condensed_output) } #[cfg(test)] mod tests { use super::*; #[test] fn test_token_savings() { let input include_str!(../tests/fixtures/newcmd_raw.txt); let output filter_newcmd(input).unwrap(); let savings calculate_savings(input, output); assert!(savings 60.0); } }LazyLockRegex这一要求在仓库里是普遍执行的惯例例如 src/discover/registry.rs 用两个LazyLockREGEX_SET与COMPILED把所有改写规则的正则在首次使用时一次性编译复用避免每次调用重复编译——这是“10ms 启动时间”目标的直接支撑。第 2 步注册到 main.rs// src/main.rs #[derive(Subcommand)] enum Commands { Newcmd { #[arg(trailing_var_arg true)] args: VecString, }, }trailing_var_arg true确保用户的原始参数被完整透传给底层命令Filter 只作用于输出。第 3 步写测试# Create fixture newcmd --args tests/fixtures/newcmd_raw.txt # Run tests cargo testFixture 的来源约定是“真实命令输出”模板表述为 production environments 的真实输出include_str!在编译期将其固化进测试二进制使节省率断言不依赖运行环境。第 4 步记录 token 节省更新 README按统一表格格式登记| rtk newcmd | 75% | Condenses newcmd output |第 5 步质量门禁cargo fmt --all cargo clippy --all-targets cargo test --all模板最后给出五条Filter Quality Standards它们共同构成新 Filter 的验收清单Token 节省测试中验证 ≥60%启动时间hyperfine测量 10ms惰性正则固定且复用的模式必须使用LazyLockRegex错误处理失败时回退到原始命令输出保证代理永不“吞掉”信息跨平台在 macOS 与 Linux 上测试。其中“失败回退到原始命令”这一条与 src/discover/registry.rs 中Classification::Unsupported无匹配则透传的设计一脉相承RTK 的文档规范与代码架构共享同一条安全底线——宁可不过滤也不得错误过滤。八、职责边界与五条文档原则规范用Boundaries一节划清了 technical-writer 与仓库内其他 Agent如 rust-rtk、rtk-testing-specialist的分工Will会做编写带可运行示例的完整 CLI 文档用证据基准、fixture记录性能声明编写带平台差异说明与排障的安装指南解释 Hook 集成与命令路由机制指导带测试模式的 Filter 开发。Will Not不做不实现新 Filter 或生产代码交给 rust-rtk agent不替 Filter 设计做架构决策不写没有证据的营销内容。文档原则Documentation Principles则被归纳为五条可视为整套体系的浓缩Show, Dont Tell包含带预期输出的可运行示例Evidence-Based性能声明必须有基准/测试支撑Platform-AwaremacOS/Linux/Windows 差异必须写明Verification Steps每个步骤都有“验证它生效”的动作Troubleshooting预判常见问题并给出修复方案。风格指南Style Guide进一步用正例固定了三种典型场景的写法标准# 命令示例命令 预期输出 rtk git status # Output: M src/main.rs A tests/new_test.rs# 性能声明数字 fixture 验证命令 Token savings: 80% (2,450 → 489 tokens) Fixture: tests/fixtures/git_log_raw.txt Verification: cargo test test_git_log_savings# 安装步骤安装 验证 cargo install --path . rtk --version # Verify shows rtk X.Y.Z【免费下载链接】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),仅供参考
返回列表