通过引导 AI 用「原始人语言」交流,显著压缩输入 Token 数量,在 Claude Code 基准测试中实现 33% Token 节省。

why use many token when few do trick
Original skill made agents say less. Caveman 2 makes them read less too. 33.2% fewer provider-reported input tokens in a pinned Claude Code benchmark. benchmark_counterfactual Keep your agent. Brain big. Context small.
See it · Install · Learn · Proxy · Pixel · Wrap · Docs · License
你的 React 组件重新渲染的原因,很可能是因为你在每次渲染周期中都创建了一个新的对象引用。当你把一个内联对象作为 prop 传入时,React 的浅比较会认为它每次都是不同的对象,从而触发重新渲染。我建议你使用 useMemo 来记忆化这个对象。
每次渲染新对象引用。内联对象 prop = 新引用 = 重新渲染。用 useMemo 包裹。
同样的修复,更少的文字。这就是 Caveman 1。智能体的嘴变小了。但胃口没有变小:工具 schemas、文件、日志和历史记录仍然在每一轮中完整地传输。Caveman 2 也把这部分缩小了。
两个产品。二选一或两个都用。
使用 Caveman Proxy 节省输入,全新发布。一个本地代理,在每次提供商调用之前缩小智能体读取的内容,字节级精确恢复。BSL-1.1 运行时,MIT CLI。
npm install -g @caveman-ai/cli && caveman setup --install
caveman claude # or codex · gemini · aider · opencode · hermes · openclaw
使用 skill 节省输出,原装产品。你的智能体用简洁的 caveman 风格回答,而代码、命令和错误保持字节级精确。MIT 许可,兼容 30+ 智能体。
npx skills add JuliusBrussee/caveman
完整安装程序还会接入 Claude Code hooks 和状态栏,查找你机器上所有支持的智能体,并且可以安全地重新运行(Node.js 18+):
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/v2.2.0/install.sh | bash
Windows(PowerShell 5.1+):
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/v2.2.0/install.ps1 | iex
# Claude Code
claude plugin marketplace add JuliusBrussee/caveman && claude plugin install caveman@caveman
# Gemini CLI
gemini extensions install https://github.com/JuliusBrussee/caveman
# Codex, Cursor, Windsurf, Cline 和其他兼容 skills 的智能体
npx skills add JuliusBrussee/caveman --skill '*' -a codex --yes # 将 codex 替换为你的智能体 profile
完整的 30+ 智能体矩阵、试运行、flag、验证和卸载说明:INSTALL.md。
更倾向于从源码构建代理而不是签名二进制?scripts/install-local-cli.sh(macOS/Linux)或 pwsh -File scripts/install-local-cli.ps1(Windows);需要 Go 和 pnpm。
你的磁盘上有数月的智能体历史记录。caveman learn 读取这些历史并为你的配置打分。本地运行、只读、无需账号。
caveman learn # Claude Code + Codex + Gemini CLI + opencode;aider 通过 CAVEMAN_AIDER_ROOT

报告展示了你的 Cave Score、每个 token 消耗源头按流量排名,每行背后有一行修复建议、每个会话在上下文窗口中深入了多深、重放这些修复本可以从过去的会话中削减掉什么,以及按列表价格计算的排名源头 30 天成本说明。源头数字和成本是推断出来的;"已节省"卡片是从代理测量的。这些都不是账单。
每个源头都有它的分类:安全修复(一个臃肿的 CLAUDE.md、一个你从未调用的 skill)、卸载(你在每个会话中重复粘贴的上下文,当 recall 测量发现更便宜时迁移到 caveman memory)、习惯(数字加上软性建议,从不强硬)、承重结构(你需要的配置,计入分数但从不动它)。
caveman learn implement # 将计划交给 Claude Code 或 Codex 执行
分析器从不编辑你的文件。learn implement 用计划和 caveman-learn skill 打开你自己的智能体,该 skill 指示它将每个修复建议作为一个 diff 提出,只在你的同意下应用,重新测量,并撤销任何没有降低每轮 token 数的改动。Caveman 不会为了更便宜而让你的智能体变笨。
修复落地了?caveman learn applied <sink_id> 记录它。后续运行会报告改善、未变、退步或需要更多数据。没有虚假的胜利。
一条命令包裹你的智能体并将提供商流量通过本地代理路由,该代理由 Caveman Engine 驱动。在一个固定的 54 轮 Claude Code 基准测试中,它比直接使用 Claude Code 减少了 33.2% 的提供商报告输入 token,同时通过了所有 18 项精确答案检查。方法论、每个案例的结果和限制。benchmark_counterfactual
无需代码更改,无需 Caveman 后端:代理将每个请求转发给你选择的提供商,原始字节的副本保留在你的磁盘上。Claude Pro/Max OAuth 凭据原样透传给 Anthropic。
三条规则保证安全:
CCR 优先。原始字节在任何有损转换发出之前,先落在你磁盘上的内容寻址存储中。智能体通过 caveman_retrieve 拉回。解析问题、存储失败或更大的结果会发送原始字节不变。
可见的拒绝。每个转换只在测量到更小时才运行,每次拒绝都会说明原因。
带标签的证据。本地结果标注为"推断"。verified 需要真实流量和评估门控;离线的 caveman 不会自称。
detect() 为每个 payload 打上类型,然后将其路由到保持答案所依赖内容的压缩器:
所有目标均为推断。代码压缩器在 cgo 下使用 tree-sitter(Go、Python、JS/TS),有纯 Go 后备方案仅支持 Go。contextwindow.Pack() 此外通过 BM25 相关性、新近度和错误信号将候选上下文压缩到 token 预算内,返回时保持原始顺序以保留时间顺序。
同样的引擎支持一组动词:
caveman learn # 扫描你真实的智能体历史 → 评分 + token 消耗源头排名
caveman learn implement # 用你自己的智能体修复发现的结果,每次编辑需征得同意
caveman explore install # 只读 FastContext 子智能体:通过路径:行号查找代码
caveman shrink -- pnpm test # 压缩嘈杂的命令输出,字节级精确可恢复
caveman browse <url> # 基于压缩 a11y 树的本地 Chrome
caveman mem remember|recall # 持久化记忆;`mem recover <handle>` = 原始字节
caveman trial -- claude # A/B 测试真实会话,然后 `trial report`
caveman toon encode|decode # TOON 重编码器,独立使用
caveman stats # caveman 实际做了什么,按内容类型分类
MCP server 向任何 MCP host 暴露五个工具:caveman_compress、caveman_retrieve、caveman_stats、caveman_toon_encode、caveman_toon_decode。
关于 browse(需要 Chrome):针对一个 200 行操作表的聚焦查询花费 121 token,比 Playwright ARIA 基线的 15,704 token 小 129.8 倍。在一个小型结账表单上 Caveman 实际上更大(67 → 111 token),因为它还返回操作 UID 和恢复句柄,而 Playwright 基线只携带 ARIA 文本,这有利于 Playwright。五个固定 Chrome 运行的中间值,推断得出。完整方法:browse/BENCHMARK.md。
文本按 token 计费,图片则不。一堵密集的文本渲染成 PNG 后的视觉输入成本只是零头,因此代理将大型请求块(压缩后的 JSON 工具目录、长行日志、旧历史)渲染为字形 PNG 页面。
caveman wrap --pixel claude
![]()
实际渲染,已打包在此:8,622 字符 → 一张 1568×232 PNG,估计 2,597 文本 → 534 图像 token,推断值。
在一个真正密集的请求上(63.7k 字符的压缩 JSON 工具目录加上 93k 字符的长行日志,模型为 claude-fable-5):
55,413 估计文本 token → 11,402 估计图像 token · −79% · 7 张 PNG 页面 · 推断值
原始内容先到 CCR;代理通过 caveman_retrieve 拉取真实字节。
像素模式只在密集、长行内容上划算。短行的稀疏代码说实话不划算:PNG 承载的开销比它替换的文本还大,所以盈利门会拒绝它,字节原样通过。
只对经过测量具有渲染可读性的模型运行,默认是 claude-fable-5 和 gpt-5.6;可通过 pixel_models 配置 / CAVE_PIXEL_MODELS 覆盖。像素端口使用 pxpipe(MIT);字体归属见 License。
引擎现在压缩的是 caveman 起点的东西。每个安装的 fat skill 每次调用都会重新加载其完整的 prompt body,你永远在为此付税。caveman convert 将每个已安装的 SKILL.md body 渲染为 PNG 页面。原样保留 frontmatter,这样发现和触发机制完全如前;模型将 body 作为图像读取。
caveman convert --dry-run # 每个已安装的 skill,包含 token 计算,不写入
caveman convert --agent claude # 转换划算的部分
caveman convert --revert # 从 SKILL.orig.md 字节级还原
以 caveman skill 自身测量:1,069 → 415 估计 token,−61%,推断值。只有当页面优于文本时才触发;任何失败都会让 skill 保持字节级一致,并指出说"否"的那个门。新 skill 通过 caveman skills install 安装时默认自动像素化(--no-pixel 可退出)。
最原始的,也是仍然是最快的感受 caveman 的方式。MIT 永远。在 Claude Code、Codex、Gemini、Cursor、Windsurf、Cline、Copilot 和 30+ 其他智能体中工作。
如果你的智能体没有自动激活它,键入 /caveman。切换模式用 /caveman lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra;关闭用它 /caveman off 或 normal 模式。
一次安装也带来一些小工具:
这个 skill 只压缩输出 token。输入和推理 token 不受影响,而 skill 本身每个回合增加约 1–1.5k 输入 token。整个会话的节省比输出数字小,而在已经简洁的工作负载上它们可能变成净负。真正的赢点是可读性和速度;成本节省是bonus。caveman 何时赢、何时输、以及如何自己测量:docs/HONEST-NUMBERS.md。
上文的"正常"指的是一个未被提示的助手,而不是简洁的助手。有些 65% 是任何"简洁回答"指示都会给你的。benchmarks/run.py 现在与另外两个一起运行一个简洁控制组,所以下一个重新生成的表格会将两者分开;上面的数字早于它。
caveman <agent> 原生包装了八个智能体。添加一个只需修改数据,在 agents/profiles/ 里放一个 JSON profile,不需要改代码。
Wrap 永远不会编辑你自己的配置文件。真实会话在记录模式下往返,已针对 Hermes v0.18.0、OpenClaw 2026.6.11 和 Pi 0.84.2 测试。
不在列表上?将任何 provider SDK 或框架(Vercel AI SDK、LangChain、LiteLLM、OpenAI Agents、CrewAI、PydanticAI)指向本地代理,换个 baseURL:integrations/recipes/。
订阅登录可用。Claude Pro/Max OAuth token 原样通过代理,所以订阅上的 wrapped Claude Code 获得完整压缩和计量。Codex ChatGPT 登录也可以包装:一个临时 CODEX_HOME(你的 ~/.codex 永远不会被写入)将自定义 provider 指向代理的 /chatgpt 直通,OAuth header 原封不动通过。那条路径目前仅用于计量:诚实的 token 计数,美元保持为零,因为订阅流量没有按 token 计费。一个例外:固定在另一个智能体内的 provider(例如 OpenClaw 中的 openai-codex)留在自己的路径上,打印一条说明而不是一个坏掉的登录。
默认 wrap 将整个装备交给智能体:五个 caveman MCP 工具、Chrome 解析时的 browse MCP 服务器、通过真实钩子对 Claude、opencode、Gemini、Hermes 和 OpenClaw 的命令输出压缩(Codex 获得一条诚实的软说明,它的运行时拒绝重写:openai/codex#18491),以及新 skill 安装时的 skills-as-images。可以在 ~/.caveman-cloud/config.json 中关闭各部分。
智能体用更少做更多。
冻结的仓库仍然可以安装和使用;它们不再处于活跃开发中。它们的最佳想法在这里延续:cavemem 的压缩内存核心内置于 caveman,caveman-code 的经验成为 caveman wrap。让你的智能体更便宜,而不是替换它。
Caveman 让 token 变小。 Caveman Cloud 让它可证明。
本地运行时结果报告推断值;受控基准测试结果报告 benchmark_counterfactual。两者都不是 provider 发票。 Caveman Cloud 是合格的生活证据可以变为验证的地方:记录模式下的基线、eval gate 后的变更、质量损失时的回滚、带签名收据的真实流量节省。离线的 caveman 从不声称已验证。
加入等待列表 → caveman.so
你的智能体仍然与你选择的 provider 通信。本地压缩不需要 Caveman 账户。 caveman CLI 默认发送匿名使用统计:哪些命令运行了,加上通过和削减的 token 计数。永远不是你的 prompt、代码或文件路径。它在首次运行时说明这一点,一条命令永久关闭它:caveman telemetry off(或 DO_NOT_TRACK=1)。 Skill 和钩子本地运行;代理转发 provider 流量;CCR 留在你磁盘上的 SQLite 文件中。确切的网络、遥测和存储边界:SECURITY.md。
Skill 和 adoption 表面是 MIT。引擎链接的运行时是 BSL-1.1 源码可用,在变更日期之前不是 OSI 开源。
MIT — skill、Agent SDK 和初始化器、CLI、两个客户端 SDK(TS + Python)、kit、evals/graders、contracts、provider 目录、扩展 shell,以及薄的 cavemem 客户端。
BSL-1.1 — 引擎、代理、缓存引擎、重写器、浏览、MCP 服务器、压缩、cavemem Go 核心和共享 Go 平台。新的引擎链接运行时模块默认 BSL-1.1。源码可用:阅读它、分叉它、为你自己的第一方流量免费自托管,包括生产使用。每个 BSL 版本在该版本首次发布后的四年或 2030-06-21 中的较早者自动转换为 Apache-2.0。第三方托管、管理或嵌入式服务使用需要商业许可证。 BSL 文本和按目录映射随源码一起发布。
engine/pixel 嵌入 pxpipe(MIT)加上来自 Spleen 5×8(BSD-2-Clause)和 GNU Unifont(双 OFL-1.1 / GPLv2-with-font-exception)的字形图集;其 NOTICE 随该源码一起传播。
"Caveman" 和岩石 logo 是 Julius Brussee 的商标。"Powered by Caveman" 在属实时可以使用。
Caveman 帮你省 token,省你的钱。Star 成本为零。公平交易。 ⭐
