文档导航
文档 / session 与历史记录

session 与历史记录

session 是持久化的 OpenSquilla 会话。你可以通过它查看过去的工作、恢复一段会话、导出 transcript,或停止仍在运行的 turn。

在以下情况使用 session:

  • 从 CLI 或 Web UI 继续之前的聊天;
  • 查找某个 artifact、成本报告或 channel 线程对应的 session key;
  • 导出 transcript 用于排障或分享;
  • 中止长时间运行的 turn 而不删除 session;
  • 在不再需要旧 session 后删除它们。

前置要求

session 命令使用 gateway 的 RPC 接口。在运行大多数 session 命令之前,请先启动或连接 gateway:

opensquilla gateway run

或使用托管的后台 gateway:

opensquilla gateway start --json
opensquilla gateway status

列出最近的 session

opensquilla sessions list
opensquilla sessions list --limit 20
opensquilla sessions list --status idle
opensquilla sessions list --agent main
opensquilla sessions list --channel telegram
opensquilla sessions list --since 2026-05-01

在脚本中使用 --json

opensquilla sessions list --json

查看一个 session

opensquilla sessions show <session-key>
opensquilla sessions show <session-key> --json

输出包含已解析的 session key、agent id、状态、模型、更新时间、标题,以及在可用时的最近预览。

恢复 session

opensquilla sessions resume <session-key>

该命令会在现有 session 上打开终端聊天。当你希望保留相同的会话状态而不是新开聊天时使用。

中止正在运行的 turn

opensquilla sessions abort <session-key>
opensquilla sessions abort <session-key> --json

abort 会停止正在运行的 turn(如果存在)。它不会删除 session。

导出 transcript

导出 Markdown:

opensquilla sessions export <session-key>
opensquilla sessions export <session-key> --output session.md

导出 JSON:

opensquilla sessions export <session-key> --format json --output session.json

导出的 transcript 可用于错误报告、审计,或将任务转入文档。在公开分享导出内容前,请移除其中的密钥、私有本地路径、provider token 以及私密 channel 标识符。

删除 session

opensquilla sessions delete <session-key>
opensquilla sessions delete <session-key> --yes

删除 session 用于清理。如果之后可能仍需要 transcript,请先导出。

Web UI 工作流

Web UI 使用同一套 session 系统。在控制台中,使用聊天 session 选择器切换 session、查看状态以及继续最近的工作。

打开:

http://127.0.0.1:18791/control/

排障

如果命令无法连接到 gateway:

opensquilla gateway status
opensquilla doctor

如果旧的上下文以摘要形式出现,说明该 session 可能对较早的历史进行了 compaction。这在上下文压力下的长 session 中是正常现象。当确切文本很重要时,请导出 session。

延伸阅读:


文档索引 · 产品指南 · 改进本页 · 反馈文档问题

在 GitHub 上编辑此页(英文原稿) OpenSquilla 文档 · 中文社区翻译