oh-my-pi marketplace 完整指南:如何快速发布并安装自己的扩展生态
【免费下载链接】oh-my-pi⌥ Coding agent with the IDE wired in项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-pi
oh-my-pi(omp)是一款内置 IDE 深度集成的开源 AI 编码代理(coding agent),它的marketplace 扩展市场系统只需两条命令就能发现、安装和管理插件,也允许任何人发布自己的扩展生态。本文带你从安装第一个插件,到发布自己的 marketplace,走一遍完整流程 🎯
🧩 marketplace 是什么:先搞懂两个概念
在 oh-my-pi 中,扩展生态由两个核心概念组成:
- Marketplace(扩展市场):一个 Git 仓库(或本地目录),根目录放一份目录清单文件
marketplace.json,声明里面有哪些插件可用; - 插件(Plugin):一个目录,按约定位置存放技能(skills)、斜杠命令、子代理、钩子、自定义工具、MCP 服务器等内容。
插件安装后分两个作用域生效:
| 作用域 | 范围 | 记录位置 |
|---|---|---|
| user(默认) | 所有项目可用 | ~/.omp/plugins/installed_plugins.json |
| project | 仅当前项目 | <项目>/.omp/plugins/installed_plugins.json |
同名插件中,已启用的 project 作用域安装会覆盖 user 作用域的版本。更多机制细节可查阅官方文档:docs/marketplace.md。
⚡ 快速安装:两条命令接入扩展市场
在 oh-my-pi 的 TUI 中输入以下命令即可(无参数运行/marketplace会打开交互式插件浏览器):
/marketplace add owner/my-marketplace # 添加一个市场源 /marketplace install my-plugin@my-marketplace # 安装其中的插件命令行下也有等价命令:
omp plugin marketplace add owner/my-marketplace omp plugin install my-plugin@my-marketplace/marketplace add会自动识别多种来源格式:owner/repo简写、https://...的 Git 仓库、以.json结尾的直接目录 URL、git@...SSH 地址,以及./path本地目录——这为本地开发测试提供了极大便利。
下面的 TUI 中,/marketplace discover可以浏览各市场中的插件列表,左侧是插件清单,右侧展示每个插件(如技能)的描述、来源与激活状态:
📦 插件怎么组织:约定目录就是全部
一个插件目录不强制要求任何固定文件,所有位置都是可选的,插件把内容放进约定目录即可被自动发现:
my-plugin/ skills/<名称>/SKILL.md ← 技能 commands/*.md ← 斜杠命令 agents/*.md ← 子代理定义 hooks/pre/、hooks/post/ ← 钩子 tools/ ← 自定义工具 .mcp.json ← MCP 服务器定义 package.json ← 可选版本号与 omp.extensions 扩展模块 README.md ← 建议提供说明文档如果想让插件携带 TypeScript 扩展模块,在package.json中声明omp.extensions即可,marketplace 安装时会像 npm 安装一样把它链接进运行时。参考仓库内置的最小插件示例:docs/skills/examples/mini-marketplace/my-plugin/package.json,扩展模块的编写方法见 docs/skills/authoring-extensions.md。
📝 marketplace.json:扩展市场的目录清单
清单文件放在仓库根目录的.omp-plugin/marketplace.json(推荐)或.claude-plugin/marketplace.json(兼容 Claude Code 格式的回退路径)。最简格式只需要三个必填字段:
{ "name": "my-marketplace", "owner": { "name": "你的名字" }, "plugins": [ { "name": "my-plugin", "description": "这个插件做什么", "source": "./plugins/my-plugin" } ] }插件条目的source支持五种格式:
| 格式 | 适用场景 |
|---|---|
相对路径("./xxx") | 插件就在市场仓库内,最常用 |
| Git URL | 指向独立插件仓库,可用ref/sha锁定版本 |
| GitHub 简写 | Git URL 的简写形式 |
| Git 子目录 | 插件位于 monorepo 的某个子目录 |
| npm 包 | 格式可解析,但当前安装器尚不支持 |
命名规则:市场和插件名只能用小写字母、数字、连字符和点,且必须以字母或数字开头结尾,最长 64 字符。仓库内的完整示例可看这份可直接运行的迷你市场:docs/skills/examples/mini-marketplace/.claude-plugin/marketplace.json,其说明文档为 docs/skills/examples/mini-marketplace/README.md。
🚀 发布自己的 marketplace:五步走完
- 新建仓库,在根目录创建
marketplace.json清单文件; - 添加插件条目,指向仓库内的子目录(或外部 Git 来源);
- 推送到你的 Git 仓库;
- 分享
owner/repo字符串,用户执行/marketplace add owner/repo即可接入; - 持续更新:修改清单后,用户运行
/marketplace update 市场名拉取最新版本。
发布前建议先本地验证,marketplace 支持直接添加本地路径作为来源:
/marketplace add ./path/to/my-marketplace从 0 到 1 的完整编写规范(清单字段表、来源类型、发布流程)都整理在官方技能文档里:docs/skills/authoring-marketplaces.md。
🔄 更新、升级与日常管理
装好插件后的日常操作,TUI 命令与 CLI 一一对应:
| 操作 | TUI 命令 |
|---|---|
| 刷新市场清单 | /marketplace update [市场名] |
| 升级插件 | /marketplace upgrade [--scope user\|project] [name@marketplace] |
| 查看已装插件 | /marketplace installed |
| 卸载插件 | /marketplace uninstall [--scope user\|project] name@marketplace |
| 启用 / 禁用 | /plugins enable//plugins disable |
两个实用细节:
/marketplace update只刷新清单、不会重装插件;upgrade才会真正重装,且只有清单中声明了version的条目才参与版本比较;- 安装或卸载工具、钩子、扩展模块后,运行
/reload-plugins刷新技能与斜杠命令,重启会话即可加载新能力。
下图展示了插件生效后的实际会话:代理正在分派多个 explore 子代理并行分析packages/{ai,tui,agent},底部的状态栏实时显示 token 用量与费用——这正是扩展生态为编码代理带来的能力增益:
📚 延伸阅读
- 市场系统机制、磁盘布局与命令参考:docs/marketplace.md
- 市场编写指南:docs/skills/authoring-marketplaces.md
- 扩展模块编写:docs/skills/authoring-extensions.md
- 可运行的迷你市场示例:docs/skills/examples/mini-marketplace/
- 扩展市场与技能体系总览:docs/skills.md
【免费下载链接】oh-my-pi⌥ Coding agent with the IDE wired in项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-pi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考