dsh-browser:DeepSeek Harness 的 Playwright 瀏覽器自動化插件

前言

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.executablePathlaunch.channel

配置項

下面是已覈實資料中列出的配置字段:

字段 默認值 含義
launch.executablePath 瀏覽器二進制的絕對路徑,優先級更高
launch.channel auto(chromiumchromemsedge 瀏覽器通道
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_clickbrowser_typebrowser_selectbrowser_wait 等工具。

5、需要頁面內容時調用 browser_get_textbrowser_get_htmlbrowser_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

目錄頁:本文未給出鏈接。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜