前言¶
这是 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