| name | memory-hub |
| description | 统一记忆中枢:所有记忆类需求的唯一入口。当用户说'记住这个'、'下次继续'、'记住我的项目'、'记住我的偏好'、'回忆一下'、'之前说过'、'我的设置'、'项目文档'时触发。核心特点:自动判断记忆类型(个人偏好/项目上下文/技术知识/经验沉淀),写入对应层级,跨会话自动加载相关上下文,告别6个记忆Skill的选择困难。 |
来源: 蒸馏(融合 claude-mem + supermemory + beads-memory + memory-bank + memory-system + hermes-experience)
发布时间: 2026-05-15
理念: "记忆不应该分散在6个入口里——说'记住'就够了。"
🧠 Memory Hub — 统一记忆中枢
一个入口管所有记忆。你说"记住",AI 自动判断该记在哪一层。
🏗️ 记忆四层架构
Memory Hub
├── 🧑 个人偏好层 (Personal)
│ └── 你的习惯、喜好、常用配置
├── 📁 项目上下文层 (Project)
│ └── 当前项目结构、决策、任务、技术债
├── 📚 技术知识层 (Knowledge)
│ └── 技术栈原理、架构模式、系统设计方案
└── 💎 经验沉淀层 (Experience)
└── 踩过的坑、验证过的模式、最佳实践
🎯 自动路由规则
你说"记住",AI 自动判断写入哪一层:
| 你的说法 | 路由到 | 记忆内容 |
|---|
| "我喜欢用 TypeScript" | 个人偏好层 | 语言偏好 |
| "这个项目用 PostgreSQL" | 项目上下文层 | 技术选型 |
| "记住 Redis 缓存穿透的解决方案" | 技术知识层 | 技术原理 |
| "上次用 Saga 模式踩了坑" | 经验沉淀层 | 实战经验 |
| "记住这个代码库" | 项目上下文层 | 项目结构+决策+任务 |
| "我习惯函数式编程" | 个人偏好层 | 编码风格 |
📝 各层记忆规范
🧑 个人偏好层 (Personal)
语言偏好: TypeScript > Python > Java
编码风格: 函数式 > 面向对象
注释习惯: 英文注释,JSDoc 格式
IDE: VS Code
常用工具: Playwright, Vitest, Prisma
沟通风格: 直接、简洁、不要铺垫
触发词:"我喜欢..."、"我习惯..."、"我偏好..."、"别给我..."
📁 项目上下文层 (Project)
项目名: my-api-service
技术栈:
- 语言: TypeScript
- 框架: Express.js
- 数据库: PostgreSQL 15
- ORM: Prisma
- 测试: Vitest + Playwright
- 部署: Docker + AWS ECS
架构决策:
- ADR-001: 使用微服务拆分(按业务域)
- ADR-002: 弃用 ORM,改用原生 SQL
- ADR-003: JWT + Refresh Token 认证
进行中任务:
- [TASK-005] 支付回调幂等性(阻塞于TASK-004)
- [TASK-006] Token 刷新接口
技术债务:
- 订单查询缺少 created_at 索引
- 密码哈希算法待升级到 Argon2
触发词:"这个项目..."、"记住这个代码库"、"当前项目..."
📚 技术知识层 (Knowledge)
缓存策略:
- 缓存穿透: 布隆过滤器 / 空值缓存
- 缓存击穿: 互斥锁 / 逻辑过期
- 缓存雪崩: 随机 TTL / 多级缓存
分布式事务:
- 2PC: 强一致性,性能差
- Saga: 最终一致性,适合长事务
- TCC: 资源预留,实现复杂
消息队列:
- Kafka: 高吞吐,日志采集
- RabbitMQ: 路由灵活,企业级
- Redis Stream: 轻量级,已有 Redis 时首选
触发词:"Redis 缓存穿透..."、"分布式事务方案..."、"记住这个技术点"
💎 经验沉淀层 (Experience)
踩坑记录:
- id: EXP-001
场景: PostgreSQL 批量插入
坑: 单条 INSERT 循环性能极差
方案: 使用 COPY 或批量 INSERT
验证: ✅ 10万条从 30s 降到 2s
- id: EXP-002
场景: Docker 容器时区问题
坑: 容器默认 UTC,导致日志时间不对
方案: Dockerfile 设置 TZ 环境变量
验证: ✅ 已验证
可复用模式:
- 分页查询模板(防深分页)
- 幂等性设计模板(Token + 唯一索引)
- 降级策略模板(熔断 + 兜底数据)
触发词:"上次踩了坑..."、"这个方案我验证过..."、"记住这个模式"
🔄 工作流程
记住 (Store)
用户:记住这个项目用 PostgreSQL,不用 MongoDB
AI:
1. 识别类型:项目技术选型 → 项目上下文层
2. 写入:技术栈.PostgreSQL = true
3. 同时:生成 ADR 决策记录
4. 反馈:"已记录到项目上下文。同时生成了决策记录 ADR-004。"
回忆 (Recall)
用户:之前我们决定用什么数据库?
AI:
1. 查询项目上下文层
2. 返回:"当前项目使用 PostgreSQL(决策记录 ADR-004,2026-05-10)"
跨会话加载 (Auto-Load)
新会话开始:
AI(自动):
1. 加载个人偏好层 → 应用编码风格
2. 检测当前目录 → 加载对应项目上下文
3. 识别技术栈 → 加载相关技术知识
4. 检查相似任务 → 加载相关经验
输出:"已加载记忆:TypeScript/Express/PostgreSQL 项目,
当前阻塞任务:支付幂等性(EXP-001 批量插入模式可用)"
💡 使用示例
示例1:混合记忆
用户:
1. "我喜欢用 TypeScript" → 个人偏好层
2. "这个项目用 Express + PostgreSQL" → 项目上下文层
3. "记住 Redis 缓存穿透用布隆过滤器" → 技术知识层
4. "上次批量插入用单条循环,30秒才跑完" → 经验沉淀层
AI:
"已分层记录:
- 个人偏好:TypeScript(影响代码生成风格)
- 项目上下文:Express + PostgreSQL(影响技术选型建议)
- 技术知识:Redis 缓存穿透方案(影响架构设计)
- 经验沉淀:批量 INSERT 优化(影响代码实现)
下次对话将自动加载以上所有上下文。"
示例2:自动冲突检测
用户:"这个项目改用 MongoDB"
AI:
"检测到与现有记忆冲突:
- 当前记忆:项目使用 PostgreSQL(ADR-004,2026-05-10)
- 你的新输入:改用 MongoDB
是否:
1. 更新为 MongoDB(废弃 ADR-004,新建 ADR-005)
2. 保持 PostgreSQL(新输入视为其他项目)
3. 并存(核心数据 PostgreSQL,日志 MongoDB)"
示例3:经验复用
用户:"帮我写个批量导入接口"
AI(自动加载经验层):
"检测到你的经验记录 EXP-001:
'PostgreSQL 批量插入,单条循环 30s,COPY 方案 2s'
建议直接使用 COPY 方案,需要我生成代码吗?"
🆚 与被蒸馏 Skill 的关系
| 被蒸馏 Skill | 在 Memory Hub 中的位置 | 何时单独使用 |
|---|
| claude-mem | 个人偏好层 + 全局记忆 | 不需要,memory-hub 替代 |
| supermemory | 个人偏好层(向量检索) | 不需要,memory-hub 替代 |
| beads-memory | 项目上下文层 | 不需要,memory-hub 替代 |
| memory-bank | 项目上下文层(手动文档) | 不需要,memory-hub 替代 |
| memory-system | 技术知识层 | 不需要,memory-hub 替代 |
| hermes-experience | 经验沉淀层 | 不需要,memory-hub 替代 |
迁移建议:新用户直接使用 memory-hub,老用户逐步将现有记忆迁移到对应层级。
🚀 快速开始
用户:记住 [任何事情]
AI:
1. 分析内容类型
2. 路由到对应层级
3. 写入记忆
4. 确认记录成功
用户:回忆 [相关事情]
AI:
1. 搜索所有层级
2. 按相关性排序
3. 返回最相关的记忆
"你不需要记住6个记忆Skill的名字,你只需要记住1个——memory-hub。"