
Caveman 集成体系详解Skills、Hooks 与 Plugins 的权限边界、实现原理与卸载方法【免费下载链接】caveman why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman项目地址: https://gitcode.com/GitHub_Trending/caveman1/cavemanCaveman一个用更少 token 表达完整技术内容的 Claude Code skill 项目通过三种机制接入各类编码 Agent响应式 Skill改写模型输出风格、生命周期 Hooks在 Agent 会话事件上注入上下文和 Agent 原生 Plugins针对无 hook 机制的宿主。本文基于仓库技术文档 skills-hooks-and-plugins.md 展开并结合 skills/registry.json、src/hooks/README.md 等源码与配置讲清每种集成方式的作用范围、失败行为、安全实现细节以及安装前的信任核查清单与卸载路径。读完你能准确判断装了 Caveman 后哪些行为会变、哪些文件会被碰、如何干净地移除它。1. 三种集成方式的定位与权限差异Caveman 的集成分为三层权限与副作用各不相同集成方式本质作用对象典型载体Response skill纯指令文本只影响模型生成的 prose不压缩请求上下文skills/cavemanHooks可执行脚本代码监听 Agent 生命周期事件可读写本地状态文件src/hooks/*.js、caveman-statusline.{sh,ps1}Native plugins宿主插件代码依赖宿主 Agent 的插件 API 与权限Hermes / OpenClaw / OpenCode 插件仓库 docs/technical/agent-wrapping.md 中有一段关键区分值得直接引用Response skills change how an agent writes; Engine compression changes context sent to a model. They are separate controls.也就是说安装 skill 不等于请求压缩生效反之亦然。2. Response Skillskills/caveman的输出压缩指令集2.1 安装通过支持的 skill 安装器安装npx skills add JuliusBrussee/caveman文档明确要求在来源不熟悉的仓库安装 skill 前先预览远程 skill 内容skill 就是会被注入上下文的指令等同于第三方代码进入你的提示词。2.2 密度档位skills/caveman/SKILL.md 定义了完整档位体系默认full通过/caveman lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra|off切换档位行为lite去填充词/模糊词保留冠词与完整句专业但紧凑full去冠词、允许片段句、短同义词替换无工具调用旁白、无装饰表格/emojiultra在因果仍无歧义时去连词一词能表达就不用短语禁止自造缩写wenyan-lite / full / ultra半文言 → 全文言 → 极短文言压缩的是字符数而非 tokenskill 中还有两条值得注意的工程化约束不发明缩写cfg/impl/req/res/fn这类自造缩写在主流 tokenizer 下切分后与完整单词 token 数相同零节省却增加解码歧义所以规则明令禁止同样禁止因果箭头→。永不删否定词not/never/no/only/except删掉比省 token 的代价大得多数字、单位必须精确。2.3 Auto-Clarity压缩自动降级原文档提到Auto-clarity 在简短表达可能让安全警告或不可逆操作难以理解时放松压缩。SKILL.md 给出了完整触发条件以下场景自动退出 caveman 风格安全警告不可逆操作的确认如DROP TABLE片段化顺序或省略连词可能造成误读的多步序列压缩本身制造技术歧义例如migrate table drop column backup first缺少连接词时操作顺序不明用户要求澄清或重复提问。文档示例了降级格式Warning:This will permanently delete all rows in theuserstable and cannot be undone.DROP TABLE users;Caveman resume. Verify backup exist first.即警告用会话语言写完整 prose警告结束后恢复压缩风格。2.4 作用边界与诚实的数字skill 的 Boundaries 一节划清了持久化内容的边界代码、注释、commit、文档、issue/PR 正文、memory 文件、第三方消息始终写正常 prose——这些内容会流到聊天之外被其他人类阅读。关于效果原文档特别提示response skill 只影响生成文字不压缩请求上下文也不构成 token 降幅百分比的证据详见 docs/HONEST-NUMBERS.md。该页给出的实测口径是skill 对输入压缩为 0%反而每回合注入约 1–1.5k token 的规则成本SKILL.md 规则约 5 KB 进入上下文短问答等场景可能净亏官方建议用 provider 账单做 A/B 后决定是否对该负载关闭。3. Focused Skills单点职责的指令包原文档列出的 focused skill 及其输出契约、副作用边界Skill输出契约副作用边界caveman-commit简短的 Conventional Commit 消息不 stage、不 commit、不 amendcaveman-review行级 review 发现不 approve、不 request changes、不跑 lintercaveman-help一次性命令卡片不改变当前激活模式caveman-stats会话用量 标注为估算的字段读取本地 Claude Code 会话日志、写 status suffixcaveman-compress压缩后的 memory 文件 备份读取、校验并写选定的本地文件caveman-learn受同意门控的本地发现审查仅应用操作者批准的编辑caveman-explore只读的path:line引用安装受限的 explorer agent这些 ID 与 skills/registry.json 中的preserved_skill_ids及 skill 条目一一对应caveman-commit、caveman-compress、caveman-help、caveman-review、caveman-statsregistry 还声明了caveman-explore只读探索、紧凑引用与caveman-learn应用受同意门控的修复分属localsuite。几个 skill 的实现细节值得展开caveman-stats的证据口径。skills/caveman-stats/SKILL.md 说明它由 hookhooks/caveman-stats.js直接投递hook 返回decision: block并附带格式化统计模型无需做任何事输出中会话计数是真实读取值而Est. rule overhead默认 1250 token/回合可用CAVEMAN_RULE_OVERHEAD_TOKENS覆盖与Est. net是显式估算字段——净节省可能为负为负时输出会直说并建议对该负载关闭 caveman而不是用毛节省数字掩盖净负区间。caveman-compress的备份与校验。skills/caveman-compress/SKILL.md 与 skills/caveman-compress/SECURITY.md 描述了完整流程检测文件类型 → 调用模型压缩 → 无 token 校验输出 → 失败时定向 cherry-pick 修复最多重试 2 次仍失败则原文件不动。原文档说它在>{ statusLine: { type: command, command: bash /path/to/caveman-statusline.sh } }5. Native Plugins无 Hook 机制宿主的替代路径部分 Agent 不暴露等价 hook原文档列出使用原生插件的三个 profileHermes Agent 插件、OpenClaw 插件、OpenCode 插件。OpenCode 集成监听原生 session 与 prompt 事件并可利用项目AGENTS.md指令。插件始终受宿主 Agent 的插件权限与版本兼容性约束。以 OpenCode 插件为例src/plugins/opencode/README.md 说明了实现方式镜像 Claude Code hook 架构挂在 opencode 的session.createdtui.prompt.append生命周期钩子上session.created→ 用与 Claude Code 相同的safeWriteFlag助手O_NOFOLLOW、原子 temprename、0600、拒 symlink把默认模式写到~/.config/opencode/.caveman-activetui.prompt.append→ 响应/caveman[ level]等命令与自然语言短语翻转模式标记非独立模式时每回合追加一行加固不做的两件事无 statusline 徽标opencode TUI 不开放可写 statusline不从session.created注入系统提示always-on 规则集由安装器写入的~/.config/opencode/AGENTS.md承载即使插件运行时坏了规则依然生效。安装器bin/install.js --only opencode把插件文件与caveman-config.js因目录是type: module改名.cjs复制到~/.config/opencode/plugins/caveman/并给opencode.json补plugin数组条目。6. Browser Extension网页端的可见注入MV3 扩展在受支持的 ChatGPT、Claude、Gemini 网页界面向即将发出的消息追加一条可见的 Caveman Mode 指令。extension/manifest.json 确认了实现约束permissions仅[storage]无额外权限content scripts 只匹配chatgpt.com、chat.openai.com、claude.ai、gemini.google.com四个 host本地运行不向 Caveman 服务发送分析数据或提示词内容隐私声明见 extension/PRIVACY.md。行为边界注入在发送前可见不静默改写已发出的消息由于站点标记变更可能打断选择器扩展测试覆盖受支持 host 且失败时不提交内容。构建与测试命令npm --prefix extension run package npm --prefix extension test构建产物是 unpacked 扩展通过浏览器扩展开发者模式加载。相关测试位于 extension/test/popup.spec.mjs、content-script.spec.mjs等 Playwright 用例。7. 信任核查清单原文档给出的安装前六步检查原文逐条继承读源码与请求的权限确认仓库与 commit/release 来源检查它会修改哪些文件验证移除命令或手动回滚路径在一次性项目中先试不要授予超出功能所需范围的 shell 或浏览器权限。原文档的定性结论值得保留skills 是指令可以影响模型行为hooks 与 plugins 是代码可按宿主权限与本地文件、命令交互。按此区别对待。结合本文第 2、4、5 节你可以对每一项安装分别核对skill 是否只影响输出风格、hook 写了哪些状态文件第 4.2 节清单、plugin 依赖宿主哪些 API。8. 移除集成优先使用 Agent 原生设置的移除路径caveman setup --agent-native claude --removeskill 包通过安装器或 Agent 的 skill 管理器移除浏览器扩展通过浏览器设置移除。移除后检查 Agent 配置中的残留 endpoint 环境变量wrapping 模式注入的本地代理地址。补充各组件的独立回滚路径独立安装的 Claude hooksnpx -y github:JuliusBrussee/caveman -- --uninstall或从克隆内node bin/install.js --uninstall手动清理则删除$CLAUDE_CONFIG_DIR/hooks/下 7 个 caveman 脚本、settings.json中的 SessionStart/UserPromptSubmit/statusLine 条目以及.caveman-sessions/、.caveman-active、.caveman-mode-log.jsonl等状态文件——卸载器会做这些但刻意保留.caveman-history.jsonl累计节省记录属于用户数据需要的话手动删OpenCode 插件删除~/.config/opencode/plugins/caveman/目录并从opencode.json的plugin数组移除条目同时处理安装器写入的AGENTS.md规则段若曾使用 wrapping 模式docs/technical/agent-wrapping.mdcaveman setup与caveman status可检查残留的代理端点与运行模式。小结Caveman 的集成体系按指令 / 代码 / 宿主插件 / 浏览器扩展四级划分每级的副作用面不同skill 只改输出风格且有 Auto-Clarity 安全降级hooks 以原子写、0600权限、symlink 拒写和 session id 白名单保护本地状态native plugin 在无 hook 的宿主上复用同一套安全写助手扩展端保持可见注入且不回传内容。判断一套集成是否可信回到第七节六步清单即可读源码、核来源、列文件、验回滚、沙箱试跑、最小授权。【免费下载链接】caveman why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman项目地址: https://gitcode.com/GitHub_Trending/caveman1/caveman创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考