kimi-code / docs /zh /guides /sessions.md
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
f0634fb verified
|
Raw History Blame Contribute Delete
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` 等命令的完整参数参考