本页目录9
- 插件市场本质是一个放在 .claude-plugin/marketplace.json 的目录文件,含 name、owner、plugins 三个必填字段,记录插件来源以供集中分发。
- 发布流程分四步:创建插件 → 编写 marketplace.json → 推送到 git 托管平台 → 用户通过 /plugin marketplace add 订阅。
- 用户通过 /plugin marketplace update 可刷新本地市场缓存,获取最新插件列表。
- 插件可包含 skills、agents、hooks、MCP servers 和 LSP servers 五类组件。
- 插件 source 既可是相对路径字符串,也可是带 source 判别字段的对象(github/url/git-subdir/npm),并可用 ref/sha 锁定分支、tag 或 commit。
- 推荐将市场 repo 单独维护、语义化版本标签、在 README 中提供安装指令,便于团队长期维护。
本文是对官方文档 Create and distribute a plugin marketplace 的中文要点摘要,完整内容以原文为准。
什么是插件市场
插件市场(plugin marketplace) 是一个插件目录,让你可以把自己编写的 Claude Code 插件集中分发给团队成员或开源社区。它提供:
- 集中发现(centralized discovery)
- 版本追踪(version tracking)
- 自动更新(automatic updates)
- 多来源支持(git 仓库、本地路径等)
如果你只是想从已有市场安装插件,参考官方文档 Discover and install prebuilt plugins。
创建和分发市场的四个步骤
步骤一:准备插件
先确保你已有可分发的插件。插件可包含以下组件类型:
| 组件类型 | 说明 |
|---|---|
skills | 基于 SKILL.md 的技能 |
agents | 自主任务执行代理 |
hooks | 生命周期事件钩子 |
MCP servers | 模型上下文协议服务 |
LSP servers | 语言服务协议服务 |
插件创建详见官方文档 Create plugins。
步骤二:编写 marketplace.json
在仓库的 .claude-plugin/ 目录下创建 marketplace.json,定义市场元数据和插件列表。该文件包含三个必填字段:name(市场标识,kebab-case)、owner(维护者信息)和 plugins(插件数组)。基本结构示例:
{
"name": "company-tools",
"owner": {
"name": "DevTools Team",
"email": "devtools@example.com"
},
"plugins": [
{
"name": "code-formatter",
"source": "./plugins/formatter",
"description": "Automatic code formatting on save",
"version": "2.1.0"
},
{
"name": "deployment-tools",
"source": {
"source": "github",
"repo": "company/deploy-plugin"
},
"description": "Deployment automation tools"
}
]
}
每个插件条目至少需要 name 和 source 两个字段,source 告诉 Claude Code 去哪里拉取该插件。
插件来源类型(plugin sources):source 既可以是字符串(相对路径),也可以是带 source 字段做类型判别的对象:
- 相对路径:直接写形如
"./plugins/my-plugin"的字符串(必须以./开头),指向市场仓库内的本地目录,相对于市场根目录解析。 github:对象形式,必填repo(owner/repo格式),可选ref、sha。url:对象形式,必填url(完整 git 仓库地址),可选ref、sha。git-subdir:对象形式,指向 git 仓库内的子目录,必填url和path,可选ref、sha。npm:对象形式,以 npm 包分发,必填package,可选version、registry。
对于 git 类来源,可用 ref 锁定分支/tag,用 sha 锁定到精确 commit;两者同时设置时以 sha 为准。
步骤三:托管市场
将包含 .claude-plugin/marketplace.json 的仓库推送到任意 git 托管平台:
- GitHub(文档推荐的方式,自带版本控制、issue 跟踪与团队协作)
- GitLab
- Bitbucket、企业自建 git 服务等
市场本身就是一个普通的 git 仓库,无需特殊服务。使用 GitHub 时用户可用 owner/repo 简写添加;其他平台用完整仓库 URL。推送更新后,用户刷新即可获取最新版本。
步骤四:分享给用户
用户通过以下命令订阅你的市场并安装插件:
# 添加市场(GitHub 可用 owner/repo 简写,也支持 git URL / 本地路径)
/plugin marketplace add <source>
# 安装某个插件
/plugin install <plugin-name>@<marketplace-name>
# 刷新本地市场缓存
/plugin marketplace update
之后用户可以浏览插件列表并按需安装。
版本管理建议
- 使用语义化版本标签(如
v1.2.0)标记稳定版本 - 在插件条目或其
plugin.json中设置version字段以锁定版本;只有该字段变化时用户才会收到更新 - 若省略
version,git 托管市场中的每次新 commit 都会被当作新版本,适合内部或活跃开发的插件 - 在 source 中用
ref指向具体 tag、用sha指向具体 commit,避免默认分支的不稳定变更影响用户
市场维护要点
- 单独维护市场仓库:把
marketplace.json单独放在一个仓库,而不是混在某个插件仓库里,便于统一管理。 - 写好 README:为订阅者提供明确的安装说明(仓库地址、联系方式等)。
- 插件来源保持可访问:用户安装插件时需要能直接克隆插件来源,私有仓库需额外配置鉴权(凭据助手或
GITHUB_TOKEN等环境变量)。 - 测试再发布:先用相对路径在本地通过
/plugin marketplace add ./my-marketplace调试,并用claude plugin validate .校验 JSON,再推送到 git 来源。
相关资源
| 文档 | 用途 |
|---|---|
| Create plugins | 从零创建一个插件 |
| Discover and install plugins | 用户侧安装流程 |
| Plugins reference | 插件配置完整字段参考 |
| Plugin dependencies | 锁定插件依赖版本 |