重启后浸泡验证清单(SOAK-CHECKLIST)
August 26, 2026 · View on GitHub
前置:重启 DSH Web(使 provider/remote-host/tool-browser 新代码生效),然后在 DSH 会话中依次执行。 每个工具调用后记录结果;任何白屏立即停止并回滚 host-main.js 至上一提交。
1. 对话框自动处理
-
browser_open https://example.com(host child 全新启动,无白屏) -
browser_execute脚本setTimeout(() => { window.confirm('soak'); }, 0); 'scheduled'→ 页面不卡 - 二次
browser_execute Date.now()返回数字(confirm 已自动 accept) -
browser_history出现#n dialog ok {"type":"confirm",...}
2. 输入工具(GUI 受控)
-
browser_execute聚焦输入后browser_press_key key="Enter"→ 快照见行为变化;history 有 pressKey -
browser_press_key key="a" modifiers=["ctrl"](键盘事件低位键 'a') -
browser_double_click选中文本段;history 有 doubleClick -
browser_hover导航项 →browser_screenshot目视 hover 态;history 有 hover -
browser_execute注入<input type=file>→browser_upload_file filePath=C:\Windows\win.ini→browser_execute读input.files[0]?.name= win.ini
3. 等待与定位
-
browser_wait_for selector="a[href]"立即命中(iana.org) - 动态元素:注入延时节点后
browser_wait_for selector="#late"命中 -
browser_snapshot每行含loc=,结果含snapshotId -
browser_click_ref(snapshotId, ref)点击快照中的链接或按钮;导航后用旧 snapshotId 再调用应明确提示重新快照 -
browser_scroll无参数向下滚动;browser_scroll_into_view(snapshotId, ref)将目标滚入视口 -
browser_back/browser_forward/browser_reload/browser_stop分别与页面工具栏行为一致
4. 共享窗口、任务管理器与 space
- 本会话
browser_open https://www.iana.org/→ 一个可见dsh-browser-plus窗口和对应任务视图 - 另一个 DSH 会话
browser_open https://www.w3.org/→ 仍只有一个共享窗口,页面任务管理器显示两个隔离任务 -
browser_space label="奖励任务"→ 当前浏览器任务在任务管理器中显示该标签,活动时标题为dsh-browser-plus — 奖励任务;history 有 setSpace -
browser_space(无参)→ 列出全部浏览器任务(key + label);不产生新窗口 - 在任务管理器切换两个任务 → 各自 URL/标签正确;隐藏任务的浏览器操作更新自身状态但不抢当前可见页面
- Agent 执行长等待时任务卡显示“执行中”;调用
browser_handoff state=waiting-user后显示“等待用户” - 在当前任务卡点击“接管” → 显示“用户接管”,新的 Agent 页面操作被拒绝;点击“交还 Agent”后恢复操作
-
browser_tasks的状态、控制方、标签页数和最近动作与任务卡一致 - 关闭共享窗口后再次
browser_open→ 窗口重建且不残留
5. 增量更新与性能
- 打开任务和轨迹面板后连续执行 100 次轻量页面操作 → 当前任务轨迹持续追加,其他任务卡不闪烁或重建
- 创建至少 3 个任务、每个 2 个标签 → 后台页面不持续刷新缩略图;打开任务面板并切换当前任务后才刷新当前缩略图
- 保持任务面板关闭执行操作 → 无可见缩略图捕获;重新打开后当前任务缩略图按需更新
6. 稳定性
- 连续导航 5 站(example.com → bing.com → w3.org → iana.org → example.com)→ 无白屏,每窗口有且仅有一个视图
- 回收 Electron child(Get-CimInstance ... Stop-Process)→ 下一次工具调用自动重启、无残留窗口
-
browser_auth action="flush"→ cookies 数量正常(换名安装前迁移用)
7. 已知 deferred minors(合并后择机)
见 .superpowers/sdd/2026-08-21-dsh-browser-plus-ego-features/progress.md 的 "minor (deferred)" 行(全部为非阻塞风格/文档项)。