← 返回日报
🌐 机器翻译 · DeepSeek · GitHub

JuliusBrussee caveman


JuliusBrussee caveman

为什么用很多词,当几个词就能搞定?

让你的 AI 编程助手像穴居人一样说话。答案不变,输出 token 减少 65%。脑子依然大,嘴巴变小了。

看看它 · 安装 · 级别 · 你能得到什么 · 基准测试 · 生态系统 · 穴居人

穴居人是一个技能/插件,适用于 Claude Code、Codex、Gemini、Cursor、Windsurf、Cline、Copilot 以及 30 多个其他智能体。一次安装,智能体就会丢掉废话,用紧凑的穴居人语回答,代码、命令和错误信息保持逐字节精确。你在每次回复中都能节省输出 token,永久有效。

之前 / 之后

🗣️ 普通智能体 — 69 个 token 穴居人智能体 — 19 个 token

你的 React 组件重新渲染的原因,很可能是你在每次渲染周期中创建了一个新的对象引用。当你将内联对象作为 prop 传递时,React 的浅比较会将其视为每次不同的对象,从而触发重新渲染。我建议使用 useMemo 来记忆化该对象。

每次渲染新对象引用。内联对象 prop = 新引用 = 重新渲染。用 useMemo 包裹。

当然!我很乐意帮你解决这个问题。你遇到的问题很可能是由于你的身份验证中间件没有正确验证 token 过期时间导致的。让我看一下并提出修复建议。

认证中间件中的 bug。Token 过期检查用了 < 而不是 <=。修复:

同样的修复。三分之一的词。没有丢失任何技术内容。

┌────────────────────────────────────────────┐ │ 输出 token 节省 █████████ 65% │ │ 输入 token 节省 ░░░░░░░░░ 0% │ │ 技术准确性 █████████ 100% │ │ 氛围感 █████████ OOG │ └────────────────────────────────────────────┘

穴居人不会让脑子变小。穴居人让嘴巴变小。它压缩的是智能体说的话,而不是它知道的东西。

安装

一条命令。自动找到你机器上的每个智能体。为每个智能体安装。

# 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

~30 秒。需要 Node ≥18。跳过你没有的智能体。可以安全地重复运行。

提示:开启它:输入 /caveman 或说 “talk like caveman”。关闭它:说 “normal mode”。在 Claude Code、Codex 和 Gemini 上,从第一条消息起就已经开启,无需额外命令。

为一个智能体安装,或为 30 多个其他智能体安装

每个智能体都有自己的路径(插件、扩展、规则文件或 npx skills add)。完整的按智能体矩阵、所有标志、试运行和卸载信息都在 INSTALL.md 中。几个常见的例子:

# Claude Code 插件
claude plugin marketplace add JuliusBrussee/caveman && claude plugin install caveman@caveman

# Gemini CLI 扩展
gemini extensions install https://github.com/JuliusBrussee/caveman

# Cursor / Windsurf / Cline / Codex / 30+ 更多,通过技能注册表
npx skills add JuliusBrussee/caveman -a cursor

安装出问题了?在这个仓库中打开你的智能体,然后说:“Read CLAUDE.md and INSTALL.md, install caveman for me.” 智能体读取仓库,智能体自己修复自己。蛇咬尾巴。

选择你的咕噜声

六个级别。随时用 /caveman 切换。级别会保持,直到你更改或会话结束。

| 级别 | 同一句话,压缩后 | |------|----------------| | 普通智能体 | 你应该用 useMemo 包裹对象,因为每次渲染都会创建一个新引用。 | | lite | 用 useMemo 包裹对象。每次渲染创建新引用。 | | full(默认) | 每次渲染新引用。用 useMemo 包裹对象。 | | ultra | 每次渲染新引用。用 useMemo。 | | wenyan | 每次渲染新引用,所以用 useMemo 包裹——以文言文呈现,更短。 |

注意:说你的语言。穴居人保留你的语言。写葡萄牙语,穴居人咕噜葡萄牙语。西班牙语、法语也一样。它压缩的是风格,从不翻译。wenyan 模式是刻意的例外:文言文每个 token 承载的含义最多。

你能得到什么

| 命令 | 功能 | |------|------| | /caveman [lite\|full\|ultra\|wenyan] | 压缩每条回复。级别在会话期间保持。 | | /caveman-commit | 常规提交信息,主题 ≤50 字符。说为什么,不说是什么。 | | /caveman-review | 单行 PR 评论:L42: 🔴 bug: user null. Add guard. | | /caveman-stats | 实时会话 token 使用量、累计节省量、美元金额。用 --share 可生成可推文的一行。 | | /caveman-compress | 重写一个记忆文件(如 CLAUDE.md)为穴居人语。之后每次会话减少约 46% 的输入 token。代码、URL、路径保持字节不变。 | | caveman-shrink | MCP 中间件。包装任何 MCP 服务器,压缩其工具描述。npm。 | | cavecrew-* | 穴居人子智能体(调查员、构建者、审查员)。比普通版本减少约 60% 的 token,因此主上下文能持续更久。 |

提示:在 Claude Code 上,状态栏会显示 [CAVEMAN] ⛏ 12.4k——那是你累计节省的 token 数,每次 /caveman-stats 都会更新。用 CAVEMAN_STATUSLINE_SAVINGS=0 可以静音。

基准测试

来自 Claude API 的真实 token 计数。在 10 个提示上平均减少 65% 的输出(范围 22–87%),与默认的冗长回复对比。仅输出 token,可重现,在 benchmarks/evals/ 中可验证。

| 任务 | 普通 | 穴居人 | 节省 | |------|------|--------|------| | 解释 React 重新渲染 bug | 1180 | 159 | 87% | | 修复认证中间件 token 过期 | 704 | 121 | 83% | | 设置 PostgreSQL 连接池 | 2347 | 380 | 84% | | 解释 git rebase vs merge | 702 | 292 | 58% | | 重构回调为 async/await | 387 | 301 | 22% | | 架构:微服务 vs 单体 | 446 | 310 | 30% | | 审查 PR 的安全问题 | 678 | 398 | 41% | | Docker 多阶段构建 | 1042 | 290 | 72% | | 调试 PostgreSQL 竞态条件 | 1200 | 232 | 81% | | 实现 React 错误边界 | 3454 | 456 | 87% | | 平均 | 1214 | 294 | 65% |

重要提示

诚实的数字警告。穴居人只压缩输出 token。输入和推理 token 不受影响,而且该技能本身每轮会增加约 1–1.5k 输入 token。因此整个会话的节省比输出数字要小,在已经非常简洁的工作负载上,甚至可能净负。真正的收益是可读性和速度。成本节省是额外的奖励。穴居人何时胜出、何时失败,以及如何自己测量:docs/HONEST-NUMBERS.md

事实证明,简短不仅更便宜。2026 年 3 月的一篇论文《Brevity Constraints Reverse Performance Hierarchies in Language Models》测试了 31 个模型,发现将大型模型限制为简短回答可以提高性能。

📖 阅读原文 →