dsh-plugin-browser:DeepSeek Harness 的 Playwright 瀏覽器驅動插件

前言

DeepSeek Harness (DSH) 內置的 web_fetch 工具通過 HTTP 請求獲取網頁文本,無法執行 JavaScript 渲染或進行交互操作。dsh-plugin-browser 是一個社區插件,通過 Playwright 驅動無頭瀏覽器,爲模型提供了渲染頁面、提取文本、截圖以及自動化交互的能力,彌補了基礎聯網工具的不足。

插件簡介

這是一個 DSH 社區插件,歸屬於「聯網工具」分類,由 xu1132 維護,開源協議爲 MIT。它通過 Playwright 註冊了 6 個模型可調用的工具,使大模型能夠像人類一樣瀏覽網頁、讀取動態內容並操作頁面元素。

核心功能

插件提供以下能力:
- 頁面導航與渲染:打開 URL,等待頁面加載,返回渲染後的標題、正文文本和鏈接列表。
- 內容提取:獲取當前頁面的渲染文本,用於在自動化步驟之間檢查狀態。
- 交互操作:通過 Playwright CSS 選擇器點擊元素、填充文本輸入框。
- 截圖:截取視口內容並保存爲 PNG 圖片,默認保存在配置的目錄。
- 會話管理:關閉瀏覽器會話並釋放資源。

安裝與配置

安裝插件

dsh plugin --profile demo add github:xu1132/dsh-plugin-browser

依賴準備

插件默認使用 Playwright 自帶的 Chromium。首次使用前,需在 profile 目錄下安裝瀏覽器二進制:

npx playwright install chromium

配置項

可以通過 profile 下的 cordis.patch.yml 覆蓋默認配置,例如:

- id: browser
  name: dsh-plugin-browser
  config:
    timeoutMs: 30000      # 導航、點擊、輸入的超時時間
    maxTextChars: 20000   # 單次快照提取的最大字符數
    maxLinks: 20          # 單次快照列出的最大鏈接數
    screenshotDir: .      # 截圖保存目錄
    executablePath: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome  # 指定系統瀏覽器路徑

典型用法

  • 讀取動態內容:讓模型訪問一個通過 JavaScript 渲染的頁面,並提取其中的信息。
  • 自動化交互:模擬用戶點擊按鈕或輸入文本。
  • 獲取快照:在自動化步驟之間獲取當前頁面的渲染文本。

注意事項

  • 會話隔離:每個 Agent 擁有獨立的瀏覽器會話;沒有關聯 Agent 的調用會共享一個默認會話。
  • 啓動時機:會話在首次使用時按需啓動,插件卸載時自動關閉。
  • 權限與安全:插件以當前 DSH 進程的權限運行,使用前建議檢查源碼與許可證。

總結

該插件擴展了 DSH 在瀏覽器自動化領域的應用能力,適用於需要處理 SPA 應用、動態數據抓取或模擬用戶操作的場景。

GitHub 倉庫

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

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

小夜