前言¶
在 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 工作區與調試面板;其餘平臺仍在路線圖中。