Appearance
Kiro CLI Session Management 会在每轮对话后自动保存 chat session,并按目录存入本地数据库。你可以恢复最近会话、打开 session picker、列出或删除会话,也可以导出文件或通过脚本接入 Git Notes、云存储等自定义方案。
Kiro CLI Session Management:自动保存、恢复和自定义存储
Kiro CLI 会自动保存所有 chat sessions。每一轮 conversation 都会写入本地数据库,并按启动目录区分不同项目。
这意味着你不必手动保存每次对话;但如果要跨机器迁移、归档或接入团队流程,仍然可以用文件导出或脚本方式接入自定义存储。
自动保存机制
Kiro CLI 的 session 保存行为:
| 项 | 说明 |
|---|---|
| 保存时机 | 每轮 conversation 自动保存 |
| 作用域 | 按目录区分,每个项目有自己的 sessions |
| 存储位置 | 本地数据库,位于 ~/.kiro/ |
| Session ID | 每个 session 使用 UUID |
Session ID 示例:
text
f2946a26-3735-4b08-8d05-c928010302d5命令行管理 session
恢复最近 session:
bash
kiro-cli chat --resume打开交互式 picker:
bash
kiro-cli chat --resume-picker列出所有 sessions:
bash
kiro-cli chat --list-sessions删除指定 session:
bash
kiro-cli chat --delete-session <SESSION_ID>如果提示没有可恢复的 session,先确认你是否在正确的项目目录中。Kiro 的 sessions 是 per-directory 的。
Chat 内管理 session
在 chat session 里也可以管理:
text
/chat new
/chat new how do I set up a React project
/chat resume
/chat save <path>
/chat load <path>/chat new 会自动保存当前 session,然后开始新 conversation。/chat save 和 /chat load 则用于手动导出和加载 JSON 文件。
通过脚本自定义存储
如果你想把 sessions 存到 Git、云存储或数据库,可以使用脚本接口。
保存:
text
/chat save-via-script <script-path>脚本会从 stdin 接收 session JSON。
加载:
text
/chat load-via-script <script-path>脚本需要把 session JSON 输出到 stdout。
Git Notes 示例
保存到 Git Notes 的脚本示例:
bash
#!/bin/bash
COMMIT=$(git rev-parse HEAD)
TEMP=$(mktemp)
cat > "$TEMP"
git notes --ref=kiro/notes add -F "$TEMP" "$COMMIT" --force
rm "$TEMP"
echo "Saved to commit ${COMMIT:0:8}" >&2从 Git Notes 加载:
bash
#!/bin/bash
COMMIT=$(git rev-parse HEAD)
git notes --ref=kiro/notes show "$COMMIT"这种方式适合把某次代码状态和对应 AI 对话关联起来,但要注意不要把敏感对话内容提交到共享仓库。
限制
Kiro CLI session 目前有这些限制:
- Sessions 按目录保存。
- 自动保存只写入本地数据库,不自动写文件。
- Session IDs 是 UUID,不够人类可读。
- 不内置云同步;需要脚本接入。
- 不支持按内容搜索 session。
排障
| 问题 | 原因 | 解决方法 |
|---|---|---|
| No saved chat sessions | 当前目录没有 sessions | 切换到正确项目目录 |
| Script save fails | 脚本返回非 0 exit code | 手动测试脚本,成功时应 exit 0 |
| Script load fails | 脚本没有输出合法 JSON | 确认 stdout 是有效 session JSON |
常见问题
Q: Kiro CLI 会自动保存对话吗?
A: 会。每轮 conversation 都会自动保存到 ~/.kiro/ 下的本地数据库。
Q: Kiro CLI session 是全局的吗?
A: 不是。sessions 按目录区分,所以要在正确项目目录里恢复。
Q: 可以把 session 保存到 Git 或云端吗?
A: 可以通过 /chat save-via-script 和 /chat load-via-script 接入自定义存储。