穴居人

JuliusBrussee/caveman 访问 GitHub ↗
🔤 Go ★ 112531 ⑂ 0 daily #4 (+433) 抓取 2026-10-16

一句话简介

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

标签

  • JavaScript
  • 开源项目
  • caveman
  • 工具库
  • 前端

适用应用场景

  • 作为 JavaScript 项目进行二次开发
  • 学习相关 JavaScript 编码实践
  • 集成到现有前端工程中
  • 作为依赖包被其他项目引用

README 中文摘要

项目概述

Caveman 是一套面向 AI 编码代理的令牌压缩工具集,核心理念是「让代理少说话、少读东西,代码保持精确,模型依然强大」。项目通过六项可独立开关的「石头」(rocks)减少代理的输入与输出令牌消耗,同时保证回答质量不下降。

安装方式

一行命令即可完成安装(需 Node.js 22.13+),自动识别本机上的代理与登录状态,Mac、Linux、Windows 通用:

npx @caveman-ai/cli@latest

旧版本升级需追加 @latest,已配置环境可用 caveman setup 重新进入设置界面。支持 Claude Code、Codex、Gemini CLI、OpenCode 等 30 余种代理。

六项核心功能

功能 作用 实测效果
Say less 让代理用简洁口吻回答,代码原样保留 同一修复方案从 63 令牌压至 20 令牌
Read less 读取日志、JSON、CSV、测试输出前先压缩 整会话输入令牌减少 33.2%
Auto 根据任务难度自动挑选模型与推理力度 比 Opus 5.5 xhigh 省 54%,得分持平
Blocks 代码模式:代理写入的脚本可持久化复用 单次测试运行从 397 令牌降至 76 令牌
Waste fixes 定位令牌浪费位置并修复,含提示缓存保温 尚未量化
Browse 网页抓取结果压缩后供代理读取 页面体积缩小至原来的 1/129.8

输出风格规范

「口吻」不是语法错误,而是一套结构化规则:

  • 先答后说:直接给出 [对象][动作][原因] 三段式,省略寒暄与过渡
  • 一句一意:每句一个核心观点,基于航空维护手册的 ASD-STE100 受控英语(每句最多 20 词)
  • 重点保留:否定词(not/never/no/only)、数字与单位原样保留
  • 代码不变:代码片段、命令、路径、错误信息逐字符保留
  • 场景感知:安全告警、不可逆操作、用户困惑时自动切回完整句子
  • 不修改用户提示:研究证明修改用户提示会让回答变差

三级口吻强度对比(同一问题):/caveman 输出 20 令牌,/ultracave 输出 14 令牌,/megacave(文言文)输出 13 令牌。

Read less:输入压缩

代理实际读取内容的压缩效果(单文件与会话整体):

文件类型 单文件压缩率 会话整体压缩率
YAML 99.1% 46.2%
CSV 98.9% 55.1%
日志 98.5% 50.2%
测试输出 98.9% 27.8%
JSON 98.5% 26.4%
六类合计 82.4% 33.2%

原始文件保留在本地,代理可随时按需回查。

Auto:自动模型路由

为每个任务动态选择模型与推理力度。85 个真实编码任务(来自 SWE-Interact、SWE-Together)的对比:

配置 解决率 单次成本 中位耗时
Opus 5.5 xhigh(全任务) 44.3% $7.83 35.2 min
Auto(仅 Claude 模型) 43.7% $3.59 15.9 min
Auto(含 OpenAI 与开源模型) 42.9% $3.47 16.7 min

启用方式:先 caveman login(免费账户),再 caveman providers add openai(可选,扩大模型池)。仅在 Claude Code、OpenCode、Codex 上生效;未登录则 Auto 不启动。

Blocks:脚本复用

解决「代码模式」下代理每轮都重写同一脚本的问题——把高频脚本沉淀为「Block」存入仓库,PR 时校验后回传给代理。八款内置 Block:json-peek、jsonl-stats、test-summary、first-error、wait-for、grep-defs、http-json、replace-in-file。

caveman-blocks scan    # 统计本月代理重写的脚本
caveman-blocks init    # 将规则与索引加入当前仓库的 AGENTS.md

预发布版 v0.1.0-rc.5,Python only,独立仓库 caveman-ai/blocks。

常用命令

终端命令:

caveman claude         # 启动代理:codex · gemini · opencode · aider · kilo · qwen
caveman status         # 查看已启用的功能与覆盖代理
caveman on browse      # 单独开关某项功能
caveman login          # 登录以启用 Auto
caveman learn          # 查看令牌消耗分布
caveman stats          # 历史令牌使用记录
caveman doctor         # 诊断问题并给出修复

代理内置命令:/caveman、/ultracave、/megacave(切换口吻强度)、/caveman-commit(一行 Conventional Commit)、/caveman-review(逐行代码审查)、/caveman-stats(本会话令牌统计)。

第三方验证

  • Adobe Research(CAVEWOMAN 论文,引用本项目):8 个模型、5 个数据集,单模型成本下降 1.4–2.4 倍
  • JetBrains:86 个真实编码任务配对 A/B 测试,质量无显著差异(p = 0.82),输出令牌减少 8.5%
  • Elastic:在 8 个真实 MCP 场景中重制,响应令牌减少 63.6%,「零信息损失」

隐私策略

  • Skill 部分完全本地运行,唯一例外是 /caveman-compress 会把待压缩文件发往配置的模型提供商
  • CLI 默认发送使用统计(命令名、令牌数、随机安装 ID、操作系统、IP),不含提示词、代码、路径、脚本内容;可通过 caveman telemetry off 彻底关闭
  • Auto 仅在登录并启用后上报,每次请求发送「最新提问 + 前一条 + 上一条回复末尾 + 工具名 + 推理力度 + 上次令牌数」

摘要更新于 2026-10-16 00:32:36 · 原文 22518 字符 · md5 162c5d9fb77e…