前言¶
DeepSeek Harness 的核心理念是“一切皆插件”。在開發需要聯網能力的智能體時,單純的文本對話無法滿足操作動態網頁、處理表單或抓取實時數據的需求。dsh-tool-playwright 插件填補了這一空白,它讓 AI 擁有真實的瀏覽器控制權,能夠像人一樣打開網頁、點擊按鈕、切換標籤頁並讀取頁面內容。
插件介紹¶
dsh-tool-playwright 是微軟 playwright-mcp 的原生移植版。它不需要獨立的進程或服務器,直接運行在 DeepSeek Harness 內部。插件默認使用 Chromium 瀏覽器,採用 MIT 許可證。
安裝與啓用¶
安裝該插件需要經過三個步驟:克隆代碼、本地鏈接引用、重啓 Harness。
- 克隆代碼
從 GitHub 克隆插件文件夾。
git clone https://github.com/cheng-nan01/dsh-tool-playwright.git
- 本地引用安裝
使用link:方式將克隆的文件夾註冊到 Harness 的web配置文件中。注意不要移動或刪除克隆後的文件夾。
dsh plugin --profile web add link:/full/path/to/the/cloned/plugin/folder
*(請將 `link:` 後的路徑替換爲你實際的文件夾路徑,例如 `link:D:\my-plugins\dsh-tool-playwright`)*
- 重啓 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 可以直接調用上述工具。常見的調用方式包括:
- 打開網頁:
browser_navigate搭配目標 URL。 - 點擊按鈕:
browser_click,AI 會根據頁面快照中的ref(序號)或 CSS 選擇器定位元素。 - 填寫表單:
browser_type或browser_type_submit。 - 查看結構:
browser_snapshot,AI 讀取結構化列表來決定下一步操作。 - 多標籤頁操作:
browser_tab_switch在不同頁面間切換。 - 截圖反饋:
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 # 允許查看網絡請求
關鍵注意事項:
- 運行環境:插件運行在 Harness 進程內部,不需要額外部署服務器。
- 權限與安全:
browser_evaluate(執行任意代碼)功能默認關閉,這是出於安全考慮,僅在信任的環境下建議開啓。 - 配置生效:修改配置後必須重啓 Harness。
- 安裝方式:使用
link:安裝是創建快捷方式,代碼不會複製,因此不要移動插件源碼文件夾。 - 許可證:MIT 許可證(語義源自 playwright-mcp,實現爲原創)。
總結¶
dsh-tool-playwright 爲 DeepSeek Harness 提供了標準化的瀏覽器自動化能力。它將原本依賴外部 MCP 服務器的方案整合爲 Harness 原生插件,簡化了部署流程。對於需要構建具備真實互聯網交互能力的智能體,這是一個必要的工具組件。