Skip to content

插件怎么装、怎么自己做:marketplace 和 plugin.json

项目里的 .claude/skills、agents、hooks 适合「这个仓库专用」。要跨仓库复用、或从市场一键装,用 plugins:把 skills / agents / hooks 打成包,经 marketplace 分发。

插件 vs 仓库里的 .claude/

仓库 .claude/插件
范围当前项目安装后多项目可用
分发跟 git 走marketplace / 本地目录
技能调用/skill-name常带命名空间 /plugin:skill

单仓约定继续写在 .claude/CLAUDE.md;可复用能力再抽成插件。Skills 写法见 Skills 指南;和 MCP、Hooks 怎么选见 对照文

怎么装

官方 marketplace 一般会自动可用。安装示例:

text
/plugin install name@marketplace

name 换成插件名,marketplace 换成市场标识。装完用 /reload-plugins 让当前会话重新加载;仍看不到时开新会话再试。

信任提示:插件能带 hooks 与技能,等于在你机器上跑约定好的自动化。只装来源清楚的包;陌生市场先当不可信,对照 权限与沙箱 收紧 deny。

目录怎么摆

容易错的一点:只有 plugin.json 放在 .claude-plugin/ 里;skills、agents、hooks 放在插件根目录,不要塞进 .claude-plugin/

示意:

text
my-plugin/
  .claude-plugin/
    plugin.json          # 仅清单
  skills/
    foo/SKILL.md
  agents/
    ...
  hooks/
    ...

plugin.json 描述名称、版本、入口元数据。Skills 被装入后以插件命名空间调用,避免和项目本地同名技能撞车。

本地开发与调试

还没发布到市场时:

text
claude --plugin-dir /path/to/my-plugin

用本地目录当插件加载,改 skills 后 /reload-plugins 验证。目录结构不对(例如把 skills/ 误放进 .claude-plugin/)时,常见现象是「装上了但命令不出现」——先查布局再查清单。

LSP 类插件还要求对应语言服务器二进制已在 PATH;只装插件壳、本机没有 gopls / typescript-language-server 等,功能不会凭空出现。

非交互 / CI 场景一般不靠交互式 /plugin;需要可复现环境时,把依赖与插件安装写进镜像或启动脚本,并考虑 --bare 等旗标,见 -p / --bare。自动记忆不会替你记住「该装哪个插件」,清单仍要显式维护,见 自动记忆

命名空间与冲突

插件技能常见形态是 /插件名:技能名。项目本地若已有同名 /deploy,装了插件后以带命名空间的为准去调用,避免「敲了命令却跑到另一套清单」。写插件时技能 description 仍然重要:模型自动调用依赖描述质量,和普通 Skills 一样,见 Skills 指南

Hooks 随插件启用时,等于多了一组自动化触发器。发布前在干净仓库用 --plugin-dir 跑一遍敏感路径,确认不会误删或误推。

实操小结

  1. 跨仓复用 → 插件;单仓约定 → .claude/
  2. 安装:/plugin install name@marketplace,然后 /reload-plugins
  3. 结构:仅 plugin.json.claude-plugin/;skills/agents/hooks 在根下
  4. 本地测:--plugin-dir;LSP 插件先保证二进制在 PATH
  5. 陌生插件当不可信代码,配合权限规则

插件把可复用能力打包进市场;目录摆对、命名空间分清,比先纠结 marketplace 文案更要紧。

Claude-cn.org,专注于 Claude Code 中文教程