多台电脑同步 Claude Code 配置:群晖 NAS + mklink 零成本方案

其他杂项20字数 3667阅读12分13秒阅读模式

LocalSync2026-05-14

多台电脑同步 Claude Code 配置:群晖 NAS + mklink 零成本方案

多设备通过NAS同步配置文件

痛点:每台电脑的 Claude Code 都是一座孤岛

如果你像我一样在多台电脑上使用 Claude Code(公司台式机、家里笔记本、远程开发机),一定遇到过这些烦恼:

  • 配置不同步:在 A 电脑上精心调教的 CLAUDE.md 全局指令、自定义 Skills、Slash Commands,换到 B 电脑全部从零开始
  • 记忆割裂:Claude Code 的 Memory 系统是按机器隔离的,A 电脑上让它"记住"的偏好和项目信息,B 电脑完全不知道
  • 重复劳动:每次换电脑都要手动复制 settings.json、重新配置 hooks、重新安装 plugins,极其浪费时间
  • 版本混乱:偶尔在两台电脑上分别改了同一个配置文件,不知道哪个是最新的

Claude Code 的所有用户级配置都存储在 C:\Users\<用户名>\.claude\ 这个文件夹里(macOS/Linux 是 ~/.claude/),包括:

.claude/
├── settings.json          # 全局设置(模型、权限、环境变量、hooks)
├── CLAUDE.md              # 全局上下文指令
├── commands/              # 自定义斜杠命令
├── skills/                # 自定义技能
├── plugins/               # 已安装插件
└── projects/*/memory/     # 跨会话记忆

只要能让这个文件夹在多台电脑间实时同步,问题就解决了。

研究过程:GitHub 上的现有方案

我在 GitHub 上搜索了一圈,发现社区已经有几个专门解决这个问题的项目:

方案一:ikook-wang/cc-sync(9 stars)

纯 Shell 脚本方案,通过 Git 仓库同步。亮点是全自动——启动 Claude Code 时自动 git pull,退出时自动 commit & push。但它是 Shell 脚本,Windows 上需要 Git Bash 环境,且依赖 GitHub 网络连通性。

方案二:FelixIsaac/claude-code-sync(7 stars)

Go 语言编写的 CLI 工具,支持 age 加密保护敏感文件(如 settings.json 中的 API Key)。功能完善,跨平台支持好,但需要手动执行 push / pull 命令,不是实时同步。

方案三:nicepkg/vsync(46 stars)

解决的是不同 AI 工具之间的配置同步(Claude Code → Cursor → OpenCode),不是同一工具跨设备同步,方向不同。

这些方案各有优劣,但对我来说都有一个共同的问题:不够无感。要么需要记住命令,要么依赖网络,要么需要额外安装工具。

解决思路:群晖 NAS + 目录链接 = 零感知同步

既然我已经有群晖 NAS 并且在用 Synology Drive 做文件同步,为什么不直接利用它?

核心思路很简单:

  1. .claude 文件夹的实际内容存放在 Synology Drive 的同步目录中
  2. 在每台电脑的原始位置(C:\Users\Administrator\.claude)创建一个目录链接(Junction),指向 Synology Drive 中的实际位置
  3. Synology Drive 负责多设备间的实时双向同步

这样对 Claude Code 来说完全透明——它依然读写 C:\Users\Administrator\.claude,但实际数据通过 NAS 在所有设备间实时同步。

相比 Git 方案的优势:

对比项 Git 方案 Synology Drive 方案
同步时机 手动或 hook 触发 实时自动
网络依赖 需要 GitHub 可达 局域网即可(也支持外网)
额外工具 需要安装 CLI 零额外工具
加密 需要自行配置 NAS 本身可加密
冲突处理 Git merge Synology Drive 冲突副本
离线支持 需要手动 pull 自动缓存,联网后合并

解决过程:手把手操作步骤

前提条件

  • 一台群晖 NAS,已安装 Synology Drive Server
  • 所有电脑已安装 Synology Drive Client 并配置好同步任务
  • 确定一个同步目录,例如 C:\Users\Administrator\SynologyDrive\claude-config\

第一步:备份并合并现有配置

如果你已经在多台电脑上使用过 Claude Code,每台机器上的 .claude 文件夹内容可能不同。先手动合并:

# 在主力电脑上,先备份当前配置
Copy-Item -Path "$env:USERPROFILE\.claude" -Destination "$env:USERPROFILE\.claude_backup" -Recurse

# 检查其他电脑上是否有独有的配置(如额外的 skills、commands)
# 手动将差异文件合并到主力电脑的 .claude 文件夹中

重点合并的文件:
- settings.json — 合并权限规则和环境变量
- CLAUDE.md — 合并全局指令
- commands/ — 合并自定义命令
- skills/ — 合并自定义技能
- projects/*/memory/ — 各项目的记忆文件

第二步:将配置移动到 Synology Drive 同步目录

# 将合并好的 .claude 文件夹移动到 Synology Drive 目录
Move-Item -Path "$env:USERPROFILE\.claude" -Destination "$env:USERPROFILE\SynologyDrive\claude-config\.claude"

第三步:创建目录链接(Junction)

# 使用 mklink /J 创建目录联接
# 注意:需要以管理员权限运行命令提示符(cmd),不是 PowerShell
cmd /c mklink /J "%USERPROFILE%\.claude" "%USERPROFILE%\SynologyDrive\claude-config\.claude"

验证链接是否生效:

# 检查链接状态
Get-Item "$env:USERPROFILE\.claude" | Select-Object Name, LinkType, Target

# 应该显示:
# Name    LinkType  Target
# ----    --------  ------
# .claude Junction  {C:\Users\Administrator\SynologyDrive\claude-config\.claude}

第四步:在其他电脑上重复操作

在每台需要同步的电脑上:

# 1. 等待 Synology Drive 同步完成(确认 claude-config 文件夹已同步到本机)

# 2. 备份并删除本机原有的 .claude 文件夹
Rename-Item -Path "$env:USERPROFILE\.claude" -NewName ".claude_old"

# 3. 创建 Junction 链接
cmd /c mklink /J "%USERPROFILE%\.claude" "%USERPROFILE%\SynologyDrive\claude-config\.claude"

# 4. 验证 Claude Code 正常工作后,删除旧备份
# Remove-Item -Path "$env:USERPROFILE\.claude_old" -Recurse

第五步:验证同步效果

在 A 电脑上修改 CLAUDE.md,观察 B 电脑上的文件是否在几秒内自动更新。

最终结果与注意事项

效果

配置完成后,所有电脑上的 Claude Code 共享同一份配置:

  • 在任何一台电脑上修改 CLAUDE.md,其他电脑秒级生效
  • 新增的 Skills、Commands 自动同步到所有设备
  • Memory 记忆跨设备共享,Claude 在任何电脑上都"认识你"
  • 零维护,不需要记任何命令

注意事项

  1. 避免同时编辑:不要在两台电脑上同时运行 Claude Code 并修改配置,否则 Synology Drive 会生成冲突副本。实际使用中一个人很少同时操作两台机器,问题不大。

  2. projects 路径差异.claude/projects/ 下的子目录是按项目绝对路径编码的(如 C--Users-Administrator-myproject)。如果两台电脑的项目路径不同,它们的 memory 不会互相覆盖,但也不会共享。建议在所有电脑上保持相同的项目目录结构。

  3. credentials 会同步.credentials.json 中的 OAuth token 也会同步过去,这意味着不用每台机器重新登录。但要确保 NAS 的访问权限设置得当。

  4. macOS/Linux 用户:使用软链接替代 Junction:
    bash
    ln -s ~/SynologyDrive/claude-config/.claude ~/.claude

  5. 没有群晖怎么办:同样的思路可以用任何支持文件夹同步的工具替代——OneDrive、Dropbox、Resilio Sync 等,只要支持实时双向同步 + 目录链接即可。

总结

这个方案的核心优势是零额外工具、零学习成本、零维护负担。如果你已经有 NAS 或任何文件同步服务,5 分钟就能搞定多设备 Claude Code 配置同步。不需要 Git,不需要 CLI,不需要记命令——改完即同步,开机即最新。

 
  • 本文由 asdfasd 发表于 2026-05-1410:56:46
  • 转载请务必保留本文链接:https://wp.fangfa.me/other-note/ef411c8f4168.html