会话与上下文

MiMo Code 会把每一次对话持久化为一个会话,保留消息历史与元数据。你可以关闭终端,稍后再恢复之前的工作。本页介绍会话的存储、恢复、切换、分叉,以及上下文窗口的压缩管理。

会话存储

会话数据保存在 MiMo Code 的数据目录中,并按工作目录分组。

$MIMOCODE_HOME/ ├── config/ ← 全局配置文件 ├── data/ ← auth.json、会话数据库 ├── state/ └── cache/

WARNING: 请不要手动编辑这些文件。会话状态由 MiMo Code 管理,手动修改可能导致无法恢复。

卸载时可使用 mimo uninstall --keep-data 保留会话数据和快照。了解更多

启动与恢复会话

运行 MiMo Code 会在当前目录创建一个新会话。

1mimo

你可以通过以下标志恢复已有会话:

1# 恢复当前目录下最近的会话
2mimo --continue
3
4# 按会话 ID 恢复指定会话
5mimo --session <id>
标志 简写 描述
--continue -c 继续上一个会话
--session -s 要继续的会话 ID
--fork 继续时分叉会话(需与 --continue--session 同用)

NOTE: --continue--session 不可同时指定同一个新会话来源;--fork 必须与其中之一配合使用。

完整的 CLI 标志见命令行运行

在 TUI 中切换会话

在 TUI 中,你可以使用斜杠命令在会话之间切换:

  • /new(别名 /clear)— 开始新的会话,丢弃当前上下文。快捷键 ctrl+x n
  • /sessions(别名 /resume/continue)— 列出会话并在它们之间切换。快捷键 ctrl+x l

完整的斜杠命令列表见斜杠命令速查

列出会话

在 TUI 之外,可使用 session 命令管理会话。

1mimo session list
标志 简写 描述
--max-count -n 限制为最近 N 个会话
--format 输出格式:table 或 json(默认 table)

上下文压缩

每个模型都有有限的上下文窗口。对话变长时,MiMo Code CLI 会在上下文接近窗口上限时自动压缩历史消息,释放 token 空间。也可以随时手动触发:

1/compact

/compact 的别名为 /summarize,快捷键为 ctrl+x c

压缩由一个隐藏的 Compaction 代理执行,它将长上下文压缩为较小的摘要。

配置

你可以通过 compaction 选项控制上下文压缩行为。

1{
2  "$schema": "https://mimo.xiaomi.com//config.json",
3  "compaction": {
4    "auto": true,
5    "prune": true,
6    "reserved": 10000
7  }
8}
  • auto - 当上下文已满时自动压缩会话(默认值:true)。
  • prune - 删除旧的工具输出以节省 Token(默认值:true)。
  • reserved - 压缩时的 Token 缓冲区。保留足够的窗口以避免压缩过程中溢出。

如需完全禁用自动压缩,可设置环境变量 MIMOCODE_DISABLE_AUTOCOMPACT=true了解更多

分叉会话

分叉允许你从某个会话派生出一个独立副本,用于尝试新思路而不影响原会话。派生后的两个会话彼此独立,互不影响。

1# 从最近的会话分叉并继续
2mimo --continue --fork
3
4# 从指定会话分叉
5mimo --session <id> --fork

通过 HTTP 接口运行时,也可以在某条消息处分叉现有会话。

导出与导入

你可以将会话导出为 JSON,用于归档、分享或问题反馈。

1mimo export [sessionID]

如果不提供会话 ID,系统会提示你从可用的会话中选择。

随后可以从本地文件或 MiMo Code 分享链接导入会话数据。

1mimo import session.json
2mimo import https://opncd.ai/s/abc123

TIP: 导出的文件可能包含敏感信息(代码、命令输出、路径等),分享前请先检查内容。

如需通过链接实时分享会话,请参阅分享会话