把人生托管到 GitHub:写给 Agent 时代的个人数据架构
把人生托管到 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 喂背景
跑过的都知道,这套有几个根深蒂固的毛病:
- 数据分散:身份在 LinkedIn,想法在 Notion,待办在 Things,复盘在某个 SaaS,agent 拉一圈拉不全。
- 格式割裂:每个平台一套 schema,agent 要学 N 种结构,prompt 越喂越长。
- 不可写回:大多数 API 只读或半残;agent 想"记一笔"找不到地方放。
- 平台风险:哪天 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/目录里的 frontmatterpublished: 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,不怕泄露吗?
我的做法是三层:
- 仓库整体 private:默认全部不公开,只有我和授权的 agent 能读。
- 目录级公私分离:
🔒works/🔒secr/这种带锁 emoji 的目录,agent 的 system prompt 里明确写了"非主会话不要读"。 - 显式发布:只有
📖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 一样顺手。
如果你想试这套范式,最低成本的开始方式:
- 在 GitHub 新建一个 private repo,取名
me或者你喜欢的 - 用 motion 打开它,开始写
- 把仓库地址告诉你的 AI agent(Claude Code / Cursor / 自己搭的 Agent 都行),让它读
- 一周之后,你会发现 agent 跟你说话的方式变了
六、写在最后
这一年最大的体感是:AI agent 不缺算力、不缺模型、不缺工具,缺的是"关于你的高质量上下文"。
而高质量上下文不会从天上掉下来。它是你日复一日往一个地方写东西、写出来的。
Markdown 是几十年都不会过时的格式。Git 是几十年都不会消失的协议。GitHub 是当下最稳的托管方。把人生托管到这个组合上,你押的不是某一家公司,是整个开源世界的惯性。
我把这叫做"agent-native 的个人数据架构"。它不是产品,不是平台,就是一套很朴素的实践。
如果你也想开始,欢迎 fork 我的 me 仓库结构(公开切片),或者直接来 motion 写下你的第一条。
—— 你的数字人格,值得一个比 SaaS 更长久的家。

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