跳到主要内容

3.2.3 多会话管理

AI Dock 支持多会话并行,避免不同任务的上下文相互干扰。会话以 JSONL 格式持久化在本机,重启客户端后历史对话仍可查阅。

每设备一个独立会话

Studio 默认为每台已添加的设备维护一个独立的对话会话:

  • 切换设备时,AI Dock 自动切换到对应设备的会话
  • 每个会话有独立的上下文窗口与对话历史
  • 会话之间不互相干扰,不会出现"切到 X3 时 Agent 还以为是 X5"的混淆

这种设计在多设备并行开发时尤其有用——开发者可以在 X3 会话中讨论 X3 的问题,切到 X5 会话继续处理 X5 的事情,AI 不会把两台板的状态搞混。

手动新建会话

除了每设备的默认会话,开发者还可以手动新建会话:

  • 在 AI Dock 顶部点击"新建会话"
  • 适用于"同一台板上跑多个不相关任务,希望各自独立"的场景
  • 例如:一个会话专门讨论 ROS 节点调试、另一个专门做模型部署

会话持久化

会话以 JSONL 格式存储在本机,每条消息一行:

操作系统路径
Windows%USERPROFILE%\.rdk-studio\sessions\
macOS / Linux~/.rdk-studio/sessions/

JSONL 格式(每行一个独立 JSON 对象)适合追加写入与流式处理,重启客户端后会话历史完整保留。开发者也可以直接读取这些文件做离线分析。

上下文窗口与自动 compaction

每次对话使用的 Token 会持续累积。当累计 Token 达到模型上下文窗口的 70% 时,Studio 会自动触发 compaction:把早期对话总结为摘要,保留近期对话的完整内容。这种机制让长会话仍可继续,但保留摘要的本质是"压缩信息",对早期细节的回忆能力会下降。

如果用户察觉 Agent 对早期内容的引用不准确,建议手动新建会话开始新的话题,避免在同一个会话中堆积过多无关上下文。

取消正在执行的任务

正在运行的 Agent 任务可以随时取消:

  • 点击输入框右侧的取消按钮

取消后 Agent 会停止后续的工具调用与模型推理,正在执行的命令视具体工具而定(如 SSH 命令会发送 SIGINT 中断板端进程)。

会话历史

通过斜杠命令 /sessions 可以列出所有历史会话,查看上次对话的标题、设备、最后更新时间,并切换到任一历史会话继续。

/sessions

返回示例:

- 当前会话:RDK-X5-工位1(5 分钟前)
- abc123:摄像头调试(昨天)
- def456:YOLO 部署(3 天前)

点击会话编号或在斜杠命令中指定 ID 即可切换。