从 Dropbox 到 Seafile:让 NAS 上的文件逐渐长成知识库

技术专业 · 今天

前言

多年来,我一直将 Dropbox 作为最重要的资料管理和同步平台。

工作资料、学习笔记、家庭文档以及各种项目文件,几乎都依赖 Dropbox 在不同设备之间同步。

这个周末,我刚刚完成了一项重要工作——利用 Immich 替代 Google Photos,实现了照片的统一管理和自托管存储。

当照片完成迁移之后,一个新的问题自然摆在面前:

既然照片已经回到了自己的 NAS,那么文件是否也应该回到自己的 NAS?

于是我开始寻找 Dropbox 的替代方案。

经过一段时间调研和测试,最终选择了 Seafile。

而更有意思的是,在使用过程中,我发现 Seafile 不仅仅可以替代 Dropbox 的同步功能,还可以与 AI 能力结合,逐步构建属于自己的知识库体系。


为什么选择 Seafile

在 NAS 生态中,可选的文件同步方案很多:

  • Synology Drive
  • Nextcloud
  • OwnCloud
  • Resilio Sync
  • Seafile

最终选择 Seafile,主要基于三个考虑。

同步能力优秀

Dropbox 最大的优势一直都是同步。

而 Seafile 是少数能够在同步体验上接近 Dropbox 的开源产品。

它采用块级同步技术:

  • 文件仅上传变化部分
  • 大文件同步效率高
  • 网络带宽利用率更好
  • 多设备同步稳定

实际使用下来,同步体验完全达到预期。


数据掌握在自己手中

Dropbox 本质上仍然是 SaaS 服务。

虽然方便,但数据最终存放在第三方平台。

而 Seafile 部署在自己的 NAS 上:

  • 数据自主掌控
  • 不受订阅空间限制
  • 可以结合 NAS 实现多重备份
  • 不受平台政策变化影响

这一点与我选择 Immich 替代 Google Photos 的逻辑完全一致。


资源占用较低

我的设备是一台:

群晖 DS218+(10GB内存)

相比 Nextcloud 这种“大而全”的平台,Seafile 更专注于文件同步本身。

因此:

  • 部署简单
  • 资源占用低
  • 长期运行稳定

对于老款 NAS 非常友好。


从文件同步到知识管理

使用一段时间后,我发现一个问题:

Seafile 可以很好地解决文件同步问题。

但它并没有解决另一个问题:

如何快速找到文件中的知识?

随着资料越来越多:

  • 项目方案
  • 会议纪要
  • 学习笔记
  • 技术文档
  • 博客素材

虽然都保存在 Seafile 中,但真正需要某个内容时,依然需要:

  • 回忆文件名
  • 回忆目录结构
  • 手工搜索

而近年来 Dropbox 已经逐渐向智能内容平台发展。

例如:

  • AI 搜索
  • 内容摘要
  • 智能问答
  • 文档关联

这些能力恰恰是 Seafile 社区版所欠缺的。

于是我开始思考:

能否让 Seafile 专注存储,而把 AI 能力外挂出来?

最终形成了下面的架构。


Seafile + Open WebUI + RAG

整体架构如下:

Seafile
    │
    ▼
Seaf-CLI 实时同步
    │
    ▼
NAS 本地目录
    │
    ▼
oikb 自动同步
    │
    ▼
Open WebUI Knowledge
    │
    ▼
LiteLLM
    │
    ├── Gemini Flash(问答)
    └── Gemini Embedding(向量化)

整体思路非常简单:

第一层:Seafile

负责:

  • 文件存储
  • 文件同步
  • 版本管理

这一层不承担任何 AI 功能。


第二层:Seaf-CLI

这是整个方案最关键的一步。

Open WebUI 并不能直接读取 Seafile。

因此需要利用官方客户端:

seaf-cli

将 Seafile 库实时同步到 NAS 本地目录。

同步后的目录就是普通文件夹:

/work
/home
/study
/private

所有文件变化都会自动同步下来。


第三层:Open WebUI

Open WebUI 负责:

  • 文档解析
  • 向量存储
  • RAG 检索
  • AI 对话

这里我没有使用本地模型。

而是接入自己已经部署好的 LiteLLM 网关。


第四层:LiteLLM

LiteLLM 统一管理各种模型。

当前配置:

问答模型

gemini-2.5-flash

负责最终生成回答。


向量模型

gemini-embedding-001

负责:

  • 文档向量化
  • 问题向量化
  • 相似度检索

这是构建知识库必不可少的一层。


自动增量同步知识库

如果每次新增文件都手工上传知识库,这套体系就失去了意义。

因此我引入了:

oikb(Open WebUI Knowledge Base Sync)

它负责:

  • 自动扫描目录
  • 新文件自动入库
  • 修改文件自动更新
  • 删除文件自动清理
  • 定时增量同步

最终形成完整闭环:

文件放入 Seafile
        │
        ▼
自动同步到 NAS
        │
        ▼
自动更新 Open WebUI
        │
        ▼
自动生成向量
        │
        ▼
知识库实时更新

整个过程无需人工干预。


实际效果

部署完成后,最大的变化是:

我不再依赖目录结构寻找资料。

而是直接向自己的知识库提问。

例如:

工作场景

总结一下近三个月客服智能体建设进展

生活场景

我之前关于 Immich 迁移记录了哪些内容

当前感受

截至目前,Seafile 已经基本满足了我对 Dropbox 的同步需求。

但如果只看同步能力,它仍然只是一个文件管理工具。

真正让我看到价值的,是它与 AI 的结合。

我越来越认同一个思路:

存储和智能应该解耦。

Seafile 负责保存数据。

Open WebUI 负责理解数据。

LiteLLM 负责连接模型。

这样每一层都可以独立演进。

未来即使:

  • Seafile 换成其他同步平台;
  • Gemini 换成 Claude;
  • Open WebUI 换成新的 RAG 系统;

整体架构依然成立。


写在最后

从 Google Photos 迁移到 Immich,再从 Dropbox 迁移到 Seafile,我逐渐完成了个人数据体系的重要两步:

  • 照片回归自己掌控
  • 文件回归自己掌控

而现在正在进行第三步:

让这些数据真正具备知识价值。

目前 Seafile 仍处于试运行阶段,我还没有最终决定是否完全替代 Dropbox。

因为在文档智能化管理方面,两者仍然存在一定差距。

不过随着 Open WebUI、RAG 和大模型能力的不断完善,我越来越期待这样一种未来:

文件只是存储在那里,而知识能够主动被发现、被检索、被利用。

当有一天我不再需要记住文件放在哪里,而只需要向自己的数据提问时,也许这套体系才算真正成熟。

Theme Jasmine by Kent Liao