# EAPIL Codex 插件市场

这是 EAPIL 内部维护的 Codex 插件市场，面向中文用户分发可选安装的公开 Skill 和第三方插件。仓库已经作为正式市场使用，不再是测试仓库。

## 安装市场

在 Codex Desktop 的“添加插件市场”中填写：

- 来源：`https://git.playones.com/arechen/EapilSkillMarket.git`
- Git 引用：`main`
- 稀疏路径：留空

添加市场后，在 `EAPIL 技能市场` 中按需安装插件。安装或更新插件后，建议新开一个 Codex 线程，让新 Skill 进入上下文。

命令行安装：

```powershell
codex plugin marketplace add https://git.playones.com/arechen/EapilSkillMarket.git --ref main
codex plugin add docx@eapil-skill-market
```

如果需要使用稀疏路径：

```powershell
codex plugin marketplace add https://git.playones.com/arechen/EapilSkillMarket.git --ref main --sparse .agents --sparse plugins/codex
codex plugin add superpowers@eapil-skill-market
```

## 当前插件

市场中的每个目录都是一个独立 Codex 插件，用户可以按需安装和卸载：

- `superpowers`：规划、TDD、调试、代码评审和交付工作流。
- `ui-ux-pro-max`：UI/UX 设计知识库。
- `docx`：Word 文档创建、编辑和分析。
- `pdf`：PDF 表单、文本、表格和文档处理。
- `pptx`：演示文稿创建、编辑和分析。
- `xlsx`：电子表格创建、编辑、分析和可视化。
- `threejs`：Three.js 开发相关 Skill 集合。
- `postgres`：PostgreSQL 查询与维护辅助。
- `literature-review`：文献综述与论文阅读辅助。
- `paper2code`：论文复现与代码实现辅助。
- `find-skills`：帮助发现可安装 Skill。
- `karpathy-guidelines`：Karpathy 风格的代码与模型训练指导原则。
- `eapil-gpt2-image`：EAPIL 图像生成相关能力。

查看市场插件：

```powershell
codex plugin list --marketplace eapil-skill-market
```

移除插件：

```powershell
codex plugin remove docx@eapil-skill-market
```

## 维护原则

- 插件是安装单位，Skill 是插件内部能力单位。
- 插件 ID、目录名和 Skill `name` 使用英文 kebab-case，避免破坏安装标识。
- 面向用户的 `description`、`displayName`、`shortDescription`、`longDescription`、`category` 使用中文。
- 第三方插件通过配置和适配器同步，不直接手改生成目录里的本地化内容。
- 公开 Skill 应同时出现在市场仓库和 KeyInfo 的 Skill 生成页；私有 Skill 保留在 KeyInfo 内部下载/导出流程中。

## 第三方来源同步

第三方来源配置在 `config/external-sources.json`，当前支持：

- `codex-plugin`：上游本身是 Codex 插件，例如 `obra/superpowers`。
- `claude-skill`：上游是 Claude-style Skill，需要转换为 Codex 插件，例如 `nextlevelbuilder/ui-ux-pro-max-skill`。

同步时使用 KeyInfo 后端的市场同步逻辑，确保市场仓库和 KeyInfo 运行时 Skill 索引一起更新。市场仓库内的脚本可用于独立维护或本地验证：

```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\sync_external_plugins.ps1
```

如果本地访问 GitHub 不稳定，可以指定代理：

```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\sync_external_plugins.ps1 -Proxy http://127.0.0.1:18085
```

第三方本地化请写入 `manifestOverrides` 和 `skillDescriptions`，这些覆盖会在每次同步后重新应用。

## 仓库结构

```text
.agents/plugins/marketplace.json
plugins/codex/
  .agents/plugins/marketplace.json
  plugins/<plugin-name>/
    .codex-plugin/plugin.json
    skills/<skill-name>/SKILL.md
config/external-sources.json
scripts/validate_marketplace.py
```

## 验证

提交前至少运行：

```bash
python scripts/validate_marketplace.py
```

验证单个插件结构：

```bash
python /Users/eapil/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py plugins/codex/plugins/<plugin-name>
```

本地测试市场安装：

```powershell
codex plugin marketplace add .
codex plugin add docx@eapil-skill-market
```
