https://github.com/grpcer/ownmem
👍彦祖们走过路过可以点个 Star 吗
背景
起因是手头有个百万行代码的项目,每天从家里和公司的电脑轮换开发
📢 经常要重复跟 AI 说:
🤔 于是我在想,有没有一套记忆系统,可以跨电脑记忆,随着 Git 可以提交,并且还有以下优势呢
1. 记忆跟随 Git 仓库流转
git pull
→ 得到代码
→ 同时得到这个项目积累的工程经验和记忆
2. 不依赖某个 AI ,同时支持
3. 语义召回不调用模型,不烧 token
在本地通过 Exact、Unicode-aware BM25F、多查询 RRF 等方式检索。
完整编译层还支持 n-gram、fuzzy、graph 和 embedding,你还可以在控制台接入siliconflow或Cloudflare 的 bge-m3 模型做强力语义查询。
4. 完整的 markdown 体系
.ownmem/
├── MEMORY.md ← L1 总目录
├── MEMORY-release.md ← L2 领域目录
├── MEMORY-database.md ← L2 领域目录
├── npm_publish_requires_2fa.md ← L3 一课一文件
├── sql_query_requires_index_review.md
└── connection_pool_timeout.md
结构故意做得很克制:
[td]层[/td]
[td]是什么[/td]
[td]干什么[/td]
L1
🧭 总目录
告诉 Agent:这个仓库有哪些记忆领域
L2
📂 领域目录
把问题路由到正确的那一批记忆
L3
📄 一课一文件
保存症状、证据、根因和正确做法
5. 每条记忆都有证据和生命周期
每条记忆不仅要写结论,还需要说明:
[td]必须写明[/td]
[td]为什么重要[/td]
什么症状应该触发它
下次才能被找回来
适用于哪些模块
避免误伤无关代码
相关代码路径和符号
能对照活代码核对
证据是什么
结论不是拍脑袋
上次什么时候验证过
知道它还新不新
会不会过期
过期的经验比没有更危险
有没有替代旧记忆
防止新旧两套说法并存
要不要定期复核
让记忆自己会代谢
6. 记忆也走 CI 和治理
如果让 Agent 不受控制地写记忆,最后一定变成另一座垃圾堆。
所以 OwnMem 给记忆加上了类似代码质量门禁的机制:
[td]门禁[/td]
[td]拦住什么[/td]
Schema 校验
结构不完整的记忆
证据检查
只有结论、没有依据
过期检查
早该失效却还在误导
近重复检测
同一件事写了三遍
supersedes 冲突检查
新旧记忆互相打架
数量和体积配额
无限膨胀的第二座 Wiki
L2 路由检查
有记忆,但找不到入口
archive 归档
该退场的经验退场
能进仓库的,不只是「看起来像经验」,还得过得了门。
➡️ 总流程
你只需要跟 Agent 说人话:
🗣️ 「记住:这个发布错误来自 npm 2FA ,不是包权限。」
后面这些,它自己走完:
1️⃣ 判断这件事值不值得成为长期记忆
2️⃣ 写成一份结构化 Markdown
3️⃣ 补上用户以后可能用到的查询措辞
4️⃣ 记下代码证据和验证结果
5️⃣ 跑一遍 audit
6️⃣ 通过 Git 提交进仓库
下次再遇到类似发布失败,不必把这段历史重新讲一遍。
先查项目记忆,再动手改。
👋 OwnMem 解决的不是“AI 如何记住一切”
其实市面上已经有很多优秀的用户记忆、向量记忆和时序知识图谱系统。
OwnMem 选择的是一个更窄的方向:
让一个代码仓库保存那些不应该再踩第二次的工程教训。
其他系统努力让 Agent 记住更多。
OwnMem 更关心:
如何让仓库记得更正确😄
它不是跨项目的个人记忆,也不是百万文档规模的向量数据库。
它是一套面向 Coding Agent 的 Git-native 工程记忆系统:
感谢各位老铁支持啦~🙏
更新链接: https://github.com/grpcer/ownmem
顶部的链接由于写 markdown 没注意格式,导致直接跳转不成功😅

