前言¶
DSH Browser Client 是一個通過瀏覽器浮窗實現網頁自動化的工具。它解決了在 DSH 環境中直接操作瀏覽器頁面常遇到的同源策略限制問題。工具運行在用戶已登錄的真實瀏覽器中,能夠直接利用現有的 Cookie 和 SSO 權限進行操作。
核心能力¶
插件提供了一套頁面操作工具和一個探索模式工作流。頁面工具用於單次或批量操作當前頁面,探索模式則用於處理複雜任務,通過邊操作邊學習的方式生成工作流。
頁面操作工具¶
| 工具名 | 功能 |
|---|---|
page_snapshot |
獲取頁面結構化快照,包含 URL、標題、可見文本及交互元素座標 |
page_eval |
在頁面 MAIN world 執行任意 JavaScript 代碼 |
page_act |
執行點擊、輸入、滾動、鍵盤操作或清除內容 |
page_navigate |
跳轉、後退、前進或刷新頁面 |
page_wait |
等待特定元素出現、網絡空閒或延時 |
page_screenshot |
截取視口、特定元素或整頁 |
page_network |
讀取頁面發生的 fetch/XHR 請求詳情(URL、方法、狀態、響應預覽) |
網頁工作流與探索模式¶
面向非研發人員,支持將對話轉化爲可保存重跑的工作流。
* 網頁工作流:通過 workflow_generate 工具生成工作流,支持 page_record / page_highlight 錄製演示,執行器支持循環、分支、審批等邏輯。
* 探索模式:通過 explore_start 啓動,反覆使用 explore_act 試錯,最後用 explore_check 驗證,並將成功路徑提煉爲工作流。
安裝與啓用¶
安裝過程分爲 DSH Host 端配置和瀏覽器擴展加載。
1. 配置 DSH Host¶
將 cordis.patch.yml 插件插入 DSH profile,並重啓 DSH。啓動後日志會打印 token 並註冊上述頁面工具。
2. 加載瀏覽器擴展¶
打開 Chrome 或兼容瀏覽器,訪問 chrome://extensions,開啓開發者模式,加載已解壓的擴展程序,選擇 browser-ext/extension 目錄。
配置與使用¶
在瀏覽器擴展的設置面板中填寫 Host 地址和 Token。Token 位置通常爲 $DSH_HOME/browser-client-token。
使用時,在任意網頁右下角的浮窗中發起對話。例如提問“這個頁面現在顯示什麼?”,DSH 會調用 page_snapshot 獲取頁面數據並回答。
注意事項¶
- 工具命名規範:工具名使用下劃線(如
page_snapshot),不含點號(如page.snapshot)。騰訊 intranet 網關會拒絕含點號的工具名。 - 瀏覽器兼容性:Chrome 151+ 在 macOS 上禁用了
--load-extension命令行加載方式。當前插件在 360Chrome(Chromium 132)環境下已通過實測,Chrome 用戶需手動加載擴展。 - 驗證環境:不啓停生產實例(如 3080),所有驗證通過獨立新端口實例進行。
- 權限範圍:插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
生態與鏈接¶
該插件由 flymysql 維護,遵循 MIT 許可證。詳見 GitHub 倉庫。