JuliusBrussee/caveman · 上手攻略
- 仓库:JuliusBrussee/caveman
- 链接:https://github.com/JuliusBrussee/caveman
- 分类:trending · llm-infra
- 作者:Tom
- 更新:2026-07-03
是什么
JuliusBrussee/caveman 是一个面向 Claude Code、Codex、Cursor、Gemini CLI、Cline、Windsurf、Copilot 等 30+ AI 编码代理的"输出压缩"skill。核心思想用一句 Slogan 概括就是 README 开头那句——"why use many token when few token do trick"。安装后,代理回复会自动压成"原始人腔":去填充语、保技术准确度、保留代码与命令字面不变。
仓库本身是 JavaScript,但实际产物只有一份 skill 描述文件(给代理读)和一段安装 hook(写一个标记文件让代理"每次会话开口就是 caveman")。它不动模型的 thinking/reasoning,只压缩 message 输出。官方数据:在 10 个真实编程任务上平均减 65% 输出 token,最快任务减 87%(3454 → 456 tokens),最差减 22%(387 → 301,主要是简短重构本来就没多少废话可挤)。
授权 MIT。最近一次提交 2026-06-12,Star 80270,周增 +7490,目前处于热度高峰。
解决什么问题
Claude Code 这类 agent 在终端里干活时,默认回复往往相当啰嗦。"Sure! I'd be happy to help you with that."、"Let me take a look and suggest a fix."、"I'd recommend using useMemo to memoize the object." —— 同样的技术结论,行数能差 3–5 倍。三类成本跟着上升:
- 每条回复的输出 token 计费:长解释直接换算成美元。
- 主上下文膨胀:代理自己回放对话历史时,长回复占窗口。
- 可读性:命令面板里堆一堆客套话,真正有用的 patch 和命令反而被淹没。
caveman 的解法是在代理读取 skill 后强制两件事:丢填充词、用 fragment 行式表达;同时保留代码、URL、命令、报错字符串的字面。这正好契合 README 引用的 arXiv:2604.00025(2026 年 3 月,《Brevity Constraints Reverse Performance Hierarchies in Language Models》),该论文发现给大模型套上"简短输出"约束后,部分基准的准确率反而上升 26 分。换句话说,verbose 不一定更好,token 砍下来有时更对。
快速安装
README 给的标准一行命令:
# macOS / Linux / WSL / Git Bash
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash
# Windows PowerShell 5.1+
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex
前置:Node ≥ 18(Windows 上 PowerShell 没有 Node 时,先用 npx -y github:JuliusBrussee/caveman 走 npx 兜底)。脚本会自动检测本机装了哪些代理(Claude Code / Codex / Cursor / Windsurf / Cline / Copilot …… 30+),没装的会跳过。幂等,重复跑不会重复写。
如果只想装到单个代理,加 --only 标志:
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash -s -- --only claude-code
# 只在 Claude Code 启用
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash -s -- --only openclaw
# 只在 OpenClaw 启用(写到 ~/.openclaw/workspace/skills/caveman/SKILL.md + 追加 SOUL.md 标记块)
卸载同样一行:... | bash -s -- --uninstall,会清掉 skill 文件和 SOUL.md 标记块,其它 workspace 内容不动。
对 Claude Code / Codex / Gemini 三家,"auto-activate every session"是内置的:第一次会话,hook 会写一个 marker 文件,代理一启动就进入 caveman 模式,不需要每次 /caveman。Cursor / Windsurf / Cline / Copilot 这几家用 --with-init 写 always-on 规则文件。其余代理按需 /caveman 触发。
核心用法
技能装载后,主命令是 /caveman,支持四个层级(会话内生效):
/caveman # 默认 full:drop filler,fragment 表达
/caveman lite # 仅丢客套话,句式仍完整(给刚切换的用户过渡用)
/caveman ultra # 电报体,极致省 token
/caveman wenyan # 文言文,比 ultra 还短
退出:/caveman off 或在对话里说 "normal mode"。
子命令:
| 命令 | 作用 |
|---|---|
/caveman-commit |
生成 Conventional Commit 信息,subject ≤50 字符,讲 why 不讲 what |
/caveman-review |
一行 PR 评论,例如 L42: 🔴 bug: user null. Add guard. |
/caveman-stats |
读 Claude Code 会话日志算真实 token 节省,带 --share 可发推 |
/caveman-compress <file> |
把 CLAUDE.md 之类的 memory 文件改写成 caveman 腔;官方数据平均 -46% 输入 token,代码/URL/path 字节级保留 |
独立 npm 工具 caveman-shrink 是 MCP 中间件,可包任何 MCP 服务,自动压扁 tool description。cavecrew-* 系列是 caveman 子 agent(investigator/builder/reviewer),比 vanilla 少 ~60% token。
Claude Code 的状态栏可以挂一个 [CAVEMAN] ⛏ 12.4k (lifetime tokens saved) 徽章,每次跑 /caveman-stats 自动更新。觉得烦可以 export CAVEMAN_STATUSLINE_SAVINGS=0 关掉。
语言保持:caveman 只压风格,不动语言。葡萄牙语用户收到的是"压扁的葡语",代码 / 命令 / 报错字符串原样不动。
典型适用场景
- 长跑 agent 任务:plan mode + autopilot 里来回问答多,caveman 能把上下文挤出一半给真正的代码。
- 付费 API 跑批:Anthropic / OpenAI 按 output token 收钱,65% 节省直接折成账单。
- RAG / 长文档总结:把
CLAUDE.md、项目笔记用/caveman-compress预处理,每次会话开局少读 46%。 - 多 agent 协作:
cavecrew-*子 agent 替代默认 subagent,主上下文更耐用。 - Cursor / Windsurf 等 IDE 内的 chat:装 always-on rule 后,任何 prompt 都拿精简回复。
坑与注意
- thinking/reasoning token 不动:官方明确"caveman no make brain smaller, caveman make mouth smaller"。CoT 推理长度没变化,这是省 token 的上限。
- 代码 / 命令 / URL 必须字面保留:skill 训练目标是"压风格不压实体",但代理在边缘情况下偶尔会改写路径或缩写报错字符串,review 时仍要肉眼核一遍。
/caveman wenyan慎用:文言文压缩比最高,但对中文母语用户友好度一般,agent 偶尔会用过雅词句反而误事。- Windows PowerShell:脚本走
irm | iex,需要 PS 5.1+;没有 Node 时要npx兜底。 - OPENCLAW_WORKSPACE 自定义路径:OpenClaw 用户如果不是默认
~/.openclaw/workspace,先export OPENCLAW_WORKSPACE=/your/path再跑装,否则 hook 会写到错路径。 - 同类工具并发:若同时装了别的风格压缩 skill(如 caveman-code、grill-me),agent 一次只听一个的最近指示。
与同类对比
- vs
caveman-code(同作者):caveman 只压输出;caveman-code 是完整终端代理,声称比 Codex 同任务少 2× token,内置 20+ provider / plan mode / autopilot。需要"换心"才选 caveman-code,只是嫌话多就 caveman。 - vs
cavekit/cavemem/cavegemma:同作者五件套:cavekit(规格驱动 build loop)、caveman(压输出)、cavemem(跨代理记忆)、cavegemma(把压缩烧进 Gemma 4 31B 权重)、caveman-code(终端代理)。可组合,README 给了 install matrix。 - vs
headroomlabs-ai/headroom:headroom 压的是 tool output / log / RAG chunk(从源头挤),caveman 压的是代理口吻(从输出端挤),作用点不同,可叠加。 - vs 通用 "concise" prompt 短语:代理默认 "Answer concisely." 经常被上下文稀释(后面 3 个对话就忘了),caveman 是 skill + hook + marker 文件,粘性强得多;官方 evals/ 目录放了 baseline / terse / skill 三臂评测脚本。
- vs 模型侧微调:cavegemma 把压缩烧进权重,理论上更稳;caveman 是 prompt 层方案,零训练成本。
一句话推荐
嫌 agent 啰嗦又不想换模型,一行命令装上,65% 输出 token 直接砍下来;长跑任务 / 付费 API / 上下文紧张时尤其值得常驻。