会话存储
会话按工作目录分组,默认保存在~/.stepcode/agent/sessions/。每个 JSONL 文件内部是树结构,记录通过 id 和 parentId 关联。
--session-dir <目录> 自定义会话目录,或 --no-session 创建不保存的临时会话。会话文件是内部格式,不建议手工编辑。
启动与恢复会话
在 TUI 中切换会话
会话选择器中可输入搜索词,Ctrl+S 切换排序,Ctrl+N 筛选命名会话,Ctrl+R 重命名,Ctrl+D 删除。删除前请确认是否还需要保留记录。
上下文压缩
自动压缩在上下文用量超过contextWindow - reserveTokens 后,于工具批次结束等安全点执行。也可以手动指定需要保留的信息:
keepRecentTokens 的消息,其余由模型生成八段结构化摘要,包含当前目标、已改文件、已验证结论和失败尝试等信息。后续请求由系统提示、摘要和保留消息组成。重要约定和验收结果也建议记录在项目文件中。
在 config.toml 中配置:
enabled = false 关闭自动压缩,但仍可手动运行 /compact。预留量和近期消息量应与模型上下文窗口匹配。
会话树与派生
/tree 中使用方向键导航、Enter 选择节点、Ctrl+O 切换过滤器(默认、无工具、仅用户消息、仅带标签)、Shift+L 编辑标签。选择用户消息时,其文本可回填到输入框,修改后重发形成新分支。
切换分支时可以生成摘要,帮助新位置理解被离开分支的内容;相关选项在 [branchSummary] 中配置。
会话分支只隔离对话记录,不会撤销磁盘文件修改,也不会创建 Git 分支。需要隔离代码实验时,请另行使用 Git 分支或 worktree。摘要和后续模型请求仍可能产生用量。
导出与分享
/export [file] 默认导出 HTML;使用 .jsonl 扩展名导出 JSONL,/import <file> 将其恢复为当前会话。导出可能包含代码、命令输出与路径,分享前请检查。

