穴居人
一句话简介
JavaScript 相关的开源项目(caveman),由于仓库无描述,具体功能与定位需进一步查看源码与文档。
标签
适用应用场景
- 作为 JavaScript 项目进行二次开发
- 学习相关 JavaScript 编码实践
- 集成到现有前端工程中
- 作为依赖包被其他项目引用
README 中文摘要
Caveman 项目概览
Caveman 的核心理念是让智能体用更少的 token 完成同样的工作。项目提供两套互补的能力:压缩智能体的输出(skill),以及压缩智能体的输入(本地代理 Proxy)。
核心动机
普通智能体在回复用户时往往冗长,且每次调用都需要传输完整的工具 schema、文件、日志和历史。原始版本只能让"嘴变小",2.x 版本进一步让"读入也变少"。在固定 Claude Code 基准测试中,启用代理后输入 token 比直连减少 33.2%,且 18 项精确答案检查全部通过。
安装方式
通过 npm 安装 CLI 与代理:
npm install -g @caveman-ai/cli && caveman setup --install
caveman claude # 也可 codex / aider / gemini / opencode / hermes / openclaw
Skill 可通过 npx skills add JuliusBrussee/caveman 安装,支持 30+ 种智能体。一键脚本(macOS/Linux/Windows)会自动挂载 Claude Code 的 hooks 与状态栏,并扫描本机已安装的智能体。
分析历史 token 消耗
caveman learn 会读取本地智能体历史(Claude Code、Codex、Gemini CLI、opencode;aider 需设置 CAVEMAN_AIDER_ROOT),生成只读报告:Cave 评分、按流量排序的 token 消耗点、每个 session 的上下文深度、回放修复方案的预期节省、以及 30 天按列表价的成本估算。
每条消耗点会分类为: - safe fix:可立即删除的冗余配置 - offload:可迁移到 caveman memory 的复粘贴内容 - habit:仅给出温和提示 - load-bearing:必要配置,参与评分但不会被修改
caveman learn implement 把方案交给用户自己的智能体执行,每个改动都需确认,未降低 token 的修复会自动回滚。
Caveman Proxy 工作机制
代理以本地服务形式插入智能体与上游 provider 之间。请求先写入磁盘上的内容寻址存储(CCR),再选择性地进行有损压缩;模型在需要原始字节时通过 caveman_retrieve 工具取回。
引擎按内容类型路由:
| 类型 | 保留内容 | 目标压缩率 |
|---|---|---|
json |
键、结构、错误子树 | 70–90% |
log |
错误、堆栈、首尾行 | 85–95% |
code |
导入、签名、类型 | 40–70% |
diff |
文件/块头与改动行 | 60–80% |
search-result |
顶部/底部/诊断命中 | 80–95% |
三种模式:默认压缩栈、--off 仅统计不改字节、--pixel 将密集文本渲染为 PNG 供视觉模型读取。Pixel 模式仅对长行密集内容(最小化 JSON 工具目录、长行日志)盈利,稀疏代码会因 PNG 开销而回退到原文。支持 claude-fable-5 与 gpt-5.6 等已测量可读性的模型。
Proxy 同时驱动一组子命令:
caveman learn / learn implement / explore install
caveman shrink -- pnpm test # 压缩命令输出
caveman browse <url> # 本地 Chrome + 压缩可访问性树
caveman mem remember|recall # 持久记忆
caveman trial -- claude # A/B 实测会话
caveman toon encode|decode # TOON 重编码器
caveman stats # 按类型统计
MCP 服务对外暴露五个工具:caveman_compress、caveman_retrieve、caveman_stats、caveman_toon_encode、caveman_toon_decode。
Skills 即图像
caveman convert 把已安装 skill 的正文渲染为 PNG,仅保留 frontmatter 为文本。这样既不影响触发逻辑,又把每次调用的正文 token 消耗转为图像 token 消耗。对 caveman skill 自身的测量:1069 → 415 估算 token(−61%)。仅在图像版本确实更小时才会执行,否则保持原文件。
原生封装的智能体
Proxy 原生封装八种智能体,全部通过 agents/profiles/ 中的 JSON 配置完成,无需修改智能体自身配置:
- Claude Code(Anthropic)— 环境变量
- OpenAI Codex CLI — 环境变量或临时
CODEX_HOME - Gemini CLI / Aider — 环境变量
- opencode — 内联配置,原始
opencode.json不动 - Hermes Agent —
--provider custom+ 环境变量 - OpenClaw — 临时合并配置
- Pi — 内置原生扩展
订阅登录可用:Claude Pro/Max 的 OAuth 与 Codex 的 ChatGPT 登录都按原样穿透。
输出压缩 Skill
/caveman 让智能体以精简语气回复,支持 lite | full | ultra | wenyan-lite | wenyan-full | wenyan-ultra | off 切换。配套工具包括 /caveman-commit、/caveman-review、/caveman-compress、/caveman-stats 等,以及 investigate-first、lean-build、surgical-patch、safe-refactor、migration、verify-and-stop 等写得更少代码的工作模式。
诚实说明:Skill 仅压缩输出 token,不影响输入与推理 token,且自身每轮增加约 1–1.5k 输入 token。在本就精简的场景下可能净亏损。基准表中 65% 平均节省中,部分来自"简洁回答"指令本身的收益。
隐私与许可
- 智能体仍直连用户选择的 provider,无需 Caveman 账号
- CCR 存储在本地 SQLite
- CLI 默认发送匿名使用统计(仅命令与 token 计数),可通过
caveman telemetry off关闭 - Skill 与 CLI 为 MIT,Engine/Proxy/重写器/Browse/MCP 服务为 BSL-1.1(在 Change Date 前为源码可用,特定日期后自动转为 Apache-2.0);第三方托管服务需商业许可
engine/pixel嵌入 pxpipe(MIT)、Spleen 5×8(BSD-2-Clause)、GNU Unifont(OFL-1.1 / GPLv2)的衍生字模
摘要更新于 2026-08-21 00:32:27
· 原文 23196 字符
· md5 081c74d4a5c7…