chore: memory-sync — 归档 zentao-mcp 网桥双认证格式兼容决策
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
9d9e31c98e
commit
42f8e9f483
@@ -1,9 +1,9 @@
|
||||
# Memory Index
|
||||
> _Last synced: 2026-08-22 | Base commit: `a64c646`_
|
||||
> _Last synced: 2026-08-25 | Base commit: `9d9e31c`_
|
||||
|
||||
| 文件 | 描述 | 类型 | 引用 | 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兼容 | project | 3* | a64c646 |
|
||||
| project_overview.md | 项目定位、目录结构、插件规范、发布流程(huanxi/huanxi-admin/memcore/obsidian,均含 Codex 支持情况) | project | 2 | a64c646 |
|
||||
| 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 |
|
||||
| feedback_plugin_dev.md | 插件开发协作规范:同步四处/路径解析/工具签名对照/MCP docstring单一真相/签名变更全量扫描 | feedback | 2 | 38beecb |
|
||||
| lint_report.md | memory-lint 最新执行结果 | lint | 0 | a64c646 |
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
name: 架构决策
|
||||
description: Marketplace 设计中的关键技术决策及其原因:无版本号/userConfig/Bearer Token/SKILL.md规范/路径锁定/memcore三项优化/memcore-shared共享层/lint_report保活/Base commit兜底/obsidian社区对标审查/memory-lint速度分档过期检测/Codex插件骨架与memcore-codex独立目录/Codex侧bearer_token_env_var/不做Antigravity兼容
|
||||
description: Marketplace 设计中的关键技术决策及其原因:无版本号/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网桥双认证格式兼容
|
||||
type: project
|
||||
last_updated: 2026-08-22
|
||||
commit: a64c646
|
||||
last_updated: 2026-08-25
|
||||
commit: 9d9e31c
|
||||
---
|
||||
|
||||
# 关键架构决策
|
||||
@@ -37,7 +37,7 @@ commit: a64c646
|
||||
}
|
||||
```
|
||||
|
||||
**See Also**:[[project_overview.md#已发布插件]]
|
||||
**See Also**:[[project_overview.md#已发布插件]]、[[decisions.md#zentao-mcp 网桥已打补丁,双认证格式兼容(2026-08-25)]]
|
||||
|
||||
---
|
||||
|
||||
@@ -197,7 +197,7 @@ commit: a64c646
|
||||
|
||||
**How to apply**:新增/修改任何 Codex 插件的 HTTP MCP server 配置,一律用 `bearer_token_env_var` 字段;环境变量的设置方式区分场景——CLI 用 shell `export`(写进启动脚本),ChatGPT 桌面应用(图形界面启动,不继承 shell)用 macOS `launchctl setenv` 或 Windows 系统环境变量。改完插件内容 push 后,本机测试前要先 `codex plugin marketplace upgrade <marketplace>` + 重新 `codex plugin add <plugin>@<marketplace>`,否则读到的还是装的时候那份缓存。
|
||||
|
||||
**See Also**:[[decisions.md#huanxi plugin 使用 userConfig 而非环境变量传 Token]](对照:Claude 侧用 userConfig 钥匙链,Codex 侧被迫用环境变量,是两个平台能力差异,不是我们设计不一致)
|
||||
**See Also**:[[decisions.md#huanxi plugin 使用 userConfig 而非环境变量传 Token]](对照:Claude 侧用 userConfig 钥匙链,Codex 侧被迫用环境变量,是两个平台能力差异,不是我们设计不一致)、[[decisions.md#zentao-mcp 网桥已打补丁,双认证格式兼容(2026-08-25)]]
|
||||
|
||||
---
|
||||
|
||||
@@ -210,3 +210,15 @@ commit: a64c646
|
||||
**How to apply**:Claude Code 和 Codex 是当前团队实际使用的主流工具,继续投入维护;未来遇到新 AI 编程工具想接入本 marketplace 时,先确认该工具官方是否有稳定的 marketplace/plugin 协议(有市场索引格式 + 远程仓库注册命令),协议不成熟就先不投入,避免跟着一个还在剧烈变动的规范返工。
|
||||
|
||||
**See Also**:[[project_overview.md#已发布插件]]
|
||||
|
||||
---
|
||||
|
||||
## zentao-mcp 网桥已打补丁,双认证格式兼容(2026-08-25)
|
||||
|
||||
**结论**:zentao-mcp 网桥(部署在 `pm.ops.yixiong-tech.com/mcp`,基于 merzzzl/openapi-mcp-server 二次开发)已确认同时兼容两种认证格式:Claude 侧 `.claude-plugin/plugin.json` 用的自定义 `headers: {"token": "..."}`,以及 Codex 侧 `.mcp.json` 的 `bearer_token_env_var` 机制底层发出的标准 `Authorization: Bearer <token>`。
|
||||
|
||||
**Why**:新增 zentao 插件时曾担心两侧 header 格式不一致会导致 Codex 链路认证失败——Claude 侧网桥原生认的是自定义 `token` header,而 Codex 的 `bearer_token_env_var` 只会发标准 Bearer 格式,两者字面不同。用户确认网桥已就此打过补丁,双格式都认,不存在兼容问题。
|
||||
|
||||
**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#已发布插件]]
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
name: 记忆健康检查报告
|
||||
description: memory-lint 最新一次执行的检查结果与待处理项
|
||||
type: lint
|
||||
last_updated: 2026-08-22
|
||||
commit: a64c646
|
||||
last_updated: 2026-08-25
|
||||
commit: 9d9e31c
|
||||
---
|
||||
|
||||
# 记忆健康检查报告
|
||||
|
||||
> _执行时间: 2026-08-22 | Base commit: `a64c646` | Last synced: 2026-08-22_
|
||||
> _执行时间: 2026-08-25 | Base commit: `9d9e31c` | Last synced: 2026-08-25_
|
||||
>
|
||||
> **如何使用**:NEED-HUMAN 条目末尾有 `<!-- id: xxxxxxxx -->` 标记。处理完或决定不处理时,在同段追加 `<!-- resolved: DATE, 简要原因 -->`,下次 lint 该条目自动跳过。
|
||||
|
||||
@@ -16,18 +16,16 @@ commit: a64c646
|
||||
|
||||
| 检查项 | AUTO-FIX | NEED-HUMAN(含已 resolved 跳过 N 项) |
|
||||
|--------|---------|-----------|
|
||||
| 1 孤儿 / 2 幽灵 / 3A 引用 / 3B 双链 | 0 / 0 / 1 / 1 | — / — / 0 / 1(含已 resolved 跳过 0 项) |
|
||||
| 1 孤儿 / 2 幽灵 / 3A 引用 / 3B 双链 | 0 / 0 / 0 / 0 | — / — / 0 / 1(含已 resolved 跳过 0 项) |
|
||||
| 4 矛盾 / 5 过期 / 6 污染 | — | 0 / 0 / 0 |
|
||||
|
||||
**AUTO-FIX 已执行 2 项 | NEED-HUMAN 新列出 1 项 | 历史已 resolved 跳过 0 项**
|
||||
**AUTO-FIX 已执行 0 项(本轮结构性检查全部通过,新增的 zentao-mcp 网桥决策条目双向引用在 memory-update 阶段已手工补齐) | NEED-HUMAN 列出 1 项(历史遗留,未变化) | 历史已 resolved 跳过 0 项**
|
||||
|
||||
---
|
||||
|
||||
## AUTO-FIX 已执行清单
|
||||
|
||||
- [x] 更新断链(Phase 3A,章节标题漂移):`decisions.md` 内 `[[decisions.md#Codex 侧 MCP Token 用 bearer_token_env_var,不用 ${VAR} 模板]]` → `[[decisions.md#Codex 侧 MCP Token 用 bearer_token_env_var,不用 ${VAR} 模板(2026-08-22)]]`
|
||||
- [x] 补齐反向链接(Phase 3B):`decisions.md#不做 Antigravity(Google agy / Antigravity 2.0)兼容(2026-08-22)` 末尾追加 `**See Also**:[[project_overview.md#已发布插件]]`
|
||||
- [x] MEMORY.md「引用」列已刷新(按源文件去重重新计数,见下方文件级引用计数表)
|
||||
本轮无需 AUTO-FIX:孤儿 / 幽灵 / 断链 / 双链非对称检测均通过(新增的 `decisions.md#zentao-mcp 网桥已打补丁,双认证格式兼容(2026-08-25)` 条目与 `huanxi userConfig`、`Codex bearer_token_env_var`、`project_overview.md#已发布插件` 三处的双向链接已在 memory-update 阶段随内容一并写入)。
|
||||
|
||||
---
|
||||
|
||||
@@ -72,7 +70,7 @@ commit: a64c646
|
||||
|
||||
| 文件 | last_updated | days_since | commits_since(全仓库) | velocity(次/天) | 判定 |
|
||||
|------|-------------|-----------|----------------------|------------------|------|
|
||||
| feedback_plugin_dev.md | 2026-06-12 | 71 | 15 | 0.21 | 低于 LOW_VELOCITY(0.3) 且 days_since(71) < ABSOLUTE_DAYS(180),不判定过期 |
|
||||
| decisions.md | 2026-08-22 | 0 | — | — | 不足 MIN_DAYS(7),跳过 |
|
||||
| project_overview.md | 2026-08-22 | 0 | — | — | 不足 MIN_DAYS(7),跳过 |
|
||||
| lint_report.md | 2026-08-22 | 0 | — | — | 不足 MIN_DAYS(7),跳过 |
|
||||
| feedback_plugin_dev.md | 2026-06-12 | 74 | 17 | 0.22 | 低于 LOW_VELOCITY(0.3) 且 days_since(74) < ABSOLUTE_DAYS(180),不判定过期 |
|
||||
| decisions.md | 2026-08-25 | 0 | — | — | 不足 MIN_DAYS(7),跳过 |
|
||||
| project_overview.md | 2026-08-25 | 0 | — | — | 不足 MIN_DAYS(7),跳过 |
|
||||
| lint_report.md | 2026-08-25 | 0 | — | — | 不足 MIN_DAYS(7),跳过 |
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
name: 项目概述
|
||||
description: yixiong-claude-marketplace 的定位、目录结构、插件规范和发布流程,同时支持 Claude Code 与 Codex/ChatGPT 桌面应用两条市场线
|
||||
description: yixiong-claude-marketplace 的定位、目录结构、插件规范和发布流程,同时支持 Claude Code 与 Codex/ChatGPT 桌面应用两条市场线(huanxi/huanxi-admin/memcore/obsidian/zentao 五个已发布插件)
|
||||
type: project
|
||||
last_updated: 2026-08-22
|
||||
commit: a64c646
|
||||
last_updated: 2026-08-25
|
||||
commit: 9d9e31c
|
||||
---
|
||||
|
||||
# 蚁熊内部 Claude Code Marketplace
|
||||
@@ -64,10 +64,11 @@ description: "触发描述(用户实际口语,不用内部视角)"
|
||||
| `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/ChatGPT 桌面应用侧市场索引独立维护在 `.agents/plugins/marketplace.json`(marketplace 名 `yixiong-codex-hub`),与 Claude 侧 `.claude-plugin/marketplace.json`(`yixiong-claude-hub`)并存,互不干扰。已确认不做 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)]]
|
||||
**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)]]
|
||||
|
||||
## 发布流程
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- Last updated: 2026-08-22 | Commit: a64c646 -->
|
||||
<!-- Last updated: 2026-08-25 | Commit: 9d9e31c -->
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
@@ -129,8 +129,8 @@ description: 一句话说明该技能的用途(Claude 用此判断何时触发
|
||||
```
|
||||
.claude/memory/
|
||||
├── MEMORY.md # 索引(入口)
|
||||
├── decisions.md # 关键架构决策(含 memcore-shared/lint_report 保活/Base commit 兜底/obsidian 社区对标审查/memory-lint 速度分档过期检测/Codex 插件骨架与 memcore-codex 独立目录/bearer_token_env_var/不做 Antigravity 兼容等 16 项)
|
||||
├── project_overview.md # 项目定位与结构(huanxi/huanxi-admin/memcore/obsidian 已发布插件,均含 Codex 支持情况)
|
||||
├── decisions.md # 关键架构决策(含 memcore-shared/lint_report 保活/Base commit 兜底/obsidian 社区对标审查/memory-lint 速度分档过期检测/Codex 插件骨架与 memcore-codex 独立目录/bearer_token_env_var/不做 Antigravity 兼容/zentao-mcp 网桥双认证格式兼容等 17 项)
|
||||
├── project_overview.md # 项目定位与结构(huanxi/huanxi-admin/memcore/obsidian/zentao 已发布插件,均含 Codex 支持情况)
|
||||
├── feedback_plugin_dev.md # 插件开发协作规范(含 MCP docstring 单一真相、签名变更全量扫描)
|
||||
└── lint_report.md # 记忆健康检查报告(按需)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user