mimo code通过四层记忆协同实现项目级代码理解:先扫描构建文件生成依赖图,再分项目记忆、会话检查点、notes.md和动态简报四层存储与调度信息,最后按五步流程重建上下文。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想让 MiMo Code 真正读懂一个陌生项目,而不是只看单个文件、反复问你“这个类是干啥的”,就得搞懂它怎么扫描代码结构、怎么记住关键信息、怎么在上百轮对话里不丢上下文。
项目级代码理解从哪里开始
启动 MiMo Code 后,它不会立刻读取所有文件。第一次运行时,它先执行 【project introspect】 命令,自动扫描根目录下的构建文件(如 package.json、pyproject.toml、build.gradle)、入口文件(index.ts、main.py)、配置文件(tsconfig.json、.gitignore)和文档(README.md)。这一步决定了后续所有理解的边界——漏掉 README,它可能不知道项目用途;没识别到 pyproject.toml,就无法正确加载 Python 依赖树。
扫描结果会生成 .mimo/project.graph 文件,用 SQLite 存储模块依赖关系、语言分布、主入口路径。这个图不是静态快照,每次你用 /refresh 命令或触发 Git 提交后,它都会增量更新。
如果你手动删了 .mimo 目录,下次启动会重新扫描,但历史 checkpoint 和 notes.md 不受影响。
四层记忆如何协同工作
MiMo Code 的记忆不是一块大硬盘,而是分层调度的系统:
方法一:项目记忆(持久化)
存于 .mimo/project.db,记录架构决策、核心类职责、API 设计约束。例如你告诉它“UserRepository 必须只读,所有写操作走 UserService”,它会把这个规则写入 project.db 的 design_decisions 表,并在后续修改代码时主动检查是否违反。
方法二:会话检查点(自动触发)
当对话 token 占用达 20%、45%、70% 时,独立 Writer 子 Agent 会把当前任务状态压缩为 JSON,写入 .mimo/checkpoints/ 下带时间戳的文件。这些文件包含 intent、task_tree、error_summary 三字段,不存原始对话流——这是为了防止 rebuild 时把冗余日志重新载入上下文。
方法三:notes.md(会话级便签)
唯一允许主 Agent 直接编辑的文本文件。你输入 /note “这里要加 RBAC 权限校验” 后,内容实时追加。它不参与 checkpoint 压缩,也不会被 Distill 过程清理,适合临时标记待办。
方法四:动态简报(运行时压缩)
窗口即将满时,主 Agent 不再接收新工具输出,而是调用简报生成器,把最近 15 轮交互+关键代码块重写为 300 字内自然语言摘要,覆盖原上下文。这步不可逆,且摘要不保存到磁盘——仅用于本轮推理延续。
重建上下文的关键操作流程
第一步:检测窗口压力
主 Agent 每轮输出前检查 token 使用率,一旦 ≥90%,立即中断当前动作,进入 rebuild 流程。
第二步:加载最新 checkpoint
从 .mimo/checkpoints/ 中按修改时间取最新文件,读取 intent 和 task_tree 字段,重建任务目标树。
第三步:注入项目记忆
从 .mimo/project.db 查询与当前 task_tree 节点匹配的 design_decisions 和 module_relations,拼装为结构化 prompt 片段。
第四步:附加 notes.md 内容
将 notes.md 全文作为“当前会话备注”插入 prompt 开头,位置固定,确保模型优先看到。
第五步:启动新会话
旧对话历史全部丢弃,新上下文以重建后的结构化信息为起点,token 计数归零。这一步完成后,你不会收到任何提示,界面直接继续响应下一条指令。











