mimo code 的持久化记忆通过结构化资产、会话检查点、/dream 记忆治理和 writer 子 agent 四重机制实现工程级一致性:memory.md 自动沉淀规范与决策并被 sqlite 索引;检查点锁定任务状态与约束;/dream 每 7 天合并重复、验证路径、标记冲突;writer 子 agent 独立执行只读提炼,确保规范不被随意篡改。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

MiMo Code 的持久化记忆不是简单地“记住对话”,而是把项目规范、代码约定、架构决策这些关键信息,变成可检索、可继承、可验证的结构化资产。它不靠模型自己回忆,而是用工程方式强制落地一致性。
项目记忆(MEMORY.md)自动沉淀规范
每次你用 mimo 完成一次设计讨论或代码修改,只要涉及规则类内容,它就会自动提取并写入项目根目录下的 MEMORY.md。比如:
- 你提到“所有 API 响应必须带
X-Request-ID头”,它会记为:规范 → HTTP Headers → X-Request-ID: 必须存在,由 middleware 注入 - 你确认“组件命名统一用 PascalCase,文件名小写加中划线”,它会存为:
规范 → Frontend → Naming → Component: PascalCase;File: kebab-case - 你否决了某次 PR 中的循环依赖方案,并选择用事件总线替代,它会记录:
架构决策 → Backend → Dependency → 循环依赖禁止;替代方案:EventBus
这个文件不是日志,而是被 SQLite FTS5 索引的结构化知识库,后续任何会话都能精准召回相关条目,而不是模糊匹配整段聊天记录。
会话检查点锁定当前上下文边界
当你中断开发(比如关掉终端、切换项目),MiMo Code 不会丢掉正在执行的任务状态。它会在退出前自动保存一个检查点,包含:
- 当前任务树(T1.2.1 正在实现登录态校验逻辑)
- 已确认的约束条件(如“必须兼容 IE11”“不允许引入新 npm 包”)
- 最近三次代码变更的 diff 摘要与目的说明
下次运行 mimo 时,它会先加载检查点,再读取 MEMORY.md,最后才开始响应你的新指令。这意味着:你昨天定的 lint 规则、今天写的单元测试覆盖率要求、明天要评审的接口契约——全都在同一语境下延续,不会因为重启就“重置规范”。
/dream 命令定期收敛与校验记忆
单靠自动记录还不够。MiMo Code 提供 /dream 命令,每 7 天自动触发一次记忆治理:
- 扫描全部历史会话和 MEMORY.md 条目,合并重复表述(比如“禁止 console.log”出现过 4 次,只保留最完整的一条)
- 验证路径有效性:检查记录的文件路径是否仍存在、API 名称是否还在代码中被引用
- 识别冲突项:若某条规范被后续会话明确推翻(如“改用 ESM”覆盖了“保持 CJS”),旧条目会被标记为
deprecated并注明替代方案 - 生成摘要报告,输出到
.mimo/dream-summary.md,供人工快速复核
这一步让记忆从“被动积累”变成“主动演进”,避免规范随时间发散或失效。
Writer 子 Agent 隔离写权限保障一致性
最关键的设计是:主 Agent(干活的那个)对 MEMORY.md 和检查点文件只有读权限。所有写操作都由独立的 Writer 子 Agent 执行。它不参与编码、不执行命令、不解释需求——只做一件事:把主 Agent 的输出,按固定 schema 提炼、归档、验证。
这种分工杜绝了“边写代码边改规范”的混乱。例如,当你误写一句“其实可以用 any 类型”,主 Agent 可能照做,但 Writer 不会把它当规范记下来——它只收录被你明确确认过的、带上下文依据的决策。











