ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

如何发布你的 Webcmd 社区插件:从编写 webcmd-plugin.json 到 PR 合入主仓库的完整指南

2026/10/2 22:23:29 拓冰建站 浏览量
如何发布你的 Webcmd 社区插件:从编写 webcmd-plugin.json 到 PR 合入主仓库的完整指南 如何发布你的 Webcmd 社区插件从编写 webcmd-plugin.json 到 PR 合入主仓库的完整指南【免费下载链接】webcmdSelf-learning agent browser项目地址: https://gitcode.com/gh_mirrors/web/webcmdWebcmdself-learning agent browser是一个让 AI Agent 探索一次、永久执行的自学习浏览器基础设施而Webcmd 社区插件就是它的扩展机制用一个名为webcmd-plugin.json的清单文件描述你的插件再提交 PR 到社区插件仓库其他用户就能通过webcmd plugin search一键安装你的命令。本文用 5 个步骤带你完成从零到发布的全过程无需任何前置经验。为什么你的命令值得做成 Webcmd 社区插件Webcmd 的核心循环是加载已有记忆 → 使用真实浏览器状态 → 沉淀有效经验 → 帮助下一个 Agent。它的记忆会随使用不断变聪明而社区插件决定了它天生会做什么。把网站适配器或自定义命令发布为插件后 用户一条命令安装无需克隆任何代码 自动进入 plugin-catalog.json 声明的插件目录可被webcmd plugin search检索 每次执行都会反哺 Webcmd 的站点记忆使用越频繁越精准第一步用 webcmd plugin create 一键生成插件骨架不用手写项目结构。webcmd plugin create会直接生成一份可开发的完整插件目录实现见 src/plugin-scaffold.tswebcmd plugin create my-plugin --author-name 你的名字 --author-handle 你的GitHub用户名生成后你会得到 5 个文件文件作用webcmd-plugin.json插件清单元数据核心package.jsonESM 包声明带agentrhq/webcmdpeer 依赖hello.ts声明式 pipeline 命令示例greet.ts使用func()的 TypeScript 命令示例README.md安装与开发文档模板⚠️ 命名规则插件名必须以小写字母开头只能包含小写字母、数字和连字符见 src/plugin-scaffold.ts 的校验逻辑。第二步编写 webcmd-plugin.json 清单这是整个发布的身份证webcmd 在安装、检索、目录展示时都读取它解析与校验逻辑见 src/plugin-manifest.ts{ name: my-plugin, version: 0.1.0, description: 一句话说明插件做什么, webcmd: 1.0.0, author: { name: 你的名字, handle: 你的GitHub用户名 } }字段速查name/version插件名与语义化版本号webcmd兼容性范围支持、、^、~及空格组合的约束如1.0.0 2.0.0留空表示不限制author必填handle必须是合法的用户名格式plugins可选monorepo 模式。若一个仓库包含多个插件用此字段声明子插件的路径、版本并可用disabled: true跳过安装第三步实现你的插件命令命令通过公共注册 API 声明只需导入公开接口约定见 CONTRIBUTING.mdimport { cli, Strategy } from agentrhq/webcmd/registry; cli({ site: my-plugin, name: greet, description: 按名字问候, strategy: Strategy.PUBLIC, browser: false, args: [{ name: name, positional: true, required: true, help: 名字 }], columns: [greeting], func: async (kw) [{ greeting: Hello, ${kw.name}! }], });两种常用形态pipelinefetch → select 的声明式管道适合公开网页抓取和func()任意 TypeScript 逻辑。命令文件放在插件根目录即可被自动发现。第四步本地安装与验证发布前务必在本地完整跑通一遍。以本地文件源安装符号链接方式改动即时生效webcmd plugin install file:///path/to/my-plugin webcmd list | grep my-plugin # 确认命令已注册 webcmd my-plugin greet --name World # 实际执行本地插件、锁文件与站点记忆都位于~/.webcmd目录下见 src/plugin.ts 的路径定义。验证通过、代码整洁后进入最后的 PR 环节。第五步提交 PR 到社区插件仓库社区公开适配器统一存放在社区插件仓库agentrhq/webcmd-plugins不在本仓库中目录来源见 plugin-catalog.json主仓库仅维护插件运行时。发布流程Fork 并建分支fork 社区插件仓库创建feat/my-plugin分支提交插件将插件目录放入仓库更新根目录webcmd-plugin.jsonmonorepo 模式下在plugins字段登记你的子插件路径跑一遍检查npm install→npm run typecheck→npm run build→npm test发起 PR描述中写清插件用途、命令列表与webcmd-plugin.json的关键配置提交后CI 会附上文档同步评审评论 无缺口 / 建议维护者审阅 / 可能缺少文档更新。该评论仅供参考、不阻塞合并但保持文档同步能显著提升合入速度——用户可见的变更应同步反映在仓库 README 与文档中评审机制见 src/docs-sync-review.ts。合入之后用户如何发现并安装你的插件PR 合入后插件会进入目录索引用户即可webcmd plugin search my-plugin -f json # 检索到你的插件 webcmd plugin install search 返回的安装源发布前清单 ✅插件名符合小写字母/数字/连字符规范webcmd-plugin.json包含name、version、description、authorwebcmd兼容性范围已按需声明本地webcmd plugin install file://...全流程验证通过typecheck、build、test 全部绿灯README 包含安装方式与命令说明monorepo 模式下已在根清单plugins字段登记按这份清单走完你的 Webcmd 社区插件就正式进入目录成为 Agent 浏览器生态的一部分。延伸阅读清单字段定义src/plugin-manifest.ts脚手架生成逻辑src/plugin-scaffold.ts安装/更新/回滚实现src/plugin.ts贡献约定CONTRIBUTING.md插件目录配置plugin-catalog.json【免费下载链接】webcmdSelf-learning agent browser项目地址: https://gitcode.com/gh_mirrors/web/webcmd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考