前言¶
在 DeepSeek Harness(DSH)里让编码智能体改界面,常见问题不是「代码有没有写出来」,而是「跑起来以后旅程是否可用、外观是否合理」。HTTP 200、进程在跑或单张截图,都算不上完整证明。社区插件 dsh-agent-team-ui-testing(维护者 bloodarea,分类:联网工具)把目标放在真实界面上的操作、检查、验证与可复查证据,而不是只读源码。
下面按定位、已实现能力、安装方式和注意点介绍该插件。事实以仓库 README 与 package 元数据为准;当前状态为 pre-release,Web/Chromium 通道已实现,其余目标环境在运行期选择器中保持禁用或规划中。
这是什么¶
dsh-agent-team-ui-testing 是 DSH 的 UI 测试基础设施插件:让单个智能体或协调后的 Agent Team 驱动真实应用,查看应用暴露出的结构信息,核对预期行为,收集人类可审阅的证据并报告可行动失败项。
运行时围绕共享 Chromium 实例(每个 DSH 工作区一页)、类型化工具面,以及面向人类的调试面板。同一会话既可被程序化检查,也可通过结构化 DOM/无障碍数据操作,或截图与视觉分析。项目由早期的 dsh-agent-team-browser 思路演进而来,共享浏览器工作区是当前更广、能力分层的 UI 测试运行时的第一个适配器。
- 仓库:https://github.com/bloodarea/dsh-agent-team-ui-testing
- 社区目录:https://www.skillhub.cn/plugins/bloodarea/dsh-agent-team-ui-testing
- 许可证:MIT(README 标注)
- npm 包名:
dsh-agent-team-ui-testing,当前 package 版本 0.1.1 - 运行环境要求:Node.js >= 22;平台 Linux | macOS | Windows
核心功能(当前已实现)¶
共享浏览器运行时¶
每台主机、每个 runtime provider 共用一个浏览器实例。插件不捆绑、不安装浏览器,使用系统上的 Chrome/Chromium 或 Edge 二进制;默认 headless,Web 视图可选用 headed 模式(屏外隐藏窗口 + 持久 profile)。每个 DSH 工作区拥有独立 page、URL、视口、历史、网络缓冲与租约;Cookie 与存储随当前 provider 的 profile 共享。
默认 Web 目标环境为 chrome;亦接入 edge provider(独立可执行文件候选、DSH_UI_TESTING_EDGE 覆盖、独立 profile 目录及连接后产品身份检查,复用同一 CDP 栈)。资料注明:真实 Edge 启动尚未完成验证;Edge 未启用时依赖轴为 not-probed;在无 Edge 二进制机器上启用会显示 failed / executable-missing 且无法打开页面。
36 个 browser_* 智能体工具¶
工具按能力分组(名称与数量以 README 表格为准):
| 分组 | 数量 | 覆盖范围 |
|---|---|---|
| Programmatic | 10 | 导航、browser_eval、截图、原始输入、网络与控制台、browser_http_request、计算样式、视口与状态、能力报告 |
| Page group | 1 | browser_tabs:主 tab + 至多 3 个子 tab,租约、按智能体选 tab、弹窗收养与隔离规则 |
| Structured GUI | 7 | 快照 → ref 定位、点击、输入、滚动、填表、节点状态、等待,带结构化证据与类型化错误 |
| Static vision | 6 | 裁切/缩放/预处理/标注、确定性找色找边与模板、YIQ diff、坐标输入、基线管理与视觉断言 |
| Dynamic | 5 | 有界帧采集与完整性计数、区域帧投递、七种运动/过渡分析、WAAPI 控制、帧↔网络事件关联 |
| Network debugging | 4 | (README 表格未在抓取片段中展开工具名,以 docs/tools.md 为准) |
| Workspace & panel | 3 | (同上,详见仓库文档) |
设计取向在 README 中写得很清楚:结构化优先(API、DOM、无障碍),结构不足时再借助视觉;结果强调证据(运行了什么、观察到什么、通过/失败/未验证);人类可通过授权范围、会话范围与调试面板观摩或介入;尽量在后台操作浏览器,少占用桌面前台。
调试面板与元素拾取¶
调试面板提供实时预览、响应式尺寸控制、共享视口状态、混合画布,以及智能体可读回的客户端标注层。Element picker 可在面板预览中选元素,将其节点描述以 @ 引用块追加到对话;模型收到完整文本块,页面不会被修改。
多 tab 与动态行为(T4)¶
每个工作区保留主页面与至多三个子 tab,per-tab 租约、按智能体 tab 选择与弹窗收养遵守同一隔离规则。动态行为层包括真实 CDP screencast 与截图循环路径、有界帧存储与完整性计数、七种确定性运动分析、WAAPI 运动控制与恢复、仅区域帧投递,以及六向帧与网络事件关联。
证据与安全¶
类型化错误、结构化动作证据、经校验的 PNG 捕获、受管视觉基线、网络证据,以及对共享状态的乐观并发控制。能力与上限、验证方式见仓库内 docs/capability-tiers.md、docs/verification.md。
规划中环境¶
README 与 package 描述:Web/Chromium 已实现;Windows/Linux/macOS 桌面、Android、TUI、HarmonyOS、小程序、游戏与 3D 等环境在路线图中,运行期 picker 里其余环境保持禁用。不要把这些当作当前可用能力。
安装与启用¶
官方 README 给出的安装方式为(需使用 web profile):
dsh plugin --profile web add dsh-agent-team-ui-testing
安装前请确认本机 Node.js >= 22,并已具备可用的 Chrome/Chromium(若计划启用 Edge,需自行核对二进制与 README 中的验证状态)。插件以当前 DSH 进程权限运行,安装前宜阅读仓库源码与 MIT 许可证。
启用后,智能体通过上述 browser_* 工具与同会话调试面板操作页面;具体参数与示例以 docs/getting-started.md、docs/tools.md 为准。
典型用法(工作流层面)¶
资料未要求固定脚本式「一键演示」,可复现思路如下:
- 在 DSH(web profile)安装插件,确认共享浏览器 runtime 与 provider(chrome / 可选 edge)状态正常。
- 让智能体对目标 URL 调用 programmatic 组工具(如
browser_navigate、browser_state、browser_network)建立会话与基线。 - 用 structured GUI 组(
browser_snapshot→browser_click/browser_type/browser_wait_for等)走完用户旅程,依赖结构化证据而非纯猜测选择器。 - 需要外观回归时,使用 static vision 组(
browser_vision_compare、browser_vision_baseline、browser_vision_check等)对照受管基线。 - 动画、过渡或帧级问题时,启用 dynamic 组与会话工具,并结合网络调试工具做关联分析。
- 人类在调试面板中查看实时画面、调整视口、使用元素拾取把节点上下文带回对话;复杂场景可查阅
docs/verification.md中的验证说明。
适用场景与注意¶
适合谁:在 DSH 中做前端或全栈迭代、希望智能体在真实 Chromium 里验旅程、抓网络、做视觉对比与动态分析的开发者与 Agent Team 编排者。
需要注意:
- 状态为 pre-release;Edge provider 的完整验证尚未在资料中宣称完成。
- 浏览器二进制由本机提供,headless/headed 与 profile 行为影响 Cookie 与存储隔离方式。
- 工具能力分层与上限以
docs/capability-tiers.md为准,避免假设未实现环境(桌面、移动、TUI 等)已可用。 - 插件具备导航、执行脚本、截图、网络捕获等能力,仅在可信项目与明确授权的 URL 上使用。
结尾¶
dsh-agent-team-ui-testing 把 DSH 智能体的 UI 反馈从「写过代码」推进到「在真实 Chromium 会话里操作、结构化检查、留证据」。当前价值集中在 Web/Chromium 与 36 个 browser_* 工具、多 tab 工作区与调试面板;其余平台仍在路线图中。