第 8 章 · 02 市场与分发 本节摘要:插件靠市场(marketplace)分发——市场是一个插件目录(manifest 定义在 ),每个插件条目声明名称与来源(六种:相对路径、GitHub、Git URL、Git 子目录、npm、pip)。官方市场自动注册,社区市场手动添加。安装、更新、禁用、卸载全部有 界面与 CLI 双通道;自动更新默认只对官方市场开启。版本锁定靠 ref/sha 字段,发布靠 打带校验的 git 标签。 学习目标 阅读完本节,你应当能够: 说出四种插件类型(官方/社区/组织/个人)与各自权威来源。 写出 marketplace.json 并说出六种 source 语法与版本锁定方式。 说出 与 命令族,以及安装生命周期各环节。
本节摘要:插件靠市场(marketplace)分发——市场是一个插件目录(manifest 定义在
.claude-plugin/marketplace.json),每个插件条目声明名称与来源(六种:相对路径、GitHub、Git URL、Git 子目录、npm、pip)。官方市场自动注册,社区市场手动添加。安装、更新、禁用、卸载全部有/plugin界面与 CLI 双通道;自动更新默认只对官方市场开启。版本锁定靠 ref/sha 字段,发布靠claude plugin tag打带校验的 git 标签。
阅读完本节,你应当能够:
/plugin 与 claude plugin 命令族,以及安装生命周期各环节。| 类型 | 范围 | 权威 | 例子 |
|---|---|---|---|
| 官方 | 全局,所有用户 | Anthropic | PR Review、Security Guidance |
| 社区 | 公开,所有用户 | 社区(经自动化验证+安全审查,锁定 commit SHA) | DevOps、Data Science |
| 组织 | 内部,团队成员 | 公司 | 内部规范、工具 |
| 个人 | 个人 | 开发者自己 | 自定义工作流 |
官方市场 anthropics/claude-plugins-official 首次交互启动时自动注册;社区市场 anthropics/claude-plugins-community 托管通过自动化验证与安全筛查的第三方插件,手动添加:
/plugin marketplace add anthropics/claude-plugins-community /plugin install <plugin-name>@claude-community
市场本身也是配置文件,放在 .claude-plugin/marketplace.json:
{ "name": "my-team-plugins", "owner": "my-org", "plugins": [ { "name": "code-standards", "source": "./plugins/code-standards", "description": "Enforce team coding standards", "version": "1.2.0", "author": "platform-team" }, { "name": "deploy-helper", "source": { "source": "github", "repo": "my-org/deploy-helper", "ref": "v2.0.0" }, "description": "Deployment automation workflows" } ] }
必填:市场 name(kebab-case)、owner、plugins 数组;插件条目必填 name 与 source(路径字符串或来源对象),可选 description/version/author;另有 renames(旧名→新名映射,用户自动迁移,v2.1.193+)、displayName(仅展示,v2.1.143+)、defaultEnabled: false(装好后默认禁用需用户开启,v2.1.154+)。
| 来源 | 语法 |
|---|---|
| 相对路径 | "./plugins/my-plugin" |
| GitHub | { "source": "github", "repo": "owner/repo", "ref": "v1.0" } |
| Git URL | { "source": "url", "url": "https://git.internal/plugin.git" } |
| Git 子目录 | { "source": "git-subdir", "url": "...", "path": "packages/plugin" } |
| npm | { "source": "npm", "package": "@acme/claude-plugin", "version": "^2.0" } |
| pip | { "source": "pip", "package": "claude-data-plugin", "version": ">=1.0" } |
GitHub 与 Git 来源支持 ref(分支/标签)与 sha(提交哈希)做版本锁定。注意保留名:first-party-plugins 与 healthcare 不可被自定义市场占用(v2.1.205+)。
发现 → 浏览市场 → 查看组件 → /plugin install → 使用 → 更新 → 禁用/启用 → 卸载
安装途径:
/plugin install plugin-name # 会话内 claude plugin install plugin-name@marketplace-name # CLI /plugin install github:username/repo # 直接 GitHub 仓库 /plugin install ./path/to/plugin # 本地目录 claude --plugin-dir ./my-plugin # 本地开发测试(可重复,支持 .zip,v2.1.128+) claude --plugin-url https://example.com/releases/my-plugin-0.3.0.zip # URL 拉取,当前会话有效
CLI 命令族:
claude plugin install/uninstall/update/list/enable/disable <name> claude plugin validate # 校验结构 claude plugin tag v0.3.0 # 校验版本号并打 git 标签(发布推荐方式) claude plugin prune # 清理孤儿自动安装的依赖插件 claude plugin uninstall <name> --prune # 卸载并级联清理 claude plugin details <name> # 组件清单 + 预估每回合 token 成本(v2.1.139+)
details 很有用——安装前先看"这插件每回合吃多少上下文",示例输出:3 skills / 2 hooks / 1 mcp,projected ctx +1,420 tokens per turn、+9,800 per /review 调用。市场浏览面板同样显示 CTX/TURN 列(v2.1.143+),按上下文成本挑选插件。
依赖管理(v2.1.143+):plugin disable 在仍有其他启用插件依赖它时会拒绝执行(防止依赖图断裂);plugin enable 会在一次确认后级联启用传递依赖;plugin prune 清理父插件已删除的孤儿依赖。plugin list 支持 --enabled/--disabled 过滤(v2.1.163+),/plugin 界面会标出未使用插件方便清理(v2.1.187+)。
市场管理:
claude plugin marketplace add <source> claude plugin marketplace update [name] # 只刷新目录,不更新已装插件 claude plugin marketplace remove <name> claude plugin marketplace list
严格模式:strict: true(默认)时本地 plugin.json 优先,市场条目补充;false 时市场条目即全部定义。组织可用 strictKnownMarketplaces 限制可添加的市场(空数组 = 全部禁止;模式数组 = 白名单)。
官方市场默认自动更新(启动时刷新目录+更新已装插件+提示 /reload-plugins);第三方/本地市场默认关闭,在 /plugin → Marketplaces 界面切换。
| 环境变量 | 效果 |
|---|---|
DISABLE_AUTOUPDATER=1 |
关闭全部自动更新(Claude Code + 插件) |
DISABLE_AUTOUPDATER=1 + FORCE_AUTOUPDATE_PLUGINS=1 |
只保留插件更新 |
CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1 |
强制 GitHub 来源走 HTTPS 克隆(CI/无 SSH 环境) |
注意:marketplace update 只刷新目录,不更新已装插件——更新要用 plugin update <name>。市场级设置还有 extraKnownMarketplaces(加来源)、blockedMarketplaces(黑名单,支持 hostPattern/pathPattern 正则,v2.1.119+,并在每次生命周期事件强制生效 v2.1.117+)、deniedPlugins(禁装名单);/plugin 市场浏览器带搜索栏(v2.1.172+)。
开发期改插件文件可自动检测;或手动 /reload-plugins 重读全部 manifest 与组件,无需重启会话。出问题时按序排查:版本兼容性(/version)→ plugin.json 语法 → 路径与目录结构一致性 → 脚本权限(chmod +x)→ /plugin debug plugin-name 看日志。
分发链路:插件 → 市场目录(marketplace.json)→ 来源(六种)→ 用户一键安装。官方市场自动注册、社区市场手动加,组织用严格模式白名单管控。生命周期命令齐全:install/uninstall/update/list/enable/disable/validate/tag/prune/details;自动更新默认仅官方市场,环境变量可整体关闭。claude plugin tag 是官方推荐的发布打标方式。下一节精读三个示例插件,看打包的具体长什么样。
下一节预告:第 3 节精读 PR Review、DevOps Automation、Documentation 三个示例插件。