把人生托管到 GitHub:写给 Agent 时代的个人数据架构

11 分钟阅读

把人生托管到 GitHub:写给 Agent 时代的个人数据架构

我家 agent 每次醒来第一件事,是读我的 GitHub 仓库。

不是 Notion API,不是某个 SaaS,不是向量数据库。就是一个普普通通的 jiusanzhou/me 仓库,里面塞满 Markdown:身份、目标、习惯、读书笔记、项目复盘、对世界的看法。Agent 拉一遍,几秒之内就知道我是谁、在做什么、最近在烦什么。

这个 me 仓库我从 2019 年开始记,到今天整整七年。一开始只是觉得"把笔记放 Git 比放 Notion 安心",后来 AI Agent 起来了,才反应过来——当年那个为自己记笔记的习惯,恰好是 Agent 时代最理想的个人数据底座

七年下来越用越觉得:Agent 时代,个人数据应该躺在 Git 仓库里,而不是 SaaS 数据库里。

这篇讲讲为什么,以及怎么开始。

一、Agent 需要的不是 API,是 source of truth

主流叙事里,"AI 助手懂你"的方案大概是这样的:

  • 接一堆 API(日历、邮箱、Notion、备忘录…)
  • 把内容塞进向量库做 RAG
  • 用一个长长的 system prompt 喂背景

跑过的都知道,这套有几个根深蒂固的毛病:

  1. 数据分散:身份在 LinkedIn,想法在 Notion,待办在 Things,复盘在某个 SaaS,agent 拉一圈拉不全。
  2. 格式割裂:每个平台一套 schema,agent 要学 N 种结构,prompt 越喂越长。
  3. 不可写回:大多数 API 只读或半残;agent 想"记一笔"找不到地方放。
  4. 平台风险:哪天 SaaS 关停 / 涨价 / 改 API,你的"数字人格"碎一地。

Markdown + Git 是几乎反向的:

  • 一份仓库,一个根目录,所有上下文一次性给齐。
  • 纯文本,没有 schema,agent 直接读就懂。
  • 可读可写,agent 想留笔记就 commit 一笔。
  • 数据在你自己的硬盘和 GitHub 上,平台死了你也不死。

更妙的是,这种结构对人和 agent 同样友好。你自己也能在 VS Code 里翻、用 grep 搜、靠 git log 回溯三年前的想法。同一份数据,人类和 AI 共用一套 source of truth。

二、me 仓库长什么样

我的仓库目录(节选)大概是这样:

me/
├── README.md          # 我是谁,一页纸自我介绍
├── spec.md            # 这个仓库怎么用(给人也给 agent 看)
├── 🎯goal/            # 短中长期目标
├── 💡ideas/           # 想法池、未落地的点子
├── 📖posts/           # 公开博客的原始 Markdown
├── 📚reads/           # 读书笔记、文章摘要
├── 📝notes/           # 学习笔记、技术备忘
├── 🛠️self/            # 习惯、复盘、人生 OS
├── ⏰diary/           # 日记,按日期归档
├── 🏆quote/           # 我喜欢的金句、引用
├── 🔒works/           # 工作相关(private,不公开)
└── 🔒secr/            # 隐私内容(private)

几个关键设计:

  • emoji 前缀:不是装饰,是让人眼扫文件树时秒定位。Agent 也吃这套。
  • spec.md 是给 agent 看的说明书:写清楚每个目录放什么、怎么命名、什么能公开什么不能。
  • 公私分离:仓库整体 private,但通过 📖posts/ 目录里的 frontmatter published: true 切片公开到 zoe.im 博客(这篇文章就是这么发出来的)。
  • 没有 schema:日记就是 YYYY-MM-DD.md,笔记就是个标题,想到啥扔啥。结构慢慢长出来,而不是先定好再填。

最重要的一点:这个仓库的第一受众是我自己,第二受众才是 agent。如果只为 agent 设计,你不会真的往里写东西。

三、Agent 视角的好处

把这套交给一个 AI agent 之后,体验变化是真实可感的。

冷启动 = 一次 clone

新会话刚拉起来,agent 第一句不是"你好我能帮你做什么",而是已经知道:

  • 我叫什么、在哪个城市、做什么工作
  • 我手上有几个项目、分别什么阶段
  • 我最近三个月的关注点、卡点、复盘
  • 我说话偏好(中文、简洁、不要"很高兴为您服务")

效果就是直接进入"老朋友模式",省掉每次都要解释一遍背景的疲惫。

Agent 可以"写日志"

更关键的是反向通道。我让 agent 把它学到的、决定的、踩过的坑,按日期写到 memory/YYYY-MM-DD.md

它今天发现 wuma.dev 部署有个隐藏的坑?写下来。它替我决定了某个产品的命名?写下来。它帮我处理完一封邮件总结了几条要点?写下来。

下次会话,它读自己昨天写的笔记,再读我新加的内容,记忆就这么持续下去了。不需要任何专门的 memory 系统,git commit log 就是它的海马体。

多 agent 协同看同一份 truth

我同时跑好几个 agent:主对话 agent、定时巡检的 cron agent、写代码的 coding agent、运营 agent…

如果他们各自有各自的"记忆",很快就会精神分裂——这个 agent 知道我换了产品方向,那个 agent 还在按老计划推进。

但他们都读同一个 me 仓库就不会。我在 MEMORY.md 里更新一句"项目 X 已经停掉",下一轮所有 agent 都看到。Git 仓库天然就是 multi-agent 的协调平面

全栈可移植

明天我换个 AI 平台?换个 agent 框架?换个 IDE?

无所谓。仓库还在,数据还在。新 agent 只要会读 Markdown 就能接管。你的数字人格不绑定任何一家公司——这点在 AI 行业每个月都有公司爆雷的当下,比性能比花哨功能重要得多。

四、隐私边界怎么处理

这是被问最多的问题:把人生托管到 GitHub,不怕泄露吗?

我的做法是三层:

  1. 仓库整体 private:默认全部不公开,只有我和授权的 agent 能读。
  2. 目录级公私分离🔒works/ 🔒secr/ 这种带锁 emoji 的目录,agent 的 system prompt 里明确写了"非主会话不要读"。
  3. 显式发布:只有 📖posts/ 下 frontmatter 标了 published: true 的文章会自动同步到 zoe.im 公开博客,其他一律 private。

至于"GitHub 公司能不能看到"——这跟你把数据放 Notion / Apple Notes / 任何 SaaS 是一样的信任问题。GitHub 至少给了你完整的本地副本(git clone 之后离线也能用),SaaS 大多数做不到。

五、不想碰 Git CLI?用 motion

到这里你可能想说:道理我懂,但我不想每次记个笔记还要 git add / commit / push

motion 就是为这个范式做的在线编辑器:

  • 浏览器里像 Notion 一样写
  • 数据直接存到你自己的 GitHub 仓库——不经过我的服务器、不经过任何第三方
  • 纯前端实现,OAuth 授权之后所有读写都在你浏览器里完成
  • 开源、免费、能自部署

我自己每天就在 motion 里写日记、记想法。它本质上是个"GitHub-native 的 Notion"——所有好处(agent 可读、可移植、永不被锁)都保留,但写起来跟 SaaS 一样顺手。

如果你想试这套范式,最低成本的开始方式:

  1. 在 GitHub 新建一个 private repo,取名 me 或者你喜欢的
  2. 用 motion 打开它,开始写
  3. 把仓库地址告诉你的 AI agent(Claude Code / Cursor / 自己搭的 Agent 都行),让它读
  4. 一周之后,你会发现 agent 跟你说话的方式变了

六、写在最后

这一年最大的体感是:AI agent 不缺算力、不缺模型、不缺工具,缺的是"关于你的高质量上下文"

而高质量上下文不会从天上掉下来。它是你日复一日往一个地方写东西、写出来的。

Markdown 是几十年都不会过时的格式。Git 是几十年都不会消失的协议。GitHub 是当下最稳的托管方。把人生托管到这个组合上,你押的不是某一家公司,是整个开源世界的惯性。

我把这叫做"agent-native 的个人数据架构"。它不是产品,不是平台,就是一套很朴素的实践。

如果你也想开始,欢迎 fork 我的 me 仓库结构(公开切片),或者直接来 motion 写下你的第一条。

—— 你的数字人格,值得一个比 SaaS 更长久的家。

Zoe

Written by

Zoe

AI Infra Engineer · LLM Serving · GPU/RDMA · 造工具的偏执狂

评论