Session

一个 Session 代表一个开发轮次——一次功能实现、一次 Bug 修复、一次代码审查或一个长期任务。Session 是可恢复的,你可以从上次离开的地方继续。

Session 提供:

  • 跨 Turn 的持久化上下文
  • 用于审查和审计的历史追踪
  • 跨轮次学习的记忆挂载
  • 每个操作的Trace 记录

Session 生命周期

创建 → 活跃 → 暂停 → 恢复 → 完成

创建 Session

/session new

开始一个新的开发轮次。这会创建一个具有干净上下文窗口的新 Session,同时保留对项目记忆的访问。

列出 Session

/session list

查看当前工作空间中的所有 Session。

恢复 Session

/session load <id前>

通过 ID 加载之前的 Session(支持部分匹配)。

查看当前 Session

/session current

显示 Session ID、模型和消息数。

清除 Session 消息

/session clear

清除当前 Session 的消息,不删除 Session 元数据。

Turn

一个 Turn 是 Session 内的一次交互——一个用户输入后跟 Agent 的响应。Turn 是 Alius 中执行的原子单元。

在 Bypass 模式中,每个 Turn 是独立的。在 Plan 模式中,Turn 相互构建以完成计划。

Run

一个 Run 是 Session 内的一次执行实例。每个 Run 有一个 RunRef、状态、关联的事件和 Trace 身份。

Trace

Turn 内的每个操作都会被追踪。Trace 记录:

  • Agent 决定做什么
  • 调用了哪些工具
  • 产生了什么
  • 每步是否成功或失败

这为你提供了完整的可观测性和可调试性。Trace 连接请求、命令、事件、日志和运行时观察,形成完整的执行链路。

Session 持久化

Session 会自动保存到你的工作空间。它们在工作空间退出后仍然保留,你可以随时通过 /session load 恢复。

Session 工作流

典型的 Session 工作流:

  1. /session new — 开始新功能或任务
  2. 在 Plan 模式中描述你的目标
  3. 通过 Shell Gate 审查和审批工具调用
  4. /review — 检查 Agent 输出
  5. /memory save — 保存重要发现
  6. /session clear/session new — 进入下一个任务