Skip to content

功能规格说明:清除命令 ​

创建日期:2026-04-01

用户场景与测试 (必填) ​

用户故事:通过斜杠命令清除对话(优先级:P1) ​

作为 CLI 用户,我希望输入 /clear 来重置对话历史,以便在不重启应用的情况下开始全新会话。

验收场景:

  1. 假设 存在一个活跃对话且有消息,当 用户输入 /clear,则 对话历史被清除,生成新的会话 ID,并清除终端屏幕。
  2. 假设 CLI 中已有一段包含多条消息的对话,当 /clear 清空完成,则 终端屏幕被完全清空:旧的消息列表不得残留在屏幕上(无论清空过程中是否有其他 UI 状态更新打断渲染),屏幕仅显示欢迎头部与输入框,与 Ctrl+O 展开再收起后的视图一致。
  3. 假设 正在处理中的 AI 响应,当 用户输入 /clear,则 /clear 被忽略:AI 处理不被中止,对话历史保持不变(与 IDE 插件一致);AI 空闲时 /clear 才清除对话并生成新的会话 ID。
  4. 假设 任务列表包含当前会话的项目,当 /clear 执行后,则 任务列表与新的会话 ID 同步。

用户故事:通过 SDK 程序化清除(优先级:P1) ​

作为 SDK 消费者,我希望调用 agent.clearMessages() 来重置对话,以便我的应用程序可以程序化地开始新会话。

验收场景:

  1. 假设 存在一个活跃的代理会话且有消息,当 调用 agent.clearMessages(),则 对话历史被清除并生成新的会话 ID,效果与输入 /clear 相同。

边界情况 ​

  • 如果在没有对话的情况下调用 /clear 会发生什么? 仍然会生成新的会话 ID;不会抛出错误。
  • 桌面端 /clear 支持情况:桌面端 /clear 命令已于 2026-09-05 整端移除——/clear 不再出现在斜杠命令列表中,手动输入 /clear 会作为普通消息发送(SDK 从未注册 clear,消息直接交给模型,无害)。"新对话"入口保留在侧边栏,生成全新的代理会话。