sync: BOWEI 2026-09-07 tools-sync 改为 junction 模型(registry 双向 ingest + 修复)
- sync_repos.ps1: 每个 skill 只在 ~\.claude\skills 有一份物理副本,其余 registry 一律 junction;新增 registry-only skill 的自动 ingest、MISDIRECTED 链接修复、 同名内容分叉的 CONFLICT 报告,以及只对 -MirrorRegistry 做全量镜像。 - SKILL.md: 重写阶段 1/2,补 Codex MCP 存储模型(config.toml 惰性, codex mcp list --json 是唯一权威口径)与 CLI 升级会清空注册表的事实。 - sync_mcp_registrations.ps1 + references/codex_mcp_wanted_keys.json: 报告 codex-cli 无接口可设的键(tool_timeout_sec / env_vars)为 "registered, but incomplete" 而非失败。 - tests/test_sync_repos_registries.ps1: registry 对账的回归测试。 - .gitignore: orchestration(Orca 自带的发现桩,同 orca-cli)列为 local-only。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01438Zbcx49e4o46uSA71mFF
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"_comment": "Codex-side [mcp_servers.<name>] keys certain MCPs need that codex-cli 0.150.1 offers NO way to set: `codex mcp add` has no flag for them, and config.toml's [mcp_servers.*] tables are inert (measured -- editing one there does not change what `codex mcp list` reports). sync_mcp_registrations.ps1 reports these after registering so the gap stays visible instead of looking complete. Re-check on each codex-cli upgrade; delete an entry once a real interface exists and the key is set.",
|
||||
|
||||
"matlab": {
|
||||
"tool_timeout_sec": 600,
|
||||
"env_vars": ["WINDIR"],
|
||||
"_why": "Simulink model_edit/model_test round-trips exceed the default tool timeout; the Simulink subprocess needs WINDIR inherited from the parent environment on Windows."
|
||||
}
|
||||
}
|
||||
@@ -10,8 +10,9 @@
|
||||
SKILLS_REPO_URL = http://git.rpchannel.com/bowei/skills-win.git
|
||||
SKILLS_REPO_USER = bowei
|
||||
SKILLS_REPO_PASS = <填写,或留空表示已存入 Windows 凭据管理器>
|
||||
CLAUDE_SKILLS_DIR = C:\Users\<user>\.claude\skills
|
||||
CODEX_SKILLS_DIR = C:\Users\<user>\.codex\skills
|
||||
CLAUDE_SKILLS_DIR = C:\Users\<user>\.claude\skills # 唯一 git 检出(主副本)
|
||||
CODEX_SKILLS_DIR = C:\Users\<user>\.codex\skills # 全量镜像,全是 junction
|
||||
AGENTS_SKILLS_DIR = C:\Users\<user>\.agents\skills # 跨工具别名目录;只做发现/修复,不全量铺
|
||||
```
|
||||
|
||||
凭据说明:首次 clone 成功后运行 `git config --global credential.helper manager`,
|
||||
@@ -93,11 +94,13 @@ CROSS_VM_PASS = <填写>
|
||||
MCP_DESIGN_ROOT = E:\MCP_design
|
||||
```
|
||||
|
||||
每个 MCP 在 Claude Code(`~\.claude.json` 的 `mcpServers`)和 Codex
|
||||
(`~\.codex\config.toml` 的 `[mcp_servers.*]`)中应使用**同一份** command/args/env。
|
||||
同步时还要对两侧用户级注册表取并集,确保任一侧新增的可移植 MCP 都同步到另一侧;
|
||||
每个 MCP 在 Claude Code(`~\.claude.json` 的 `mcpServers`)和 Codex(`codex mcp add`,
|
||||
读用 `codex mcp list --json`)中应使用**同一份** command/args/env。注意 Codex 侧
|
||||
`~\.codex\config.toml` 的 `[mcp_servers.*]` 节**不生效**,手写无用;且它的注册存储
|
||||
不跨 codex-cli 升级存活,所以下表是 Codex 侧唯一可重建的真源,每次同步都要核对。
|
||||
同步时对两侧用户级注册表取并集,确保任一侧新增的可移植 MCP 都同步到另一侧;
|
||||
`mcp_list.md` 继续用于发现“两侧都漏装”的本地工程。托管连接器、插件动态 MCP、
|
||||
Codex 内置运行时 MCP 不进入这个并集。
|
||||
Codex 内置运行时 MCP(node_repl / cua_repl)不进入这个并集。
|
||||
标准配置如下(路径变量引用上文条目):
|
||||
|
||||
| name | command | args | env |
|
||||
@@ -110,8 +113,10 @@ Codex 内置运行时 MCP 不进入这个并集。
|
||||
| matlab | {MATLAB_MCP_EXE} | --matlab-session-mode=existing --extension-file=...\simulink\tools\tools.json | |
|
||||
|
||||
Codex 侧所有 stdio MCP 额外加 `PYTHONIOENCODING=utf-8`、`PYTHONUTF8=1`。
|
||||
MathWorks `matlab` MCP 是特例:Codex 还要设置 `tool_timeout_sec=600` 与
|
||||
`env_vars=["WINDIR"]`;Claude 侧要设置 `alwaysLoad=true`。MATLAB 与 Simulink 共用该条目。
|
||||
MathWorks `matlab` MCP 是特例:Claude 侧要设 `alwaysLoad=true`;Codex 侧本应有
|
||||
`tool_timeout_sec=600` 与 `env_vars=["WINDIR"]`,但 codex-cli 0.150.1 无接口可设,
|
||||
属已知缺口(记录在 tools-sync 的 `references/codex_mcp_wanted_keys.json`)。
|
||||
MATLAB 与 Simulink 共用该条目。
|
||||
|
||||
## 本机状态备注(同步时更新)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user