免费构建智能笔记同步系统:用Obsidian Git与本地LLM替代官方服务 📅 2026/8/5 11:59:35 1. 为什么需要寻找 Obsidian Sync 的替代方案如果你和我一样是个重度使用 Obsidian 来管理知识、记录笔记的人那么你一定对“同步”这件事又爱又恨。爱的是它让你在手机、平板、电脑之间无缝切换随时随地都能访问你的知识库恨的是官方同步服务 Obsidian Sync 虽然稳定但每月 8 美元年付 96 美元的价格对于个人用户尤其是学生或预算有限的爱好者来说确实是一笔不小的持续开销。更关键的是它的核心功能——端到端加密的跨设备同步——并非不可替代。我们完全可以通过一些免费、开源的工具组合实现几乎相同的效果甚至还能解锁一些额外的玩法。这就是今天要聊的核心用Hermes Agent LLM Wiki和Obsidian Git这套组合拳彻底免费地替代 Obsidian Sync。你可能会问Git 同步不是老生常谈吗没错但传统的 Git 方案有几个痛点一是对非程序员用户不友好命令行操作有门槛二是移动端尤其是 iOS的 Git 客户端体验参差不齐配置繁琐三是单纯的 Git 同步缺乏“智能”层面的辅助。而我们今天要搭建的这套方案恰恰是针对这些痛点的一次全面升级。它不仅解决了同步问题还通过引入本地大语言模型LLM让你的知识库瞬间变成一个能对话、能总结、能帮你思考的“智能副脑”。听起来是不是有点未来感别急跟着这篇保姆级教程一步步来你也能拥有。2. 方案核心组件拆解Git 同步与 LLM 智能的融合在动手之前我们必须先理解这套方案的两个核心支柱各自扮演什么角色以及它们是如何协同工作的。这能帮助你在后续配置和 troubleshooting 时心里更有底。2.1 Obsidian Git可靠、免费的数据同步引擎Obsidian Git是一个 Obsidian 社区插件它的作用简单粗暴将你的整个 Obsidian 仓库Vault变成一个 Git 仓库。Git 是什么你可以把它理解为一个极其强大且免费的“版本控制同步”工具程序员们用它来协作写代码我们则用它来同步和备份笔记。它的工作原理是每隔一段时间比如你设置的 5 分钟插件会自动扫描你的笔记库如果发现有文件被新增、修改或删除它就会自动执行一次“提交”Commit相当于给当前的状态拍一张快照。然后它会将这个快照推送到你指定的远程 Git 仓库比如 GitHub、Gitee 或你自己的服务器。你的其他设备上只需要也安装 Obsidian Git 并拉取Pull这个远程仓库就能获得完全相同的笔记内容。为什么选择它作为同步核心完全免费Git 服务本身免费像 GitHub 的私有仓库也完全免费有一定容量限制但对纯文本笔记来说绰绰有余。历史版本回溯这是超越 Obsidian Sync 的功能。任何一次错误的修改、误删都可以轻松回滚到历史上的任何一个“快照”点。跨平台兼容性极佳无论是 Windows、macOS、Linux还是通过一些方法在移动端后面会讲Git 的协议都是通用的。社区成熟问题好解决Git 拥有庞大的用户群和社区你遇到的几乎所有问题都能找到解决方案。2.2 Hermes Agent LLM Wiki你的本地知识库智能助理这是本方案的“灵魂”和亮点所在。Hermes Agent是一个开源项目它本质上是一个智能体Agent框架。而LLM Wiki是它的一种应用模式专门为像 Obsidian 这样的本地知识库Wiki设计。你可以把它想象成驻扎在你电脑上的一个“私人秘书”。这个秘书能读懂你笔记库里所有的内容基于你选择的本地大语言模型如 ChatGLM3、Qwen 等并且能根据你的问题在这些笔记中查找、分析、总结信息然后以对话的形式回答你。它解决了什么问题信息检索效率当你的笔记库有成千上万条笔记时靠搜索关键词找信息可能不够精准。你可以直接问它“我上周读的那篇关于神经网络剪枝的论文核心创新点是什么”它会去找到相关笔记并总结给你。知识关联与发现你可以问“关于‘项目管理’和‘心理学心流状态’我的笔记里有哪些交叉点”它能帮你发现你自己都没意识到的知识连接。内容创作辅助你可以让它基于你已有的笔记帮你起草一篇文章的大纲或者整理一份某个主题的学习路径。完全本地化隐私无忧所有数据处理和模型推理都在你的本地设备上完成你的笔记内容不会上传到任何第三方服务器安全性极高。两者的协同关系Obsidian Git 负责确保你所有设备上的“数据源”即笔记文件是一致的、最新的。而 Hermes Agent LLM Wiki 则运行在你指定的某一台主力设备上通常是性能较好的台式机或笔记本作为智能查询中心。你在这台设备上向 Hermes Agent 提问它基于本地的、最新的笔记文件给你答案。其他设备如手机、平板虽然不运行 Hermes Agent但通过 Git 同步它们始终拥有最新的笔记数据可以用于纯阅读和编辑。3. 从零开始的保姆级配置流程理解了原理我们开始实战。整个过程分为三大步搭建 Git 同步环境、配置 Hermes Agent LLM Wiki、最后进行移动端的适配。请严格按照顺序操作。3.1 第一步搭建基于 Obsidian Git 的同步体系这是基础必须首先打通。1. 创建远程 Git 仓库我们以国内访问速度较快的Gitee码云为例GitHub 操作类似。访问 gitee.com 注册并登录。点击右上角 “” - “新建仓库”。仓库名称可以设为my-obsidian-notes或其他你喜欢的名字。权限务必选择“私有”除非你想公开你的所有笔记。其他选项保持默认点击“创建”。创建成功后记下仓库的HTTPS 克隆链接形如https://gitee.com/your-username/my-obsidian-notes.git。2. 在主力电脑上初始化本地 Obsidian 仓库并连接 Git打开 Obsidian创建一个新的仓库或打开你现有的仓库。进入“设置” - “社区插件”关闭安全模式点击“浏览”搜索并安装Obsidian Git插件。安装后记得启用它。现在你需要让你的本地文件夹变成一个 Git 仓库并与远程仓库关联。这里有两种方法推荐方法二图形化方法一命令行更底层打开终端或 Git Bash导航到你的 Obsidian 仓库根目录。依次执行git init git add . git commit -m Initial commit git remote add origin https://gitee.com/your-username/my-obsidian-notes.git git push -u origin main # 或 master取决于Gitee默认分支名方法二利用VSCode更直观安装 Visual Studio Code用 VSCode 打开你的 Obsidian 仓库文件夹。侧边栏点击源代码管理图标或按 CtrlShiftG初始化仓库然后暂存所有更改输入提交信息最后点击“...”选择“推送到”并粘贴上方的远程仓库地址。VSCode 的图形界面会引导你完成所有步骤对新手更友好。关键点无论用哪种方法首次推送可能会要求你输入 Gitee 的用户名和密码。Gitee 现在通常要求使用个人访问令牌Token代替密码。你需要去 Gitee 的“设置” - “安全设置” - “私人令牌”中生成一个并赋予“projects”权限。在命令行或 VSCode 弹出认证窗口时用户名填你的 Gitee 用户名密码就填这个 Token。3. 配置 Obsidian Git 插件回到 Obsidian点击左侧边栏刚出现的 Git 图标或去插件设置里。常规设置自动拉取建议开启例如间隔 5 分钟。这样每次打开 Obsidian它能自动从远程拉取别人或其他设备的更改。自动提交建议开启例如间隔 10 分钟。它会自动帮你提交本地更改。自动推送建议开启。在自动提交后自动推送到远程仓库。提交信息可以自定义例如vault backup: {{date}}。高级设置禁用推送通知如果你觉得推送成功的通知烦人可以开启。拉取更新后合并冲突的处理方式建议选择“合并”如果遇到无法自动解决的冲突它会提示你手动解决。配置完成后点击一下“推送”按钮确保你的初始笔记已经成功上传到 Gitee。以后这个插件就会在后台默默为你工作。3.2 第二步部署与配置 Hermes Agent LLM Wiki这是最具技术含量但也最有趣的一步。我们将采用 Docker 部署这是最简单、最干净的方式能避免复杂的 Python 环境冲突。1. 前期准备安装 DockerWindows/macOS前往 Docker 官网下载 Docker Desktop 并安装。安装后启动 Docker Desktop。Linux根据你的发行版使用包管理器安装 Docker Engine 和 Docker Compose。例如 Ubuntusudo apt update sudo apt install docker.io docker-compose sudo systemctl start docker sudo systemctl enable docker # 将当前用户加入docker组避免每次用sudo sudo usermod -aG docker $USER # 注销并重新登录使组生效2. 获取 Hermes Agent 配置Hermes Agent 的配置通常以一个docker-compose.yml文件为核心。你需要找到最新的、支持 LLM Wiki 模式的配置。由于项目更新快最可靠的方法是访问其官方 GitHub 仓库例如github.com/Hermes-Agent/Hermes-Agent或相关 fork查看examples或deploy目录。假设我们找到了一个基础的docker-compose.yml内容大致如下请务必以官方最新版本为准version: 3.8 services: hermes-agent: image: hermesagent/hermes-agent:latest container_name: hermes-agent restart: unless-stopped ports: - 3000:3000 # Web 界面端口 volumes: - ./data:/app/data # 持久化数据 - /path/to/your/obsidian/vault:/app/vault:ro # 关键将本地Obsidian仓库挂载进去 environment: - MODEwiki # 运行在 Wiki 模式 - LLM_MODELlocal # 使用本地模型 - LOCAL_MODEL_PATH/app/data/models/qwen2.5-7b-instruct-q4_k_m.gguf # 示例模型路径 - EMBEDDING_MODELlocal - LOCAL_EMBEDDING_MODEL_PATH/app/data/models/bge-small-zh-v1.5.gguf command: --wiki-path /app/vault --host 0.0.0.0将这个文件保存到你电脑的某个目录例如~/hermes-agent。3. 关键配置详解与修改volumes部分这是连接 Hermes Agent 和你的 Obsidian 笔记的关键。- ./data:/app/data将容器内的/app/data目录映射到宿主机的./data目录用于保存模型文件、向量数据库等持久化数据。- /path/to/your/obsidian/vault:/app/vault:ro你必须修改这一行。将/path/to/your/obsidian/vault替换为你本地 Obsidian 仓库的绝对路径。后面的:ro表示“只读”防止 Hermes Agent 意外修改你的源笔记文件非常安全。environment部分MODEwiki指定运行模式。LLM_MODELlocal和EMBEDDING_MODELlocal指定使用本地模型。LOCAL_MODEL_PATH和LOCAL_EMBEDDING_MODEL_PATH你需要下载对应的模型文件。以示例中的qwen2.5-7b-instruct-q4_k_m.gguf和bge-small-zh-v1.5.gguf为例你可以从 Hugging Face 或 ModelScope 等平台下载。下载后将其放入上一步映射的./data/models/目录下需要你先创建models文件夹。模型选择上7B 参数左右的量化模型GGUF 格式对消费级显卡甚至纯 CPU比较友好。command部分--wiki-path /app/vault告诉 Hermes Agent 你的知识库在哪里。4. 下载模型并启动服务在你保存docker-compose.yml的目录~/hermes-agent下创建必要的文件夹mkdir -p data/models将下载好的模型文件如qwen2.5-7b-instruct-q4_k_m.gguf放入data/models/。在终端中进入该目录启动服务cd ~/hermes-agent docker-compose up -d-d表示后台运行。首次运行会拉取 Hermes Agent 的 Docker 镜像并加载模型可能需要几分钟到十几分钟取决于你的网络和模型大小。5. 访问与使用启动成功后打开浏览器访问http://localhost:3000。你应该能看到 Hermes Agent 的 Web 界面。它可能会提示你进行初始设置比如选择语言、确认知识库路径等。按照指引完成即可。完成后你就可以在聊天框里输入问题了例如“总结一下我笔记中关于 Docker 的核心要点。” 它会开始索引你的笔记首次需要一些时间构建向量数据库然后给出回答。注意模型加载需要占用较多内存和显存。如果启动失败查看日志docker-compose logs hermes-agent常见问题是模型路径不对或内存不足。对于纯 CPU 运行可能需要更小的模型如 3B 参数或增加 Docker 容器的内存限制。3.3 第三步其他设备的同步配置与移动端适配现在你的主力电脑已经拥有了“自动同步智能助理”。接下来让其他设备比如办公室电脑、家里的笔记本也加入同步网络并解决移动端手机/平板的编辑问题。1. 其他电脑Windows/macOS/Linux在这台新电脑上安装 Obsidian 和 Obsidian Git 插件。克隆远程仓库在 Obsidian 中选择“打开文件夹作为仓库”但先不要选本地文件夹。而是去终端或 Git 图形化工具中执行git clone https://gitee.com/your-username/my-obsidian-notes.git /path/where/you/want然后用 Obsidian 打开克隆下来的这个文件夹。配置 Obsidian Git 插件同主力电脑开启自动拉取/提交/推送。这样这台电脑也加入了自动同步网络。2. 移动端iOS/Android的终极方案这是免费方案中最具挑战的一环因为 Obsidian 移动版不支持社区插件包括 Obsidian Git。我们有几种思路方案A纯同步与只读/简易编辑推荐同步使用Git 同步 App。在 iOS 上Working Copy是一款强大的付费 Git 客户端GitJournal是免费选择。在 Android 上MGit是不错的选择。在这些 App 中配置好你的 Gitee 仓库定期拉取和推送。编辑在 Obsidian Mobile 中打开 Working Copy 拉取下来的仓库文件夹进行编辑。编辑完后回到 Working Copy 提交并推送。这需要手动操作但免费。简化你可以配置 Working Copy 的“文件夹同步”功能让它自动将某个目录与 Obsidian Mobile 的仓库目录同步减少一次手动打开的操作。方案B利用第三方云盘桥接折中在主力电脑上使用rclone、Syncthing或云盘客户端的同步文件夹功能将你的 Obsidian 仓库同步到 iCloud Drive、OneDrive、Dropbox 或国内云盘的一个文件夹中。在移动端 Obsidian 中直接打开这个云盘同步文件夹。这样实现了文件层面的同步但失去了 Git 的版本历史功能。这可以作为 Git 同步的一个补充或简易替代特别是对于临时在移动端做快速编辑的场景。方案C远程桌面或SSH硬核在移动端使用远程桌面 App如 Microsoft Remote Desktop, Jump Desktop连接到你的主力电脑进行操作。或者使用 Termius 等 SSH 客户端连接到主力电脑用命令行进行 Git 操作和笔记编辑如使用 Vim 编辑 Markdown。这适合极客用户。我个人最常用的模式是“方案A”在手机上我主要进行碎片化阅读和轻量记录。我会用 Working Copy 定期拉取更新然后在 Obsidian Mobile 里阅读。如果需要记录就在 Obsidian 里写好然后切回 Working Copy 提交推送。虽然多了一步切换但保留了完整的 Git 工作流和版本历史心里踏实。4. 高级技巧与日常维护心得配置好了只是开始如何用得顺手、用得长久才是关键。这里分享一些我踩过坑后总结的经验。4.1 处理 Git 冲突当多设备同时修改同一文件时这是分布式同步无法避免的问题。Obsidian Git 插件检测到冲突时会在界面上给出提示。文件内容会变成类似这样 HEAD 这是我在手机上写的内容。 这是我在电脑上写的内容。 a1b2c3d4...解决步骤不要慌张Git 已经帮你把两个版本都保留下来了。手动打开这个文件仔细阅读 HEAD和之间当前设备版本以及和之间合并进来的版本的内容。决定如何合并也许保留一个也许把两者合理的部分整合在一起。删除 HEAD a1b2c3d4...这些标记保存文件。在 Obsidian Git 插件界面你会看到这个文件又出现了更改。这次是你解决冲突后的内容。提交这次更改并推送即可。预防冲突的最佳实践养成“推拉”习惯在开始编辑前先手动点击一下“拉取”Pull。编辑完成后立即“提交并推送”Commit Push。这能极大减少冲突窗口期。细分笔记不要把所有内容都写在一个巨大的“日记.md”文件里。按照主题、项目建立不同的笔记文件。文件越小、越专注冲突概率越低。利用“自动拉取”将 Obsidian Git 的自动拉取间隔设短一些如 2-5 分钟让各设备状态尽快同步。4.2 优化 Hermes Agent 的问答效果Hermes Agent 的回答质量取决于三个因素模型能力、索引质量、提问方式。模型选择从简单的开始。Qwen2.5-7B-Instruct或ChatGLM3-6B的 4-bit 量化版本GGUF是很好的起点。如果回答不够精准可以尝试更大的模型如 14B但需要更强的硬件。可以在docker-compose.yml中更换LOCAL_MODEL_PATH指向新模型并重启容器。索引向量数据库重建当你新增了大量笔记或者发现 Hermes Agent 总是遗漏某些文件时可能需要重建索引。通常 Web 界面有“重建索引”或“刷新知识库”的按钮。如果没有可以尝试重启 Docker 容器docker-compose restart它通常会在启动时检查并更新索引。提问技巧Prompt Engineering具体化不要问“我的笔记里有什么关于 Python 的”而是问“在我的笔记中关于 Python 异步编程asyncio的使用场景有哪些具体例子”指令化明确告诉它你要什么格式。“请以表格形式总结我‘项目复盘’文件夹下所有笔记中提到的三个主要挑战和应对方案。”结合上下文如果它回答偏了你可以引用它之前的回答或提供更多背景。“根据你刚才提到的 A 方法在我的笔记里有没有记录过它的缺点”4.3 数据备份与安全考量免费不代表不安全我们需要自己做好备份。Git 远程仓库本身就是备份你的代码托管平台Gitee/GitHub是第一个异地备份。本地多重备份定期例如每周将整个 Obsidian 仓库文件夹复制到另一个物理硬盘或 NAS 上。可以使用rsyncLinux/macOS或FreeFileSyncWindows等工具进行增量同步。加密敏感笔记如果笔记中有极度敏感的内容Obsidian 社区有像Cryptsidian这样的插件可以对单个笔记进行加密。或者将敏感笔记单独放在一个用VeraCrypt创建的加密卷里再让 Obsidian 引用它。Docker 数据卷备份Hermes Agent 的向量数据库和配置在./data目录。定期备份这个目录可以在更换机器时快速恢复智能助理的“记忆”。使用docker-compose down停止服务后直接打包备份data文件夹即可。5. 常见问题排查与解决方案即使按照教程你也可能会遇到一些坑。这里列出我遇到过的典型问题及其解法。问题1Obsidian Git 插件推送失败报错“Authentication failed”原因Gitee 等平台已普遍使用个人访问令牌Token代替密码进行 HTTPS 操作。解决在 Gitee 上生成一个新的 Token记得勾选projects权限。在电脑上清除旧的 Git 凭据缓存。Windows在“控制面板” - “用户账户” - “凭据管理器” - “Windows 凭据”中找到git:https://gitee.com相关的凭据删除它。macOS/Linux在终端执行git credential-osxkeychain erase(macOS) 或手动编辑~/.git-credentials文件。下次 Obsidian Git 尝试推送时它会重新弹出认证窗口此时用户名填 Gitee 用户名密码填新生成的 Token。问题2Hermes Agent Web 界面打不开localhost:3000 无法连接原因1Docker 服务没有成功启动。排查在终端运行docker-compose ps查看hermes-agent容器的状态是否为Up。运行docker-compose logs hermes-agent查看启动日志通常会有错误信息如模型文件找不到、端口被占用。原因2模型文件路径错误或模型文件损坏。排查确认docker-compose.yml中LOCAL_MODEL_PATH指向的路径在容器内是否存在且文件名完全正确。确认你下载的模型文件是完整的 GGUF 格式文件。原因3防火墙或安全软件阻止了 3000 端口。排查暂时关闭防火墙试试或者检查 Docker 的防火墙规则。问题3Hermes Agent 回答“未找到相关信息”但笔记里明明有原因1笔记尚未被索引。解决首次启动或新增大量笔记后需要时间构建向量索引。查看容器日志看是否有索引进程在运行。通常 Web 界面有触发重建索引的按钮。原因2文件格式或编码问题。解决确保你的笔记是 UTF-8 编码的纯文本 Markdown 文件。Hermes Agent 可能无法正确解析某些特殊字符或非常规编码。原因3提问方式太模糊。解决尝试更具体的关键词提问或者先问“我的知识库中包含哪些主题”来测试它是否真的读到了内容。问题4移动端 Git 客户端操作复杂容易忘解决建立简单的操作流程。例如在手机主屏幕创建两个快捷方式一个打开 Obsidian一个打开 Working Copy。形成肌肉记忆“打开 Obsidian 前先开 Working Copy 拉一下关闭 Obsidian 前先开 Working Copy 提交推送一下”。也可以利用 Working Copy 的“定时拉取”功能设置每小时自动拉取一次减少手动操作。这套组合方案我从半年前开始搭建并持续使用至今已经完全替代了付费的 Obsidian Sync。它带来的不仅仅是每月省下的几十块钱更是一种对个人数据完全掌控的踏实感以及一个真正“活”起来的、能与自己对话的知识库。初期配置确实需要投入一些时间和精力但一旦跑通其稳定性和扩展性带来的回报是巨大的。希望这篇超详细的指南能帮你顺利搭建起属于自己的免费、智能笔记同步系统。