docs: make Chinese README the default
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
<!-- WEHUB_ZH_README -->
|
||||
> [!NOTE]
|
||||
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
|
||||
> [English](./README.en.md) · [原始项目](https://github.com/JuliusBrussee/caveman) · [上游 README](https://github.com/JuliusBrussee/caveman/blob/HEAD/README.md)
|
||||
> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
|
||||
|
||||
<p align="center">
|
||||
<img src="docs/assets/caveman-logo-banner.png" alt="Caveman" width="720">
|
||||
</p>
|
||||
@@ -7,8 +13,8 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
Make your AI coding agent talk like a caveman.<br>
|
||||
Same answers, <strong>65% fewer output tokens</strong>. Brain still big. Mouth small.
|
||||
让你的 AI 编程智能体(agent)像穴居人一样说话。<br>
|
||||
答案一样,<strong>输出 token 少 65%</strong>。脑子还是大的。嘴巴小的。
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
@@ -19,53 +25,53 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="#before--after">See it</a> ·
|
||||
<a href="#install">Install</a> ·
|
||||
<a href="#pick-your-grunt">Levels</a> ·
|
||||
<a href="#what-you-get">What you get</a> ·
|
||||
<a href="#benchmarks">Benchmarks</a> ·
|
||||
<a href="#the-whole-cave">Ecosystem</a> ·
|
||||
<a href="#before--after">看看效果</a> ·
|
||||
<a href="#install">安装</a> ·
|
||||
<a href="#pick-your-grunt">级别</a> ·
|
||||
<a href="#what-you-get">你能得到什么</a> ·
|
||||
<a href="#benchmarks">基准测试</a> ·
|
||||
<a href="#the-whole-cave">生态</a> ·
|
||||
<a href="#caveman-2">Caveman 2</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
Caveman is a skill/plugin for [Claude Code](https://docs.anthropic.com/en/docs/claude-code), Codex, Gemini, Cursor, Windsurf, Cline, Copilot, and 30+ other agents. Install once. Agent drops the filler and answers in tight caveman-speak, keeping code, commands, and errors byte-for-byte exact. You save output tokens on every reply, forever.
|
||||
Caveman 是面向 [Claude Code](https://docs.anthropic.com/en/docs/claude-code),)、Codex、Gemini、Cursor、Windsurf、Cline、Copilot 及 30+ 其他智能体的 skill/插件。安装一次即可。智能体会去掉废话,用精简的穴居人式表达作答,代码、命令和错误信息逐字节保持原样。每次回复都能省下输出 token,一直如此。
|
||||
|
||||
## Before / After
|
||||
## 前后对比
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th width="50%">🗣️ Normal agent — 69 tokens</th>
|
||||
<th width="50%"><img src="docs/assets/dancing-rock.svg" width="18" height="18" alt=""> Caveman agent — 19 tokens</th>
|
||||
<th width="50%">🗣️ 普通智能体 — 69 tokens</th>
|
||||
<th width="50%"><img src="docs/assets/dancing-rock.svg" width="18" height="18" alt=""> Caveman 智能体 — 19 tokens</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
|
||||
> The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I'd recommend using useMemo to memoize the object.
|
||||
> 你的 React 组件会重新渲染,很可能是因为你在每次渲染周期都创建了新的对象引用。当你把内联对象作为 prop 传入时,React 的浅比较每次都会把它当成不同对象,从而触发重新渲染。我建议用 useMemo 来缓存(memoize)这个对象。
|
||||
|
||||
</td>
|
||||
<td valign="top">
|
||||
|
||||
> New object ref each render. Inline object prop = new ref = re-render. Wrap in `useMemo`.
|
||||
> 每次渲染新对象引用。内联对象 prop = 新引用 = 重渲染。用 `useMemo` 包起来。
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
|
||||
> Sure! I'd be happy to help you with that. The issue you're experiencing is most likely caused by your authentication middleware not properly validating the token expiry. Let me take a look and suggest a fix.
|
||||
> 好的!我很乐意帮你。你遇到的问题,多半是因为认证中间件没有正确校验 token 过期时间。我来看看并建议修复方案。
|
||||
|
||||
</td>
|
||||
<td valign="top">
|
||||
|
||||
> Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:
|
||||
> 认证中间件有 bug。Token 过期检查该用 `<` 不是 `<=`。修复:
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Same fix. Third of the words. Nothing technical lost.
|
||||
同样的修复。字数约三分之一。技术内容一点没丢。
|
||||
|
||||
```
|
||||
┌────────────────────────────────────────────┐
|
||||
@@ -76,11 +82,11 @@ Same fix. Third of the words. Nothing technical lost.
|
||||
└────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
Caveman no make brain smaller. Caveman make *mouth* smaller. Shrinks what the agent **says**, not what it knows.
|
||||
Caveman 不会让脑子变小。Caveman 让*嘴巴*变小。压缩的是智能体**说的话**,不是它**知道的东西**。
|
||||
|
||||
## Install
|
||||
## 安装
|
||||
|
||||
**One command. Finds every agent on your machine. Installs for each.**
|
||||
**一条命令。找到你机器上的每个智能体。逐个安装。**
|
||||
|
||||
```bash
|
||||
# macOS · Linux · WSL · Git Bash
|
||||
@@ -92,17 +98,17 @@ curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.
|
||||
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex
|
||||
```
|
||||
|
||||
~30 seconds. Needs Node ≥18. Skips agents you no have. Safe to re-run.
|
||||
约 30 秒。需要 Node ≥18。会跳过你没有的智能体。可安全重复运行。
|
||||
|
||||
> [!TIP]
|
||||
> **Turn it on:** type `/caveman` or say *"talk like caveman"*. **Turn it off:** say *"normal mode"*. On Claude Code, Codex, and Gemini it's already on from message one. No command needed.
|
||||
> **开启:**输入 `/caveman` 或说*「像穴居人一样说话」*。**关闭:**说*「正常模式」*。在 Claude Code、Codex 和 Gemini 上,从第一条消息起就已开启。无需命令。
|
||||
|
||||
<details>
|
||||
<summary><strong>Install for one agent, or any of 30+ others</strong></summary>
|
||||
<summary><strong>为单个智能体安装,或 30+ 其他智能体中的任意一个</strong></summary>
|
||||
|
||||
<br>
|
||||
|
||||
Every agent has its own path (plugin, extension, rule file, or `npx skills add`). The full per-agent matrix, all flags, dry-run, and uninstall live in **[INSTALL.md](./INSTALL.md)**. A few common ones:
|
||||
每个智能体都有自己的路径(插件、扩展、规则文件或 `npx skills add`)。完整的按智能体对照表、所有标志位、dry-run 和卸载说明都在 **[INSTALL.md](./INSTALL.md)**。常见几个:
|
||||
|
||||
```bash
|
||||
# Claude Code plugin
|
||||
@@ -115,125 +121,125 @@ gemini extensions install https://github.com/JuliusBrussee/caveman
|
||||
npx skills add JuliusBrussee/caveman -a cursor
|
||||
```
|
||||
|
||||
**Install broke?** Open your agent in this repo and say: *"Read CLAUDE.md and INSTALL.md, install caveman for me."* Agent read repo, agent fix own brain. Snake eat tail.
|
||||
**安装坏了?** 在本仓库里打开你的智能体,然后说:*「Read CLAUDE.md and INSTALL.md, install caveman for me.」* 智能体读仓库,智能体修自己的脑子。蛇吃尾巴。
|
||||
|
||||
</details>
|
||||
|
||||
## Pick your grunt
|
||||
## 选择你的咕哝级别
|
||||
|
||||
Six levels. Switch anytime with `/caveman <level>`. Level sticks until you change it or the session ends.
|
||||
六个级别。随时用 `/caveman <level>` 切换。级别会一直保持,直到你更改或会话结束。
|
||||
|
||||
| Level | Same sentence, shrunk |
|
||||
| 级别 | 同一句话,压缩后 |
|
||||
|---|---|
|
||||
| *normal agent* | You should wrap the object in `useMemo`, since a new reference is created on every render. |
|
||||
| `lite` | Wrap object in `useMemo`. New ref created every render. |
|
||||
| `full` *(default)* | New ref each render. Wrap object in `useMemo`. |
|
||||
| `ultra` | New ref/render. `useMemo` it. |
|
||||
| `wenyan` | New ref every render, so wrap in `useMemo` — rendered in classical Chinese, shorter still. |
|
||||
| *普通智能体* | 你应该把对象包在 `useMemo` 里,因为每次渲染都会创建新引用。 |
|
||||
| `lite` | 对象包进 `useMemo`。每次渲染新引用。 |
|
||||
| `full` *(默认)* | 每次渲染新引用。对象包进 `useMemo`。 |
|
||||
| `ultra` | 每次渲染新引用。用 `useMemo` 包它。 |
|
||||
| `wenyan` | 每次渲染新引用,所以包进 `useMemo` — 以文言文呈现,更短。 |
|
||||
|
||||
> [!NOTE]
|
||||
> **Speak your tongue.** Caveman keeps your language. Write Portuguese, caveman grunt Portuguese. Spanish, French, same. It compresses the *style*, never translates. `wenyan` mode is the exception on purpose: classical Chinese packs the most meaning per token.
|
||||
> **说你的语言。** Caveman 保留你的语言。写葡萄牙语,就咕哝葡萄牙语。西班牙语、法语,一样。它压缩的是*风格*,从不翻译。`wenyan` 模式是刻意例外:文言文每个 token 能塞最多意思。
|
||||
|
||||
## What you get
|
||||
## 你能得到什么
|
||||
|
||||
| Command | What it does |
|
||||
| 命令 | 作用 |
|
||||
|---|---|
|
||||
| `/caveman [lite\|full\|ultra\|wenyan]` | Compress every reply. Level sticks for the session. |
|
||||
| `/caveman-commit` | Conventional Commit messages, ≤50-char subject. Why over what. |
|
||||
| `/caveman-review` | One-line PR comments: `L42: 🔴 bug: user null. Add guard.` |
|
||||
| `/caveman-stats` | Real session token usage, lifetime savings, USD. Tweetable line with `--share`. |
|
||||
| `/caveman-compress <file>` | Rewrite a memory file (like `CLAUDE.md`) into caveman-speak. Cuts ~46% input tokens **every session after**. Code, URLs, paths byte-preserved. |
|
||||
| `caveman-shrink` | MCP middleware. Wraps any MCP server, compresses its tool descriptions. [npm](https://www.npmjs.com/package/caveman-shrink). |
|
||||
| `cavecrew-*` | Caveman subagents (investigator, builder, reviewer). ~60% fewer tokens than vanilla, so main context lasts longer. |
|
||||
| `/caveman [lite\|full\|ultra\|wenyan]` | 压缩每次回复。级别在整个会话中保持。 |
|
||||
| `/caveman-commit` | Conventional Commit 提交信息,主题 ≤50 字符。讲 why 不讲 what。 |
|
||||
| `/caveman-review` | 单行 PR 评论:`L42: 🔴 bug: user null. Add guard.` |
|
||||
| `/caveman-stats` | 真实会话 token 用量、累计节省、美元。带 `--share` 的可发推一行话。 |
|
||||
| `/caveman-compress <file>` | 把记忆文件(如 `CLAUDE.md`)改写成穴居人式表达。**之后每个会话**约省 46% 输入 token。代码、URL、路径逐字节保留。 |
|
||||
| `caveman-shrink` | MCP 中间件。包装任意 MCP 服务器,压缩其工具描述。[npm](https://www.npmjs.com/package/caveman-shrink). |
|
||||
| `cavecrew-*` | Caveman 子智能体(investigator、builder、reviewer)。比原版少约 60% token,主上下文撑得更久。 |
|
||||
|
||||
> [!TIP]
|
||||
> On Claude Code the statusline shows `[CAVEMAN] ⛏ 12.4k` — that's your lifetime tokens saved, updated on every `/caveman-stats`. Silence it with `CAVEMAN_STATUSLINE_SAVINGS=0`.
|
||||
> 在 Claude Code 上,状态栏会显示 `[CAVEMAN] ⛏ 12.4k` — 那是你累计节省的 token,每次 `/caveman-stats` 都会更新。用 `CAVEMAN_STATUSLINE_SAVINGS=0` 让它安静。
|
||||
|
||||
## Benchmarks
|
||||
## 基准测试
|
||||
|
||||
Real token counts from the Claude API. Average **65% output reduction** across 10 prompts (range 22–87%), measured against default verbose replies. Output tokens only, committed and reproducible in [`benchmarks/`](./benchmarks/) and [`evals/`](./evals/).
|
||||
来自 Claude API 的真实 token 计数。10 条提示词平均**输出减少 65%**(范围 22–87%),对照默认啰嗦回复测量。仅统计输出 token,已提交且可在 [`benchmarks/`](./benchmarks/) 和 [`evals/`](./evals/) 中复现。
|
||||
|
||||
<!-- BENCHMARK-TABLE-START -->
|
||||
| Task | Normal | Caveman | Saved |
|
||||
| 任务 | 普通 | Caveman | 节省 |
|
||||
|------|-------:|--------:|------:|
|
||||
| Explain React re-render bug | 1180 | 159 | 87% |
|
||||
| Fix auth middleware token expiry | 704 | 121 | 83% |
|
||||
| Set up PostgreSQL connection pool | 2347 | 380 | 84% |
|
||||
| Explain git rebase vs merge | 702 | 292 | 58% |
|
||||
| Refactor callback to async/await | 387 | 301 | 22% |
|
||||
| Architecture: microservices vs monolith | 446 | 310 | 30% |
|
||||
| Review PR for security issues | 678 | 398 | 41% |
|
||||
| Docker multi-stage build | 1042 | 290 | 72% |
|
||||
| Debug PostgreSQL race condition | 1200 | 232 | 81% |
|
||||
| Implement React error boundary | 3454 | 456 | 87% |
|
||||
| **Average** | **1214** | **294** | **65%** |
|
||||
| 解释 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%** |
|
||||
<!-- BENCHMARK-TABLE-END -->
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **Honest number warning.** Caveman only shrinks **output** tokens. Input and reasoning tokens are untouched, and the skill itself adds ~1–1.5k input tokens per turn. So whole-session savings run smaller than the output number, and on already-terse workloads they can go net-negative. The real win is **readability and speed**. Cost savings are the bonus. When caveman wins, when it loses, and how to measure it yourself: **[docs/HONEST-NUMBERS.md](./docs/HONEST-NUMBERS.md)**.
|
||||
> **诚实数字提醒。** Caveman 只压缩**输出** token。输入和推理 token 不动,skill 本身每轮还会增加约 1–1.5k 输入 token。所以整场会话的节省会小于输出数字,在本来就很简练的工作负载上甚至可能净负。真正的收益是**可读性和速度**。省钱是附加好处。Caveman 何时赢、何时输、如何自己测量:**[docs/HONEST-NUMBERS.md](./docs/HONEST-NUMBERS.md)**。
|
||||
|
||||
Turns out short isn't just cheaper. A March 2026 paper, [*Brevity Constraints Reverse Performance Hierarchies in Language Models*](https://arxiv.org/abs/2604.00025), tested 31 models and found that constraining large models to brief answers **improved accuracy by ~26 points** on some benchmarks. Sometimes less word = more correct.
|
||||
事实证明,短不只是更便宜。2026 年 3 月的一篇论文 [*Brevity Constraints Reverse Performance Hierarchies in Language Models*](https://arxiv.org/abs/2604.00025),) 测试了 31 个模型,发现约束大模型给出简短答案,在某些基准上**准确率提升约 26 个百分点**。有时字少 = 更对。
|
||||
|
||||
<details>
|
||||
<summary><strong>caveman-compress receipts</strong> — real memory files, cutting input tokens forever</summary>
|
||||
<summary><strong>caveman-compress 凭证</strong> — 真实 memory 文件,永久削减输入 token</summary>
|
||||
|
||||
<br>
|
||||
|
||||
| File | Original | Compressed | Saved |
|
||||
| 文件 | 原始 | 压缩后 | 节省 |
|
||||
|---|---:|---:|---:|
|
||||
| `claude-md-preferences.md` | 706 | 285 | **59.6%** |
|
||||
| `project-notes.md` | 1145 | 535 | **53.3%** |
|
||||
| `claude-md-project.md` | 1122 | 636 | **43.3%** |
|
||||
| `todo-list.md` | 627 | 388 | **38.1%** |
|
||||
| `mixed-with-code.md` | 888 | 560 | **36.9%** |
|
||||
| **Average** | **898** | **481** | **46%** |
|
||||
| **平均** | **898** | **481** | **46%** |
|
||||
|
||||
Every session after, that file loads ~46% smaller. Input tokens saved forever, not just one reply.
|
||||
此后的每次会话,该文件加载体积约小 46%。输入 token 永久节省,而非仅在一次回复中。
|
||||
|
||||
</details>
|
||||
|
||||
## The whole cave
|
||||
## 完整生态
|
||||
|
||||
<table>
|
||||
<tr><td>
|
||||
|
||||
### <img src="docs/assets/dancing-rock.svg" width="20" height="20" alt=""> Want the whole agent, not just its mouth? → caveman-code
|
||||
### <img src="docs/assets/dancing-rock.svg" width="20" height="20" alt=""> 想要完整智能体,而不仅是它的「嘴」?→ caveman-code
|
||||
|
||||
This skill shrinks what an agent **says**. **[caveman-code](https://github.com/JuliusBrussee/caveman-code)** shrinks **everything** — a full terminal coding agent, caveman top to bottom. **~2× fewer tokens than Codex** on identical tasks. 20+ providers, plan mode, autopilot goal loop, MIT.
|
||||
本 skill 压缩智能体**所说**的内容。**[caveman-code](https://github.com/JuliusBrussee/caveman-code)** 压缩**一切**——端到端的完整终端编程智能体,自上而下皆为 caveman 风格。在相同任务上 token 比 Codex **少约 2 倍**。20+ 提供商、plan mode(计划模式)、autopilot goal loop(自动驾驶目标循环),MIT。
|
||||
|
||||
```bash
|
||||
npm install -g @juliusbrussee/caveman-code
|
||||
```
|
||||
|
||||
[**▶ Try caveman-code →**](https://github.com/JuliusBrussee/caveman-code)
|
||||
[**▶ 试用 caveman-code →**](https://github.com/JuliusBrussee/caveman-code)
|
||||
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
Five tools, one idea: **agent do more with less.**
|
||||
五个工具,一个理念:**智能体用更少做更多。**
|
||||
|
||||
| Repo | What it shrinks |
|
||||
| 仓库 | 压缩对象 |
|
||||
|------|------|
|
||||
| [**caveman**](https://github.com/JuliusBrussee/caveman) *(you here)* | What the agent **says** |
|
||||
| [**caveman-code**](https://github.com/JuliusBrussee/caveman-code) | The **whole agent**, end to end |
|
||||
| [**cavemem**](https://github.com/JuliusBrussee/cavemem) | What the agent **remembers**, across sessions |
|
||||
| [**cavekit**](https://github.com/JuliusBrussee/cavekit) | The **build loop** — spec-driven, no guessing |
|
||||
| [**cavegemma**](https://github.com/JuliusBrussee/finetune-caveman) | The compression **baked into weights** (Gemma fine-tune) |
|
||||
| [**caveman**](https://github.com/JuliusBrussee/caveman) *(你在这里)* | 智能体**所说**的内容 |
|
||||
| [**caveman-code**](https://github.com/JuliusBrussee/caveman-code) | **完整智能体**,端到端 |
|
||||
| [**cavemem**](https://github.com/JuliusBrussee/cavemem) | 智能体**记忆**的内容,跨会话 |
|
||||
| [**cavekit**](https://github.com/JuliusBrussee/cavekit) | **构建循环**——规格驱动,无需猜测 |
|
||||
| [**cavegemma**](https://github.com/JuliusBrussee/finetune-caveman) | 压缩**烘焙进权重**(Gemma 微调) |
|
||||
|
||||
<details>
|
||||
<summary><strong>Also: five sibling skills, one install</strong></summary>
|
||||
<summary><strong>另附:五个姊妹 skill,一次安装</strong></summary>
|
||||
|
||||
<br>
|
||||
|
||||
[**JuliusBrussee/skills**](https://github.com/JuliusBrussee/skills) — works in Claude Code, Cursor, Gemini, Cline, Copilot, 40+ agents:
|
||||
[**JuliusBrussee/skills**](https://github.com/JuliusBrussee/skills) — 适用于 Claude Code、Cursor、Gemini、Cline、Copilot 及 40+ 智能体:
|
||||
|
||||
| Skill | What |
|
||||
| Skill | 作用 |
|
||||
|------|------|
|
||||
| [**caveman**](https://github.com/JuliusBrussee/skills/tree/main/skills/caveman) | This one. Speak less, say more. |
|
||||
| [**grill-me**](https://github.com/JuliusBrussee/skills/tree/main/skills/grill-me) | Agent grills your plan *before* you build the wrong thing. |
|
||||
| [**interface-kit**](https://github.com/JuliusBrussee/skills/tree/main/skills/interface-kit) | Build UI that looks good, loads fast, works for everyone. |
|
||||
| [**junior-to-senior**](https://github.com/JuliusBrussee/skills/tree/main/skills/junior-to-senior) | Adversarial review pass. Junior output in, senior output out. |
|
||||
| [**loop-factory**](https://github.com/JuliusBrussee/skills/tree/main/skills/loop-factory) | Spec-driven task loop — inbox → active → archive. |
|
||||
| [**caveman**](https://github.com/JuliusBrussee/skills/tree/main/skills/caveman) | 就是这个。少说,言之有物。 |
|
||||
| [**grill-me**](https://github.com/JuliusBrussee/skills/tree/main/skills/grill-me) | 智能体在你造错东西*之前*审阅你的计划。 |
|
||||
| [**interface-kit**](https://github.com/JuliusBrussee/skills/tree/main/skills/interface-kit) | 构建好看、加载快、人人可用的 UI。 |
|
||||
| [**junior-to-senior**](https://github.com/JuliusBrussee/skills/tree/main/skills/junior-to-senior) | 对抗式审阅。初级输出进,高级输出出。 |
|
||||
| [**loop-factory**](https://github.com/JuliusBrussee/skills/tree/main/skills/loop-factory) | 规格驱动的任务循环——收件箱 → 进行中 → 归档。 |
|
||||
|
||||
```bash
|
||||
npx skills@latest add JuliusBrussee/skills
|
||||
@@ -242,47 +248,47 @@ npx skills@latest add JuliusBrussee/skills
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><strong>🦞 Teach the lobster brevity — OpenClaw integration</strong></summary>
|
||||
<summary><strong>🦞 教龙虾简洁表达——OpenClaw 集成</strong></summary>
|
||||
|
||||
<br>
|
||||
|
||||
[**OpenClaw**](https://openclaw.ai) is a self-host gateway: one box, many agents inside, wired to Slack / Discord / iMessage / Telegram. Lobster strong. Lobster smart. Lobster also talk a lot.
|
||||
[**OpenClaw**](https://openclaw.ai) 是自托管网关:一台设备,内含多个智能体,接入 Slack / Discord / iMessage / Telegram。龙虾强壮。龙虾聪明。龙虾也爱啰嗦。
|
||||
|
||||
Same installer, scoped to one agent:
|
||||
同一安装器,限定单个智能体:
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash -s -- --only openclaw
|
||||
```
|
||||
|
||||
Two things happen, no more: a caveman skill lands in the workspace, and a tiny marker-fenced block is appended to `SOUL.md` (OpenClaw injects it every turn, so the lobster is terse from message one — no `/caveman` per session). Custom path? `OPENCLAW_WORKSPACE=/your/path`. Uninstall with the same line plus `--uninstall`; your other workspace content stays untouched. Lobster claw still sharp. Lobster mouth now small.
|
||||
只发生两件事,不多不少:caveman skill 落入工作区,并向 `SOUL.md` 追加一小块 marker 围栏代码块(OpenClaw 每轮注入,因此龙虾从第一条消息起就简洁——无需每会话 `/caveman`)。自定义路径?`OPENCLAW_WORKSPACE=/your/path`。用同一命令行加上 `--uninstall` 即可卸载;工作区其他内容不受影响。龙虾钳子依旧锋利。龙虾嘴巴如今更小。
|
||||
|
||||
</details>
|
||||
|
||||
## Caveman 2
|
||||
|
||||
**Caveman make token small. Caveman 2 make it _provable_.**
|
||||
**Caveman 让 token 变小。Caveman 2 让它 _可证明_。**
|
||||
|
||||
Today's savings numbers (including `/caveman-stats`) are local estimates. Caveman 2 measures and verifies them across a whole team — real receipts, real dashboard, real proof the tokens went down. Building it now.
|
||||
今日的节省数据(含 `/caveman-stats`)均为本地估算。Caveman 2 将在整个团队范围内测量并验证——真实凭证、真实仪表盘、token 确实下降的真实证明。正在构建中。
|
||||
|
||||
[**Join the waitlist → caveman.so**](https://caveman.so)
|
||||
[**加入候补名单 → caveman.so**](https://caveman.so)
|
||||
|
||||
## How it works
|
||||
## 工作原理
|
||||
|
||||
1. Install drops a skill file into your agent.
|
||||
2. Skill tells agent: drop filler, keep substance, use fragments — but never touch code, commands, or errors.
|
||||
3. On Claude Code, a hook writes a tiny flag file each session, so the agent talks caveman from message one without `/caveman`.
|
||||
4. `/caveman-stats` reads your session log, counts tokens saved, writes the number to your statusline.
|
||||
5. `/caveman-compress` rewrites memory files (like `CLAUDE.md`) so every future session starts with a smaller context. Save tokens forever, not just once.
|
||||
1. 安装时向智能体投放一个 skill 文件。
|
||||
2. Skill 指示智能体:去掉废话、保留实质、使用片段——但绝不改动代码、命令或错误信息。
|
||||
3. 在 Claude Code 上,hook 每会话写入一个小型标志文件,使智能体从第一条消息起即以 caveman 风格说话,无需 `/caveman`。
|
||||
4. `/caveman-stats` 读取会话日志,统计节省的 token,并将数字写入 statusline。
|
||||
5. `/caveman-compress` 重写 memory 文件(如 `CLAUDE.md`),使今后每次会话以更小的上下文启动。永久节省 token,而非一次性。
|
||||
|
||||
Hook architecture, file ownership, and CI sync are documented for maintainers in [CLAUDE.md](./CLAUDE.md).
|
||||
Hook 架构、文件归属与 CI 同步的维护者文档见 [CLAUDE.md](./CLAUDE.md)。
|
||||
|
||||
## Privacy
|
||||
## 隐私
|
||||
|
||||
Caveman no phone home. No telemetry, no analytics, no accounts, no backend. After install, zero network calls — the skill is a prompt, the hooks are local scripts, and `/caveman-stats` reads a log already on your disk. Install-time fetches (GitHub plus your agents' own registries) are spelled out in [SECURITY.md](./SECURITY.md#privacy--telemetry).
|
||||
Caveman 不回传数据。无遥测、无分析、无账户、无后端。安装后零网络调用——skill 是一段 prompt,hook 是本地脚本,`/caveman-stats` 读取磁盘上已有的日志。安装时的拉取(GitHub 及各智能体自有 registry)详见 [SECURITY.md](./SECURITY.md#privacy--telemetry)。
|
||||
|
||||
## Sponsors
|
||||
## 赞助商
|
||||
|
||||
Caveman free forever. Sponsors keep the rock sharp.
|
||||
Caveman 永久免费。赞助商让这块石头保持锋利。
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.atlascloud.ai">
|
||||
@@ -294,31 +300,31 @@ Caveman free forever. Sponsors keep the rock sharp.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.atlascloud.ai"><strong>Atlas Cloud</strong></a> — full-modal AI inference platform, one API.
|
||||
<a href="https://www.atlascloud.ai"><strong>Atlas Cloud</strong></a> — 全模态 AI 推理平台,一个 API。
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/sponsors/JuliusBrussee"><strong>Want your rock here? → Sponsor caveman</strong></a>
|
||||
<a href="https://github.com/sponsors/JuliusBrussee"><strong>想让你的石头出现在这里?→ 赞助 caveman</strong></a>
|
||||
</p>
|
||||
|
||||
## Star this repo
|
||||
## 给本仓库加星
|
||||
|
||||
Caveman save you token, save you money. Star cost zero. Fair trade. ⭐
|
||||
Caveman 帮你省 token、省钱。加星零成本。公平交易。⭐
|
||||
|
||||
[](https://star-history.com/#JuliusBrussee/caveman&Date)
|
||||
|
||||
---
|
||||
|
||||
<sub>
|
||||
<strong>Docs:</strong>
|
||||
<a href="./INSTALL.md">Install matrix</a> ·
|
||||
<a href="./docs/HONEST-NUMBERS.md">Honest numbers</a> ·
|
||||
<a href="./CONTRIBUTING.md">Contributing</a> ·
|
||||
<a href="./CLAUDE.md">Maintainer guide</a> ·
|
||||
<strong>文档:</strong>
|
||||
<a href="./INSTALL.md">安装矩阵</a> ·
|
||||
<a href="./docs/HONEST-NUMBERS.md">诚实数据</a> ·
|
||||
<a href="./CONTRIBUTING.md">贡献指南</a> ·
|
||||
<a href="./CLAUDE.md">维护者指南</a> ·
|
||||
<a href="https://github.com/JuliusBrussee/caveman/issues">Issues</a>
|
||||
<br>
|
||||
<strong>Also by Julius Brussee:</strong>
|
||||
<a href="https://github.com/JuliusBrussee/revu-swift">Revu</a> — local-first macOS study app with FSRS spaced repetition (<a href="https://revu.cards">revu.cards</a>)
|
||||
<strong>同作者其他项目:</strong>
|
||||
<a href="https://github.com/JuliusBrussee/revu-swift">Revu</a> — 本地优先的 macOS 学习应用,采用 FSRS 间隔重复(<a href="https://revu.cards">revu.cards</a>)
|
||||
<br><br>
|
||||
MIT — free like mass mammoth on open plain.
|
||||
MIT — 免费如开阔平原上的猛犸群。
|
||||
</sub>
|
||||
|
||||
Reference in New Issue
Block a user