前言¶
DSH 的插件化方式,讓 agent 可以把外部能力拆成工具調用。瀏覽器操作是其中一類常見需求:打開頁面、填寫表單、點擊按鈕、讀取 SPA 渲染後的內容,再截圖回看。社區插件目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。dsh-browser 解決的是讓 agent 直接驅動真實 Web 頁面。
這是什麼¶
dsh-browser 是一個 Playwright 驅動的 DeepSeek Harness 瀏覽器自動化插件,提供一組 browser_* 工具,用於打開頁面、導航、點擊、輸入、選擇選項、截圖、執行 JavaScript,並讀取頁面內容。
倉庫地址:
https://github.com/ben7am1n/dsh-browser
核心工具¶
下面是已覈實資料中列出的工具能力:
browser_open:打開或複用瀏覽器,可選導航到 URL。browser_navigate:導航當前頁面並等待加載。browser_click:通過 CSS 選擇器點擊元素。browser_type:在輸入框輸入文本,可選按 Enter。browser_select:在<select>中選擇選項。browser_screenshot:捕獲 PNG 到<workspace>/browser-screenshots/,可用read_image查看。browser_eval:在頁面中執行 JavaScript 並返回 JSON。browser_get_text/browser_get_html:讀取可見文本或 outer HTML。browser_wait:等待慢頁面或懶加載內容。browser_close:關閉瀏覽器,且可被任意工具重新打開。browser_install:解釋或驗證瀏覽器可用性。
瀏覽器狀態會跨工具調用保持。可以先用 browser_open 打開一次,再多次調用其他工具驅動同一個瀏覽器,完成後再用 browser_close 關閉。
默認以 headless 方式運行;已覈實資料提到 headed 模式可能後續提供。
安裝與啓用¶
先爲目標 profile 添加插件:
dsh plugin --profile <name> add dsh-browser
該插件依賴 playwright-core,並且需要 Chromium-based 瀏覽器。它會按以下順序自動嘗試通道:
chromium → chrome → msedge
如果當前環境沒有可用瀏覽器,可以安裝 Chromium:
npx playwright install chromium
也可以在插件配置中指定瀏覽器可執行文件或通道,例如配置 launch.executablePath 或 launch.channel。
配置項¶
下面是已覈實資料中列出的配置字段:
| 字段 | 默認值 | 含義 |
|---|---|---|
launch.executablePath |
— | 瀏覽器二進制的絕對路徑,優先級更高 |
launch.channel |
auto(chromium → chrome → msedge) |
瀏覽器通道 |
launch.navigationTimeoutMs |
— | 默認導航/操作超時 |
launch.viewport |
1280×800 |
頁面視口 |
screenshotDir |
browser-screenshots |
workspace 下的截圖目錄 |
如果要在 profile 中覆蓋瀏覽器通道和超時,可以寫類似下面的配置:
# profile cordis.patch.yml
- id: browser
config:
launch:
channel: chrome
navigationTimeoutMs: 30000
這段示例表示將瀏覽器通道固定爲 chrome,並把導航/操作超時設置爲 30000 毫秒。
典型用法¶
可以按下面的順序使用:
1、添加插件並確認 profile 加載成功。
2、確認瀏覽器可用;如果不可用,執行下面的命令,或配置 launch.executablePath / launch.channel:
npx playwright install chromium
3、讓 agent 調用 browser_open 打開目標 URL,或複用已有瀏覽器。
4、按頁面需要調用 browser_click、browser_type、browser_select、browser_wait 等工具。
5、需要頁面內容時調用 browser_get_text、browser_get_html 或 browser_eval。
6、需要視覺判斷時調用 browser_screenshot。截圖會保存在調用 agent 的 workspace 中,默認位於 browser-screenshots 目錄,隨後可以用 read_image 讀取。
7、任務完成後調用 browser_close 關閉瀏覽器。
依賴與版本約束¶
package.json 中聲明的版本爲 0.1.1。其中與運行環境相關的依賴包括:
{
"dependencies": {
"@deepseek-ai/schemastery": "^3.18.1",
"playwright-core": "^1.49.0"
},
"peerDependencies": {
"@deepseek-ai/cordis": "^4.0.1",
"@deepseek-ai/dsh-agent": "^0.1.0-rc.6",
"@deepseek-ai/dsh-tools": "^0.1.0-rc.6"
}
}
這意味着部署環境除了安裝插件本身,還需要滿足對應的 peer 依賴版本約束,並且具備可用的 Chromium-based 瀏覽器。
適用場景與注意¶
dsh-browser 適合需要在 DSH agent 工作流中處理真實網頁的開發者,例如表單填寫、多步點擊、SPA 內容讀取、JavaScript 求值,以及截圖後回看。
需要注意:
- 插件會以當前 dsh 進程權限運行。它能在頁面中執行 JavaScript、讀取頁面內容、操作表單和截圖,安裝前建議先檢查源碼、依賴和許可證。
- 許可證爲 MIT。
- 默認 headless 運行;headed 模式在已覈實資料中被描述爲可能後續提供。
- 截圖位於調用 agent 的 workspace,模型需要使用
read_image讀取。
結尾¶
dsh-browser 的價值在於把“打開瀏覽器、操作頁面、讀取結果、截圖回看”這些步驟變成 DSH 工具調用的一部分,減少爲每個 agent 單獨寫瀏覽器腳本的重複工作。
GitHub:
https://github.com/ben7am1n/dsh-browser
目錄頁:本文未給出鏈接。