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 插件页。

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

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

小夜