插件(Plugin)概念与 manifest
目录
- 插件解决什么问题
- 典型宿主:IDE Agent 与 CLI Agent
- manifest 里通常有什么
- Codex 风格:plugin.json 与 marketplace
- Plugin 与 MCP、Hooks、Skills 的关系
- 安全与供应链
- 延伸阅读
插件解决什么问题
Plugin 把一组能力打包成「可安装单元」:带元数据、入口、资源与可选子模块。与零散放几个 .md 文件相比,插件提供:
- 发现性:市场/列表里可搜索、可排序、可分类。
- 版本与依赖:便于声明兼容的宿主版本。
- 权限边界:安装时提示、运行时鉴权(依宿主实现)。
本知识库在描述 Codex 类插件时,以常见实践为准:根目录包含 .codex-plugin/plugin.json(manifest),并可附带 skills/、hooks/、scripts/ 等(具体以你使用的脚手架与宿主文档为准)。
典型宿主:IDE Agent 与 CLI Agent
| 宿主类型 | 插件可能包含 | 用户感知 |
|---|---|---|
| IDE 内 Agent | UI、命令、配置页 | 图形化安装与启用 |
| CLI Agent | 子命令、工作区模板 | 命令行与文件目录 |
同一套 Skill 文档可以嵌入插件或独立发布;插件更适合「要给多人安装、要版本号」的场景。
manifest 里通常有什么
不同宿主字段名不同,但常见信息包括:
- name / id:机器可读标识。
- displayName:展示名。
- version:语义化版本。
- description:一句话说明。
- entry / interface:宿主如何加载(依平台而定)。
- permissions:网络、文件、子进程等(若有)。
Codex 风格:plugin.json 与 marketplace
社区常见流程(与 Cursor/Codex 插件生态类似的脚手架):
- 插件目录下必有
.codex-plugin/plugin.json。 - 可选在仓库根目录维护
.agents/plugins/marketplace.json,用于 UI 中的排序与可用性元数据。
典型 marketplace 条目包含 name、source.path、policy.installation、policy.authentication、category 等(示例形状见各项目脚手架生成结果)。
注意:本页不绑定某一私有产品;你应以实际宿主官方文档与脚手架输出为准。
下面用示意图表达「插件目录 ↔ manifest ↔ 市场列表」关系:
Plugin 与 MCP、Hooks、Skills 的关系
- Skills:插件内
skills/可携带多个SKILL.md,与独立工作区 Skill 内容形态相同,只是分发方式不同。 - Hooks:宿主事件钩子(保存、提交前等),用于自动化与约束。
- MCP:可通过
.mcp.json等声明模型上下文协议服务,扩展工具面(依宿主)。
三者组合时,优先理清 信任边界:MCP 与脚本属于高敏感供应链。
安全与供应链
- 只安装来源可信的插件;审查
plugin.json与脚本内容。 - 对含 网络访问 的插件做最小权限与审计。
延伸阅读
- 插件脚手架与工程集成
- 仓库内 Cursor 技能(若你有):
.cursor/skills-cursor/create-skill等(本地路径,不随站点分发)