| name | memorizer |
| description | 三层记忆系统:读取用户偏好、项目热记忆和知识库为当前任务提供上下文; 任务完成后将有价值的知识沉淀回记忆。
|
| user-invocable | true |
三层记忆系统,为当前任务提供上下文并沉淀知识。
记忆层级
| 层 | 文件 | 内容 | 格式 | 容量 |
|---|
| 用户偏好 | ~/.talos/profile.md | 跨项目的编码风格、协作习惯 | 纯文本要点 | ≤50 行 |
| 项目热记忆 | wiki/hot.md | 关键约束、重大坑、强偏好 | 纯文本要点 | ≤100 行 |
| 项目知识库 | wiki/<category>/<name>.md | 领域知识、可复用模式、技术选型 | Obsidian markdown([[wikilinks]]) | 不限 |
| 变更日志 | wiki/log.md | 记忆变更的时间线记录 | `## [YYYY-MM-DD] 操作 | 标题` |
满了删不重要的为新内容腾空间。
读取记忆
依次读取以下文件(不存在则跳过):
~/.talos/profile.md
wiki/hot.md
wiki/INDEX.md — 扫描索引全文,定位与当前任务相关的条目,必要时深入读取对应的 wiki/<type>/<name>.md 页面
提取与当前任务相关的上下文,在工作中参考。
写入记忆
完成较完整的任务后,显式判断是否需要写入记忆(结论可以是"无需写入")。只有满足以下条件之一才写入:
- 涉及非显而易见的架构决策或约束(why 不直观)
- 发现了坑 / 反模式 / 踩过的雷(其他人会再踩)
- 项目特定的可复用模式(不是通用的最佳实践)
- 用户明确表达的偏好或纠正
- 项目结构的关键变化
- 对 wiki 中已有知识的有价值分析或综合(查询回流)
写入后追加条目到 wiki/log.md。
INDEX.md 维护规则
wiki/INDEX.md 是知识库的内容目录。每个条目:链接 + 一行摘要 + 可选元数据(日期、来源数)。
索引按语义类型分组,每个类型对应 wiki 目录下的一个子目录:
| 类型 | 目录 | 内容 |
|---|
| entities | wiki/entities/ | 具体的人、工具、库、系统等实体 |
| concepts | wiki/concepts/ | 抽象概念、模式、方法论、设计原则 |
| decisions | wiki/decisions/ | 架构决策记录(ADR)和技术选型理由 |
| sources | wiki/sources/ | 文档、文章、论文等外部来源的摘要 |
写入/更新知识库页面时同步维护 INDEX.md:
- 新增页面 → 在对应类型的分组下插入条目
- 更新页面 → 更新摘要(如有变化)
- 删除页面 → 移除对应条目
什么不该记
- 合格开发者都知道的常规实现细节
- 可从代码 / git history 推断的内容
- 一次性的调试细节(除非揭示了系统性问题)
- 与项目无关的通用知识
- 纯粹的事实陈述(没有 why 或教训)
Lint(定期维护)
当用户要求或间隔较久时,检查知识库健康度:
- 页面间是否存在矛盾(不同页面记录了冲突的信息)
- 过期内容(已被代码变更推翻的结论)
- 孤立页面(没有其他页面链接到它)
- INDEX.md 中缺失的页面或指向已删除页面的链接
- 多次提到但缺少独立页面的重要概念
发现问题时修复,并追加 lint 条目到 wiki/log.md。