[feat] Add zentao plugin (Claude Code + Codex dual scaffold)

新增禅道项目管理系统插件,含项目集/产品/项目/执行、需求
(story/epic/requirement)、Bug、任务、测试、计划与发布、反馈工单
八个工作流技能,自动配置 MCP 连接(禅道「个人中心 → 获取凭证」
自助生成 14 天 Token)。

MCP Server 是团队自建的 zentao-mcp 网桥(部署在
pm.ops.yixiong-tech.com/mcp),基于开源 openapi-mcp-server 二次开发。
Claude 侧走 userConfig 钥匙链 + 自定义 token 头;Codex 侧受限于官方
插件格式只支持 bearer_token_env_var,走 Authorization: Bearer——网桥
那边已经加了 preferred_header/bearer_mode 配置项统一归一化处理,两条
路径都验证过连通。

三轮审查(静态字段对照 openapi.json、跨文件一致性、真实端点实测)
修正过程中发现的问题,技能文档里引用的工具名全部跟服务器真实注册
的 118 个工具核对过。

同步更新:.claude-plugin/marketplace.json、.agents/plugins/marketplace.json、
README.md、CLAUDE.md 的插件索引与说明;README 补充「获取凭证」操作
截图(已脱敏)。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016pFx6jnym6kRWRQ5JyDUNv
This commit is contained in:
SkyJourney
2026-08-25 13:50:41 +08:00
co-authored by Claude Sonnet 5
parent 1606d73c41
commit 9d9e31c98e
18 changed files with 1006 additions and 4 deletions
+30 -3
View File
@@ -17,6 +17,7 @@
/plugin install huanxi-admin@yixiong-claude-hub
/plugin install memcore@yixiong-claude-hub
/plugin install obsidian@yixiong-claude-hub
/plugin install zentao@yixiong-claude-hub
```
已安装的插件会在会话启动时自动检测更新——本仓库不走语义化版本号,每次推送 `main` 分支即视为新版本。
@@ -47,17 +48,18 @@ codex plugin marketplace add https://gitea.rk-health.com/yixiong/yixiong-claude-
codex plugin add huanxi-admin@yixiong-codex-hub
codex plugin add memcore@yixiong-codex-hub
codex plugin add obsidian@yixiong-codex-hub
codex plugin add zentao@yixiong-codex-hub
```
- **ChatGPT 桌面应用(图形界面)**:市场源注册生效后,打开 **设置(Settings)→ 插件(Plugins**,或侧边栏的 **Plugins** 入口,就能看到我们的市场和这个插件,点击安装即可,不用碰命令行。
- **ChatGPT 桌面应用(图形界面)**:市场源注册生效后,打开 **设置(Settings)→ 插件(Plugins**,或侧边栏的 **Plugins** 入口,就能看到我们的市场和这个插件,点击安装即可,不用碰命令行。
安装完成后开一个新会话,Codex 才会加载新装的技能和 MCP 工具。
> ⚠️ **桌面应用读不到 shell 里 `export` 的环境变量**`huanxi`/`huanxi-admin` 的 Token 走环境变量注入(见下一节),但 macOS/Windows 上从 Dock/开始菜单启动的图形应用不会继承 `~/.zshrc` 里 `export` 的变量——这是终端应用和图形应用两种不同的启动路径决定的,不是我们插件的问题。桌面应用场景要设置成**系统级/用户级持久环境变量**才行,具体见下一节。
> ⚠️ **桌面应用读不到 shell 里 `export` 的环境变量**`huanxi`/`huanxi-admin`/`zentao` 的 Token 走环境变量注入(见下一节),但 macOS/Windows 上从 Dock/开始菜单启动的图形应用不会继承 `~/.zshrc` 里 `export` 的变量——这是终端应用和图形应用两种不同的启动路径决定的,不是我们插件的问题。桌面应用场景要设置成**系统级/用户级持久环境变量**才行,具体见下一节。
>
> ⚠️ **插件级 Token 配置目前是 Codex 官方还没定案的能力**:截至本文写作时,插件打包的 MCP server 没有类似 Claude 侧「安装时弹窗填 Token」的正式支持(见 [openai/codex#24401](https://github.com/openai/codex/issues/24401)),环境变量是目前唯一现实可用的路径。装完插件连不上 MCP,先检查 Token 环境变量是不是在 Codex/ChatGPT 启动**之前**就已经生效。
> Codex 侧的插件清单独立维护在 [`.agents/plugins/marketplace.json`](./.agents/plugins/marketplace.json)。除 `memcore` 外,其余个插件与 Claude Code 版共用同一份 `skills/``memcore` 因为架构差异(会话入口、记忆目录约定、有无远程同步都不同)走的是独立目录 [`plugins/memcore-codex/`](./plugins/memcore-codex),两边分开维护。
> Codex 侧的插件清单独立维护在 [`.agents/plugins/marketplace.json`](./.agents/plugins/marketplace.json)。除 `memcore` 外,其余个插件与 Claude Code 版共用同一份 `skills/``memcore` 因为架构差异(会话入口、记忆目录约定、有无远程同步都不同)走的是独立目录 [`plugins/memcore-codex/`](./plugins/memcore-codex),两边分开维护。
## 插件一览
@@ -67,6 +69,7 @@ codex plugin marketplace add https://gitea.rk-health.com/yixiong/yixiong-claude-
| [`huanxi-admin`](./plugins/huanxi-admin) | 4 | 寰汐管理端——汇报盘点、模块与成员配置、运维简报 | 需要后台管理员发放 `hxa_` Token 的管理岗 | ✅ | ✅ |
| [`memcore`](./plugins/memcore) / [`memcore-codex`](./plugins/memcore-codex) | 4 | 项目记忆体系核心引擎——跨会话记忆的同步/增量更新/健康校验 | 用 Claude Code 或 Codex 做长期项目的开发者 | ✅ | ✅ |
| [`obsidian`](./plugins/obsidian) | 10 | Obsidian 知识库全套协作工作流——vault 管理、搜索图谱、Bases、Canvas、每日笔记等 | 用 Obsidian 做知识管理的人 | ✅ | ✅ |
| [`zentao`](./plugins/zentao) | 8 | 禅道项目管理——项目集/产品/项目/执行、需求(story/epic/requirement)、Bug、任务、测试、计划与发布、反馈工单 | 用禅道管项目/需求/Bug/任务的人 | ✅ | ✅ |
### huanxi / huanxi-admin
@@ -99,6 +102,30 @@ Claude Code 版([`plugins/memcore`](./plugins/memcore))以 `.claude/memory/`
检测到项目里有 `.obsidian/` 目录会自动激活,覆盖 vault 管理、全文与图谱搜索、frontmatter、任务、每日笔记、Bases 数据库、Canvas 视觉层、版本历史、插件配置、PKM 编排十个技能,对标社区里比较成熟的 Obsidian 技能实现后做了扩展。**无需任何配置**Claude Code 和 Codex CLI 共用同一份技能内容。
### zentao
禅道是蚁熊内部的项目/需求/Bug/任务管理系统。插件覆盖项目集(program)/产品/项目/执行的层级管理、需求条线(story 用户故事 / epic 业务需求 / requirement 用户需求三种类型及其状态机)、Bug 全流程、任务状态机、测试用例与测试单、产品计划/版本/发布、反馈与工单、附件改名,共 8 个工作流技能。
**配置步骤:**
1. 登录禅道,头像下拉菜单点「获取凭证」:
<img src="./docs/images/zentao-token/01-menu.png" width="240" alt="头像下拉菜单 → 获取凭证" />
2. 点击「生成凭证」——注意提示:生成新凭证会让旧凭证立即失效,且明文只在生成后展示一次,务必当场保存;有效期 14 天,到期需重新获取:
<img src="./docs/images/zentao-token/02-generate.png" width="480" alt="生成凭证确认弹窗" />
3. 弹窗会给出「API 地址」和「Token」两项,Claude Code / Codex 安装时都只需要 Token(API 地址已经写死在插件的 MCP 配置里,不用手动填):
<img src="./docs/images/zentao-token/03-token.png" width="480" alt="API 地址与 Token 展示" />
4. **Claude Code**:执行 `/plugin install` 时会提示输入 Token,直接粘贴即可——存放在系统钥匙链,不会明文写入配置文件。
5. **Codex CLI / ChatGPT 桌面应用**:Token 走环境变量注入,设置方式同 `huanxi`
- **命令行**`export ZENTAO_TOKEN=你的token`,建议写进 `~/.zshrc` / `~/.bashrc`
- **ChatGPT 桌面应用**macOS 用 `launchctl setenv ZENTAO_TOKEN 你的token`,Windows 走「系统属性 → 环境变量」新增用户变量 `ZENTAO_TOKEN`,设置后需重新打开应用
## 开发
给这个市场新增插件、技能实现规范、`marketplace.json`/`plugin.json` 格式说明,见 [CLAUDE.md](./CLAUDE.md)。