dsh-tool-playwright:讓 AI 在瀏覽器中“看見”並操作網頁

前言

DeepSeek Harness 的核心理念是“一切皆插件”。在開發需要聯網能力的智能體時,單純的文本對話無法滿足操作動態網頁、處理表單或抓取實時數據的需求。dsh-tool-playwright 插件填補了這一空白,它讓 AI 擁有真實的瀏覽器控制權,能夠像人一樣打開網頁、點擊按鈕、切換標籤頁並讀取頁面內容。

插件介紹

dsh-tool-playwright 是微軟 playwright-mcp 的原生移植版。它不需要獨立的進程或服務器,直接運行在 DeepSeek Harness 內部。插件默認使用 Chromium 瀏覽器,採用 MIT 許可證。

安裝與啓用

安裝該插件需要經過三個步驟:克隆代碼、本地鏈接引用、重啓 Harness。

  1. 克隆代碼
    從 GitHub 克隆插件文件夾。
    git clone https://github.com/cheng-nan01/dsh-tool-playwright.git
  1. 本地引用安裝
    使用 link: 方式將克隆的文件夾註冊到 Harness 的 web 配置文件中。注意不要移動或刪除克隆後的文件夾。
    dsh plugin --profile web add link:/full/path/to/the/cloned/plugin/folder
*(請將 `link:` 後的路徑替換爲你實際的文件夾路徑,例如 `link:D:\my-plugins\dsh-tool-playwright`)*
  1. 重啓 Harness
    插件被加入啓動列表後,必須重啓 Harness 進程才能生效。
    # 停止當前進程 (Ctrl+C)
    # 重新啓動
    pnpm dsh web

核心功能

該插件提供了一整套瀏覽器操作工具,主要分爲以下幾類:

  • 頁面導航與操作:browser_navigate(打開網頁)、browser_back(後退)、browser_forward(前進)、browser_reload(刷新)、browser_wait_for(等待頁面加載)。
  • 交互操作:browser_click(點擊)、browser_type(輸入文本)、browser_type_submit(輸入並提交表單)、browser_select_option(選擇下拉選項)、browser_hover(懸停)、browser_focus(聚焦)、browser_press_key(按鍵盤)、browser_drag(拖拽)、browser_upload_file(上傳文件)。
  • 內容查看:browser_snapshot(獲取頁面結構快照,供 AI 讀取)。
  • 標籤頁管理:browser_tab_new(新建標籤頁)、browser_tab_switch(切換標籤頁)、browser_tab_close(關閉標籤頁)、browser_tab_list(列出所有標籤頁)。
  • 窗口與輸出:browser_resize(調整窗口大小)、browser_screenshot(截圖)、browser_pdf(保存爲 PDF)。
  • 網絡與調試:browser_console_messages(讀取控制台信息)、browser_network_requests(查看網絡請求)。
  • 高級功能:browser_evaluate(執行 JS 代碼)、browser_storage_state(管理存儲狀態)、browser_init_script(注入腳本)、browser_tracing_start/stop(性能追蹤)。注:高級功能默認關閉,需手動開啓。

典型用法

在 Harness 的 Web 界面(通常爲 http://127.0.0.1:3080)中,AI 可以直接調用上述工具。常見的調用方式包括:

  1. 打開網頁:browser_navigate 搭配目標 URL。
  2. 點擊按鈕:browser_click,AI 會根據頁面快照中的 ref(序號)或 CSS 選擇器定位元素。
  3. 填寫表單:browser_type 或 browser_type_submit。
  4. 查看結構:browser_snapshot,AI 讀取結構化列表來決定下一步操作。
  5. 多標籤頁操作:browser_tab_switch 在不同頁面間切換。
  6. 截圖反饋:browser_screenshot 用於確認操作結果或作爲日誌附件。

配置與注意事項

插件使用 cordis.patch.yml 進行配置。注意,Patch 配置會覆蓋而非合併原有配置,因此修改時通常需要重寫整個配置塊。

示例配置(添加到 $DSH_HOME/profiles/<name>/cordis.patch.yml):

- id: dsh-tool-playwright
  config:
    browser: chromium        # 瀏覽器引擎:chromium / firefox / webkit / msedge
    headless: false          # false = 顯示瀏覽器窗口,true = 後臺運行
    viewport:
      width: 1280            # 窗口寬度
      height: 720            # 窗口高度
    timeoutMs: 30000         # 單次操作超時時間(毫秒)
    capabilities:
      screenshot: true       # 允許截圖
      pdf: true              # 允許導出 PDF
      network: true          # 允許查看網絡請求

關鍵注意事項:

  1. 運行環境:插件運行在 Harness 進程內部,不需要額外部署服務器。
  2. 權限與安全:browser_evaluate(執行任意代碼)功能默認關閉,這是出於安全考慮,僅在信任的環境下建議開啓。
  3. 配置生效:修改配置後必須重啓 Harness。
  4. 安裝方式:使用 link: 安裝是創建快捷方式,代碼不會複製,因此不要移動插件源碼文件夾。
  5. 許可證:MIT 許可證(語義源自 playwright-mcp,實現爲原創)。

總結

dsh-tool-playwright 爲 DeepSeek Harness 提供了標準化的瀏覽器自動化能力。它將原本依賴外部 MCP 服務器的方案整合爲 Harness 原生插件,簡化了部署流程。對於需要構建具備真實互聯網交互能力的智能體,這是一個必要的工具組件。

查看插件目錄
查看源碼與文檔

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

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

小夜