内容
="center">
# 代码插件
在 Claude Code 中原生运行 OpenAI 的特定角色 Codex — 销售、数据分析、<br>
产品设计和金融[](LICENSE)
[](https://github.com/openai/role-specific-plugins)
[](#verification-status)
[](#verification-status)
</div>
```
/plugin marketplace add spacemata/codex-plugins-for-claude-code
/plugin install data-analytics@codex-plugins-for-claude-code
```
<p align="center">
<img src="docs/demo-wau-drop.png" alt="由移植的数据分析插件生成的折线图:移动设备驱动了 2026 年 6 月 1 日当周的 WAU 下降" width="760">
</p>
<p align="center">
<em>验证运行的实际输出:移植的数据分析插件在合成数据集上诊断出一个植入的指标下降,整个过程在 Claude Code 中完成 — 由其 <code>index</code> 技能路由,由 <code>user-context</code> 预检,通过其静态交付路径。</em>
</p>
这是一个非官方的 [openai/role-specific-plugins](https://github.com/openai/role-specific-plugins) 移植版本,已转换为 Claude Code 插件布局,并作为 Claude Code 插件市场分发。它与 OpenAI 无关,也未得到 OpenAI 的认可。上游插件使用 MIT 许可证;此移植版本保留了上游版权声明(参见 `LICENSE`),并由确定性转换脚本从上游提交 `ebf5795` 生成。
## 安装
在 Claude Code 中:
```
/plugin marketplace add spacemata/codex-plugins-for-claude-code
/plugin install data-analytics@codex-plugins-for-claude-code
```
或从命令行:
```bash
claude plugin marketplace add spacemata/codex-plugins-for-claude-code
claude plugin install data-analytics@codex-plugins-for-claude-code
```
可用插件:`data-analytics`、`sales`、`product-design`、`financial-markets`。每个插件都是一组相互依赖的技能,围绕路由器技能(`index`)和持久上下文技能(`user-context`)构建;安装整个插件,而不是复制单个技能。
`claude plugin validate` 报告每个插件关于未知 `interface` 字段的警告。这是故意的:该字段携带上游显示元数据,Claude Code 文档将其在加载时忽略,上游工具的部分读取它。
## 验证状态
以下每个声明都对应于对此移植版本的实际验证(Claude Code 2.1.175,macOS)。未列出的任何内容均未经过验证。
| 插件 | 技能 | 已验证 | 未验证 |
| --- | --- | --- | --- |
| data-analytics | 15 + 1 MCP 服务器 | 清单验证;安装;所有技能被发现;`index` 路由到聚焦技能;`user-context` 预检执行和状态持久性;基于合成 CSV 的端到端分析(正确的根本原因诊断 + 注释 PNG 图表);MCP 服务器连接,列出 5 个工具,并在调用时返回结构化 JSON | 针对真实仓库/BI 工具的工作流(BigQuery、Snowflake、Databricks 等) |
| sales | 20 | 清单验证;安装;所有技能被发现;状态脚本(初始化/预检)在隔离状态路径上运行 | 领域工作流;`salesforce`/`hubspot`/`zoominfo` 技能需要这些集成,但未被执行 |
| product-design | 11 | 清单验证;安装;所有技能被发现;状态脚本运行 | 领域工作流 |
| financial-markets | 23 | 清单验证;安装;所有技能被发现;状态脚本运行 | 领域工作流;市场数据依赖技能未被执行 |
## 与上游的不同之处
所有差异都是由 `scripts/port.mjs` 应用的机械补丁(从未手动编辑)。摘要:
- 布局:每个插件都生成一个从 `.codex-plugin/plugin.json` 派生的 `.claude-plugin/plugin.json`(`apps`、`mcpServers`、`skills` 指针字段被删除;其他内容保留)。在存储库根目录下生成一个 `.claude-plugin/marketplace.json`。
- 状态隔离:Codex 在 `$CODEX_HOME`(默认为 `~/.codex`)下存储插件状态。移植版本将变量重命名为 `CODEX_PORT_HOME`,并将默认值更改为 `~/.claude/codex-plugins-for-claude-code`,以便它从不读取或写入真正的 Codex 安装的状态。在具有实时 Codex 安装的机器上验证:`~/.codex` 收到零写入。
- MCP 配置:数据分析小部件服务器路径使用 `${CLAUDE_PLUGIN_ROOT}` 锚定,以便从已安装的插件位置解析。
- 排除的文件:`.app.json`(ChatGPT/Codex 连接器绑定)、`.codex-plugin/`(由生成的清单替换)和 `agents/openai.yaml`(Codex 代理元数据)。在运行时读取 `.app.json` 的一个脚本被修补为将不存在视为“未配置连接器”。
## 已知的平台差异(设计使然,非 bug)
- 连接器:在 Codex 中,这些插件绑定到 ChatGPT 工作区连接器(Slack、Salesforce、Google Drive 等)。Claude Code 没有等效项;技能的自身防护措施使其在所需源不可用时停止并询问。提供您自己的 MCP 服务器以获取等效源。
- 小部件:数据分析 MCP 服务器是为 MCP 应用(Codex/ChatGPT 中的内联交互式图表)构建的。Claude Code 不呈现该 UI;工具仍然有效并返回结构化 JSON,技能的静态交付表面(通过捆绑的 Seaborn 模板的 PNG、静态 HTML、笔记本)是一流的并已验证。
- 自动化:技能对 Codex 调度自动化(`automation.toml`)的引用没有 Claude Code 运行时,是惰性的。
## 状态和隐私
插件状态(保存的源偏好、 onboarding 进度、语义层注册表)存储在 `~/.claude/codex-plugins-for-claude-code` 下的本地 Markdown/JSON 文件中(使用 `CODEX_PORT_HOME` 覆盖)。没有任何内容被发送到任何地方;删除该目录以重置。
## 从上游重新移植
```bash
node scripts/port.mjs
```
脚本获取固定的上游提交,重新生成 `plugins/`,应用补丁列表,如果上游漂移导致任何补丁停止匹配,则会大声报错。要跟踪较新的上游,请在 `scripts/port.mjs` 中增加 `UPSTREAM_SHA`,重新运行并重新验证(参见 `CLAUDE.md`)。
## 维护
在尽力而为的基础上维护。上游跟踪故意很便宜:整个转换由一个脚本重新生成,因此同步到新的上游提交是一个小的、可审查的更改。欢迎提出问题和拉取请求;转换内容的修复属于移植脚本,不属于 `plugins/`。
## 许可证
MIT。上游代码版权归 OpenAI 所有;移植修改版权归 spacemata 所有。参见 `LICENSE`。