乐于分享
好东西不私藏

换台电脑 Claude Code 全没了?我的四机同步方案

换台电脑 Claude Code 全没了?我的四机同步方案

翔宇工作流第23期:agent自动化

前天晚上,翔宇在 Mac mini 上调通了一个新 Skill。第二天出门带 MacBook,打开 Claude Code——Skill 不在。CLAUDE.md 还是上周的版本。知识库少了一半。

Synology Drive 用了半年,翔宇受够了。Claude Code 一次编辑动辄处理上百个文件,Synology Drive 稍有网络迟疑,整个文件体系就断了——不是丢一个文件,是一整片目录状态对不上。新设备打开,动不动因为网络问题不同步,翔宇在这上面纠结了不少时间。更要命的是 ~/.claude 是隐藏目录,Synology Drive 压根不支持同步隐藏文件夹,翔宇只能自己写脚本绕过去。

一气之下,全换 Syncthing。为什么是它?因为 Syncthing 的安装、配置、排错,Claude Code 可以全权负责。这个时代,能交给 Agent 的事,就别自己干。

这篇把翔宇四台 Mac 的同步架构一次性讲透——从选型、架构到踩坑,一篇到底。

读完这篇,你将获得:

  1. 一套经过验证的四机同步方案:Syncthing Mesh 拓扑,任何一台离线不影响其余
  2. 一份排除规则设计思路:避免 36 万运行时文件扩散的灾难
  3. 一个完整的新设备接入流程:FlowUS 课程中有完整配置步骤和一键复刻提示词

目录

  • 一、你的 ~/.claude 值多少钱?
  • 二、Syncthing 是什么?
  • 三、翔宇为什么换掉了 Synology Drive?
  • 四、四机全互连 Mesh 架构
  • 五、安装与关键配置
  • 六、排除规则——写错一条的代价
  • 七、同步模式与新设备接入
  • 八、翔宇踩过的四个坑

1. 你的 ~/.claude 值多少钱?

你用 Claude Code 越深,~/.claude 目录就越值钱。

翔宇的 ~/.claude 里有什么?知识库 11 个平台工具脚本、50+ 个 Skills、自定义命令、Hooks 脚本、Agent 配置、全局 CLAUDE.md 记忆……这些东西加起来,是翔宇大半年的沉淀。

💡 说人话

~/.claude 就是你的 AI 编程工作台。桌面上的工具、笔记、配方,你不会每次换个房间工作就重新摆一遍。同步工具干的就是这件事——你在任何房间坐下,桌面都是最新的。

纳瓦尔说过一个概念叫「特定知识」——那些不能被培训、只能通过亲身实践积累的独特能力。你的 ~/.claude 配置就是你的特定知识。 它不是几个文件,它是你和 AI 协作半年的所有认知沉淀。丢了,重来一遍?不可能。

你有没有算过,你的 ~/.claude 目录凝聚了多少小时的打磨?

问题来了:翔宇有四台 Mac。

  • home-server:权威源服务器,24 小时在线
  • dev-mini:主力开发机(Mac mini)
  • air-MacBook:翔宇出门带的笔记本
  • pro-MacBook:备用笔记本,专门跑长任务和测试

四台机器,一份配置。怎么办?


2. Syncthing 是什么?

Syncthing 是一个开源的、去中心化的文件同步工具。GitHub 上 70000+ Star,Go 语言编写,完全免费。

一句话定位:设备之间直接同步文件,不经过任何云服务器。

和 Dropbox、iCloud Drive、Google Drive 这些云同步的本质区别——你的数据只在你的设备之间流转,不会上传到任何第三方服务器。

开源免费——完全开源,社区驱动,没有「免费版限 5GB,Pro 版每月 9.99 美金」的套路。

点对点架构——每台设备既是客户端也是服务端,没有中心节点。

端到端加密——所有传输走加密通道,设备之间通过唯一 ID 互相认证。

实时同步——文件变更后 5 秒内自动触发同步,比定时轮询高效得多。

版本控制——内建简单版本控制,翔宇的配置是保留 5 个历史版本。

🎯 打个比方

Dropbox 像快递公司——你把文件寄到仓库,另一台设备再从仓库取。Syncthing 像邻居之间直接递东西——不经过任何中间人,速度更快,也更私密。

Syncthing 去中心化同步

3. 翔宇为什么换掉了 Synology Drive?

翔宇也不是一开始就用 Syncthing。最早用的是 Synology Drive——家里有 NAS,装个客户端就能双向同步,看起来挺完美。

用了半年,翔宇换了。

说实话,那半年翔宇没少被 Synology Drive 折腾。

Synology Drive 本质是中心化架构——NAS 是中心节点。两台 Mac 之间的文件同步,要先上传到 NAS,再从 NAS 下载。

NAS 是瓶颈。 翔宇的 NAS 是机械硬盘,知识库里有大量小文件——几千个脚本、文档、配置。机械硬盘的随机读写对小文件极不友好,每次全量同步像在等老爷爷上楼梯。

NAS 离线即全停。 NAS 重启、硬盘休眠、网络抖动——同步直接中断。两台 Mac 都在线,但就是不能同步,因为中间人不在。

隐藏目录不支持。~/.claude 是以点开头的隐藏目录,Synology Drive 不支持同步隐藏文件夹。翔宇只能自己写脚本把隐藏目录「搬」到普通目录再同步,维护成本越来越高。

工作目录污染。 Synology Drive 会在同步目录里创建隐藏的工作目录,包含大量临时文件。这些文件混在 ~/.claude 里,Claude Code 可能会错误地索引它们。

那一刻翔宇才意识到:同步工具的选择不是功能问题,是架构问题。中心化方案天然有单点故障,去中心化才是正道。

🏗️ 设计洞见

翔宇选 Syncthing 不是因为它功能最多,而是因为它最简单、最可靠、最干净。同步工具的核心价值就一条——你改了文件,别的设备能看到。其他花哨功能都是噪音。


4. 四机全互连 Mesh 架构

翔宇的四台 Mac 采用全互连 Mesh 拓扑——每台设备都和其他三台直连,总共 6 条连接。

容错极高——任意一台离线,剩下三台仍有 3 条连接互相同步。就算两台同时离线,剩下的两台之间还有直连。

速度极快——变更从最近的节点获取。翔宇在 MacBook 上改了文件,Mac mini 不需要等服务器中转,直接从 MacBook 拉取。

代价很小——每台维护 3 条连接,局域网内完全无感。翔宇实测 CPU 占用小于 1%,内存约 30MB。

⚡ 三秒版

四台电脑全互连,任何一台改了文件,5 秒内其他三台自动更新。任何一台关机不影响其余的同步。

塔勒布有个概念叫「反脆弱」——系统在压力和冲击下不仅不崩溃,反而变得更强。Mesh 拓扑就是反脆弱的。 星型拓扑的中心挂了全完;Mesh 拓扑每断一条线,其余线路照常工作。节点越多,冗余越强。

四机全互连 Mesh 拓扑

5. 安装与关键配置

macOS 上用 Homebrew 一行命令装完,自动后台运行、开机自启,不用操心。

装完打开浏览器管理界面,第一件事:设密码。 默认没有密码,局域网内谁都能访问你的管理页面。

翔宇的四台设备都在同一个局域网内,所以关闭了所有外网功能——全球设备发现、中继服务器、NAT 穿透全部关掉,只保留局域网自动发现。这不只是省流量——关闭后 Syncthing 不会尝试连接外网服务器,启动更快,日志更干净。

文件监控方面,翔宇开启了实时监控,设置 5 秒缓冲加 60 秒兜底全量扫描。

翔宇的经验是——参数调对了你就再也不用碰它了。 这几个值翔宇从配好到现在一次都没改过。好的配置就像好的规则,设定一次,受益永远。

📝 记住这个

具体的安装命令和参数配置,FlowUS 课程里有完整的一键部署步骤,复制提示词给 Claude Code 就能全自动完成。


6. 排除规则——写错一条的代价

到这里,暂停一下。前 5 章完成了什么?选型讲完了,架构搭好了,安装配好了。但真正决定这套系统是「配完就忘」还是「天天救火」的,是接下来这一章。

Syncthing 有一个排除规则文件,决定哪些文件同步、哪些不同步。写错这个文件,后果很严重。

翔宇的血泪教训:第一次配 Syncthing 的时候没写排除规则,~/.claude 里 36 万个运行时文件——对话日志、调试数据、终端快照——全部开始同步。四台设备同时扫描 36 万个文件,CPU 全部飙到 100%,风扇呼呼响,扫了快 50 分钟,管理界面完全卡死。

那段时间翔宇真的有点崩溃。

策略很简单:默认同步所有文件,只排除不需要的。

排除规则有几个容易踩的坑。比如路径前缀写法不同,会影响排除的范围——可能只排除根目录的某个文件夹,也可能误杀所有层级的同名文件夹。翔宇第一版就写错了,Skills 里有用的数据被意外排除,全丢了。

还有一个常见问题:两台机器的排除规则不一致。A 忽略的文件 B 不忽略,就会出现「一边删了另一边又传回来」的死循环。所有机器必须使用完全相同的排除规则。

同步的内容:知识库、Skills 源码、全局 CLAUDE.md、设置文件、Hooks、Agent 配置、自定义命令。

不同步的内容:运行时会话数据、对话历史、缓存文件、项目级记忆、虚拟环境、编译产物。

同步少比同步多更难——排除的艺术,才是这套系统的核心技能。

你的排除规则写了多少行?翔宇的是 30 行,管住了 36 万个不该同步的文件。

排除规则设计

7. 同步模式与新设备接入

日常使用双向同步——任何一台设备的变更都会传播到其他设备。

但有个场景需要切换:大规模重构后。 比方说翔宇在服务器上把知识库目录结构大改了一遍——几十个文件移动、重命名、删除。如果此时四台设备都是双向同步,服务器删了文件,Mac mini 的旧版本又传回来。

解决方案:临时切换为单向推送。服务器设为仅发送,其他设备设为仅接收。推完再恢复双向。

★ 翔宇的建议

日常改几个文件,双向同步完全没问题。但大规模重构(移动目录、重命名大量文件),先切成单向推送。Syncthing 不支持原子移动——移动操作等于新建加删除。双向同步时,旧目录可能被其他设备「救回来」。

新设备接入七步走

🎯 打个比方

新设备接入就像新员工入职——先从一个人那里完整交接所有资料(单向推送),交接完了再加入日常协作(双向同步)。不要让三个人同时给他讲不同版本的工作内容。

  1. 安装并启动 Syncthing
  2. 设置管理界面密码
  3. 清空排除规则:两边都清空,确保配置目录完整推送,没有遗漏
  4. 仅与主力机互加设备:关键——不要同时连所有设备
  5. 单向全量推送:主力机仅发送,新设备仅接收
  6. 恢复排除规则:全量推送完成后写回正式规则
  7. 切回双向同步,接入 Mesh

8. 翔宇踩过的四个坑

坑 1:没写排除规则直接同步。 36 万个运行时文件扩散到四台设备。四台机器同时扫描,CPU 全满,管理界面完全卡死。解决:先停掉所有设备的 Syncthing,在主力机上写好排除规则,再逐台重启。

坑 2:Synology Drive 和 Syncthing 同时跑。 翔宇从 Synology Drive 迁移时忘了关旧客户端。两个同步工具对同一个目录互相打架——一个写入文件,另一个检测到变更立刻同步,第一个又检测到变更再同步回来……无限循环。

坑 3:移动目录后旧目录残留。 翔宇把知识库里一个子目录换了位置,其他设备上旧目录里的虚拟环境被排除规则忽略,Syncthing 无法删除整个目录。解决:调整排除规则的删除策略。

坑 4:冲突文件残留。 新设备接入后产生大量冲突备份文件。解决:一行命令批量清理。

每一个坑都是真金白银的时间换来的。翔宇把它们写下来,就是为了让你少走弯路。

你踩过类似的坑吗?


这套同步方案用到现在,翔宇最大的感受是三个字:没感觉。

对,没感觉。配完之后,翔宇几个月没打开过 Syncthing 的管理界面。在 Mac mini 上新写了一个 Skill,MacBook 上 5 秒后自动出现。备用 MacBook 跑着测试任务,用的是和主力机一模一样的知识库和 Skills。四台机器,一份配置,实时同步。

同步工具理想的状态就是你完全感知不到它的存在。 就像翔宇常说的——用系统打败重复劳动。 花 2 小时配一次 Syncthing,省的是未来几百次手动复制文件的时间。这就是一次性投入和永久复利的区别。

三个核心洞见:

  1. ~/.claude 是你的特定知识——不是几个文件,是你和 AI 协作的所有认知沉淀。丢了不可能重来。
  2. 去中心化胜过中心化——Mesh 拓扑没有单点故障,任何一台离线不影响其余同步。
  3. 排除规则是同步健康的生命线——规则写对,30 行管住 36 万文件;写错,四台机器一起瘫痪。

如果你也是那种有两台以上电脑、每台都在跑 Claude Code 的人——这套方案就是为你准备的。

觉得有用,点个「在看」让更多人看到。你的 Claude Code 配置是怎么跨设备管理的?留言区聊聊。


这套同步方案只是「AI 编程实操课」的一个实用工具。FlowUS 课程中有完整的安装命令、参数配置、排除规则模板和一键复刻提示词。在课程中,你还会学到 Claude Code 完整安装配置指南、CLAUDE.md 进阶指南、Hooks 配置指南、MCP 快速部署指南、知识库管理。如果你想系统学习 AI Agent 自动化工作流,欢迎加入翔宇工作流:AI 编程实操课