尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

如何为Caveman贡献新Agent Profile:开源贡献完全指南

如何为Caveman贡献新Agent Profile:开源贡献完全指南 如何为Caveman贡献新Agent Profile开源贡献完全指南【免费下载链接】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 是一个让 AI 编码 Agent「少说废话、少读废料」的 Token 压缩工具——它通过本地代理在每次调用前压缩 Agent 的输入基准测试显示可削减 33.2% 的输入 Token。而让 Caveman 支持一个新 Agent 的最简单方式就是贡献一个Agent Profile一个纯声明式的 JSON 文件教会caveman wrap如何把任意 AI 编码工具接入 Caveman 网关。本文带你完整走一遍开源贡献流程读懂契约、编写 Profile、通过编译器安全校验、提交 PR。为什么 Agent Profile 是最快上手入口对新手来说Caveman 贡献路径中最友好的一条就是纯 Profile 贡献只加一个 JSON 文件不改任何代码只要目标 Agent 说的是已有的通信协议、用已有的注入方式就属于数据级变更CI 全绿即可合入无需人工逐行评审。官方把这条路径称为最快的贡献路径规则都写在 docs/CONTRIBUTING_PROFILES.md 里。下面这张演示图展示了 Caveman 的效果同样是解释 React 重渲染问题穴居人版本 69 Token 变 19 Token修复方案完全一致。一个 Profile 到底在声明什么Profile 的本质是一组路由说明书告诉 CLI 三件事这个 Agent 说哪种协议wire protocol——Caveman 代理如何与它对话CLI 如何把它指到网关injection——改环境变量、还是写临时配置文件有没有可挂的钩子面command hook / memory hook——用于自动压缩命令输出、注入记忆。现有的 7 个原生 Profile 都在 agents/profiles/ 目录下可以直接抄作业示例 Profile协议注入方式aider.jsonopenai-chat环境变量codex.jsonopenai-responses环境变量gemini.jsongemini-generatecontent环境变量openclaw.jsonopenai-chat配置文件覆盖贡献前准备克隆仓库并定位关键文件先克隆仓库仓库是只读的不要直接改主分支git clone https://gitcode.com/GitHub_Trending/caveman1/caveman贡献 Profile 时你只需要关注这几个文件贡献规则docs/CONTRIBUTING_PROFILES.md契约 Schemaagents/profiles/schema.json——Profile 的法律条文注册表编译器agents/compile.mjs——校验并生成注册表保留命令表agents/reserved-verbs.json——Profile ID 不能撞车生成产物agents/agents.json发布用注册表一个 Profile 长什么样看懂必填字段以 gemini.json 为例一个最小可用的 Profile 包含这些必填字段schema_version固定为1idkebab-case、全局唯一就是caveman wrap id的选择器display_name/vendor/homepage展示信息binary_namesAgent 的可执行文件名用于自动探测install一行安装提示二进制缺失时展示wire_protocol只能选已有协议未知值会直接编译失败官方原则绝不猜测协议injection注入方式三选一。四种受支持的 wire protocol 定义在 agents/compile.mjs#L31-L35anthropic-messagesopenai-chatopenai-responsesgemini-generatecontent注入方式则有三种env环境变量、config-env-content内联 JSON 配置、config-file合并到用户配置文件。openclaw.json 展示了config-file写法的完整形态。编写你的新 Profile四步走第一步创建文件新建agents/profiles/你的id.json。注意id必须是小写字母数字加连字符如myagent且不能与保留命令冲突——先对照 reserved-verbs.json 里的 57 个保留词wrap、start、hooks、learn等都会撞车编译报错会直接点名冲突命令。第二步选择协议与注入方式打开目标 Agent 的文档确认它对 API 端点的控制方式支持通过环境变量改 Base URL→ 用env方法通过配置文件控制→ 用config-file方法。✅ 提示优先选env最简单injection_completeness可标为declarative真正的数据级添加。第三步填写诚实标签Caveman 有个鲜明的文化诚实声明绝不占位。两个关键字段tested_agent_version你实际验证过的 Agent 版本号没测过就填xinjection_completenessdeclarative纯声明即可路由/builder-assistedCLI 代码有辅助/code-only声明仅为摆设。编译器会交叉核对 CLI 实际构建器虚假声明会直接失败。第四步可选钩子如果目标 Agent 有工具调用钩子可声明command_hook自动把冗长命令输出压小目前没有可用钩子面就留空——留空是诚实的上限不代表功能缺失。四条安全边界编译器不会放过你Profile 编译器是**fail-closed失败即关闭**设计不认识的字段、未知的模板、危险的路径一律构建报错没有强制通过开关。四条硬性安全规则环境变量名白名单键必须形如*_BASE_URL、*_API_KEY、*_AUTH_TOKEN等PATH、NODE_OPTIONS这类加载器控制键被明确拒绝环境值只认模板值只能是{{cave_base_url}}、{{cave_proxy_url}}、{{cave_api_key}}、{{cave_org_id}}四个模板之一或安全标识符字面量写死 URL 或未知模板 编译失败路径圈禁指令与基础配置路径必须位于~/.profile-id/之下禁止..、绝对路径、跨 Profile 目录保留命令防撞Profile ID 和所有二进制名不得与 CLI 现有命令冲突。这些规则的实现见 agents/compile.mjsSchema 中的正则契约见 agents/profiles/schema.json#L9-L20。本地验证与提交 PR一键编译步骤Profile 写好后运行编译器重新生成注册表输出是确定性的同样输入不会产生 diffnode agents/compile.mjs npm install --ignore-scripts --no-audit --no-fund --no-package-lock --prefix packages/cli npm --prefix packages/cli run build node --test packages/cli/tests/agent-registry.runtime.mjs packages/cli/tests/agent-shortcut.runtime.mjs packages/cli/tests/porcelain.runtime.mjs⚠️提交清单三者缺一不可你的agents/profiles/id.json重新生成的agents/agents.json重新生成的packages/cli/src/agents.generated.ts。生成文件必须和源文件在同一个 PR里。最后项目采用开发者原创证书DCO每个提交都要签名git commit -s -m add id agent profileProfile-only 的 PR 在 CI 全绿后即可合入——CI 会重跑编译器、假 Agent 矩阵和首屏帮助快照。什么时候必须走代码评审如果你的目标 Agent 需要以下任何一项那就不是纯 Profile 变更而是核心改动必须先开讨论、走完整代码评审全新的 wire protocol全新的注入方法或钩子方法新的环境变量键形态或模板词汇需要修改编译器白名单或保留命令表此项强制创始人评审。 另请注意许可边界Profile 属于 MIT 目录LICENSING.md而引擎相关代码是 BSL-1.1详见 CONTRIBUTING.md 的贡献许可章节——如果你的改动只碰agents/profiles/MIT 规则最简单。新手贡献 FAQ问目标 Agent 用了全新的 API 协议怎么办答不要自己硬造协议。开一个 Discussion 先问或邮件联系维护者新协议属于核心变更。问为什么我的id编译报错答大概率撞了 reserved-verbs.json 里的保留命令换个 ID 即可。问可以只提交 JSON 不提交生成文件吗答不行。CI 会重新编译并比对产物缺失的生成文件会直接挂掉。问保持 PR 多小答一个 Profile 一个 PR。小而聚焦的 PR 审核最快。现在你已经掌握了从读懂契约到 PR 合入的完整链路——下一个让 30 Agent 生态再添一员的也许就是你的 Profile。【免费下载链接】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),仅供参考
返回列表