| name | knowledge-maintenance |
| description | 维护 Proma 项目地图与长期协作知识。当用户说“记住”“以后这样做”“你又忘了”、用户直接表达或重复出现的稳定偏好/决策/纠错,或当前任务发现项目 AGENTS.md 已过时时使用。将事实路由到项目根 AGENTS.md、Proma workspace AGENTS.md、memory/、Skill 或 Context;历史会话仅在用户明确授权后分批作为补证据。不要将会话流水账或单次推断写入长期知识。 |
| version | 1.0.3 |
知识维护
目标不是补全档案,而是减少未来重复沟通、重复探索和重复犯错。
路由
| 信号 | 位置 |
|---|
| 当前项目如何运行、架构/目录/命令/验证/边界 | 项目根 AGENTS.md |
| Proma 执行环境、工作区流程、项目入口指针(不列已安装 Skills) | Proma workspace AGENTS.md |
| 用户画像、协作偏好、纠错、经验、决策理由 | workspace memory/ 的主题 Markdown |
| 重复的可执行步骤 | Skill |
| 长调研、证据正文、设计报告 | 项目 Context / 本地文档 |
| 当前任务临时状态 | 会话工作台 |
项目根 AGENTS.md 与 workspace AGENTS.md 都应最小更新、保留用户内容;项目事实不双写。优先维护 <!-- proma:... --> 区块。
Memory 的组织
MEMORY.md 仅做主题索引和路由,不承载长正文;每个有效主题文件都必须有一条简洁索引,主题被合并、迁移或淘汰时同步更新索引,避免悬空入口。
- 按证据创建主题文件;常见但非强制主题包括
user-profile.md、collaboration.md、lessons.md、decisions.md。
- 不为凑结构创建空文件,不把一次性过程或未经验证推断写入。
- 更新前先读索引及相关主题,修订过时结论而不是追加冲突条目。
- 保留时间语境:时间敏感、会随状态更新,或记录具有后续判断价值的阶段性进展时,在对应记忆正文相邻标注事实/状态的发生、生效或截至时间(至少日期;日内顺序、截止点或时区会影响判断时写明时间和时区)。不得用文件修改时间替代;稳定且不随时间变化的事实无需额外加时间戳。
- 用户画像按领域迭代,禁止用“新手/专家”一类全局标签代替实际证据。
主动重整
每次准备写入或修订 Memory 时,顺带检查目标主题的语义边界;这是一项轻量维护,不需建立额外台账或元数据体系。
- 若一个主题文件累积了 3 个以上可独立命名的主题,或新内容明显不属于其标题范围,停止继续追加:按语义拆分或迁移到已有的合适主题;没有合适位置时才创建最小的新主题文件。
- 合并重复结论,修订冲突或已被新证据推翻的结论;对长期未验证、无未来判断价值的内容予以删除或明确标记为待确认。删除可能仍有价值的历史结论前,遵循本 Skill 的确认边界。
- 重整后立即同步
MEMORY.md:新增、改名、迁移、合并或淘汰的主题都应更新索引和一句话路由说明。
- 不等待用户专门提出“整理记忆”:只要本次维护已暴露上述信号,就在同一次最小改动中主动完成重整;若涉及大段覆盖、作用域不明或敏感信息,先提出候选并确认。
维护流程
- 完成当前任务后,只有发现稳定且会影响未来判断的事实时才维护;不要为了收集资料提问。
- 对明确、稳定且与既有记录不冲突的最小增量,直接写入相应 Memory 主题并在完成后简短说明。不得把此类写入包装成“是否要记住/是否要更新”的预先确认问题。
- 只有删除或大段覆盖既有内容、出现冲突、需要从单次行为做不确定推断,或可能记录敏感个人信息时,才先以 1–3 条候选内容说明事实、位置和影响,并取得确认。
- 用户跳过、拒绝或只答一部分时停止追问,继续正常服务。
- 历史会话只能在用户明确授权后读取:先按元信息选至多 3 个高信号会话,按需读局部,证据足够即停止;不得全量扫描。