会话管理
Claude Agent SDK 提供会话管理功能,用于处理对话状态和恢复。会话允许您在多次交互中继续对话,同时保持完整的上下文。会话工作原理
当您开始新查询时,SDK 会自动创建一个会话,并在初始系统消息中返回会话 ID。您可以捕获此 ID 以便稍后恢复会话。获取会话 ID
恢复会话
SDK 支持从先前的对话状态恢复会话,实现连续的开发工作流程。使用resume 选项和会话 ID 来继续之前的对话。
分叉会话
恢复会话时,您可以选择继续原始会话或将其分叉到新分支。默认情况下,恢复会继续原始会话。使用forkSession 选项(TypeScript)或 fork_session 选项(Python)来创建一个从恢复状态开始的新会话 ID。
何时分叉会话
分叉在以下情况下很有用:- 从同一起点探索不同方法
- 创建多个对话分支而不修改原始对话
- 测试更改而不影响原始会话历史
- 为不同实验维护单独的对话路径
分叉与继续
| 行为 | forkSession: false(默认) | forkSession: true |
|---|---|---|
| 会话 ID | 与原始相同 | 生成新会话 ID |
| 历史 | 追加到原始会话 | 从恢复点创建新分支 |
| 原始会话 | 被修改 | 保持不变 |
| 使用场景 | 继续线性对话 | 分支探索替代方案 |