sync: WIN10-I9-64G 2026-07-20

This commit is contained in:
Myfro9
2026-07-20 18:28:34 +08:00
parent 1334ad4a64
commit 2b873a1f4d
2 changed files with 82 additions and 81 deletions
+21 -16
View File
@@ -11,9 +11,12 @@ description: 在本机统一同步并配置 Claude Code 与 Codex 的 skills、M
注册表。这个 skill 的职责是让它们保持一致,并且可以在一台新电脑上从零复原整套配置:
- **skills 的唯一真源**是 `http://git.rpchannel.com/bowei/skills-win.git`(remote 名 `origin`)。
`~\.claude\skills` 是主工作副本,`~\.codex\skills` 是同一仓库的第二个检出(镜像)。
`~\.claude\skills` 是唯一的 git 检出(主副本);`~\.codex\skills` 下的每个 skill
是指向主副本对应目录的 **junction(目录联接)**——两个工具共享同一份物理文件,
从机制上杜绝两侧漂移,git 操作只发生在主副本一处。
Codex 没有注册命令——它在会话启动时自动扫描 `~\.codex\skills` 下所有含 `SKILL.md`
的目录,所以"注册到 Codex" = "目录出现在那里且含 SKILL.md"。
的目录(junction 对它透明),所以"注册到 Codex" = "junction 存在且指向的目录含
SKILL.md",新开的 Codex 会话才会扫到新 skill。
- **机器相关的参数不进 git**。每台电脑的软件安装路径、IP、账号等都记录在
`~\skills_env.md`(用户主目录下,天然在两个仓库检出之外,不会被 git 同步)。
skills 里引用参数时写"见 ~\skills_env.md 的 XXX 条目",不写死路径。
@@ -58,21 +61,23 @@ powershell -File <skill目录>\scripts\sync_repos.ps1 -RepoUrl <origin_url>
- **不该入库的文件**:commit 前扫一眼 `git status`,运行时产物(.sqlite、.pckl、
日志、缓存目录)应加进 `.gitignore` 而不是提交。看到就顺手补 `.gitignore`。
## 阶段 2 — 同步 ~\.codex\skills(镜像检出)
## 阶段 2 — 对齐 ~\.codex\skills(junction 对账)
同一个脚本会接着处理 codex 侧。逻辑和原因:
同一个脚本接着处理 codex 侧。它对主副本的每个顶层 skill 目录做三件事:
- 已是 git 仓库 → `git pull --rebase` 即可。
- 还不是 git 仓库(首次转换)→ 脚本执行 `git init` + `remote add origin` +
`fetch` + `git reset origin/main`,然后**停下来**列出"本地与仓库不一致"的文件。
这一步停是有原因的:codex 目录里可能有比仓库新的本地修改或 codex 独有的
skill。处理原则——codex 独有且有价值的 skill,先复制到 `~\.claude\skills`
走阶段 1 入库,再回来;确认没有需要保留的差异后,用 `-Force` 重跑让脚本
`git checkout -f` 对齐到仓库版本。codex 自带的系统 skills(`.system/`、
vercel 系列等)已在 `.gitignore` 里,不会被动。
- 同步完成后校验注册:仓库里每个顶层 skill 目录都应在 `~\.codex\skills`
出现且含 `SKILL.md`。列出两侧目录做差集,差集应为空(忽略 .gitignore
中的 codex 专属条目)。提醒用户:Codex 需要开新会话才会扫到新 skills。
- codex 侧没有同名条目 → 创建 junction(`New-Item -ItemType Junction`,
Windows 上不需要管理员权限,Codex 对 junction 完全透明)。
- 已是 junction → 跳过(内容天然一致,无需任何拷贝)。
- 是**真实目录**(挡住了链接)→ 脚本停下来列出这些目录。停的原因:真实目录
里可能有 codex 独有的、还没入库的内容。处理原则——有价值的内容先复制进
`~\.claude\skills` 走阶段 1 入库,确认无需保留后用 `-Force` 重跑,脚本会
删掉真实目录并建 junction。
脚本还会清理"指向已删除主副本目录"的失效 junction(skill 在仓库里被删除或
改名后残留的链接)。codex 自带的系统 skills(`.system\`)永远不动。
校验注册:主副本每个 skill 目录在 codex 侧都应有同名 junction 且透出
`SKILL.md`(脚本已内置该检查)。提醒用户:Codex 要开新会话才会扫到新 skills。
## 阶段 3 — 硬编码审计与 skills_env.md 回填
@@ -97,7 +102,7 @@ powershell -File <skill目录>\scripts\sync_repos.ps1 -RepoUrl <origin_url>
一次审计不必把所有历史 skills 全部重构完;至少保证:新增/本次改动的 skill 零硬编码,
存量 skill 的命中清单写进最终报告,让用户决定分批改。改动之后回到阶段 1 再
commit + push 一次,并在 codex 侧 pull,保证两边一致。
commit + push 一次(junction 模型下 codex 侧自动同步,无需额外操作)。
## 阶段 4 — langgraph 开发环境校验