feat(hermes): 新增 Hermes Agent 插件市场支持,含独立 memcore-hermes
- huanxi/huanxi-admin/obsidian/zentao 新增裸 plugin.json(Agent Plugins v1.0.0 标准),复用同一份 skills/ - 凭证类插件不打包 mcp.json(规范禁止内嵌密钥),改为 README 里的 ~/.hermes/config.yaml 手动配置指引 - memcore-hermes:记忆目录复用优先级 .claude/memory → .codex/memory → 新建 .agents/memory,显式规避与 Hermes 原生全局 MEMORY.md/USER.md 重复记录 - 后续将追加 packs/*.yaml(hermes plugins pack install 用),需要本次 commit 的 SHA Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015D4xWG3gRWkUKJDgyvtyJw
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
42f8e9f483
commit
56ae43f6d3
@@ -3,7 +3,7 @@
|
||||
|
||||
| 文件 | 描述 | 类型 | 引用 | Commit |
|
||||
|------|------|------|------|--------|
|
||||
| decisions.md | 关键架构决策:无版本号/userConfig/Bearer Token/SKILL.md规范/路径锁定/memcore三项优化/memcore-shared共享层/lint_report保活/Base commit兜底/obsidian社区对标审查/memory-lint速度分档过期检测/Codex插件骨架与memcore-codex独立目录/Codex侧bearer_token_env_var/不做Antigravity兼容/zentao-mcp网桥双认证格式兼容 | project | 3* | 9d9e31c |
|
||||
| project_overview.md | 项目定位、目录结构、插件规范、发布流程(huanxi/huanxi-admin/memcore/obsidian/zentao,均含 Codex 支持情况) | project | 2 | 9d9e31c |
|
||||
| decisions.md | 关键架构决策:无版本号/userConfig/Bearer Token/SKILL.md规范/路径锁定/memcore三项优化/memcore-shared共享层/lint_report保活/Base commit兜底/obsidian社区对标审查/memory-lint速度分档过期检测/Codex插件骨架与memcore-codex独立目录/Codex侧bearer_token_env_var/不做Antigravity兼容/zentao-mcp网桥双认证格式兼容/Hermes插件骨架与packs选装 | project | 3* | 待commit |
|
||||
| project_overview.md | 项目定位、目录结构、插件规范、发布流程(huanxi/huanxi-admin/memcore/obsidian/zentao,均含 Codex + Hermes 支持情况) | project | 2 | 待commit |
|
||||
| feedback_plugin_dev.md | 插件开发协作规范:同步四处/路径解析/工具签名对照/MCP docstring单一真相/签名变更全量扫描 | feedback | 2 | 38beecb |
|
||||
| lint_report.md | memory-lint 最新执行结果 | lint | 0 | a64c646 |
|
||||
|
||||
@@ -222,3 +222,15 @@ commit: 9d9e31c
|
||||
**How to apply**:zentao 插件的 Claude/Codex 双端 Token 配置模式确认与 huanxi 一致([[decisions.md#huanxi plugin 使用 userConfig 而非环境变量传 Token]] + [[decisions.md#Codex 侧 MCP Token 用 bearer_token_env_var,不用 ${VAR} 模板(2026-08-22)]]),无需为 zentao 网桥单独定制认证适配。未来若网桥做重大改版,需重新确认这条双格式兼容性是否还成立。
|
||||
|
||||
**See Also**:[[project_overview.md#已发布插件]]
|
||||
|
||||
---
|
||||
|
||||
## Hermes 插件骨架:Agent Plugins v1 + packs 选装(2026-08-25)
|
||||
|
||||
**结论**:huanxi/huanxi-admin/obsidian/zentao 在插件根目录新增裸 `plugin.json`([Agent Plugins v1.0.0](https://agent-plugins.org/) 标准,字段仅 `$schema`+`name`+可选元数据),复用同一份 `skills/`;`memcore` 因架构差异走独立目录 `plugins/memcore-hermes/`(记忆目录优先级 `.claude/memory` → `.codex/memory` → 新建 `.agents/memory`,且显式提醒 Hermes 自己按 profile 隔离的全局 `~/.hermes/memories/` 不是项目记忆后端)。分发不走 `hermes plugins install owner/repo`(该命令按文档examples只支持整仓库=一个插件包),改用 `packs/<name>.yaml` + `hermes plugins pack install`(pack manifest 的 `subdir` 字段官方支持 monorepo 定位)。
|
||||
|
||||
**Why**:调研过程中依次排除了三条路径——① `hermes plugins install owner/repo` 无 subdir 支持(用户质疑"仓库多插件不合理"后深挖才找到 pack 机制,此前调研不够);② 自建 `plugins.index_url` 覆盖官方社区索引会让用户暂时搜不到 NousResearch 官方索引里的插件,属单值配置非叠加,用户认为代价太大;③ 最终定为每插件一个 `packs/<name>.yaml`,互不影响、无副作用。凭证类插件不打包 `mcp.json` 是因为 Agent Plugins v1 规范明文禁止内嵌密钥(headers/env 都不行),Hermes 原生 `~/.hermes/config.yaml` 支持 `${VAR}` 插值,改为 README 手动配置指引,用户体验类比 Codex 桌面应用的 `launchctl setenv` 变通方案。
|
||||
|
||||
**How to apply**:Hermes 的 `ref` 字段要求精确 40 位 commit SHA、不接受分支名,`packs/*.yaml` 需要在每次相关内容发布后手动 bump(不像 Claude Code 的 git SHA 自动追新)。两处未经真实 Hermes 验证的点(`pack install` 是否支持直接传 http(s) 链接、`subdir` 定位的目录只有 `plugin.json` 没有原生 `plugin.yaml` 时能否被正确安装)已在 README 里标注为待用户实测项,反馈后再回来更新文档措辞。
|
||||
|
||||
**See Also**:[[project_overview.md#已发布插件]]
|
||||
|
||||
@@ -58,17 +58,17 @@ description: "触发描述(用户实际口语,不用内部视角)"
|
||||
|
||||
## 已发布插件
|
||||
|
||||
| 插件 | 技能 | 特性 | Codex 支持 |
|
||||
|------|------|------|------|
|
||||
| `huanxi` | 个人端 7 个(report/leader/task/issue/meeting/lookup/shared) | userConfig Bearer Token(hxp_)+ MCP Server(URL 走 office 子域,无端口) | ✅ `.codex-plugin/plugin.json` 共用同一 `skills/`,Token 走环境变量 `HUANXI_TOKEN`(`bearer_token_env_var`) |
|
||||
| `huanxi-admin` | 管理端 4 个(admin-report/admin-module/admin-ops/admin-shared) | userConfig Bearer Token(hxa_)+ MCP Server;普通员工无需安装,2026-08-21 v1.0.0 生产切换后首次发布 | ✅ 同上模式,Token 环境变量 `HUANXI_ADMIN_TOKEN` |
|
||||
| `memcore` | Claude 版 4 个(memory-sync/lint/update/shared) | 纯技能,无 MCP;memcore-shared 作内部 include(路径锁定 + 阈值常量 + PROJECT_DIR 解析),支持 synonyms.md 等价词表、Phase 3C 即时引用快扫、Phase 0 并发冲突保护、lint_report 稳定 ID + resolved 跳过、Base commit 兜底 | ✅ 独立目录 `plugins/memcore-codex/`(不与 Claude 版共用 `skills/`),架构不同:`AGENTS.md` 会话入口、`.claude/memory` 优先复用否则落 `.codex/memory`、无远程同步 |
|
||||
| `obsidian` | 10 个(obsidian/bases/canvas/daily/history/meta/plugins/search/tasks/workflow-pkm) | 纯技能,无 MCP;对标社区基准(kepano/obsidian-skills 31.8k★、AgriciDaniel/claude-obsidian)后扩展 canvas 视觉层;核心 obsidian 含 OFM 语法速查;workflow-pkm 含 Web Clip 子流程 | ✅ `.codex-plugin/plugin.json` 共用同一 `skills/`,无 MCP 无需 Token |
|
||||
| `zentao` | 8 个(project/story/bug/task/test/plan/misc/shared) | userConfig Token(禅道「个人中心 → 获取凭证」14 天有效期自助生成,非 Bearer 标准格式,走自定义 header `"token": "${user_config.token}"`)+ MCP Server;MCP Server 是基于开源 merzzzl/openapi-mcp-server 二次开发的 zentao-mcp 网桥,部署在 `pm.ops.yixiong-tech.com/mcp`,请求体字段统一包在 `payload` 里;README 配了三张截图(`docs/images/zentao-token/`)图解获取凭证流程 | ✅ `.codex-plugin/plugin.json` 共用同一 `skills/`,Token 走环境变量 `ZENTAO_TOKEN`(`bearer_token_env_var`);网桥已确认同时兼容自定义 `token` header 与标准 `Authorization: Bearer`,双端认证均可用 |
|
||||
| 插件 | 技能 | 特性 | Codex 支持 | Hermes 支持 |
|
||||
|------|------|------|------|------|
|
||||
| `huanxi` | 个人端 7 个(report/leader/task/issue/meeting/lookup/shared) | userConfig Bearer Token(hxp_)+ MCP Server(URL 走 office 子域,无端口) | ✅ `.codex-plugin/plugin.json` 共用同一 `skills/`,Token 走环境变量 `HUANXI_TOKEN`(`bearer_token_env_var`) | ✅ 裸 `plugin.json`(Agent Plugins v1)共用同一 `skills/`,不打包 `mcp.json`,Token 走 `~/.hermes/config.yaml` 手动 `${VAR}` 插值 |
|
||||
| `huanxi-admin` | 管理端 4 个(admin-report/admin-module/admin-ops/admin-shared) | userConfig Bearer Token(hxa_)+ MCP Server;普通员工无需安装,2026-08-21 v1.0.0 生产切换后首次发布 | ✅ 同上模式,Token 环境变量 `HUANXI_ADMIN_TOKEN` | ✅ 同 huanxi 模式,Token 环境变量 `HUANXI_ADMIN_TOKEN` |
|
||||
| `memcore` | Claude 版 4 个(memory-sync/lint/update/shared) | 纯技能,无 MCP;memcore-shared 作内部 include(路径锁定 + 阈值常量 + PROJECT_DIR 解析),支持 synonyms.md 等价词表、Phase 3C 即时引用快扫、Phase 0 并发冲突保护、lint_report 稳定 ID + resolved 跳过、Base commit 兜底 | ✅ 独立目录 `plugins/memcore-codex/`(不与 Claude 版共用 `skills/`),架构不同:`AGENTS.md` 会话入口、`.claude/memory` 优先复用否则落 `.codex/memory`、无远程同步 | ✅ 独立目录 `plugins/memcore-hermes/`,记忆目录优先级 `.claude/memory` → `.codex/memory` → 新建 `.agents/memory`;显式提醒不与 Hermes 原生全局 `~/.hermes/memories/`(按 profile 隔离)混淆 |
|
||||
| `obsidian` | 10 个(obsidian/bases/canvas/daily/history/meta/plugins/search/tasks/workflow-pkm) | 纯技能,无 MCP;对标社区基准(kepano/obsidian-skills 31.8k★、AgriciDaniel/claude-obsidian)后扩展 canvas 视觉层;核心 obsidian 含 OFM 语法速查;workflow-pkm 含 Web Clip 子流程 | ✅ `.codex-plugin/plugin.json` 共用同一 `skills/`,无 MCP 无需 Token | ✅ 裸 `plugin.json` 共用同一 `skills/`,无 MCP 无需配置 |
|
||||
| `zentao` | 8 个(project/story/bug/task/test/plan/misc/shared) | userConfig Token(禅道「个人中心 → 获取凭证」14 天有效期自助生成,非 Bearer 标准格式,走自定义 header `"token": "${user_config.token}"`)+ MCP Server;MCP Server 是基于开源 merzzzl/openapi-mcp-server 二次开发的 zentao-mcp 网桥,部署在 `pm.ops.yixiong-tech.com/mcp`,请求体字段统一包在 `payload` 里;README 配了三张截图(`docs/images/zentao-token/`)图解获取凭证流程 | ✅ `.codex-plugin/plugin.json` 共用同一 `skills/`,Token 走环境变量 `ZENTAO_TOKEN`(`bearer_token_env_var`);网桥已确认同时兼容自定义 `token` header 与标准 `Authorization: Bearer`,双端认证均可用 | ✅ 裸 `plugin.json` 共用同一 `skills/`,Token 走 `~/.hermes/config.yaml` 手动配置 `headers: {token: "${ZENTAO_TOKEN}"}` |
|
||||
|
||||
Codex/ChatGPT 桌面应用侧市场索引独立维护在 `.agents/plugins/marketplace.json`(marketplace 名 `yixiong-codex-hub`),与 Claude 侧 `.claude-plugin/marketplace.json`(`yixiong-claude-hub`)并存,互不干扰。已确认不做 Antigravity(Google agy)兼容。
|
||||
Codex/ChatGPT 桌面应用侧市场索引独立维护在 `.agents/plugins/marketplace.json`(marketplace 名 `yixiong-codex-hub`),与 Claude 侧 `.claude-plugin/marketplace.json`(`yixiong-claude-hub`)并存,互不干扰。Hermes 侧没有中心化市场索引机制,靠仓库根目录 [`packs/`](../../packs) 下逐插件的 pack manifest(`hermes plugins pack install ./packs/<name>.yaml`)选装,`ref` 需在每次相关发布后手动 bump 到最新 commit SHA。已确认不做 Antigravity(Google agy)兼容。
|
||||
|
||||
**See Also**:[[decisions.md#huanxi plugin 使用 userConfig 而非环境变量传 Token]]、[[decisions.md#Codex/ChatGPT 桌面应用插件骨架——三个插件共享 skills/,memcore 独立目录(2026-08-22)]]、[[decisions.md#不做 Antigravity(Google agy / Antigravity 2.0)兼容(2026-08-22)]]、[[decisions.md#zentao-mcp 网桥已打补丁,双认证格式兼容(2026-08-25)]]
|
||||
**See Also**:[[decisions.md#huanxi plugin 使用 userConfig 而非环境变量传 Token]]、[[decisions.md#Codex/ChatGPT 桌面应用插件骨架——三个插件共享 skills/,memcore 独立目录(2026-08-22)]]、[[decisions.md#不做 Antigravity(Google agy / Antigravity 2.0)兼容(2026-08-22)]]、[[decisions.md#zentao-mcp 网桥已打补丁,双认证格式兼容(2026-08-25)]]、[[decisions.md#Hermes 插件骨架:Agent Plugins v1 + packs 选装(2026-08-25)]]
|
||||
|
||||
## 发布流程
|
||||
|
||||
|
||||
Reference in New Issue
Block a user