|
Download docs/zh/guides/sessions.md from SaylorTwift/kimi-code: direct link, hf CLI and curl.
- Browser
- Download file 4.52 kB
-
https://huggingface.co/SaylorTwift/kimi-code/resolve/main/docs/zh/guides/sessions.md
- Command line
-
hf download hf://SaylorTwift/kimi-code/docs/zh/guides/sessions.md
-
curl -L -o sessions.md https://huggingface.co/SaylorTwift/kimi-code/resolve/main/docs/zh/guides/sessions.md
4.52 kB
| # 会话与上下文 | |
| Kimi Code CLI 把每次对话持久化为一个「会话」,保留消息历史和元数据,可以随时关闭终端后再回来继续。本页介绍如何恢复会话、管理上下文,以及导出和派生会话。 | |
| ## 会话存储 | |
| 所有会话保存在 `$KIMI_CODE_HOME/sessions/` 下(默认 `~/.kimi-code/sessions/`),按工作目录分组存放: | |
| ```text | |
| ~/.kimi-code/ | |
| ├── config.toml | |
| ├── session_index.jsonl | |
| └── sessions/ | |
| └── <workDirKey>/ | |
| └── <sessionId>/ | |
| ├── state.json | |
| └── agents/ | |
| ├── main/ | |
| │ └── wire.jsonl | |
| └── <subagentId>/ | |
| └── wire.jsonl | |
| ``` | |
| - `state.json`:会话标题、创建时间等元数据。 | |
| - `agents/*/wire.jsonl`:Agent 事件流,用于会话恢复和回放;同时记录发给模型的请求轨迹(工具 schema、请求参数、MCP 工具清单),便于调试。 | |
| ::: warning 注意 | |
| `sessions/` 目录下的文件请勿手动编辑,否则可能导致会话无法正常恢复。 | |
| ::: | |
| ## 启动与恢复会话 | |
| 每次直接运行 `kimi` 都会创建新会话。以下方式可以恢复历史会话: | |
| **继续当前目录最近的会话:** | |
| ```sh | |
| kimi --continue | |
| ``` | |
| **恢复指定会话(通过 ID):** | |
| ```sh | |
| kimi --session abc123 | |
| ``` | |
| **交互式浏览历史会话并选择:** | |
| ```sh | |
| kimi --session | |
| ``` | |
| ::: warning 注意 | |
| `--continue` 与 `--session` 互斥。 | |
| ::: | |
| ## 在 TUI 中切换会话 | |
| 不离开当前终端也可以管理会话,以下斜杠命令仅在 Agent 空闲时可用: | |
| - **`/new`**(别名 `/clear`):切换到新会话,丢弃当前上下文。 | |
| - **`/sessions`**(别名 `/resume`):浏览并恢复历史会话。 | |
| - **`/fork`**:派生当前会话(详见下文)。 | |
| - **`/title <text>`**(别名 `/rename`):设置会话标题方便识别;不带参数时显示当前标题。 | |
| ## 上下文压缩 | |
| 对话变长时,Kimi Code CLI 会在上下文接近窗口上限时自动压缩历史消息,释放 token 空间。也可以随时手动触发: | |
| ``` | |
| /compact | |
| ``` | |
| 压缩时可以附带指引,告诉模型优先保留哪些信息: | |
| ``` | |
| /compact 保留与数据库迁移相关的讨论 | |
| ``` | |
| ## 派生会话 | |
| 想在不破坏当前对话的前提下尝试新思路,使用 `/fork`: | |
| ``` | |
| /fork | |
| ``` | |
| fork 后你仍停留在原会话,对话不受影响、可以直接继续;派生出的副本与原会话彼此独立,可以随时通过 `/sessions` 切换过去。已保存的 `/goal` 不会复制到派生会话。如果你想在派生会话中进行自主 goal 工作,需要在那里开始一个新 goal。 | |
| fork 完成后,CLI 会打印一条可直接运行的 `kimi --resume` 命令(并自动复制到剪贴板),方便你在新终端进程中直接进入派生会话。 | |
| ## 导出会话 | |
| 用 `kimi export` 把会话打包为 ZIP,适合分享、归档或提交问题反馈: | |
| ```sh | |
| kimi export <sessionId> | |
| ``` | |
| 不传 `sessionId` 时导出当前目录最近的会话(有交互式确认,加 `-y` 跳过)。用 `-o` 指定输出路径: | |
| ```sh | |
| kimi export <sessionId> -o ~/Desktop/my-session.zip | |
| ``` | |
| 导出包含会话目录下的所有文件,包括诊断日志。全局诊断日志(`~/.kimi-code/logs/kimi-code.log`)默认也会打包;如不需要,加 `--no-include-global-log` 排除。 | |
| 也可以在 TUI 内导出,无需离开交互界面: | |
| - **`/export-debug-zip`**:产生与 `kimi export` 相同的调试 ZIP。 | |
| - **`/export-md`**(别名 `/export`):导出为人类可读的 Markdown 对话记录,适合分享或存档。可选接收路径参数;不带参数时写入工作目录下的 `kimi-export-<short-id>-<timestamp>.md`。 | |
| 在 web UI 中,`/export` 会把当前会话下载为诊断 ZIP。压缩包包含持久化的会话数据、诊断日志,以及记录浏览器关键事件且大小有上限、只含元数据的 `logs/kimi-web.jsonl`;提示词正文、WebSocket 内容和 console 参数不会写入这份浏览器日志。这里的 web 命令与上面的 TUI `/export` 别名行为不同。 | |
| ::: tip 提示 | |
| 导出文件可能包含代码、命令输出和路径等敏感信息,分享前请先确认内容。 | |
| ::: | |
| ## 下一步 | |
| - [数据路径](../configuration/data-locations.md) — 会话文件的完整目录结构说明 | |
| - [kimi 命令](../reference/kimi-command.md) — `--continue`、`--session`、`export` 等命令的完整参数参考 | |