· Jeff · 教程  · 5 分钟阅读

Obsidian Git 三方同步手册

从零开始,搭建个人知识库

从零开始,搭建个人知识库
  • Obsidian + Git + 云端服务器 三方同步部署手册

    来源:AtomCollide AI 实验室 · 飞书文档 版本:v2.2(2026-06-05)聚合权威版 贡献者:PR v2.1 + jkl 评审 + 陈宇锋 评审 链接:https://vcnvmnln7wit.feishu.cn/wiki/MQvjwAAp4iuc1Dk6tIacSlrxntc

    一、架构说明

    ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
    │   本地电脑   │ ←→  │   Git平台    │ ←→  │   云端服务器 │
    │  (Obsidian) │     │  (私有仓库)  │     │   (Linux)   │
    └─────────────┘     └─────────────┘     └─────────────┘
          ↑                     ↑                     ↑
      Git插件自动同步       中央存储仓库        定时同步脚本
      (每5分钟pull/push)   (24小时运行)        (每5分钟git pull)

    同步流程

    1. 本地 → Git:Obsidian Git 插件自动 push(每 5 分钟)
    2. Git → 服务器:定时同步脚本自动 pull(每 5 分钟)
    3. 服务器 → Git:AI 写入后自动 push(秒级)
    4. Git → 本地:Obsidian Git 插件自动 pull(每 5 分钟)

    二、核心改进(v2.0 → v2.2)

    维度v2.0 原版v2.2 改进版
    小白 5 分钟成功率50%100%
    数据丢失风险高(—theirs 静默吃修改)零(策略可配置 + 飞书告警)
    凭证安全永久明文5 分钟缓存 / systemd-creds
    AI 同步延迟5+ 分钟(等 cron)秒级(写入即推)
    文档一致性分叉打架唯一权威版本
    隐私安全冲突目录裸奔月度自检 + 脱敏提醒
    冲突预防无架构目录级隔离(90% 消除)
    反向流程手动 5 步拆解一键脚本
    同步可观测性离线时黑盒心跳 + 飞书 + 元数据

    三、冲突策略配置(核心架构)

    .sync-policy.json 按目录配置冲突解决方式:

    策略行为适用场景
    manual暂停同步,stash 本地修改,发飞书告警核心知识、治理规则
    ours以本地为准,保留服务器/AI 的修改AI 工作区、同步元数据
    theirs以远端为准,本地修改备份到 .conflict_backup/外部资源、归档文件

    四、AI 写入权限矩阵

    目录AI 可写人工可写冲突策略
    00-Foundations/❌ 否✅ 唯一manual
    01-Active/✅ 主要✅ 协作ours
    02-Archive/✅ 自动⚠️ 谨慎theirs
    03-External/Inbox/✅ 写入❌ 不写theirs
    03-External/references/✅ 自动⚠️ 校对theirs
    04-Governance/❌ 否✅ 唯一manual
    05-Sync/✅ 自动❌ 不写ours
    _templates/❌ 否✅ 唯一manual
    AGENTS.md⚠️ 提议✅ 拍板manual

    五、推荐目录结构

    obsidian-vault/
    ├── 00-Foundations/          # 基础层(冷记忆)— 人工专属
    │   ├── who-we-are.md
    │   ├── tech-standards.md
    │   └── anti-patterns.md
    ├── 01-Active/              # 活跃层(热记忆)— AI + 人工协作
    │   ├── index.md            # Dataview 索引 + 健康度面板
    │   ├── projects/
    │   └── operations/
    ├── 02-Archive/             # 归档层 — AI 自动归档
    ├── 03-External/            # 外部资源 — AI 写入
    │   ├── Inbox/
    │   └── references/
    ├── 04-Governance/          # 治理层 — 人工专属
    ├── 05-Sync/                # 同步元数据
    │   ├── sync-status.json
    │   └── conflict-log.md
    ├── _templates/
    ├── AGENTS.md               # AI 行为契约
    ├── .sync-policy.json       # 冲突策略配置
    └── README.md

    六、AGENTS.md 写入铁律

    AI 写入白名单01-Active/02-Archive/03-External/05-Sync/ AI 写入黑名单(需明确授权):00-Foundations/04-Governance/_templates/

    AI 每次写完笔记后立即:

    git add . && git commit -m "ai: ${TOPIC}" && git push origin master

    七、安全要点

    • 仓库必须私有
    • 服务器端凭证使用 git config credential.helper 'cache --timeout=300'(5 分钟内存缓存)
    • 严禁 git config credential.helper store(明文存储 token)
    • .gitignore 包含 .obsidian/workspace*.json.obsidian/plugins/*/data.json.conflict_backup/
    • 月度脱敏自检:grep -rE "(password|api_key|secret|token)" .conflict_backup/

    八、改进点优先级(12 项)

    改进严重度说明
    P0-1 用户名替换陷阱🔴 必修$(whoami) 变量替代硬编码路径
    P0-2 冲突策略可配置🔴 必修.sync-policy.json 按目录配置
    P0-3 凭证安全🔴 必修cache --timeout=300 替代 store
    P0-4 AI 写完不 push🔴 必修写入即推,不等 cron
    P1-1 文档分叉🟡 建议唯一权威版本
    P1-2 隐私泄漏🟡 建议.gitignore + 脱敏自检
    P1-3 目录级隔离🟡 建议写入权限矩阵
    P1-4 一键卸载🟡 建议反向流程脚本
    P2-1 自愈+告警🟢 锦上添花连续失败检测 + 飞书告警
    P2-2 同步元数据🟢 锦上添花05-Sync/ 目录
    P2-3 git stash 优化🟢 锦上添花避免空条目累积
    P2-4 冷记忆刷新🟢 锦上添花新会话重读基础文件

☕ 如果这篇文章对你有帮助

欢迎请 Jeff 喝杯咖啡,支持我持续分享更多软件技巧~

打赏功能即将上线,先点个赞也是支持 ❤️

返回博客

相关文章

查看全部 »
进程还在,端口已死:一个单线程 HTTP 服务的「假活」陷阱,和我的四层加固

进程还在,端口已死:一个单线程 HTTP 服务的「假活」陷阱,和我的四层加固

我自建的一个统计面板曾经挂了整整 16 天我才发现:进程从没退出、端口一直在 LISTEN、CPU 占用是零,看上去「健康得不得了」,可所有新连接都拿不到响应,公网一律 504。根因是单线程 HTTPServer 没有 socket 超时,被一条半开连接永久阻塞;更值得记的是第二层——进程监督器只认「进程存活」,这种假活对它完全不可见。这次我给它上了四层加固,也第一次想明白:为什么「重启脚本」这种修复,会被下一次部署悄悄冲掉。

自建 AI Agent 记忆系统的冲突消解:软失效、事件账本,和同一个 bug 我修了两次

自建 AI Agent 记忆系统的冲突消解:软失效、事件账本,和同一个 bug 我修了两次

Agent 的记忆越攒越多,新事实和旧事实开始打架。本文记录我给自己那套记忆系统做「冲突消解」的完整实现:为什么不能直接删、软失效 + 事件账本怎么设计、用什么判据判定两条记忆冲突。重点是一个真实的翻车——判据太激进,一条新记忆横扫了 50 条无关事实,误杀 19 条。更值得记的是:同一个 bug,我修了两次。

Google Search Console 从验证到收录:新站接入实操与踩坑清单

Google Search Console 从验证到收录:新站接入实操与踩坑清单

新站被搜索引擎冷落,第一步不是狂发外链,而是把 Google Search Console 接上——它决定你能不能看见「爬虫到底来没来、收录卡在哪」。这篇是完整实操:网域还是网址前缀、四种验证方式怎么选、DNS TXT 验证的准确姿势、验证后必做的三件事、多久有数据,以及我踩过的六个坑,附 GSC / Bing / 百度三平台对照。