📦 Plugin Marketplace

插件市场

ohos-marketplace — ODK 与 ohos-sdd 一站式安装分发, 支持 Claude Code、Codex CLI、OpenCode 三大 AI 编码平台。 → 仓库地址

这个仓库是什么?

ohos-marketplace 是一个插件市场发布仓(Release / Marketplace Repository),类似于 npm 的 registry 角色。它本身不做插件开发,而是将两个独立开发仓库的构建产物统一聚合、提交版本控制,供 AI 编码工具一键安装。

核心定位:metadata registry + committed built plugins。开发在各插件自己的仓库进行,dist/ 被 gitignore,构建产物复制到这里提交,使 marketplace 的 source 能解析到完整插件。参考 obra/superpowers-marketplace

两个插件

📦 ohos-delivery-kit (ODK)

v0.6.5

OpenHarmony 交付产物规范层 — 定义必须沉淀的最小契约。提供 structured spec、design、review、validation 全链路交付模板与校验工具。

📦 ohos-sdd

v0.3.1

OpenHarmony 规格驱动开发工作流 — 在编码前通过 .codespec 对齐需求/设计/任务。包含 intake → spec → design → execution-plan → code 全流程 skill。

维度ohos-delivery-kit (ODK)ohos-sdd
定位交付规范层 — 定义"产出什么"开发工作流 — 定义"怎么做"
核心能力spec / design / review 模板 + 自动化校验SDD 全流程编排(Phase 0-9)+ spec-for-test
Skills 数量24 个10 个
发布分支两者均从各自 dev 分支发布(main 落后)

架构设计

两个开发仓库各自构建 → marketplace 统一聚合分发 → 三平台用户安装

📝 源仓
ohos-delivery-kit
交付规范层
v0.6.5
24 skills
spec-for-ai
SDD 工作流
v0.3.1
10 skills
publish-plugins.sh
🏪 marketplace
plugins/<name>/
single-tree 架构
.claude-plugin/
.codex-plugin/
.opencode/
共享内容只存一份
plugin install
👥 用户平台
Claude Code
claude plugin install
Codex CLI
codex plugin add
OpenCode
install-opencode-*.sh
🏆 single-tree 架构(v0.1.3):之前每个插件有三份拷贝(plugins/ + codex-plugins/ + opencode-plugins/),文件数 396。重构后合并为 plugins/<name>/ 单棵树,三端 manifest 共存,共享内容只存一份,文件数降至 229(-42%)。

安装指南

Bash
# 1. 添加 marketplace
claude plugin marketplace add https://gitcode.com/oshunter/ohos-marketplace.git

# 2. 安装你需要的插件
claude plugin install ohos-delivery-kit@ohos-marketplace
claude plugin install ohos-sdd@ohos-marketplace
持久化:插件记录在 enabledPlugins 中,每次 session 自动加载。本地测试可用 claude plugin marketplace add /path/to/ohos-marketplace
Bash
codex plugin marketplace add https://gitcode.com/oshunter/ohos-marketplace.git
codex plugin add ohos-delivery-kit@ohos-marketplace
✅ 已验证 (codex-cli 0.142.5):插件 source 能正确定位,skills 被缓存并启用,plugin remove 可干净卸载。
旧版本 Codex:如无法解析 local-path source,可用本地路径添加:codex plugin marketplace add /path/to/ohos-marketplace
Bash
# 克隆仓库
git clone https://gitcode.com/oshunter/ohos-marketplace.git
cd ohos-marketplace

# 安装所需插件(追加 --global 安装到 ~/.config/opencode/)
./scripts/install-opencode-odk.sh /path/to/your-project        # ODK
./scripts/install-opencode-ohos-sdd.sh /path/to/your-project   # ohos-sdd
自动加载:脚本在 .opencode/plugins/ 下安装 JS 插件,OpenCode 自动加载,无需手动编辑 opencode.json。写入 owned-files manifest 支持安全卸载。
迁移:旧方式安装过 ODK(opencode.md + .opencode/commands)需先删除旧文件再重新安装。

仓库结构

ohos-marketplace/ ├── .claude-plugin/marketplace.json # Claude marketplace 元数据 ├── .agents/plugins/marketplace.json # Codex marketplace 元数据 ├── plugins/<name>/ # 单树:三端 manifest 共存 │ ├── .claude-plugin/ # Claude plugin.json + hooks │ ├── .codex-plugin/ # Codex plugin manifest │ ├── .opencode/ # OpenCode JS 插件入口 │ └── skills/ templates/ ... # 共享内容(只存一份) ├── scripts/ │ ├── publish-plugins.sh # 维护者:重建 + 拷贝 + 版本检查 │ ├── install-opencode-odk.sh # 用户:安装 ODK │ └── install-opencode-ohos-sdd.sh # 用户:安装 ohos-sdd ├── docs/ logs/ CHANGELOG.md README.md

发布流程(维护者)

  1. 在各开发仓库 bump 版本 — 修改 plugin.json 中的 version,重新构建 dist。
  2. 在本仓库刷新构建产物
    Bash
    scripts/publish-plugins.sh                          # 拷贝已有 dist
    scripts/publish-plugins.sh --rebuild                # 先重建
    scripts/publish-plugins.sh --rebuild --branch dev     # 指定分支
    scripts/publish-plugins.sh --rebuild --plugin ohos-sdd  # 单插件
    脚本是幂等的,会自动检查跨平台版本一致性。
  3. Review diff → commit → push → tag
  4. 用户更新claude plugin marketplace upgrade ohos-marketplace

版本演进

版本关键变更影响
v0.1.3 single-tree 架构合并三份目录拷贝;publish-plugins.sh 重写;hooks.json 合并 396→229 文件(-42%
ohos-sdd 0.3.1 修复 OpenCode 导出契约(对象→函数);Hooks 提到顶层;hook 名对齐规范 修复 session 卡死 20+ 分钟
ohos-sdd 0.3.0 新增 spec-for-test 引擎 + 模板 + artifact SDD 补齐测试规格能力
skill 对齐 34 个 skills 添加 license: MIT,对齐 Anthropic skill 格式 标准 name + description + license

常见问题

Q: ODK 和 ohos-sdd 是什么关系?

互补关系。ODK 定义"产出什么"(模板和校验规则),ohos-sdd 定义"怎么做"(完整工作流编排)。协同使用效果最佳。

Q: 为什么 main 分支的版本比 dev 旧?

两个源仓的 main 都落后于 dev。publish-plugins.sh 默认从 dev 分支拉取构建。main 作为稳定基线。

Q: 三端安装的插件内容一样吗?

核心内容完全一致,差异仅在 manifest 格式和加载机制。single-tree 架构确保一致性。

Q: 如何添加新插件到 marketplace?
  1. 运行 publish-plugins.sh --plugin <name> --rebuild
  2. 在两个 marketplace.json 中添加条目
  3. 在 README.md PLUGINS 表格添加一行