Skip to content

feat(agent-gui): strengthen input history regression coverage - #2353

Open
J1nyu123 wants to merge 1 commit into
tutti-os:mainfrom
J1nyu123:feat/agent-gui
Open

feat(agent-gui): strengthen input history regression coverage#2353
J1nyu123 wants to merge 1 commit into
tutti-os:mainfrom
J1nyu123:feat/agent-gui

Conversation

@J1nyu123

@J1nyu123 J1nyu123 commented Aug 13, 2026

Copy link
Copy Markdown

关联 Issue

Related to #2320

背景

AgentGUI 已支持在 Session composer 中使用 ArrowUpArrowDown 浏览当前 Session 的历史输入。本 PR 根据输入历史功能的验收标准,补齐此前缺少的直接回归测试,防止 IME、Session 切换、召回内容编辑和空记录处理发生回归。

变更内容

  • 验证 IME composition 期间 ArrowUpArrowDown 不触发输入历史导航,也不拦截键盘事件
  • 验证编辑召回内容后退出历史导航模式,并保留编辑后的普通 draft
  • 验证切换 Session 后旧 cursor 和召回文本不会泄漏,新 Session 从自身最新历史开始
  • 验证空白用户消息不会生成输入历史项

设计说明

本 PR 不修改生产逻辑。输入历史继续:

  • 从当前 Session 的 canonical 持久化用户消息和 Goal-control 记录派生
  • 复用现有消息分页,在到达已加载最旧记录时按需加载上一页
  • 使用 UI-local cursor,不建立第二份持久化历史
  • 保持 Home composer 不读取 Session 历史
  • 保持现有 submit flow、host capability 和 Session 隔离语义不变

验证

  • pnpm check:changed -- --push-ready:13 个 lane 全部通过
  • AgentGUI 定向测试:3 个测试文件、21 个测试通过
  • 人工验证首次及重复上下导航、越过最新历史后恢复空 composer、非空及多行 draft 光标行为、召回编辑重发、Session 隔离,以及中文 IME 方向键保护与历史召回

Windows 影响

本 PR 仅增加浏览器键盘事件和平台无关状态逻辑的测试,不修改路径、文件系统、进程、shell、环境变量或原生依赖。Windows 与 POSIX 使用相同的 AgentGUI 代码路径,无需新增平台专用实现。

文档影响

discarddocs/architecture/agent-gui-node.md 已记录输入历史的数据来源、分页与持久化策略、去重规则、键盘条件和 Session 隔离,本 PR 无需重复更新文档。

Signed-off-by: J1nyu123 <214785254+J1nyu123@users.noreply.github.com>
@tutti-pr-review-bot
tutti-pr-review-bot Bot requested a review from a team August 13, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant