对话笔记直发:7.5 OCD同步迁移说明指南(FNS + Hermes)。分类:AI工程。


title: OCD同步迁移说明指南(FNS + Hermes) date: 2026-07-05 tags:

  • obsidian
  • fast-note-sync
  • hermes
  • nas
  • migration aliases:
  • Obsidian 同步迁移说明
  • FNS Hermes 迁移说明

OCD同步迁移说明指南(FNS + Hermes)

结论先行

从 2026-07-05 起,这套 Obsidian 同步架构的权威源改为 Fast Note Sync Service (FNS)。 Hermes 不再通过“本地目录 -> WebDAV -> OneDrive”旧链路管理笔记,而是直接通过 MCP 连接 FNS。

1. 本文目的

这篇笔记用于做三件事:

  1. 记录 2026-07-05 下午实际完成的迁移动作。
  2. 给后续的 Hermes / AI Agent / LLM Wiki 一个统一的架构基线。
  3. 明确废弃旧方案,避免以后又回到 本地转 WebDAV / OneDrive / rclone 的旧思路。

2. 旧方案和新方案

2.1 旧方案

旧方案的核心链路是:

Hermes / NAS 本地
-> /mnt/obsidian 或 /srv/obsidian-mirror
-> WebDAV / rclone / OneDrive
-> Windows / Android / 其它端

这个方案的问题:

  • 同步链路太长。
  • 写入和读取不是同一条语义通道。
  • 安卓端同步繁琐,响应慢。
  • AI Agent 只能碰文件系统,不能直接碰“笔记语义层”。
  • 一旦多个端同时改动,冲突和一致性问题难控。

2.2 新方案

新方案的核心链路是:

Hermes
-> MCP
-> FNS
-> Windows / Android / iOS / 其它客户端

也就是说:

  • FNS 是唯一同步中枢。
  • FNS 是唯一权威写入口。
  • 各设备都是 FNS 的客户端,不再各自形成一套“文件夹同步宇宙”。

3. 最终拓扑

                           ┌──────────────────────────────┐
                           │  备份/镜像层(非主同步层)    │
                           │                              │
                           │ OneDrive / Git / 冷备份快照  │
                           └──────────────▲───────────────┘
                                          │
                                  单向备份 / 镜像
                                          │
┌──────────────────────────────────────────────────────────────────────┐
│                           JP NAS / 本地服务器                        │
│                                                                      │
│  ┌────────────────────────────────────────────────────────────────┐  │
│  │ Fast Note Sync Service (FNS)                                  │  │
│  │ - 同步中枢                                                     │  │
│  │ - 权威源                                                       │  │
│  │ - REST / WebSocket / MCP                                       │  │
│  │ - Vault / Note / File 语义层                                   │  │
│  └───────────────▲──────────────────────────────────────▲──────────┘  │
│                  │                                      │             │
│              MCP / HTTP                             FNS 插件            │
│                  │                                      │             │
│          ┌───────┴───────┐                              │             │
│          │    Hermes     │                              │             │
│          │  AI 智能中枢  │                              │             │
│          └───────────────┘                              │             │
└─────────────────────────────────────────────────────────┼─────────────┘
                                                          │
                         ┌────────────────┬───────────────┼───────────────┐
                         │                │               │               │
                 ┌───────▼───────┐ ┌──────▼──────┐ ┌─────▼─────┐ ┌──────▼──────┐
                 │ Windows       │ │ Android     │ │ iPhone/iPad│ │ 其它客户端   │
                 │ Obsidian + FNS│ │ Obsidian+FNS│ │ Obsidian+FNS│ │ Obsidian+FNS │
                 └───────────────┘ └─────────────┘ └───────────┘ └─────────────┘

4. 今天下午实际执行的动作

以下动作已经在 2026-07-05 下午完成:

4.1 FNS 服务端部署

  • 在 jp NAS 上部署了 Fast Note Sync Service。
  • 运行版本为 haierkeys/fast-note-sync-service:3.5.1。
  • 服务运行端口为 9000。
  • Web 界面可通过:
    • 局域网:http://局域网IP(已脱敏):9000/webgui
    • 公网域名:https://notes.unixcs.eu.org/webgui

4.2 Cloudflare Tunnel 接入

  • 没有使用 FNS 自带隧道。
  • 复用了 NAS 上已有的 cloudflared。
  • 已将 notes.unixcs.eu.org 接到 http://127.0.0.1:9000。
  • 这样安卓在外网环境下也能直接连接 FNS。

4.3 客户端接入

  • Windows Obsidian 已接入 FNS。
  • Android Obsidian 已接入 FNS。
  • 当前 Vault 名称已经确认是:feng

这个值来自当前本地插件配置:

  • .obsidian/plugins/fast-note-sync/data.json

4.4 Hermes 接入

已为 Hermes 完成以下配置:

  • 生成了 Hermes 专用的 FNS 静态 Token。
  • 在 /opt/data/config.yaml 中加入了 mcp_servers.fns_service。
  • Hermes 通过本机环回连接:
    • http://127.0.0.1:9000/api/mcp
  • 已为 Hermes 补装 mcp==1.26.0 依赖。
  • 已补上默认 Vault:
    • X-Default-Vault-Name: feng

最终结果:

  • Hermes -> FNS MCP -> vault=feng 已打通。
  • 已验证可发现 26 个 MCP 工具。

4.5 服务验证

已验证:

  • hermes mcp test fns_service 连接成功
  • MCP 工具发现成功
  • hermes-gateway.service 已重启并处于 active 状态

5. 现在的架构原则

5.1 唯一真源

FNS 是唯一真源。

这句话的含义是:

  • 真正的“当前笔记状态”由 FNS 管理。
  • Hermes 不应该再直接写本地镜像目录。
  • Windows / Android 也不应该再和另一套双向同步系统并行写入同一批文件。

5.2 Hermes 的正确写法

Hermes 后续应该:

  • 通过 MCP 读取笔记
  • 通过 MCP 修改笔记
  • 通过 MCP 创建/重命名/删除笔记

Hermes 不应该:

  • 直接写 /srv/obsidian-mirror/
  • 直接写 /mnt/obsidian/
  • 直接写 FNS 底层数据库
  • 直接写 FNS 底层 storage/vault/...
  • 再走 WebDAV / rclone / OneDrive 旧链路去中转

5.3 /srv/obsidian-mirror/ 的新定位

旧路径:

/srv/obsidian-mirror/

后续可以保留,但定位要变:

  • 它不再是主写链路。
  • 它不再是 Hermes 的中转写路径。
  • 它只适合作为:
    • 只读镜像
    • 备份快照源
    • 本地全文检索缓存
    • 临时分析工作区

从第一性原理看,原因很简单:

  • 文件系统镜像只表达“文件”。
  • FNS MCP 表达的是“笔记语义 + vault + 权限 + 操作边界”。
  • AI Agent 直接走语义层,比绕文件系统更稳定。

6. 对旧方案的明确废弃

旧方案已废弃

后续不要再把 “Hermes 通过本地目录转 WebDAV,再转 OneDrive 抓取 Obsidian” 当成主方案。

以下思路全部降级:

  • Hermes -> 本地目录 -> WebDAV
  • Hermes -> /mnt/obsidian -> rclone copyto
  • Hermes -> OneDrive 远端对象存储语义
  • OneDrive + Remotely Save 继续作为主同步系统

如果 OneDrive 还保留,只允许它做:

  • 备份
  • 快照
  • 历史冗余副本

而不允许它做:

  • 与 FNS 并行双向改同一份 Obsidian 内容

7. 对 Hermes 的记忆对齐摘要

如果后续 Hermes 读取到这篇笔记,应以本节为准:

7.1 当前正确事实

  • Obsidian 当前主同步方案已从 OneDrive + Remotely Save/WebDAV 迁移到 FNS。
  • Hermes 连接 Obsidian 的推荐方式是:FNS MCP。
  • Hermes 的默认 Vault 是:feng。
  • Hermes 的 MCP 服务名是:fns_service。
  • Hermes 连接地址是本机:
    • http://127.0.0.1:9000/api/mcp

7.2 当前错误记忆

后续如果 Hermes 还保留以下旧记忆,应视为过时:

  • “优先读 /mnt/obsidian/”
  • “写文件先到 /tmp/ 再 rclone copyto”
  • “通过 WebDAV / OneDrive 间接操作 Obsidian”
  • “/srv/obsidian-mirror/ 是主写入目录”

7.3 当前正确动作准则

  • 要读写笔记:走 MCP
  • 要查 Vault:默认 feng
  • 要做备份:走镜像/快照层
  • 非必要不要直接碰底层文件系统

8. 后续运维建议

8.1 推荐保留

  • 保留 FNS 作为主同步系统
  • 保留 Cloudflare Tunnel 作为外网入口

注:本文涉及的服务器公网 IP / Tailnet / 局域网 IP 已脱敏,请替换为你自己的地址。


相关: 00-索引-AI工程索引 7.5 Onedrive 和 FastNote 方案对比