发布时间:2026/9/7 15:35:12
rtk-awareness 解析:rtk 如何让 Claude Code 自动经 rtk 代理命令以压缩 Token 消耗 rtk-awareness 解析rtk 如何让 Claude Code 自动经 rtk 代理命令以压缩 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/rtkhooks/claude/rtk-awareness.md是 rtkRust Token Killer为 Claude Code 准备的一份“意识文件”它被rtk init嵌入到用户的 Claude 指令体系中告诉 AI Agent 哪些 rtk 元命令应直接调用、如何验证 rtk 安装正确以及其余命令为何无需关心——因为它们会被 Claude Code 的PreToolUsehook 透明改写成rtk cmd形式。读完本文你将掌握这份意识文件的完整用法、它在 rtk 安装流程中的生成与注入链路以及底层 hook 改写协议rtk rewrite退出码协议、版本守卫、审计日志的实现细节。rtk-awareness.md 的定位与内容全貌rtk-awareness.md 是一份刻意保持极短的指令文件hooks/claude/README.md 称之为 “slim instructions file”由rtk init安装时写入用户环境。它只有三块内容Meta Commands元命令——要求 Agent “始终直接使用 rtk”调用即不经过 hook 改写、由 Agent 主动发起的管理类命令rtk gain # Show token savings analytics rtk gain --history # Show command usage history with savings rtk discover # Analyze Claude Code history for missed opportunities rtk proxy cmd # Execute raw command without filtering (for debugging)Installation Verification安装验证——用于确认 PATH 里的是正确的 rtk 二进制rtk --version # Should show: rtk X.Y.Z rtk gain # Should work (not command not found) which rtk # Verify correct binaryHook-Based Usagehook 接管——明确告知 Agent其余所有命令都由 Claude Code hook 自动改写例如git status→rtk git status透明且 0 token 开销完整命令参考见 CLAUDE.md。这份文件的设计意图是把需要 Agent 主动知道的事情压到最少只有元命令查询节省量、审计历史、调试透传必须“直接执行”日常开发命令全部交给 hook 静默改写Agent 上下文里因此不需要维护一长串命令映射表。它从哪里来rtk init的注入链路从源码结构看这份文件并不是安装后手工拷贝的而是编译期打包进二进制的内嵌字符串。在 src/hooks/init.rs 中// Embedded slim RTK awareness instructions const RTK_SLIM: str include_str!(../../hooks/claude/rtk-awareness.md); const RTK_SLIM_CODEX: str include_str!(../../hooks/codex/rtk-awareness.md);rtk init的默认模式run_default_mode见 init.rs会将RTK_SLIM的完整内容原子写入~/.claude/RTK.md见 init.rs 中write_if_changed(rtk_md_path, RTK_SLIM, RTK_MD, ctx)并通过RTK.md引用挂接到用户的CLAUDE.md同时向~/.claude/settings.json的hooks.PreToolUse注入改写 hook常量见 src/hooks/constants.rshook 文件名为rtk-rewrite.sh当前安装形态的 hook 命令是rtk hook claude使用 tempfile rename 的atomic_write保证写入不损坏已有文件且写入是幂等的内容相同则跳过。值得注意的是同一个RTK_SLIM内容还被复用于其他 Agent 的指令文件Gemini 的GEMINI.mdinit.rs和 Vibe 的 prompt 文件init.rs也就是说这份“意识文件”是 rtk 多 Agent 支持中共享的最小知识单元卸载时rtk init --global的对应清理逻辑会移除RTK.md、CLAUDE.md中的引用块以及settings.json里的 hook 条目。元命令详解awareness 文件中的四条核心指令awareness 文件要求 Agent “always use rtk directly” 的四条命令分别对应 rtk 的分析与调试能力以下逐一结合源码说明其行为。rtk gain 与 rtk gain --history节省量分析rtk gain输出 token 节省统计--history追加展示每条命令的使用历史。实现位于 src/analytics/gain.rs入口函数签名即为run(..., history: bool, ...)见 gain.rshistory标志开启后在 gain.rs 处输出历史明细。节省数据的来源是 SQLite 跟踪库CLAUDE.md 说明“Token savings are tracked in SQLite viasrc/core/tracking.rs”且 RTK 不内置 tokenizertoken 数按bytes / 4估算——因此这些数字是“可靠的比例 近似的绝对值”。rtk discover发现被漏掉的节省机会rtk discover分析 Claude Code 的命令历史找出没有经过 RTK 过滤执行的命令并估算潜在损失支持rtk discover --all所有项目与rtk discover --all --since 7最近 7 天等参数。行为细节可参考 docs/guide/analytics/discover.md。如果安装后该报告仍持续列出“漏网”命令通常意味着 hook 对当前 Agent 未生效——这正是 awareness 文件与 hook 配置需要一起检查的信号。rtk proxy 无过滤透传调试用rtk proxy command [args...]绕过 RTK 过滤执行原生命令但依然记录用量在rtk gain --history中显示为 0% 削减输入 输出。CLAUDE.md 中给出三个典型用途与示例rtk proxy git log --oneline -20 # Full git log output (no truncation) rtk proxy npm install express # Raw npm output (no filtering) rtk proxy curl https://api.example.com/data # Any command works它同时扮演“过滤出 bug 时的逃生通道”与“保证任何命令都能跑”的兼容兜底——这也是 awareness 文件强调调试场景用rtk proxy而非直接裸命令的原因。安装验证与同名项目陷阱awareness 文件专门用一条警告强调命名冲突⚠️Name collision: Ifrtk gainfails, you may have reachingforthejack/rtk (Rust Type Kit) installed instead.CLAUDE.md 对此有完整阐述生态里存在两个名为 rtk 的项目——本项目 Rust Token Killer 与 reachingforthejack/rtkRust Type Kit生成 Rust 类型完全不同。因此验证序列是三条命令交叉确认rtk --version # 应显示 rtk 0.28.2或更新版本 rtk gain # 应显示节省统计而非 command not found which rtk # 确认二进制来源rtk gain是关键的判别探针Rust Type Kit 没有gain子命令一旦报 command not found 即可断定装错了包。Hook-Based Usage 的底层机制透明改写协议awareness 文件最后一段写道“All other commands are automatically rewritten by the Claude Code hook. Example:git status→rtk git status(transparent, 0 tokens overhead)”。这句话的完整实现链路由三部分组成。1. 薄 Bash hookrtk-rewrite.shrtk-rewrite.sh 是一个刻意保持“薄”的PreToolUsehook文件头注释明确所有改写逻辑都在rtk rewrite子命令中Rust 注册表是唯一事实来源shell 脚本只做守卫与委托。其执行流程依赖守卫jq缺失 → 打印警告并exit 0静默降级rtk缺失 → 同样静默退出见 rtk-rewrite.sh版本守卫rtk rewrite是 0.23.0 才引入的命令脚本解析rtk --version并缓存到$XDG_CACHE_HOME/rtk-hook-version-ok低于 0.23.0 则警告后退出见 rtk-rewrite.sh委托改写从 stdin 读入 Claude Code 的 JSON用jq提取.tool_input.command然后执行rtk rewrite $CMD按退出码分流见 rtk-rewrite.sh退出码含义hook 动作0 stdout找到改写且无 deny/ask 规则命中输出updatedInput并自动放行permissionDecision: allow1无 RTK 等价命令原样透传不做任何事2命中 deny 规则透传交给 Claude Code 原生 deny 处理3 stdout命中 ask 规则输出改写但不带permissionDecision由 Claude Code 弹确认框放行与请求确认两种分支的 JSON 输出分别见 rtk-rewrite.sh。hooks/claude/README.md 总结其失败哲学jq 缺失、rtk 缺失、版本过旧、无匹配——任何失败都静默exit 0绝不让 hook 打断 Agent 工作流。2. Rust 端决策rtk rewrite真正的判定逻辑在 src/hooks/rewrite_cmd.rs 的run()中其文档注释完整定义了退出码协议0/1/2/3 与上表一致。决策函数evaluate_with_verdictrewrite_cmd.rs按顺序做三件事权限裁决读取 Claude Code 的 settings 规则allow/ask/deny。Deny直接返回退出码 2不可证明结构检查crate::discover::lexer::contains_unattestable_construct(cmd)检测到反引号、$()命令替换、文件重定向等无法静态证明等价性的结构时一律透传不冒险改写注意 fd 复制21不算在内仍可改写——这与测试中cargo test 21→rtk cargo test 21的行为一致注册表改写registry::rewrite_command(cmd, excluded, transparent_prefixes)src/discover/registry.rs查找改写规则支持exclude_commands排除清单与transparent_prefixes两个用户配置项。一个安全关键点值得注意PermissionVerdict::Default无任何规则命中必须映射到退出码 3ask而非 0allow否则任何没有显式 allow 规则的命令都会被 hook 自动放行绕过 Claude Code 的最小权限默认值。该约束由 rewrite_cmd.rs 中专门的exit_code_protocol测试模块固化防止未来重构引入自动放行旁路。3. 回归验证60 断言的测试套件hooks/claude/test-rtk-rewrite.sh 通过向 hook 喂入 mock JSON 来验证改写行为可用HOOK/path/to/rtk-rewrite.sh覆盖测试目标见 hooks/claude/README.md。测试覆盖了 awareness 文件所依赖的全部关键行为基础改写git status→rtk git status、rg pattern src/→rtk grep pattern src/、cat package.json→rtk read package.json环境变量前缀保留GIT_PAGERcat git status→GIT_PAGERcat rtk git status不该改写的场景heredoc、echo、cd、mkdir、python3、node -e以及 rtk 未实现子命令的docker compose up -d、docker compose down对比docker compose logs/ps/build会被改写RTK_DISABLED 开关RTK_DISABLED1 git status不被改写重定向与边界cargo test 21、cargo test git status等不会被误判为重定向幂等性rtk git status输入即原样输出审计日志设置RTK_HOOK_AUDIT1与RTK_AUDIT_DIR后hook 会写hook-audit.log4 字段管道分隔action 取值如rewrite、skip:already_rtk、skip:heredoc、skip:no_match未设置时不产生日志。审计能力的配置说明见 docs/guide/getting-started/configuration.mdRTK_HOOK_AUDIT1一行实现见 src/hooks/hook_cmd.rs配套的聚合分析命令入口在 src/main.rs“Show hook rewrite audit metrics (requires RTK_HOOK_AUDIT1)”。小结一个“少即是多”的 Agent 指令设计rtk-awareness.md体现了 rtk 在 Claude Code 集成上的核心权衡用 hook 承担 99% 的透明改写工作规则集中在 Rust 注册表 src/discover/registry.rs 中单点维护只用一份十几行的意识文件教 Agent 三件事——四条元命令、安装自检、以及“其余的不用管”。对读者而言实践路径是先按 awareness 文件的验证序列确认装对了 rtk再用rtk init完成RTK.md/hook 注入最后用rtk gain、rtk discover与RTK_HOOK_AUDIT1审计日志持续观察节省效果与 hook 覆盖率。【免费下载链接】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),仅供参考

相关新闻

2026/9/7 15:35:12

uniCloud云函数计费调整全解析:成本测算与优化实战

群里炸锅的时候我正在改一个 uniCloud 项目的上线配置,坦白讲,看到"阿里云服务空间云函数计费规则调整"这几个字,我第一反应也是血压升高。用了三年 uniCloud 阿里云服务空间,从免费额度时代一路走过来,太清…

2026/9/7 15:30:06

时间格式转换实战:数据清洗中的三大语言体系与时区处理

1. 内容整体设计与思路拆解1.1 一个看似简单却让实习生栽跟头的任务我到现在还清楚记得那天早晨,mentor把一份几十万行的埋点日志丢给我,说了句“把时间字段统一成YYYY-MM-DD HH:MM:SS,下午下班前给我”。我扫了一眼数据,第一反应…

2026/9/7 16:35:19

3步解锁Wand完整专业功能:Wand-Enhancer 从零到上手指南

3步解锁Wand完整专业功能:Wand-Enhancer 从零到上手指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand(WeMod&#x…

2026/9/7 16:35:19

馈线智能化:企业配电数字化落地第一步

干企业配电这行十多年,我越来越觉得一个项目成败的分水岭不在后台软件,而在最末端的那条“线”上。这几年接过不少客户,上来就要上能源管理系统、要大数据分析、要智能运维平台,结果现场一走,馈线柜里全是老式热磁断路…

2026/9/7 16:35:19

EM算法详解:从隐变量到高斯混合模型的实战指南

如果你翻到课程目录的第九章,看到"EM算法"四个字,多半已经做了点心理准备。我在读研那会儿,第一次看教材里那几页公式,脑子里的画面是:一个没见过数据的老师,非要让一个蒙着眼睛的学生在教室里找…

2026/9/7 16:35:19

工业物联网安全监测:天然气泄漏检测网络实时测试架构详解

天然气泄漏检测网络,我一听这名字就觉得不是实验室里摆着玩的玩具。它本质是一套安全物联网系统,但牵扯到工业现场、燃气场站、长输管线这类场景,稳定性和置信度要求比普通物联网高出一个量级。做这类系统的测试架构,难的不是某个…

2026/9/7 16:30:19

试用claude.ai账号hold on; 以及传统文化的AI+应用

anthropic,好在把每次处理好的conversation数据以json格式发给我,自己转换一下还能用。 —— 为什么我把 六爻卜卦的 skill 用到 法律事务预测上?——因为,那个skill 真的是律师写的 这律师还写了 河洛理数 预测用的skill让我们看…

2026/9/7 0:47:43

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/7 0:14:19

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/7 0:14:17

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/7 0:03:36

基于YOLOv8和PyQt5的麦穗稻穗检测识别系统设计与实现

这次我们来看一个把目标检测算法和桌面端工具结合得很典型的项目:基于 YOLOv8 PyQt5 的麦穗稻穗检测识别系统。这个项目本身不是新概念,但它的价值在于落地形态很完整。YOLOv8 负责核心的麦穗稻穗目标检测,PyQt5 负责提供可视化的桌面交互界…

2026/9/7 0:03:36

UL 1642锂电池安全标准全解析:测试项目、认证流程与避坑指南

简介:UL 1642是锂电池安全领域的重要规范,本中文版资源适合锂电池制造商、检测机构工程师及产品认证相关人员阅读,用于理解电池在设计与制造层面的安全要求、测试方法与合规要点。资源共1个PDF文件,压缩包大小834KB,便…

2026/9/7 0:03:36

BS EN 13814-1-2019游乐设施安全标准:设计与制造核心要点解析

简介:BS EN 13814-1:2019是英国采纳欧洲标准EN 13814-1:2019的正式版本,由BSI标准出版,重点规定游乐设施和游乐设备在设计与制造环节的安全准则,与BS EN 13814-2:2019、BS EN 13814-3:2019共同取代旧版BS EN 13814:2004。该标准面…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/6 19:33:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/6 10:19:40

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…