Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

memory-os:AI 记忆系统

概述

memory-os 是一套给 AI agent 用的记忆系统。目标有四个:辅助项目开发和源码分析;把会话流水沉淀成可检索、可复用的结构化知识;在 web 端聊天时用最少的 token 拿到该记住的东西;提取用户数据做分析、建用户档案、优化人机协作。

分五块:源码分析工作流、编译主链路、web 端实时层、数据底座、状态文件。

一、源码 / 项目分析工作流

skill + 编译:读源码 → 会话 → 写 concepts + knowledge → 更新 index → 追加 log。 用 source-code-reading skill 读大型代码库,用claude-memory-compiler把可复用结论编译进 knowledge。

二、编译主链路

Claude Code 会话
  ↓ flush(session-end hook)
daily/(原始源,append-only)
  ↓ compile(6PM,按"技术 / 个人"边界分流)
  ├─ knowledge/ 纯技术百科(concepts + connections,正文不掺日期)
  │     └─ index.md = 检索目录(query 先读它)
  ├─ people/ 个人信息
  └─ log.md = 时间线汇总(个人信息 + 项目信息,带日期,commit 从这提炼)

编译边界:技术 / 项目知识 → knowledge/;个人 / 闲聊 → people/;项目开发进程 → log。判断标准:这条信息一年后还用得上吗。

关键设计:daily 只增不改,compile 再收敛。乱账的根源是写入时没有收敛机制,把"记录"和"提炼"拆成两件事,compile 跑坏了可以重跑,源数据不丢。

三、web 端实时层

TLB 会话级 + 短期 json 天级 TTL + 冷搜读本地记忆仓库。

companion 聊天 ──实时 / 5min──▶ 写 daily(桥,appendToCompilerDaily)
        daily ──每天 6PM──▶ 编译 knowledge + people + log(compiler 的 compile)

实时调度(chat-memory-mmu/memory.js):用纯正则把消息分类,0 token 决定"要不要搜索":

用户消息 → classify(ack / pushback / question / cont / update / new_topic)
  ├─ ack / pushback → 不搜,只用 TLB 快照
  └─ question / new_topic → 先查 TLB,命中即停,miss 才冷搜

冷搜读 knowledge 目录:抽关键词 → 文件打分 → 抽片段 → top3。

三个关键机制:

  • turn 时间轴fact.turn 判断是旧状态(→ UPDATE)还是刚提过(→ CONT)。
  • dirty 一致性:值变标 dirty,_tlEvict 跳过 dirty(脏数据宁可超载不驱逐),flushTLB 才标干净返回写回。
  • 0 token 决策:把"要不要搜索"从 LLM 手里抢过来,冷搜触发率从 100% 压到 30-40%。

短期 json 是 .short-memory.json,TTL 24h 读取时懒清理,定位是"跨重启的 TLB 补充"——TLB 重启即弃,短期 json 跨重启留 24h 补缺口。

四、数据底座(dashboard)

账单 + 用药 + 经期 + 日历 + 驱力 + 情绪,管理健康数据和生活数据。

五、状态文件 crysis-status.md

实时修改,标记时间戳,用于 diff 距离上次 skill 更新后用户个人信息 / 技术栈的变化,驱动 skill 自更新。

演进方向

后续计划接入手机端 / 平板端的非隐私数据,动态扩充数据底座。

参考 / 致谢

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors