本文作者:鱼总聊AI(@AI_Jasonyu)。版权归作者所有,未经授权禁止转载。


我最近把家里的设备重新捋了一遍:MacBook、Mac mini、iPhone,三台设备彻底打通。

为什么要折腾这个?很简单——我想出门的时候,不用随身背笔记本,也能随时随地调用我的知识库去写内容、写代码。

以前我只有两个选择:要么笔记本走哪带哪,要么让笔记本在家里 24 小时开着不敢合盖。现在这套方案跑通之后,我的状态变成了:

  • 家里的 Mac mini 当“主脑”,24 小时常开,跑着 Hermes,接着微信
  • MacBook 是“操作端”,写代码、深度改稿用它,合盖就走
  • iPhone 是“遥控器”,人在外面,发条微信就能让家里的 AI 干活,需要时还能直接 SSH 进电脑敲命令
  • 所有笔记、知识库内容,在两台 Mac 之间自动同步,改哪边都一样

整套方案用到的核心工具就三个:Syncthing(同步知识库)+ Tailscale(跨网络组网)+ SSH(远程控制),全部免费。

这篇文章我会把完整的配置过程写出来,包括我踩过的每一个坑。步骤会写得很细,新手照着做就能跑通。


一、先看全貌:这套系统长什么样

动手之前,先花一分钟搞清楚我们要搭的东西是什么结构,不然做到一半容易迷失。

                    ┌─────────────────┐
                    │  iPhone         │
                    │  微信 / 飞书/TG  │
                    │  Termius(SSH)   │
                    │  UU远程(备选)    │
                    │  Tailscale App  │
                    └────────┬────────┘
                             │ Tailscale (100.x.x.x)
              ┌──────────────┼──────────────┐
              ▼                             ▼
     ┌─────────────────┐           ┌─────────────────┐
     │ Mac mini(主脑) │           │ MacBook(操作端)│
     │ · Hermes+Gateway│           │ · 本地开发/创作  │
     │ · 微信(唯一)  │           │ · Obsidian      │
     │ · 飞书/TG 可选  │           │ · 飞书/TG 另 Bot│
     │ · Codex/ChatGPT │           │ · 需要时 SSH 到 │
     │ · Obsidian      │◄─Syncthing─►│   Mini         │
     │ · 不休眠+自启   │           └─────────────────┘
     └─────────────────┘

三台设备的分工,务必记住:

| 设备 | 角色 | 主要做什么 |
| --- | --- | --- |
| **Mac mini** | 主脑 | 跑 Hermes、微信入口、知识库服务、远程执行任务 |
| **MacBook** | 操作端 | 写代码、深度改稿、本地调试 |
| **iPhone** | 遥控器 | 下指令、看结果、SSH、轻量补充 |

要达成这个状态,一共要做成 五件事:

  1. 用 Syncthing 让两台 Mac 的 Obsidian 知识库自动同步
  2. 让 Mac mini 常开不休眠,当 24 小时在线的主脑
  3. 用 Tailscale 把三台设备组成一个虚拟局域网(重点处理和国内代理的共存问题)
  4. 打开 SSH,让手机用 Termius 随时连进两台 Mac
  5. 在 Mac mini 上装 Hermes,接上微信,实现“发微信 = 下指令”

下面一件一件来。

开工前的准备清单

硬件:

  • MacBook(已有你的开发环境和知识库)
  • Mac mini(建议插电常开)
  • iPhone

软件:

| 软件 | 用途 | 装在哪 |
| --- | --- | --- |
| Syncthing | Obsidian 同步 | 两台 Mac |
| Tailscale | 跨网络组网 | 两台 Mac + iPhone |
| Termius | 手机 SSH | iPhone |
| Hermes Agent | 常驻 AI Agent | 以 Mac mini 为主 |
| Obsidian | 知识库 | 两台 Mac |
| Clash Verge / Surge | 电脑代理 | 两台 Mac |
| 小火箭 Shadowrocket | 手机代理 | iPhone |
| ChatGPT / Codex 桌面端 | 编程与对话 | 建议 mini 也装 |

账号原则(先记住,后面会用到):

  • Tailscale:同一个账号登录所有设备
  • 微信:只给 Mac mini 上的 Hermes,别两台电脑抢
  • 飞书 / Telegram:需要多入口时,不同机器用不同的 Bot

二、第一件事:用 Syncthing 同步 Obsidian 知识库

为什么先做这一步

后面 Hermes 要读知识库、你要在两台电脑之间无缝写笔记,全都依赖这一步。

先说一个重要结论:代码项目不要用 Syncthing 当主同步方式,代码后面单独走 Git。Syncthing 只负责知识库。

步骤 1:两台 Mac 都装上 Syncthing

官网下载或者 Homebrew 安装都行。装好启动后,浏览器打开本机管理界面,地址一般是:

http://127.0.0.1:8384

进去之后先把设备名改成好认的,比如我的两台分别叫:

  • MacBook-Jason
  • Mac-mini-Jason

步骤 2:让两台电脑互相认识(建立设备互信)

Syncthing 认设备靠的是一串 Device ID。流程是:一台复制自己的 ID,另一台添加它。

先在 MacBook 上,点右上角「操作」菜单,找到「显示 ID」:

Article image

弹出来的窗口里有一串设备标识和二维码,点「复制」把 ID 复制下来:

Article image

然后到 Mac mini 的 Syncthing 界面,点「添加远程设备」:

Article image

把刚才复制的 Device ID 粘进去,起个设备名,保存:

Article image

这时候另一台电脑会弹出一个「新设备」的连接请求,点「添加设备」接受:

Article image

确认设备信息,保存:

Article image

两边状态都变成 「已连接」,这一步就成了。

步骤 3:共享知识库文件夹

设备连上了,但文件还不会自动传——共享文件夹是另外一步,这是我踩的第一个坑,后面细说。

先在 MacBook(有完整知识库的那台) 上操作。

如果你不知道 Obsidian 库在哪,有个小技巧:在 Obsidian 里对着库名右键 →「复制路径」,直接拿到完整路径:

Article image

然后在 Syncthing 界面点「添加文件夹」:

Article image

在弹出的设置窗口里:

  1. 文件夹路径:粘贴刚才复制的 Obsidian Vault 路径
  2. 文件夹标签:起个名字,比如 Obsidian-Vault
  3. 切到「共享」标签页,勾选 Mac-mini-Jason
  4. 同步类型选 发送并接收(Send & Receive)
Article image

如果文件夹已经建过、只是没共享,就点文件夹的「编辑」,在共享页勾选目标设备再保存:

Article image

保存之后,Mac mini 那边会弹出共享邀请,点「共享」接受:

Article image

接受时选一个本地存放路径(建议单独目录,路径尽量简单),同步类型同样设为「发送并接收」:

Article image

搞定之后就能看到同步进度开始跑了:

Article image

第一次同步大库可能比较慢,要等索引和传输跑完,不要中途反复开关。

踩坑 1:设备「已连接」,文件夹却一直「非共享」

这是我遇到的第一个坑,症状长这样:

  • 设备显示「已连接」甚至「已连接(未使用)」
  • 文件夹状态是「非共享」
  • 上传/下载长期停在 0 B 或 1 B
  • Mac mini 上看不到 MacBook 的库内容

原因: 设备互信成功,只说明两台机器能看见对方。文件夹共享是另一步——必须一端 Share、另一端 Accept,还要选好本地路径。只加了设备、没走完文件夹共享流程,就会出现这种「连上了但不传文件」的状态。

处理:

  1. 回到有完整内容的那台(通常是 MacBook),打开该文件夹设置
  2. 确认「共享」里勾选了目标设备
  3. 同步模式确认是「发送并接收」
  4. 到 Mac mini 重新接受共享、指定本地目录
  5. 刷新两边界面,文件夹不再是「非共享」、开始出现同步进度,才算真的通了

一句话记住:「设备已连接」不等于「文件夹在同步」。

建议顺手做的两个设置

第一,加 <strong>.stignore</strong> 忽略无用文件,比如:

  • .DS_Store
  • 过大的附件缓存(按你的库结构定)

第二,给 AI 单独建一个子目录,别一上来就把整个私人库无限权限交给 Hermes:

Vault/
└── Hermes-Knowledge/
    ├── MEMORY.md
    ├── USER.md
    ├── Projects/
    └── Daily/

之后 Hermes 只指向 Hermes-Knowledge/ 这个目录。

重要提醒:Syncthing 是同步,不是备份。 一边删了文件,另一边也会跟着删。至少再加个 Time Machine,或者定期把库拷一份到硬盘/网盘。

三、第二件事:让 Mac mini 常开不休眠

Mac mini 是主脑,它一睡着,整套系统就瘫了。所以要把休眠彻底关掉。

打开终端,执行:

sudo pmset -a sleep 0
sudo pmset -a disablesleep 1

再补一个后台 caffeinate 保险:

nohup caffeinate -dims >/dev/null 2>&1 &

实际执行起来长这样:

Article image

这样 Mac mini 就会一直醒着,随时待命。


四、第三件事:Tailscale 组网(国内用户重点看代理共存)

Syncthing 解决了“同一个局域网里同步”,但你出门之后,手机和家里的 Mac mini 就不在一个网络里了。这时候就需要 Tailscale——它能把你所有设备组成一个虚拟局域网,不管设备在哪,都能像在家里一样互相访问。

步骤 1:两台 Mac 安装 Tailscale

官网下载安装包,一路继续:

Article image

安装过程中会弹出“Tailscale 想添加 VPN 配置”的系统提示,点「允许」:

接着是权限授予页面,点「Grant permissions」:

Article image

系统会跳到「登录项与扩展」设置,把 Tailscale 的网络扩展开关打开,点完成:

Article image

两台 Mac 都装好后,用同一个账号登录。然后在终端执行:

tailscale status

确认两台设备都在列表里,并记下各自的 IP,比如我的:

  • Mac mini:100.106.195.45
  • MacBook:100.112.98.107
  • iPhone:之后配置好也会出现一条 100.x.x.x

你也可以在 Tailscale 的管理后台网页看到所有设备和在线状态:

Article image

步骤 2:处理代理共存(国内用户必做,不做等于白装)

这是整套流程里最容易翻车的地方。

国内常见的 Clash / Surge 开 TUN 模式后,会接管全局路由。而 Tailscale 用的是 100.64.0.0/10 这个网段。如果不把这个网段排除出代理,就会出现一个非常迷惑的状态:

  • Tailscale 显示在线 ✅
  • 实际 ping 100.x.x.x 全部失败 ❌
  • SSH 一直超时 ❌

看着在线,实际不通——因为流量被代理拐走了。

处理办法(Clash Verge / Mihomo 为例): 打开配置文件编辑:

Article image

在规则里加一条直连:

rules:
  - IP-CIDR,100.64.0.0/10,DIRECT,no-resolve

在 TUN 配置里加排除网段:

tun:
  enable: true
  stack: system
  auto-route: true
  auto-detect-interface: true
  route-exclude-address:
    - 100.64.0.0/10

保存后重载配置,再 ping 对端的 Tailscale IP 测试。

用 Surge 的同理:在规则 / TUN 旁路里让 100.64.0.0/10 直连,不要进代理链。

踩坑 2:Clash 配置一保存就「订阅配置校验失败」

我改配置的时候还遇到过一保存就报错的情况,提示类似 payloadRule、某条 IP-CIDR6 不合法。

原因: 当前内核对某些 IPv6 写法不兼容,或者规则格式不严谨(缺 no-resolve、网段写错、缩进问题)。

处理:

  1. 先删掉有问题的 IPv6 相关行
  2. 只保留明确可用的这一条:- IP-CIDR,100.64.0.0/10,DIRECT,no-resolve
  3. TUN 的 route-exclude-address 也只先放这一段
  4. 保存成功后再逐步加别的规则,一次别改太多,不然出错都不知道是哪行的问题

踩坑 3:Tailscale DNS 和代理 DNS 打架

如果排除了网段之后还是时好时坏、部分域名解析异常、浏览器“什么都访问不了”,多半是 Tailscale 默认接管了 DNS(MagicDNS),和 Clash/Surge 的 DNS 方案叠在一起打架了。

在每台 Mac 上执行:

sudo tailscale set --accept-dns=false

或者在 Tailscale Settings 里把「Use Tailscale DNS settings」取消勾选:

Article image

然后重新测试普通上网、tailscale status 和 ping。不是每个人都必须关,但在国内代理环境下,这是高频有效的手段。


五、第四件事:iPhone 上的 Tailscale(重点踩坑区)

手机这块的坑最多,我直接把结论和过程都告诉你。

核心限制:iOS 上 VPN 只能活一个

iOS 对 Network Extension 类 VPN 的限制很严,同一时间基本只能有一个真正生效。所以:

  • 开官方 Tailscale → 小火箭被挤掉
  • 开小火箭 → 官方 Tailscale 断线

远程和翻墙,没法同时稳住。

踩坑 4:小火箭内置 Tailscale,看着在线,实际不通

我试过一条“聪明”路线:不装官方 App,用小火箭自带的 Tailscale 功能 + Auth Key(在 Tailscale 后台 Settings → Keys → Auth keys 创建)登录,想着这样翻墙和组网就能共存了。

实际结果:

  • 管理后台和 tailscale status 里确实出现了名为 node 的 iOS 设备,显示在线
  • 但 Mac mini 去 ping 这个地址,全部 timeout
  • Termius SSH 直接 Connection timed out

原因: 控制面(设备注册)成功,不代表数据面(真实发包)通。小火箭的内置实现和官方客户端在打洞/中继上有差异,国内网络下更容易出现「看着在、连不上」。

结论记住这句:列表“在线” ≠ 真的能通。以 ping 通、SSH 能进为准,不以设备列表好看为准。

目前最稳的用法:接受切换,不硬双开

| 场景 | 操作 |
| --- | --- |
| 要 SSH / 远程管电脑 | 打开**官方 Tailscale**,关闭小火箭 |
| 日常上网翻墙 | 打开**小火箭**,关闭官方 Tailscale |

听起来不优雅,但接受「用哪个开哪个」这一次切换,成功率远高于折腾双开。别信“完美并行”的说法,至少目前的 iOS 上不现实。

怎么确认手机真的进组了

在 Mac mini 上执行:

tailscale status
  • 看是否有 iOS 设备 online
  • 旧的 offline, last seen 2h ago 设备名可以忽略(那是以前的残留节点)
  • 最终以能 ping 通、能 SSH 为准

六、第五件事:打开 SSH,让手机连上两台 Mac

组网通了,接下来让手机真正“遥控”电脑。

先说清楚 SSH 是干嘛的:安全的远程命令行控制。适合看日志、重启 Hermes、跑命令、改配置;它不是“远程桌面”,手机上是敲命令,不是拿鼠标点屏幕。

步骤 1:在 Mac 上打开远程登录

每台要被远程的 Mac 都做一遍:

  1. 系统设置 → 通用 → 共享
  2. 打开 远程登录
  3. 「允许访问」里加入你的用户

验证一下:

sudo systemsetup -getremotelogin
# 期望输出:Remote Login: On

我当时 Mac mini 一直连不上,查了半天,就是因为远程登录压根没开(踩坑 5:Connection refused 基本都是这个原因)。

步骤 2:确认真实用户名(踩坑 6)

这个坑很阴间:macOS「用户与群组」里显示的是全名/显示名(比如 Orange),但 SSH 用的是短用户名(常见是小写,比如 orange)。按显示名硬填,密码怎么输都是错。

终端执行:

whoami

这条命令的输出,才是 SSH 该填的用户名。

步骤 3:先在本机测 SSH 通不通

远程之前,先证明本机 SSH 服务是好的。在 Mac mini 上:

ssh orange@127.0.0.1

首次出现指纹提示,输入 yes。

踩坑 7:本机都连不上,报 <strong>Broken pipe</strong>。 这说明 sshd 服务状态异常,重载一下:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

再测,直到本机能登进 shell。记住排查原则:本机都挂,先修服务,别先怀疑手机端。

步骤 4:手机 Termius 添加主机

  1. 打开 Termius → New Host
  2. 填写:
| 字段 | 示例 |
| --- | --- |
| Label | `Mac Mini` |
| IP / Hostname | `100.106.195.45`(Mini 的 Tailscale IP) |
| Port | `22` |
| Username | `orange`(以 `whoami` 输出为准) |
| Password | Mac 登录密码 |
  1. 保存并连接,首次信任 host key

同样的方法再加一条 MacBook(前提是 MacBook 上也开了远程登录)。

进阶:改用密钥登录(踩坑 8 在这)

先用用户名 + 密码跑通最省事。如果密码方式总失败,再上密钥:

  1. Termius 里 Generate Key(推荐 Ed25519)
  2. 复制公钥——就是 ssh-ed25519 AAAA... 开头的那一整行
  3. 在 Mac 上:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
# 粘贴公钥一整行
chmod 600 ~/.ssh/authorized_keys

nano 保存方法:Ctrl+O → 回车 → Ctrl+X。如果底部在问 File Name to write,直接回车确认。

踩坑 8:把脚本碎片当成了公钥。 Termius 的 Export Key 页面有一堆自动安装脚本的参数,我一开始把那玩意粘进 authorized_keys 了,结果里面出现 Generated By Termius 之类的奇怪内容,登录必然失败。记住:公钥必须是以 <strong>ssh-ed25519</strong> 或 <strong>ssh-rsa</strong> 开头的一整行,别的都不是。

SSH 报错速查

| 报错 | 优先检查 |
| --- | --- |
| Connection refused | 远程登录没开 |
| Connection timed out | 代理没排除 Tailscale 网段;手机是否真在组网里(用官方 App) |
| Permission denied | 用户名(`whoami`)或密码错误 |
| 本机 127.0.0.1 也失败 | 先重载 `ssh.plist` 修本机 sshd |

七、第六件事:Mac mini 装 Hermes,接上微信

到这一步,基础设施全通了。最后把“大脑”装上。

安装和账号(踩坑 9 预警)

按官方方式安装(Desktop 或 install.sh)。安装过程中如果出现 Nous Portal 套餐选择($0 / $20 / $200),注意:

  • 这是模型与工具的订阅,不是“装成同一个 Agent”
  • 选 $0 可以,但可能仍要求绑卡(防滥用,海外 SaaS 常见操作);不想绑卡可以改走 OpenRouter / DeepSeek 等 API Key 路线

踩坑 9:我一开始以为“同一个 Google 账号登录 = 同一个 Agent”,两边记忆自动打通。错。

| 内容 | 是否自动共享 |
| --- | --- |
| Portal 订阅额度 | ✅ 是 |
| 本地记忆 / 会话 | ❌ 否(都在各自机器的 `~/.hermes/` 里) |
| Obsidian 知识库 | ❌ 否(要靠 Syncthing / Git 自己解决) |

登录同一个账号,只共享额度和计费,不会合并两台机器的本地状态。所以正确姿势是:以 Mac mini 为主实例,用 Obsidian + Syncthing 做跨设备的“外置记忆”——这正是我们第一步就做好知识库同步的原因。重要偏好、项目状态,写进 MEMORY.md / USER.md,两边都能读到。

主模型怎么选

| 场景 | 建议 |
| --- | --- |
| Mini 上常驻、微信高频调用 | DeepSeek 这类低成本模型 |
| 难任务、重要决策 | 临时切 Claude Sonnet 等 |
| 重编程 | 继续用 Codex,不必强行让 Hermes 包办 |

接微信 / 飞书 / TG 的关键规则(踩坑 10、11)

这里有一条铁律:

| 平台 | 规则 |
| --- | --- |
| **个人微信** | 一个微信号对应一套 token,**同一时间只能被一个 Gateway 使用** |
| **飞书** | 可以创建多个应用,但**同一个 App ID 同时只能一个 Gateway** |
| **Telegram** | 可以创建多个 Bot,每个 Token 同时只能一个轮询方 |

踩坑 10:我在两台电脑都起了微信 Gateway,第二台直接启动失败,日志提示已有 Gateway 正在使用该 token。个人微信的凭证同一时间只能被一个实例占用,两台机器抢必冲突。

踩坑 11:飞书/TG 同理,同一个 App ID 或 Bot Token 挂两个实例,第二个起不来。多机器 = 多个 Bot / 多个应用,不要共享凭证。

推荐落地方案:

  • 微信:只接 Mac mini(这是手机的主入口)
  • MacBook 如果也需要消息入口:用另一个飞书应用或另一个 TG Bot
  • 社区的多微信号插件,那是“多个不同微信号”,不是“一个微信号挂多个 Agent”,别搞混

保持常驻 + 安全建议

  • 按 Hermes 文档把 gateway 装成 launchd 服务,保证重启后微信入口还活着
  • 微信 DM 策略用 allowlist,只放行你自己——别让陌生人也能指挥你家的 AI
  • chmod 600 ~/.hermes/.env,保护好密钥文件
  • 工具权限、可写目录尽量收窄到 Hermes-Knowledge/ 和指定项目目录

顺手把 ChatGPT / Codex 桌面端也装上

  • Mini 上可以登录同一个 Codex 账号(官方支持多设备)
  • 主要注意的是额度共享,不是“换个设备就封号”
  • 合理用法:Mini 当 always-on 主机,MacBook 需要时再连

八、代码项目怎么办:用 Git,别用 Syncthing

结论先行:代码要同步到 Mini,但走 Git,不要用 Syncthing 当代码主同步。

原因很实在:

  • 两边同时改,Syncthing 极易冲突
  • node_modules、构建产物又大又脏,同步纯属浪费
  • 没有提交历史,出问题没法回滚

推荐流程:

  1. 代码放 GitHub / GitLab 私有库
  2. Mac mini 上:
git clone <repo>
cd <project>
# npm install / pnpm i / pip install ...
  1. Mini 上改完 → commit → push;MacBook → pull。反过来也一样

环境注意:

  • Mini 上装和 MacBook 接近的 Node / Python 版本
  • .env 各机单独配置,不进 Git、不强行同步
  • 不用全搬,只把「经常要远程改、要让 Hermes 碰」的项目先弄过去

远程写代码的姿势:

  • 人在家:MacBook 本地写,或 Remote SSH 到 Mini
  • 人在外:手机发指令,让 Mini 上的 Hermes / Codex 执行

九、日常工作流:这套系统怎么用起来

配置完不是终点,说说我现在的实际用法。

写代码:

  • 复杂功能:MacBook 本地写,或 Remote 到 Mini
  • 小改动、跑脚本、查日志:微信发给 Mini 上的 Hermes 就行
  • 源码真相永远在 Git

知识库:

  • 正式内容只进 Obsidian
  • 路上有灵感,微信丢给 Hermes,让它写入指定文件夹
  • 手机负责补充和查看,回电脑再系统整理

自媒体创作:

  1. 微信/飞书随手丢链接、截图、一句话灵感
  2. Hermes 按模板生成初稿,写进知识库
  3. 回到任意一台 Mac,在 Obsidian 里改(反正是同步的)
  4. 成品归档,方便后续改写成多平台版本

十、故障排查:固定这个顺序,别盲改

远程突然挂了,别上来就重装软件、乱改配置。按这个顺序查,多数故障前三步就能定位:

Article image

配一张症状速查表,建议存进笔记:

| 症状 | 最先查什么 |
| --- | --- |
| Syncthing 不传文件 | 文件夹是否完成 Share / Accept |
| Tailscale 在线但 SSH 超时 | 代理是否排除 `100.64.0.0/10`;手机是否用官方 App |
| 小火箭与 Tailscale 互踢 | iOS VPN 互斥,接受场景切换 |
| Connection refused | 远程登录是否打开 |
| 密码总是错 | 用户名是否是 `whoami` 的输出 |
| 本机 SSH 也失败 | 重载 `ssh.plist` |
| 微信第二台挂不上 | 是否重复占用同一个 token |
| 两边 Hermes 记忆不通 | Portal 账号不合并本地 Agent,靠知识库同步 |

十一、上线检查清单(复制到笔记里逐项打勾)

同步

  • 两台 Mac 的 Syncthing 互为「已连接」
  • Vault 为发送并接收,两边内容一致
  • .stignore 已配置
  • 有独立备份(Time Machine 或其他)

网络

  • Tailscale 三端同一账号登录
  • 记录了各设备的 100.x IP
  • 电脑代理已排除 100.64.0.0/10
  • 能 ping 通对端

SSH

  • 两台 Mac 远程登录已打开
  • 本机 ssh 用户@127.0.0.1 成功
  • Termius 能连上 Mini 和 MacBook

Agent

  • Mini 上 Hermes 可正常对话
  • Gateway 已设为开机自启
  • 微信只接 Mini,且开了 allowlist
  • 飞书/TG 无 token 冲突
  • 知识库路径指向同步目录
  • Mini 防休眠已设置

代码(如需要)

  • 主要项目已在 Git
  • Mini 已 clone 并能跑起来
  • 密钥没进仓库

最后

整套方案一句话总结:

用 Syncthing 同步知识库,用 Tailscale 组网,用 SSH 当手机遥控器,用 Mac mini 跑唯一的微信 Hermes;代码走 Git,代理给 Tailscale 让路,iOS 上接受「远程时切官方 Tailscale」。

配置一个晚上,之后出门只带手机:发条微信让家里的 AI 查资料写初稿,需要动手就 Termius 连上去敲两行命令,回家打开 MacBook,所有内容已经同步好等着你。

然后保险起见的话,还可以给每个设备安装一个UU远程,这样更加保险,使用起来更加便利。

这就是目前我这套多设备 AI 工作台里,相对可复现、也相对稳的做法。踩过的坑都写在上面了,照着做,你会比我顺利得多。