前言¶
這是 SciF-Lin 維護的一個插件,旨在爲 DeepSeek Harness 提供真實瀏覽器控制能力。它將官方 Playwright MCP 掛載爲原生工具,使智能體能夠直接操作用戶實際使用的瀏覽器環境,而非模擬環境。
核心功能¶
插件將 Playwright MCP 的能力轉化爲工具表中的 mcp__playwright__* 系列 API,覆蓋以下操作:
* 導航、點擊、填表、按鍵、拖拽、上傳文件
* 頁面快照、截圖、控制台日誌、網絡請求監聽
* 執行 JavaScript
* 支持 launch(啓動)、cdp(遠程調試)、extension(瀏覽器擴展)三種模式
安裝與啓用¶
安裝命令如下:
dsh plugin --profile web add github:SciF-Lin/dsh-browsercontrol-mcp
安裝後必須重啓 profile 才能生效。新安裝的 bundle 不會在熱重載中立即參與組合。
配置說明¶
在 cordis.patch.yml 中配置該插件的行。關鍵參數包括:
| 鍵 | 默認值 | 說明 |
|---|---|---|
serverName |
playwright |
工具名前綴:mcp__<serverName>__browser_navigate |
mode |
launch |
運行模式:launch(啓動瀏覽器)、cdp(接管運行中瀏覽器)、extension(擴展模式) |
browser |
msedge |
launch 模式指定瀏覽器類型:chrome | msedge | firefox | webkit |
cdpEndpoint |
空 | cdp 目標:Chromium 通道名(如 msedge)或 CDP URL(如 http://localhost:9222) |
headless |
false |
launch 模式是否無頭運行 |
userDataDir |
空 | launch 模式的持久化 profile 目錄,用於保留登錄態 |
profileDirName |
空 | extension 模式下要連接的 profile 目錄名(如 Profile 1) |
guideSetup |
open |
cdp 模式下的授權引導:off(不引導)、auto(只提示)、open(自動打開設置頁) |
toolCallTimeoutMs |
120000 |
單次工具調用超時(毫秒) |
failOnStartupError |
false |
首次連接失敗時是否讓該行激活失敗(默認只記錄日誌) |
三種模式說明¶
- launch(默認)
使用系統已安裝的瀏覽器,無需下載 Chromium。適合自動化任務。 - cdp
接管用戶正在運行的瀏覽器。注意:Chromium 136+ 版本需在瀏覽器 UI 中開啓遠程調試開關(edge://inspect/#remote-debugging),而非命令行參數。 - extension
通過瀏覽器擴展方式連接,需安裝 Playwright Extension。
安全與注意事項¶
- 登錄態可見性:在
cdp或extension模式下,模型可見瀏覽器內所有已登錄站點的信息。建議爲自動化任務配置獨立的瀏覽器 profile。 - 衝突處理:如果
cordis.patch.yml中已存在手動配置的mcp-playwright行,插件會跳過掛載並記錄警告。 - 容錯性:插件不會因配置錯誤導致 Harness 崩潰,僅會記錄日誌並跳過掛載。
目錄與源碼¶
- GitHub: https://github.com/SciF-Lin/dsh-browsercontrol-mcp
- 目錄頁: https://www.skillhub.cn/plugins/SciF-Lin/dsh-browsercontrol-mcp