侧边栏壁纸
博主头像
龍騰博客 博主等级

行动起来,活在当下

  • 累计撰写 171 篇文章
  • 累计创建 31 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

Obsidian + WorkBuddy + SER8 保姆级搭建教程

管理员
2026-08-10 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

适用场景:MacBook Pro(已装 Hermes + WorkBuddy)+ SER8 fnOS(已装 Docker、Ollama、llama.cpp) 目标:用 SER8 存数据、跑本地模型,MacBook 上原生 Obsidian 写作,公文/心得走本地模型保密,学习资料走云端模型提效率。


整体架构一览

┌─────────────────────────┐        Syncthing 实时同步          ┌──────────────────────────┐
│   MacBook Pro 2023      │ ◄───────────────────────────────► │   SER8 (fnOS + Docker)   │
│                         │                                   │                          │
│  - Obsidian(原生App)    │         局域网调用模型              │  - Syncthing(存 Vault)  │
│  - WorkBuddy            │ ◄────────────────────────────────►│  - Ollama (Qwen2.5:14b)  │
│  - Hermes(轻量/备用)    │                                   │  - llama.cpp (Qwythos-9B,│
│                         │                                   │    Qwen3.6-35B MoE)      │
└─────────────────────────┘                                   │  - Hermes(定时采集任务)   │
                                                              └──────────────────────────┘

核心分工:Mac 负责界面和交互,SER8 负责存储和算力。Obsidian 本体不需要装在 SER8 上。


第一步:SER8 上部署 Syncthing(用来同步 Vault)

Syncthing 比 WebDAV 挂载更稳,断网也能本地写,联网自动合并,不会因为 NAS 重启导致 Mac 端笔记打不开。

1.1 在 SER8 上创建 docker-compose 文件

在你惯用的 Docker 目录下(比如 /vol3/1000/docker/syncthing/)新建 docker-compose.yml

services:
  syncthing:
    image: syncthing/syncthing:latest
    container_name: syncthing
    hostname: ser8-syncthing
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - /vol3/1000/docker/syncthing/config:/var/syncthing/config
      - /vol3/1000/docker/obsidian-vault:/var/syncthing/vault   # 这个文件夹就是你的 Vault 数据
    ports:
      - 8384:8384      # Web 管理界面
      - 22000:22000/tcp
      - 22000:22000/udp
      - 21027:21027/udp
    restart: unless-stopped

1.2 启动

在 fnOS 的 Docker 面板里导入这个 compose 文件,或者 SSH 进去执行:

cd /vol3/1000/docker/syncthing
docker compose up -d

1.3 打开管理界面

浏览器访问 http://SER8的IP:8384,会看到 Syncthing 的 Web 界面。第一次进去会提示设置访问密码,设置一下。

1.4 添加要同步的文件夹

在界面里点「添加文件夹」,路径填 /var/syncthing/vault,文件夹 ID 随便起个名字比如 obsidian-vault,先不要点「共享」,等 Mac 端装好了再连。


第二步:MacBook 上装 Syncthing 客户端

2.1 安装

最简单的方式是用 Homebrew:

brew install syncthing
brew services start syncthing

如果没装过 Homebrew,官网下载安装包也行:https://syncthing.net/downloads/

2.2 打开管理界面

启动后浏览器访问 http://localhost:8384,能看到 Mac 本机的 Syncthing 界面。

2.3 添加对方设备

  • Mac 端界面里点「添加远程设备」,填入 SER8 那边 Syncthing 界面右上角显示的「设备 ID」。

  • 回到 SER8 端界面,会弹出"发现新设备"的提示,点接受。

2.4 共享文件夹

  • 回到 SER8 端,找到刚才建的 obsidian-vault 文件夹,点「编辑」→「共享」,勾选刚添加的 Mac 设备。

  • Mac 端会弹出"对方想给你共享一个文件夹"的提示,点接受,选一个本地路径,比如 ~/Documents/ObsidianVault

等两边状态都显示"最新"(绿色对勾),说明同步链路打通了。以后你在 Mac 上改笔记,几秒内就会同步到 SER8,反过来也一样。


第三步:MacBook 上安装 Obsidian(原生 App)

3.1 下载安装

官网下载:https://obsidian.md/download,选 macOS 版本,拖进「应用程序」文件夹即可,跟装普通 Mac App 一样简单。

3.2 打开 Vault

  • 第一次启动会问「打开一个已有的 Vault 还是新建」,选 「打开文件夹作为 Vault」

  • 选中第二步里 Syncthing 同步下来的那个文件夹(~/Documents/ObsidianVault)。

这样 Obsidian 打开的就是同步文件夹,你写的每一篇笔记都会自动流转到 SER8。


第四步:设计 Vault 文件夹结构(分敏感区)

在 Obsidian 里(或者直接在 Finder 里)建好这套结构,之后无论是手动整理还是让 WorkBuddy 自动整理,都按这个规则走:

ObsidianVault/
├── 涉密工作区/
│   ├── 公文报告/
│   ├── 学习心得/
│   ├── 发言材料/
│   └── 风格样本/        ← 放你最满意的几篇范文,供 AI 参考文风
├── 学习资料区/
│   ├── 智能家居/
│   ├── AI与大模型/
│   ├── 路由器与网络/
│   └── raw/              ← 未整理的原始剪藏、教程链接
└── .obsidian/             ← Obsidian 自动生成,不用管

记住这条原则涉密工作区 里的内容以后只允许过本地模型(SER8 的 Ollama/llama.cpp),学习资料区 可以随便用云端模型。文件夹隔离是最简单可靠的防错方式,不要依赖"自己记得切换"。


第五步:给 Vault 做 Git 版本管理(重要,先做这步再放开 AI 权限)

这一步是为了防止之后 WorkBuddy 自动整理出错时能回滚,强烈建议不要跳过。

cd ~/Documents/ObsidianVault
git init
echo ".obsidian/workspace.json" >> .gitignore
echo ".trash/" >> .gitignore
git add .
git commit -m "初始化 Vault"

以后每次让 AI 做批量整理前,习惯性 git add . && git commit -m "整理前快照",整理完发现不对劲就能 git checkout 回去。


第六步:确认 SER8 上的本地模型可以被局域网访问

在 Mac 上执行下面命令,测试能不能连到 SER8 的 Ollama:

curl http://192.168.0.188:11434/api/tags

(把 IP 换成你实际的 SER8 地址)如果返回一堆模型信息的 JSON,说明局域网调用没问题。llama.cpp 的两个端口(8082、8083)同理测试。


第七步:配置 WorkBuddy 的两套模型工作空间

打开 Mac 上已装好的 WorkBuddy:

7.1 涉密工作区 → 只接本地模型

  1. 左下角头像/设置 → 模型 → 添加自定义模型

  2. 类型选 OpenAI 兼容接口,地址填 http://192.168.0.188:11434/v1(Ollama)

  3. 新建一个 WorkBuddy 工作区,工作目录指向 ~/Documents/ObsidianVault/涉密工作区

  4. 这个工作区的模型手动锁定为刚才添加的本地模型,不要给它接任何云端 API Key

7.2 学习资料区 → 用云端模型

  1. 另建一个 WorkBuddy 工作区,工作目录指向 ~/Documents/ObsidianVault/学习资料区

  2. 模型随意选 WorkBuddy 内置的 DeepSeek / Kimi 等云端选项

两个工作区物理上对应两个文件夹,模型配置各自独立,避免混用出错。


第八步:让 WorkBuddy 认识你的 Vault 和整理规则

涉密工作区里,跟 WorkBuddy 说类似这样的话,让它建一个技能:

帮我创建一个技能,名字叫「公文知识库整理」。我的 Vault 路径是 ~/Documents/ObsidianVault/涉密工作区。整理规则:

  1. 学习心得放进 学习心得/ 子目录,按主题打标签;

  2. 发言材料放进 发言材料/,标注场合和日期;

  3. 工作报告放进 公文报告/

  4. 如果新内容和已有笔记观点相关,用 Obsidian 双链 [[笔记名]] 关联起来;

  5. 写新报告时,参考 风格样本/ 文件夹里范文的语言风格和句式习惯;

  6. 每处理完一批文件,在对应笔记的 frontmatter 里加 sensitive: true 标记。

学习资料区同理,规则可以放松一些,重点是分类到 智能家居/AI与大模型/路由器与网络/ 并打好标签。


第九步:先小批量试跑,再放开处理全部 100 多篇存量文章

  1. 先把 5-10 篇文章丢进对应工作区的一个"待处理"文件夹。

  2. 让 WorkBuddy 按第八步定的规则处理这一小批。

  3. 打开 Obsidian 检查结果:分类对不对、标签合不合理、双链有没有乱建。

  4. 满意了再把剩下 100 多篇一次性丢进去处理,处理前记得先 git commit 一次快照。


第十步(可选):给 Obsidian 装两个搜索/问答插件

原生 Obsidian 装好插件后,即使不用 WorkBuddy,也能直接在笔记里搜索和问答:

  1. Obsidian 设置 → 第三方插件 → 关闭安全模式 → 浏览社区插件

  2. 搜索安装 Smart Connections(语义搜索相关笔记)和 Copilot for Obsidian(聊天侧边栏)

  3. 两个插件的模型后端都指向 http://192.168.0.188:11434(涉密内容务必用这个,别手滑填了云端 API)


第十一步:SER8 上的 Hermes 做自动化采集(针对学习资料区)

你 SER8 上已经装了 Hermes,可以让它专门负责"进货"——定时把你在 Feishu/Telegram 上转发的智能家居/AI/路由器相关链接,抓取整理进 学习资料区/raw/,不用手动搬运。这块因为不涉密,让它常驻后台跑没问题。Mac 上的 Hermes 如果没有额外用途,建议先停用,避免两边配置冲突。


检查清单(全部完成再放心用)

  • [ ] SER8 Syncthing 容器正常运行,Web 界面能打开

  • [ ] Mac Syncthing 已连接 SER8,文件夹同步状态显示"最新"

  • [ ] Mac 上原生 Obsidian 打开的是同步文件夹

  • [ ] Vault 里建好「涉密工作区」「学习资料区」两级目录结构

  • [ ] Vault 已 git init 并完成首次 commit

  • [ ] curl 测试确认 Mac 能访问 SER8 的 Ollama/llama.cpp 接口

  • [ ] WorkBuddy 两个工作区分别配置好本地/云端模型,且没有接反

  • [ ] 涉密工作区的 WorkBuddy 技能规则已设定,且知道去哪找「风格样本」

  • [ ] 小批量试跑通过,再处理全部存量文章


常见问题

Q:Syncthing 冲突了怎么办? 两边同时改了同一篇笔记,Syncthing 会自动生成一个 .sync-conflict 后缀的副本文件,不会丢数据,手动对比合并一下就行。

Q:不小心把云端模型接到了涉密工作区怎么办? 立刻去 WorkBuddy 设置里把该工作区模型切回本地,之后处理过的敏感笔记建议视为已泄露风险,评估要不要更换措辞或走内部渠道报备,具体按你所在单位的保密规定处理。

Q:SER8 重启后 Ollama/Syncthing 没自动起来? 检查 compose 文件里是不是写了 restart: unless-stopped,这个配置能保证 Docker 服务在 NAS 重启后自动拉起。

0

评论区