dsh-playwright-mcp:用 Playwright 擴展接管已登錄的 Chrome 標籤頁

前言

在 DSH 裏做瀏覽器相關任務時,常見做法是另起一個無頭 Chromium,或通過獨立自動化流程打開頁面。登錄態、Cookie 和你在日常 Chrome 裏已經打開的標籤頁往往無法直接複用,智能體要操作「你已經登錄過的那個窗口」時,又要單獨傳憑據或重新登錄。

下面介紹 CQin04 維護的配置型插件 dsh-playwright-mcp:把微軟官方 @playwright/mcp 以 Chrome 擴展模式(--extension) 接到 DSH,讓智能體通過 MCP 工具操作你正在運行的 Chrome,而不是再開一套瀏覽器實例。

這是什麼

dsh-playwright-mcp 是 DeepSeek Harness(DSH)的配置型插件(configuration-only bundle)。倉庫裏只有 package.json、cordis.patch.yml、locale 與圖標,沒有第三方業務代碼;DSH 側用內置 MCP 客戶端 @deepseek-ai/dsh-mcp-client 啓動微軟官方的 @playwright/mcp。

核心價值可以概括爲三句話:不另開瀏覽器、儘量不丟登錄態、不把賬號密碼寫進倉庫——擴展訪問 token 由你在本地配置文件中填寫。

核心功能

安裝並連上 Chrome 後,智能體會獲得以 mcp__playwright__browser_* 爲前綴的一組 MCP 工具。README 中列出的能力包括:頁面導航、點擊、輸入、頁面快照、截圖、控制台與網絡信息、標籤頁管理等。自動化引擎始終是官方 @playwright/mcp;本插件只負責用 DSH 的 bundle patch 機制把它以 --extension 方式掛進來。

與「刪掉 --extension、走獨立 Chromium」相比,擴展模式面向的是已有 Chrome 會話;若你更需要無頭或隔離環境,應改配並按 @playwright/mcp 文檔自行調整(README 中有說明,且需先執行 npx playwright install chromium)。

前置條件

使用前請逐項確認:

  1. DSH:支持 dsh.bundle.patch 插件包的版本。
  2. Node.js:系統可用 npx。
  3. Chrome + Playwright 擴展:在 Chrome 應用商店搜索 “Playwright Extension”,擴展 ID 爲 mmlmfjhmonkocbjadbfplnigmagldckm。
  4. 擴展訪問 token:見下一節。

獲取擴展 token

擴展安裝後需要讀出連接用的 token,並寫入本地配置(不要提交到公開倉庫)。

  1. 打開擴展的歡迎/狀態頁(擴展詳情頁裏有入口,或點擊擴展圖標)。
  2. 頁面上會顯示一行形如 PLAYWRIGHT_MCP_EXTENSION_TOKEN=... 的內容。
  3. 複製等號後面的值,供安裝步驟使用。

安裝與啓用

本插件通過本地插件包安裝,而非在文中臆造一條 dsh plugin add 形式的遠程命令。官方 README 流程如下。

  1. 獲取插件目錄:下載 dsh-playwright-mcp 倉庫內容到本地(僅配置文件,無需構建、無需 npm install)。
  2. 填寫 token:打開目錄中的 cordis.patch.yml,將佔位符 REPLACE_WITH_YOUR_EXTENSION_TOKEN 替換爲你的擴展 token。
  3. 在 DSH 中安裝:設置 → 插件 → 安裝本地插件包,選擇該目錄;或通過插件管理器指向該目錄。
  4. 驗證工具:安裝後工具列表應出現 mcp__playwright__browser_*;首次使用時 MCP 會自動嘗試連接你已運行的 Chrome。
  5. 保持連接:Chrome 需保持運行;擴展的 connect 相關標籤頁不要關閉(關閉後連接會斷,可再通過擴展圖標重連)。

cordis.patch.yml 中與平臺相關的啓動方式(摘自 README):

  • Windows 默認使用:
cmd.exe /c npx -y @playwright/mcp@latest --extension

(README 說明:Windows 下裸 npx 無法直接 spawn。)

  • macOS / Linux 應改爲 command: npx,args 爲:
-y
@playwright/mcp@latest
--extension

其他常用配置項(資料中明確出現):

  • toolCallTimeoutMs: 120000:長頁面或大操作時拉長超時。
  • failOnStartupError: false:MCP 啓動失敗時降級爲「沒有這些工具」,而不是阻止整個 DSH 啓動。

典型用法(工作流)

經過上面的步驟,智能體在對話或任務裏調用 mcp__playwright__browser_* 即可驅動你當前 Chrome 裏已打開或可導航的標籤頁,例如在已登錄狀態下打開後臺頁面、點擊元素、填表、抓快照或截圖。具體參數以 @playwright/mcp 與 DSH 暴露的工具 schema 爲準;本倉庫不附帶額外封裝代碼。

使用擴展模式時,請保持:

  • Chrome 進程在運行;
  • 擴展連接頁處於可用狀態;
  • 本地 cordis.patch.yml 中的 token 與擴展頁面顯示一致。

適用場景與注意

適合誰

  • 需要在 DSH 智能體裏操作真實 Chrome 會話(含登錄態)的開發者。
  • 已在使用或願意使用微軟 @playwright/mcp,並希望用 DSH 插件機制統一掛載 MCP 的用戶。
  • 接受「瀏覽器控制權綁在擴展 token 上」這一安全模型,並能把配置放在私有環境的人。

安全與權限

  • README 明確:token 等同瀏覽器控制權,勿提交到公開倉庫或發給他人;倉庫內僅爲佔位符。
  • 插件以當前 DSH 進程權限運行;安裝前應自行查看源碼(本包主要是配置)與 MIT 許可證,評估是否滿足你的環境策略。
  • 社區目錄 SkillHub 與 DeepSeek / 幻方無官方從屬關係,它只是 DSH 生態的獨立收錄站點——安裝來源以你信任的 GitHub 倉庫與本地包爲準。

與獨立 Chromium 模式的取捨

若不想用擴展、需要無頭或隔離瀏覽器,可按 README 去掉 --extension 及相關 env,並按 @playwright/mcp 文檔配置,且需先安裝 Chromium 運行時(npx playwright install chromium)。

結尾

dsh-playwright-mcp 用最小配置把官方 Playwright MCP 接到 DSH,重點解決「智能體操作你已登錄 Chrome」而不是「再起一個陌生瀏覽器」的問題。查閱說明與下載配置包見 GitHub 倉庫;在社區目錄瀏覽元信息見 SkillHub 插件頁。

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

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

小夜