Files
nexus/openclaw/xingshu/obsidian-gitea-sync-blog.md

157 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 用 Obsidian + Gitea 为 AI 助手构建持久化记忆系统
> **本文发表于**2026-04-04
> **适用平台**Mac miniM4、工作 LaptopMacBook、iCloud Drive
> **前置工具**Obsidian、Gitea自建 Git 服务、OpenClaw
---
## 背景AI 的输出去哪儿了?
用 AI 助手多了你一定有这个体验一次对话里AI 给了一大堆有用的分析、结论、操作步骤——对话一结束,这些内容就消失在聊天记录里了。下次要用,还得重新描述上下文。
我是用一个自建的 **Gitea**`git.ishenwei.online`)结合 **Obsidian** 来解决这个问题的。AI 的输出直接写入 Obsidian 笔记,我的工作笔记在 Mac mini、工作 Laptop、iCloud Drive 三端同步,而所有历史版本都在 Gitea 中完整保留。
**一句话概括:用 Obsidian 做知识库,用 Gitea 做版本控制,用 OpenClaw 做写入接口。**
---
## 系统架构
```
用户(手机/PC
↓ Telegram / 指令
OpenClaw运行在 Mac mini Docker 中)
↓ obsidian skill
Obsidian 笔记库(~/Workspace/nexus
↓ iCloud Drive 自动同步
├─ Mac mini → 本地路径
├─ Laptop → iCloud Drive 路径
└─ Gitea → 自建 Git 仓库git.ishenwei.online
```
**三层同步逻辑:**
| 层级 | 工具 | 作用 |
|------|------|------|
| 实时同步 | iCloud Drive | Mac mini 与 Laptop 保持最新笔记同步 |
| 版本控制 | Gitea自建 Git | 记录每次变更历史,随时回溯 |
| 写入接口 | OpenClaw obsidian skill | AI 助手直接将输出写入笔记 |
---
## 核心OpenClaw 的 Obsidian Skill
OpenClaw 提供了一个 obsidian skill功能覆盖笔记的读取、搜索、创建和修改。当我让 AI 助手分析或总结某个话题时,可以直接让它把结果写入 Obsidian 笔记。
**obsidian skill 支持的操作:**
- `obsidian write` — 创建或覆盖一篇笔记
- `obsidian append` — 在已有笔记末尾追加内容
- `obsidian read` — 读取笔记内容
- `obsidian search` — 在笔记库中搜索关键词
- `obsidian update` — 修改笔记的特定部分
**所有笔记存放在统一路径:**
```
/Users/weishen/Workspace/nexus/
```
---
## 实际例子:自动更新家庭网络环境文档
举一个我每天都在用的例子。我有一篇笔记记录了我的家庭网络环境概览:
**`Technical/Home Office/🟢家庭网络环境概览_2026-04-03.md`**
这篇文章记录了 Mac mini、NAS、两台 Ubuntu 服务器上所有运行的服务、FRP 端口映射、域名映射表。每次我新增一个服务(比如部署了新的 Docker 容器),只需要告诉 AI 助手:
> "帮我更新网络环境概览,把新部署的 n8n-workflows-docs 服务加进去"
OpenClaw 会自动完成以下步骤:
1. 读取当前笔记内容
2. 找到对应的章节Ubuntu Server 2 的应用列表)
3. 在正确的位置插入新服务条目
4. 更新时间戳
5. 写回笔记文件
**更新前(片段):**
```markdown
### 安装的应用
| Name | Docker? | Note | Internal Address | Public Address |
| ------------------- | ------- | --------------------------- | ------------------------------- | -------------- |
| n8n | Yes | 工作流自动化平台 | http://192.168.3.45:5678/ | n8n.ishenwei.online |
| n8n_postgres | Yes | n8n PostgreSQL 数据库 | http://192.168.3.45:5432/ | |
```
**更新后(片段):**
```markdown
### 安装的应用
| Name | Docker? | Note | Internal Address | Public Address |
| ----------------------- | ------- | --------------------------- | ------------------------------- | --------------------- |
| n8n | Yes | 工作流自动化平台 | http://192.168.3.45:5678/ | n8n.ishenwei.online |
| n8n_postgres | Yes | n8n PostgreSQL 数据库 | http://192.168.3.45:5432/ | |
| n8n-workflows-docs | Yes | n8n 工作流文档服务 | http://192.168.3.45:8001/ | |
```
整个过程不需要我打开 Obsidian、不需要复制粘贴只需要一条指令。AI 理解了文档结构Markdown 表格),理解了服务信息的语义(端口、域名、用途),自动完成了插入。
---
## 版本管理的价值
因为笔记全部纳入 Gitea 管理,每次更新都对应一个 Git commit。这意味着
- **任何时候都能回溯** — 三个月前某台服务器上跑的什么服务,一个 `git log` 就能找到
- **变更有据可查** — "这个端口是什么时候改的?" → commit message 里写得清清楚楚
- **多人协作预留** — 未来如果想让其他 AI Agent 也参与协作Gitea 的权限体系天然支持
**Gitea 仓库信息:**
```
仓库地址ssh://git@192.168.3.189:2222/admin/nexus.git
本地路径:/Users/weishen/Workspace/nexus
SSH 认证:已配置 osxkeychain每次 push 无需输入密码
```
---
## 三端同步的实际体验
| 场景 | 行为 |
|------|------|
| 在 Mac mini 上让 AI 更新笔记 | 笔记实时写入本地目录iCloud Drive 自动同步到 Laptop |
| 在 Laptop 上打开 Obsidian | 直接看到 Mac mini 上的最新内容,无需任何手动操作 |
| 想回溯历史版本 | 打开 Gitea 网页端,或在 Obsidian 里用 Git 插件查看 commit log |
| AI 新增了内容 | commit 自动带有清晰的 message描述这次更新了什么 |
---
## 这个系统解决的核心问题
1. **AI 输出不再丢失** — 每次对话的有价值结论,直接落盘到笔记
2. **多端一致** — iCloud Drive 保证 laptop 和 Mac mini 永远在同一版本
3. **版本可溯** — Git 历史记录每一次变更的来源和内容
4. **被动更新** — 不需要主动维护文档AI 在执行任务的过程中顺手更新
**本质上是把 AI 变成了一个"会自动整理笔记的实习生"——它做完事,就会顺手把记录更新好。**
---
## 待探索的方向
- 让 AI 在执行 Cron 任务后自动写日志到对应笔记(如 NAS 服务状态更新后自动同步到网络环境文档)
- 利用 Obsidian 的 Callout 块(`> [!NOTE]`)让 AI 在笔记中标记"待确认"和"已确认"信息,方便人工复核
- 用 Gitea 的 Pull Request 做笔记变更 Review确保 AI 的写入经人工审批后再合并
---
*有问题或想法?欢迎通过 GitHub Issue 或直接 Telegram 联系我。*