穴居人

JuliusBrussee/caveman 访问 GitHub ↗
🔤 Go ★ 99626 ⑂ 0 daily #14 (+258) 抓取 2026-08-21

一句话简介

JavaScript 相关的开源项目(caveman),由于仓库无描述,具体功能与定位需进一步查看源码与文档。

标签

  • 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-5gpt-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_compresscaveman_retrievecaveman_statscaveman_toon_encodecaveman_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-firstlean-buildsurgical-patchsafe-refactormigrationverify-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…