文章目录
- macOS 推荐用 Homebrew: brew install rtk Linux / macOS 可以用安装脚本: curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh 也可以用 Cargo 从 GitHub 安装: cargo install –git https://github.com/rtk-ai/rtk 安装后验证: rtk –version rtk gain
- 给 Claude Code 安装 hook: rtk init –g 然后重启 Claude Code。 重启后,Claude Code 里通过 Bash 工具执行的命令会被 RTK hook 透明改写。 例如 Claude 触发: git status RTK 可能会改写为: rtk git status Claude 本身不需要知道这个改写过程。它只会看到压缩后的输出。
- RTK README 里把核心策略分成四类: Smart Filtering:去掉噪音,比如空白、样板信息、无关行。 Grouping:把相似结果合并,比如按目录、错误类型分组。 Truncation:保留关键上下文,裁掉重复内容。 Deduplication:重复日志折叠成计数。 RTX工作原理: 所以 RTK 不是简单截断输出,而是按命令类型做结构化压缩。
- 文件和搜索: rtk ls . rtk read file.rs rtk read file.rs -l aggressive rtk smart file.rs rtk find “*.rs” . rtk grep “pattern” . rtk diff file1 file2 Git: rtk git status rtk git log -n 10 rtk git diff rtk git add rtk git commit -m “msg” rtk git push rtk git pull 测试: rtk jest rtk vitest rtk playwright test rtk pytest rtk go test rtk cargo test rtk test npm test rtk err npm run build 构建和 lint: rtk lint rtk tsc rtk next build rtk prettier –check . rtk cargo build rtk cargo clippy rtk ruff check 容器和日志: rtk docker ps rtk docker images rtk docker logs <container> rtk kubectl pods rtk kubectl logs <pod> rtk log app.log 统计: rtk gain rtk gain –graph rtk gain –history rtk gain –daily rtk discover rtk session
- RTK hook 只拦截 Bash 工具调用。 Claude Code 内置的这些工具不会自动经过 RTK: Read Grep Glob 如果你希望读取文件或搜索结果也走 RTK,需要让 Claude 使用 shell 命令,或者手动调用: rtk read src/main.ts rtk grep “keyword” . rtk find “*.vue” .
- RTK 支持 Windows,但原生 Windows 下 hook 自动改写能力有限。 README 推荐在 Windows 上使用 WSL。WSL 里可以获得完整 hook 支持。 原生 Windows 可以这样用: rtk init -g rtk cargo test rtk git status 但命令通常不会像 Linux / macOS / WSL 那样自动透明改写。
- 适合用: 测试输出很长 构建失败日志很多 git diff 很大 搜索结果很多 Docker / Kubernetes / AWS 命令输出很吵 不适合只靠 RTK 解决: Claude 回复太啰嗦 Claude 读了太多源码文件 需要逐行分析完整日志 如果你必须保留完整日志,可以用: npm run build 2>&1 | tee /tmp/build.log 然后让 Claude 只看关键片段: tail -n 120 /tmp/build.log
- 一键安装: curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash Windows PowerShell: irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex Claude Code 手动安装: claude plugin marketplace add JuliusBrussee/caveman claude plugin install caveman@caveman 通过 skills 安装: npx skills add JuliusBrussee/caveman 安装脚本支持一些参数: 参数 作用 –minimal 只安装插件 / 扩展,不装 hooks、MCP shrink 等额外内容 –all 安装完整配置,并在当前目录写入规则文件 –dry-run 预览,不写文件 –only <agent> 只给指定 agent 安装 –force 强制重新安装 –list 打印支持的 agent 列表
- Claude Code 里开启: /caveman 也可以直接用自然语言触发: 开启 Caveman 模式,回答尽量短一点。 用更精简的方式回复,少说客套话。 进入省 Token 模式,只保留关键结论。 关闭时可以说: 退出 Caveman 模式,恢复正常回答。 恢复正常模式。 这次请完整解释,不要过度压缩。 Codex 里 README 提到使用 $caveman。
- Caveman 有几档模式: 模式 触发方式 说明 Lite /caveman lite 去掉填充词,保留正常语法 Full /caveman full 默认 caveman 风格,更短,句子更碎 Ultra /caveman ultra 最大压缩,类似电报风格 README 还提供了文言文模式: 模式 触发方式 说明 Wenyan-Lite /caveman wenyan-lite 半文言,仍保留可读性 Wenyan-Full /caveman wenyan 更完整的文言压缩 Wenyan-Ultra /caveman wenyan-ultra 极限文言压缩 日常建议: 普通编码:/caveman lite 短 review / commit:/caveman full 极限压缩演示:/caveman ultra 复杂设计讨论:normal mode
- README 里列了一些常用能力: /caveman-commit /caveman-review /caveman-help /caveman-stats /caveman:compress <file> 用途大概是: 命令 用途 /caveman-commit 生成简短 commit message,偏 Conventional Commits 风格 /caveman-review 生成一行式 PR review 评论 /caveman-help 查看模式、技能、命令 /caveman-stats 查看 Claude Code 会话 token 使用和估算节省 /caveman:compress <file> 压缩记忆文件,例如 CLAUDE.md /caveman:compress <file> 会把文件改写成更短格式,并保留备份。适合压缩长期会被自动加载的记忆文件,但不要直接拿它压缩重要规范文档,最好先 review diff。
- 适合: 日常 bugfix 简短代码分析 commit message PR review 改完代码后的验证总结 高频 Claude Code 会话 不适合: 教程文章 复杂架构设计 需求澄清 需要完整推理过程的排查 核心原则: 需要短结论:开 Caveman。 需要完整解释:关 Caveman。
目录
- 一、RTK:压缩命令输出
- 1. 安装 RTK
- 2. 接入 Claude Code
- 3. RTK 的工作方式
- 4. 常用命令
- 5. 自动改写的边界
- 6. Windows 注意事项
- 7. 什么时候用 RTK?
- 二、Caveman:压缩 Claude 回复
- 1. 安装 Caveman
- 2. 开启和关闭
- 3. 压缩强度
- 4. Caveman 技能命令
- 5. Caveman 适合什么?
- 三、RTK 和 Caveman 怎么搭配?
- 四、会不会降智?
- 五、最终建议
Claude Code 省 Token,可以先从两个工具入手:
RTK:压缩命令输出,减少 Bash 工具调用带来的输入 Token。

Caveman:压缩 Claude 的回复,减少输出 Token。

它们解决的问题不一样。
| 工具 | 省哪部分 Token | 典型场景 |
|---|---|---|
| RTK | 命令输出 | git diff、测试日志、构建日志、搜索结果 |
| Caveman | Claude 回复 | 代码分析、review、commit、短任务回答 |
简单理解:
- RTK:让 Claude 少看长日志。
- Caveman:让 Claude 少说废话。
RTK 是一个 CLI proxy。它会在命令输出进入 LLM 上下文前做过滤和压缩。
README 里给出的定位是:单个 Rust 二进制、零依赖,支持 100+ 常见开发命令,目标是把常见命令输出减少 60%-90%。
它主要处理这些内容:
- 目录列表
- 文件读取
- 搜索结果
- Git 状态和 diff
- 测试输出
- 构建和 lint 输出
- Docker / Kubernetes / AWS 等 CLI 输出
macOS 推荐用 Homebrew:
brew install rtk
Linux / macOS 可以用安装脚本:
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
也可以用 Cargo 从 GitHub 安装:
cargo install --git https://github.com/rtk-ai/rtk
安装后验证:
rtk --version rtk gain
给 Claude Code 安装 hook:
rtk init --g
然后重启 Claude Code。
重启后,Claude Code 里通过 Bash 工具执行的命令会被 RTK hook 透明改写。
例如 Claude 触发:
git status
RTK 可能会改写为:
rtk git status
Claude 本身不需要知道这个改写过程。它只会看到压缩后的输出。
RTK README 里把核心策略分成四类:
- Smart Filtering:去掉噪音,比如空白、样板信息、无关行。
- Grouping:把相似结果合并,比如按目录、错误类型分组。
- Truncation:保留关键上下文,裁掉重复内容。
- Deduplication:重复日志折叠成计数。
RTX工作原理:

所以 RTK 不是简单截断输出,而是按命令类型做结构化压缩。
文件和搜索:
rtk ls . rtk read file.rs rtk read file.rs -l aggressive rtk smart file.rs rtk find "*.rs" . rtk grep "pattern" . rtk diff file1 file2
Git:
rtk git status rtk git log -n 10 rtk git diff rtk git add rtk git commit -m "msg" rtk git push rtk git pull
测试:
rtk jest rtk vitest rtk playwright test rtk pytest rtk go test rtk cargo test rtk test npm test rtk err npm run build
构建和 lint:
rtk lint rtk tsc rtk next build rtk prettier --check . rtk cargo build rtk cargo clippy rtk ruff check
容器和日志:
rtk docker ps rtk docker images rtk docker logs <container> rtk kubectl pods rtk kubectl logs <pod> rtk log app.log
统计:
rtk gain rtk gain --graph rtk gain --history rtk gain --daily rtk discover rtk session
RTK hook 只拦截 Bash 工具调用。
Claude Code 内置的这些工具不会自动经过 RTK:
Read Grep Glob
如果你希望读取文件或搜索结果也走 RTK,需要让 Claude 使用 shell 命令,或者手动调用:
rtk read src/main.ts rtk grep "keyword" . rtk find "*.vue" .
RTK 支持 Windows,但原生 Windows 下 hook 自动改写能力有限。
README 推荐在 Windows 上使用 WSL。WSL 里可以获得完整 hook 支持。
原生 Windows 可以这样用:
rtk init -g rtk cargo test rtk git status
但命令通常不会像 Linux / macOS / WSL 那样自动透明改写。
适合用:
- 测试输出很长
- 构建失败日志很多
git diff很大- 搜索结果很多
- Docker / Kubernetes / AWS 命令输出很吵
不适合只靠 RTK 解决:
- Claude 回复太啰嗦
- Claude 读了太多源码文件
- 需要逐行分析完整日志
如果你必须保留完整日志,可以用:
npm run build 2>&1 | tee /tmp/build.log
然后让 Claude 只看关键片段:
tail -n 120 /tmp/build.log
Caveman 是一个 Claude Code skill / plugin,也支持 Codex、Gemini CLI、Cursor、Windsurf、Cline 等多种 AI 编程工具。
它的核心目标是让 agent 用更短的方式表达同样的技术内容。
README 里的示例很直观:
- 普通表达:解释原因、背景、建议,比较长。
- Caveman 表达:直接给根因和修复建议。
它主要省的是输出 Token。
一键安装:
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash
Windows PowerShell:
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex
Claude Code 手动安装:
claude plugin marketplace add JuliusBrussee/caveman claude plugin install caveman@caveman
通过 skills 安装:
npx skills add JuliusBrussee/caveman
安装脚本支持一些参数:
| 参数 | 作用 |
|---|---|
--minimal |
只安装插件 / 扩展,不装 hooks、MCP shrink 等额外内容 |
--all |
安装完整配置,并在当前目录写入规则文件 |
--dry-run |
预览,不写文件 |
--only <agent> |
只给指定 agent 安装 |
--force |
强制重新安装 |
--list |
打印支持的 agent 列表 |
Claude Code 里开启:
/caveman
也可以直接用自然语言触发:
开启 Caveman 模式,回答尽量短一点。 用更精简的方式回复,少说客套话。 进入省 Token 模式,只保留关键结论。
关闭时可以说:
退出 Caveman 模式,恢复正常回答。 恢复正常模式。 这次请完整解释,不要过度压缩。
Codex 里 README 提到使用 $caveman。
Caveman 有几档模式:
| 模式 | 触发方式 | 说明 |
|---|---|---|
| Lite | /caveman lite |
去掉填充词,保留正常语法 |
| Full | /caveman full |
默认 caveman 风格,更短,句子更碎 |
| Ultra | /caveman ultra |
最大压缩,类似电报风格 |
README 还提供了文言文模式:
| 模式 | 触发方式 | 说明 |
|---|---|---|
| Wenyan-Lite | /caveman wenyan-lite |
半文言,仍保留可读性 |
| Wenyan-Full | /caveman wenyan |
更完整的文言压缩 |
| Wenyan-Ultra | /caveman wenyan-ultra |
极限文言压缩 |
日常建议:
普通编码:/caveman lite 短 review / commit:/caveman full 极限压缩演示:/caveman ultra 复杂设计讨论:normal mode
README 里列了一些常用能力:
/caveman-commit /caveman-review /caveman-help /caveman-stats /caveman:compress <file>
用途大概是:
| 命令 | 用途 |
|---|---|
/caveman-commit |
生成简短 commit message,偏 Conventional Commits 风格 |
/caveman-review |
生成一行式 PR review 评论 |
/caveman-help |
查看模式、技能、命令 |
/caveman-stats |
查看 Claude Code 会话 token 使用和估算节省 |
/caveman:compress <file> |
压缩记忆文件,例如 CLAUDE.md |
/caveman:compress <file> 会把文件改写成更短格式,并保留备份。适合压缩长期会被自动加载的记忆文件,但不要直接拿它压缩重要规范文档,最好先 review diff。
适合:
- 日常 bugfix
- 简短代码分析
- commit message
- PR review
- 改完代码后的验证总结
- 高频 Claude Code 会话
不适合:
- 教程文章
- 复杂架构设计
- 需求澄清
- 需要完整推理过程的排查
核心原则:
需要短结论:开 Caveman。 需要完整解释:关 Caveman。
两个工具可以一起用,因为它们优化的是不同阶段。
命令执行阶段:RTK 压缩工具输出 Claude 回复阶段:Caveman 压缩最终表达
推荐组合:
brew install rtk rtk init -g
然后重启 Claude Code,进入会话后:
/caveman lite
日常提问可以这样写:
只读取和当前任务直接相关的文件。 如果需要跑命令,优先保留关键错误,不贴完整日志。 输出简洁,但不要省略风险和验证结果。
对于短任务:
/caveman full
对于复杂排查:
normal mode
推荐工作流
1. 用 RTK 常驻压缩 Bash 命令输出。
2. 默认开 /caveman lite,减少回复废话。
3. 写 commit、review 时用 /caveman full。
4. 做架构设计、复杂排查时切回 normal mode。
5. 遇到疑难日志,保存原始日志,再只给 Claude 看关键片段。
RTK 一般不会让模型降智,因为它主要去掉命令输出里的噪音。
但它可能漏掉长日志中的细节。排查疑难问题时,建议保留原始日志。
Caveman 也不是减少模型思考,而是减少表达长度。
但 ultra 模式可能太短,不适合复杂任务。
比较稳的原则是:
可以省:
- 客套话
- 重复总结
- 长日志噪音
- 无关上下文
不要省:
- 关键需求
- 关键错误
- 关键代码
- 风险说明
如果你只是想快速省 Token:
brew install rtk rtk init -g
然后在 Claude Code 里:
/caveman lite
这是最推荐的默认组合。
如果你经常让 Claude 跑测试、看 diff、查日志,RTK 的收益会更明显。
如果你觉得 Claude 回答太长、太客套,Caveman 的收益会更明显。
以上就是一文分享Claude Code中省Token的小妙招的详细内容,更多关于Claude Code省Token技巧的资料请关注风君子博客其它相关文章!