<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Token优化 on Kalend's Blog</title><link>https://blog.kalend.top/tags/token%E4%BC%98%E5%8C%96/</link><description>Recent content in Token优化 on Kalend's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Thu, 14 May 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://blog.kalend.top/tags/token%E4%BC%98%E5%8C%96/index.xml" rel="self" type="application/rss+xml"/><item><title>AI 写代码太费 Token？一个 9.5MB 小工具，直接砍 80%</title><link>https://blog.kalend.top/2026/05/14/hermes-rtk-token-saver.html/</link><pubDate>Thu, 14 May 2026 00:00:00 +0800</pubDate><guid>https://blog.kalend.top/2026/05/14/hermes-rtk-token-saver.html/</guid><description>&lt;h1 id="ai写代码太费token一个95mb小工具直接砍80"&gt;AI写代码太费Token？一个9.5MB小工具，直接砍80%
&lt;/h1&gt;
 &lt;blockquote&gt;
 &lt;p&gt;你有没有算过，让AI帮你写代码，一天要烧多少Token？&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="先说结论"&gt;先说结论
&lt;/h2&gt;&lt;p&gt;我给AI Agent装了一个叫 &lt;strong&gt;RTK&lt;/strong&gt; 的工具，&lt;strong&gt;一个命令，零配置，Token消耗直接砍掉80%&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;核心思路就一句话：&lt;strong&gt;在命令输出喂给AI之前，先压缩一遍。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="问题是什么"&gt;问题是什么
&lt;/h2&gt;&lt;p&gt;用AI Agent干活的人都知道，Agent特别&amp;quot;啰嗦&amp;quot;——它会疯狂执行命令，然后把所有输出原封不动塞给自己的上下文窗口（AI一次能&amp;quot;看到&amp;quot;的信息量）。&lt;/p&gt;
&lt;p&gt;举个例子，项目里跑个 &lt;code&gt;git status&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;On branch main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Your branch is up to date with &amp;#39;origin/main&amp;#39;.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Changes not staged for commit:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; modified: src/components/Dashboard.tsx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; modified: src/hooks/useAuth.ts
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; modified: src/pages/Login.tsx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; modified: src/utils/api.ts
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; modified: package.json
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; modified: package-lock.json
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Untracked files:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; src/utils/newFeature.ts
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; tests/test_newFeature.py
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;大概 &lt;strong&gt;2000个Token&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;但AI真正需要知道什么？就一句话：&lt;strong&gt;&amp;ldquo;5个文件改了，还没commit&amp;rdquo;&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;一个中型项目，AI Agent跑30分钟，光是 &lt;code&gt;ls&lt;/code&gt;、&lt;code&gt;cat&lt;/code&gt;、&lt;code&gt;git status&lt;/code&gt;、&lt;code&gt;pytest&lt;/code&gt; 这些命令的输出，就能吃掉 &lt;strong&gt;11.8万个Token&lt;/strong&gt;。按主流商业API的价格算，这就是几块钱没了。&lt;/p&gt;
&lt;p&gt;更致命的不是钱——是&lt;strong&gt;上下文窗口被垃圾信息占满&lt;/strong&gt;，AI真正需要关注的代码逻辑反而被挤掉了。&lt;/p&gt;
&lt;h2 id="rtk做了什么"&gt;RTK做了什么
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;RTK（Rust Token Killer）&lt;/strong&gt; 的工作原理极其简单：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;没有RTK：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AI → 执行 git status → 完整输出(2000 tokens) → 塞给AI
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;有了RTK：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AI → 执行 git status → RTK拦截 → 压缩后输出(200 tokens) → 塞给AI
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;它在命令和AI之间加了一层&lt;strong&gt;过滤器&lt;/strong&gt;，对输出做四件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;过滤&lt;/strong&gt;：去掉注释、空行、无关信息&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分组&lt;/strong&gt;：把相似内容合并（比如按目录归类文件）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;截断&lt;/strong&gt;：保留关键上下文，砍掉重复&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;去重&lt;/strong&gt;：把重复的日志行合并成计数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;压缩效果&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;命令&lt;/th&gt;
 &lt;th&gt;原始输出&lt;/th&gt;
 &lt;th&gt;RTK压缩后&lt;/th&gt;
 &lt;th style="text-align: center"&gt;节省&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ls -la&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;完整文件列表&lt;/td&gt;
 &lt;td&gt;紧凑目录树&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;72%&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;30行状态信息&lt;/td&gt;
 &lt;td&gt;一行摘要&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;80%&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;pytest&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;全量测试日志&lt;/td&gt;
 &lt;td&gt;只看失败的&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;90%&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;git commit&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;完整输出&lt;/td&gt;
 &lt;td&gt;&amp;ldquo;ok abc1234&amp;rdquo;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;92%&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;cargo test&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;编译+测试全量&lt;/td&gt;
 &lt;td&gt;只看失败&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;90%&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;覆盖 &lt;strong&gt;100+ 命令&lt;/strong&gt;：git、find、grep、各种test runner、lint工具、Docker、K8s、AWS CLI……基本你能想到的开发命令它都支持。&lt;/p&gt;
&lt;h2 id="我的实测"&gt;我的实测
&lt;/h2&gt;&lt;p&gt;装完之后我跑了两个命令测试，RTK自己的统计面板：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Total commands: 2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Input tokens: 987
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Output tokens: 279
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Tokens saved: 713 (72.2%)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Total exec time: 3ms (avg 1ms)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;72.2%的节省，延迟3毫秒。完全无感。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;再看一个具体对比。项目目录下跑 &lt;code&gt;ls&lt;/code&gt;：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;压缩前&lt;/strong&gt;（原始 &lt;code&gt;ls -la&lt;/code&gt;，987 tokens）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x 35 root root 1120 May 12 06:56 .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x 35 root root 1120 May 12 06:56 ..
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-x--- 3 root root 4096 May 10 22:00 .config
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x 2 root root 4096 Apr 8 18:12 .gnupg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x 4 root root 4096 May 6 21:30 .hermes
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x 2 root root 4096 May 7 12:48 .local
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 root root 37B May 2 14:25 .npmrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 root root 348B Apr 8 18:12 .profile
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 root root 1.1K May 12 06:51 .bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 root root 72B Apr 8 18:12 .zshrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- 1 root root 13K May 12 06:52 .bash_history
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...（省略20行）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;压缩后&lt;/strong&gt;（&lt;code&gt;rtk ls&lt;/code&gt;，279 tokens）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.config/ .gnupg/ .hermes/ .local/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.bashrc 1.1K .profile 348B .zshrc 72B
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.bash_history 13.0K .npmrc 37B
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dialogs/ exes/ output/ workspace/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...（紧凑列表，无多余信息）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;同样的信息量，&lt;strong&gt;砍了72%的Token&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="它不是万能的"&gt;它不是万能的
&lt;/h2&gt;&lt;p&gt;说几个我注意到的问题：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. 覆盖不了AI工具的内置命令&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;比如某些AI编码工具有自己的 Read、Grep 内置工具，这些不走系统shell，RTK拦截不到。得手动用 &lt;code&gt;rtk read&lt;/code&gt;、&lt;code&gt;rtk grep&lt;/code&gt; 替代。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. 46k Star，476个Open Issue&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;增长太快，维护压力肉眼可见。不过核心的命令压缩功能很稳——过滤文本输出这种事，不太容易出问题。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. 会收集使用数据&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;默认有遥测上报（设备哈希+命令统计）。开源项目，代码可以审计，在意的话可以关掉。&lt;/p&gt;
&lt;h2 id="谁该用谁不需要"&gt;谁该用，谁不需要
&lt;/h2&gt;&lt;p&gt;✅ &lt;strong&gt;该装的&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用AI Agent写代码（任何AI工具都行）&lt;/li&gt;
&lt;li&gt;Token消耗大、账单肉疼&lt;/li&gt;
&lt;li&gt;上下文窗口老是不够用，AI&amp;quot;忘性&amp;quot;大&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;❌ &lt;strong&gt;不需要的&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;偶尔问两句话、不跑命令&lt;/li&gt;
&lt;li&gt;不用AI做开发&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="怎么装"&gt;怎么装
&lt;/h2&gt;&lt;p&gt;一行命令，9.5MB单文件，零依赖，装完就能用：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh &lt;span class="p"&gt;|&lt;/span&gt; sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;macOS 也可以用 Homebrew：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install rtk
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;装完验证一下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rtk --version &lt;span class="c1"&gt;# 应该显示 rtk 0.39.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rtk gain &lt;span class="c1"&gt;# 查看节省统计&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你的AI工具在支持列表里（Claude Code、Cursor、Copilot、Codex、Gemini CLI……），跑一下 &lt;code&gt;rtk init -g&lt;/code&gt; 自动配置。否则直接在命令前加 &lt;code&gt;rtk&lt;/code&gt; 前缀：&lt;code&gt;rtk git status&lt;/code&gt;、&lt;code&gt;rtk pytest&lt;/code&gt;、&lt;code&gt;rtk ls&lt;/code&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;RTK 解决的不是什么高大上的问题——它就是在做一件事：&lt;strong&gt;别把垃圾喂给AI&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这件小事，省80%的Token。&lt;/p&gt;</description></item></channel></rss>