插件 Plugins
把零散能力打包成可分发的完整方案
一个插件,装上就拥有一整套工作流Skills、子代理、MCP、Hooks 各自强大却零散。这一章把它们打包成可分发的完整方案,从个人配置走向团队/社区生态。
能力零散
技能、钩子、MCP 各配各的,换个项目又得重来
配置成本高
你在 A 项目配好了代码审查技能、安全钩子、GitHub MCP,换到 B 项目,这些配置要重新做一遍。
分享很麻烦
想把自己摸索的一套工作流分享给同事,只能逐个文件传——技能目录、钩子脚本、MCP 配置,零散易漏。
版本难管理
你升级了某个技能,同事还在用旧版,没有统一的更新机制。
什么是插件
定义、白话、和零散配置的区别
Plugin 是 Qoder CLI 中把多种扩展能力打包成可安装单元的机制。一个插件可以同时包含命令、技能、子代理、钩子、MCP 服务配置,通过一个清单文件(plugin.json)声明自己的内容。
说白了,插件就像手机上的一个 App——你不用关心它内部用了哪些技术,点一下安装,就获得了一整套功能。卸载也干净利落。
零散配置
- 技能、钩子、MCP 各自配置
- 换项目要重做
- 分享靠传文件
- 没有版本概念
插件化
- 所有能力打包成一个单元
- 一次安装到处可用
- 通过市场一键分享
- 有版本,可升级回退
插件包含什么
一个插件可以装下五种能力
Commands(命令)
自定义斜杠命令,快速触发预设流程。
Skills(技能)
带自动触发的专家能力包。
Agents(子代理)
角色化的隔离 AI 助手。
Hooks(钩子)
事件驱动的自动检查脚本。
MCP 配置
外部服务连接配置。
目录结构
一个典型插件的文件组织
my-code-quality-plugin/
├── plugin.json # 必需:插件清单
├── commands/ # 命令
│ ├── lint.md
│ └── review.md
├── skills/ # 技能
│ └── code-reviewer/
│ └── SKILL.md
├── agents/ # 子代理
│ └── security-auditor.md
├── hooks/ # 钩子
│ └── pre-commit-check.sh
└── mcp-config.json # MCP 服务配置
每个子目录对应一种能力,放对应类型的文件。plugin.json 是入口,声明插件元信息和包含的内容。
plugin.json
插件清单——声明"我是谁、包含什么"
{
"name": "code-quality-suite",
"version": "1.2.0",
"description": "一套代码质量工具:审查技能、安全审计代理、提交前检查钩子",
"author": "your-name",
"homepage": "https://github.com/you/code-quality-suite",
"capabilities": ["commands", "skills", "agents", "hooks"]
}
| 字段 | 说明 |
|---|---|
name | 插件唯一标识(安装和引用用) |
version | 语义化版本,用于升级和兼容 |
description | 功能描述,市场和搜索用 |
capabilities | 声明包含哪些能力类型 |
四类来源
插件从哪里来
官方插件
Qoder 团队维护,质量有保证。通常是通用场景的最佳实践,新手优先用这类。
社区插件
社区开发者贡献,种类丰富。安装前看 star 数和更新频率,判断维护质量。
组织插件
公司或团队内部维护,沉淀组织级工作流。通过私有市场分发。
个人插件
你自己写给自己用的。不发布,本地安装即可。
市场
插件分发的中心——marketplace
Marketplace(市场)是插件的集中分发渠道。你可以把插件发布到市场,别人从市场一键安装。
添加市场源
市场可以是一个 URL 或仓库。配置后就能从中浏览和安装:
qodercli plugin marketplace add \
https://github.com/org/my-marketplace
从市场安装
qodercli plugin install code-quality-suite
安装后该插件的所有能力(命令、技能、钩子等)立即可用,无需逐个配置。
管理与卸载
qodercli plugin list # 已装插件
qodercli plugin update code-quality-suite
qodercli plugin remove code-quality-suite
安全控制
通过 strictKnownMarketplaces 控制是否只允许从已知可信市场安装,防止恶意插件。
创建插件
把你的零散配置升级成可分发插件
如果你已经在项目里配好了技能、钩子,把它们升级成插件的步骤:
- 建目录:创建插件根目录,如
my-workflow/ - 迁移能力:把现有的技能移到
skills/、钩子移到hooks/,以此类推 - 写清单:创建
plugin.json,声明 name/version/description/capabilities - 本地测试:用本地路径安装
qodercli plugin install ./my-workflow - 发布(可选):推到 Git 仓库,注册到市场供他人使用
排错指南
插件相关的高频问题
安装后能力不可用
原因:plugin.json 的 capabilities 没声明,或文件路径不对。修复:检查清单字段;确认子目录命名规范;用 plugin list 看是否成功加载。
钩子不生效
原因:脚本无执行权限。修复:chmod +x hooks/*.sh;Windows 用对应格式脚本。
市场安装被拒
原因:开启了 strictKnownMarketplaces,该市场不在白名单。修复:把可信市场加入白名单,或临时关闭严格模式。
升级后行为变了
原因:插件跨大版本有不兼容改动。修复:看 changelog;必要时回退到旧版本 plugin install name@1.x。
动手练习
把前面的成果打包成一个插件
练习 1:建插件骨架
- 创建
my-first-plugin/目录 - 写
plugin.json,声明 name 和 version
练习 2:迁移已有能力
- 把第 06 章做的技能移到
skills/ - 把第 09 章做的钩子移到
hooks/ - 更新 capabilities 字段
练习 3:本地安装测试
- 用
qodercli plugin install ./my-first-plugin安装 - 验证技能和钩子都正常工作
- 体会"一键安装一整套"的便利
本章回顾
带走的三个核心认知
插件是能力容器
把命令、技能、代理、钩子、MCP 打包成一个可安装单元。
plugin.json 是入口
声明身份、版本、能力,是分发的核心清单。
市场是分发渠道
一键安装、一键更新、一键分享,版本统一管理。
扩展篇到此结束。接下来进入控制篇——第 11 章权限系统,学习如何安全地把活交给 AI。