前言¶
在 DeepSeek Harness(DSH)里做「能点网页、能读屏、能键鼠」的智能体,常见做法是自己在配置里挂 MCP:浏览器侧用 Playwright MCP,本机 UI 侧在 macOS 上再挂 Peekaboo。两条服务各自要写 command、处理 npx 路径、装浏览器二进制、对着系统设置查录屏与辅助功能权限,任一环节漏掉,会话里往往看不到 mcp__playwright__* 或 mcp__peekaboo__* 工具,排查也分散在配置层和 TCC 里。
dsh-browser-computer(维护者 fegnze,分类:客户端)把「让 DSH 驱动浏览器和电脑」收成一颗插件:用 cordis.patch.yml 声明 playwright-mcp 与 peekaboo-mcp 两行 MCP 装配,并额外提供 Host / Client 入口做环境检查、依赖预热、macOS 权限引导与连接自检。它不替你写 profile 配置(那是官方插件管理器的职责),也不会改系统权限,只在需要时打开对应的系统设置面板。
这是什么¶
- 名称:
dsh-browser-computer(npm 包名与仓库fegnze/dsh-browser-computer一致) - 当前版本(package.json):
0.1.6 - 许可证:MIT
- 运行要求:Node
>=22;DSH>=0.2.0-rc.2 <0.3.0 - 目录页:https://www.skillhub.cn/plugins/fegnze/dsh-browser-computer
- 源码:https://github.com/fegnze/dsh-browser-computer
插件遵循官方「仅配置 bundle」思路(templates/mcp + references/mcp-bundle.md):MCP 接线本身不需要 Host / Client 入口文件;本包在此基础上加了健康检查、修复逻辑和插件详情页上的状态 UI。
核心功能:两条 MCP 分别做什么¶
装配关系在 README 中写得很清楚:
| 配置行 | 提供方 | 能力概要 |
|---|---|---|
playwright-mcp |
@playwright/mcp |
基于无障碍快照与稳定引用的真实浏览器控制:导航、点击、填写、标签页、截图、网络、Cookie / Storage 等 |
peekaboo-mcp |
@steipete/peekaboo |
读写 macOS 无障碍树、截图、真实鼠标与键盘输入(仅 macOS) |
command 在加载时通过 !!js 解析为与 node 同目录的绝对路径 npx,避免 Finder / Dock 启动的应用里 PATH 过短导致裸写 npx 时子进程静默失败。
除 MCP 外,插件对外刻意只暴露两个工具(降低常驻 schema 成本):
| 斜杠命令 | 工具名 | 副作用 | 作用 |
|---|---|---|---|
/browser-computer check |
browser_computer_check |
无(不联网) | 本地依赖、macOS 权限状态、profile 接线冲突 |
/browser-computer repair |
browser_computer_repair |
可能安装包、打开系统面板 | 补依赖 → 检查并引导权限 → 校验 MCP 连接(verify: false 可跳过校验) |
无参数时默认执行 repair。
激活或安装后会在后台自动跑一遍 repair(可通过 autoRepairOnStart: false 关闭):检查 Node / npx / 浏览器二进制与包缓存 → 用 npx -y <package> --version 预热两个 MCP(已缓存的不重复下载)→ 检查录屏与辅助功能(--no-remote,状态归属 DSH App 进程链)→ 未授权则打开对应系统设置。任一步失败只记一行日志,不会阻断插件激活。
插件详情页(官方槽位 plugins.detail.section)提供一行状态加一张状态卡(环境 / 三项权限 / MCP 连接),以及一个 Repair 按钮(POST /api/repair)。该 UI 只在本插件 bundle 详情出现,不会泄漏到其他插件页。
安装与启用¶
在 DSH 官方 Plugins 页面添加下列任一来源;若 profile 允许 CLI 管理,可使用 README 中的命令(将 <profile> 换成你的 profile 名)。若桌面 profile 仅由 Electron App 管理,应在 App 内插件管理器操作,不要用 CLI 去改该 profile。
# 1) 从 npm 安装(推荐;可指定 @version 以固定版本)
dsh plugin --profile <profile> add dsh-browser-computer
# 2) 从 GitHub 安装
dsh plugin --profile <profile> add github:fegnze/dsh-browser-computer
# 3) 本地开发(指向本仓库目录;仍可能需要刷新或重启)
dsh plugin --profile <profile> add link:<本仓库的绝对路径>
安装后必须完全退出并重新打开 DSH App。 README 中的测量结论是:安装后配置层会立刻出现 playwright-mcp / peekaboo-mcp,但未重启前运行会话里不会物化 mcp__playwright__* / mcp__peekaboo__* 工具,也不会拉起 MCP 子进程;Host 侧 JS 还被进程模块缓存,不重启可能仍报旧版本错误。
重启后可用以下方式验证:
- 让模型调用
browser_computer_repair - 执行斜杠命令
/browser-computer repair - 直接调用 MCP 工具,例如
mcp__playwright__browser_navigate
Client 侧还需再刷新一次插件详情页:App 重启后启动图才包含本插件的 client 入口,已打开的页面要刷新才能挂上详情区 UI。
典型用法¶
下面介绍从「装好」到「真能用」的最短路径。
- 按上一节命令安装到目标 profile,完全退出并重启 DSH App。
- 打开本插件在目录站或 App 内的详情页,看状态行;若权限或依赖未就绪,点 Repair,或在对话里执行
/browser-computer repair。 - 在 macOS 上按提示在「隐私与安全性」里为 DSH App(不是终端)勾选「屏幕录制」「辅助功能」;授权后再次重启 DSH App(TCC 变更对已运行进程不一定立即生效)。
- 在会话中让智能体使用 Playwright MCP 工具操作浏览器,例如导航:
mcp__playwright__browser_navigate(具体参数以 MCP 工具 schema 为准)。 - 若只需自检、不安装不打开面板,使用
/browser-computer check或工具browser_computer_check。
Peekaboo 仅在 macOS 有意义;其他平台应只依赖浏览器侧能力,并自行确认 peekaboo 行是否适用。
macOS 权限:报告里的名字与系统设置¶
Peekaboo 报告中的「Event Synthesizing」在系统设置里没有同名开关,它依赖「辅助功能」授权:
| 报告中的名称 | 系统设置位置 | 影响 |
|---|---|---|
| Screen Recording | 隐私与安全性 → 屏幕录制 | 截图、窗口枚举 |
| Accessibility | 隐私与安全性 → 辅助功能 | 无障碍树读写、后台点击 |
| Event Synthesizing | 与辅助功能同一处;授权辅助功能后会自动引导 | 合成键盘、前台指针操作 |
两点务必记住:授权对象是 DSH App;改完权限后要重启 App。
适用场景与注意¶
适合谁
- 已在 DSH 里做 agent,需要稳定可用的 Playwright 浏览器 MCP,并在 macOS 上需要读屏 / 键鼠自动化。
- 希望把 MCP 接线、npx 路径、依赖预热和权限排查收成「安装插件 + 重启 + Repair」,而不是手写多段 MCP 配置。
安全与权限边界(安装前建议读 README 安全章节)
peekaboo-mcp相关配置带有--allow-foreground:没有它就无法真实点击和输入;若只做后台无障碍、可接受降级,可按 README 说明从cordis.patch.yml去掉该参数以降低权限。- Playwright MCP 提供
browser_run_code_unsafe等能力时,应结合 README 完整安全说明评估是否接受。 - 插件以当前 DSH 进程的权限运行;安装前请自行查看源码与 MIT 许可证,确认与你的工作区策略一致。
生态说明
DSH 的理念是「一切皆插件」;SkillHub 等社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,本文仅介绍社区插件本身。
结尾¶
dsh-browser-computer 把 playwright-mcp 与 peekaboo-mcp 收成一颗客户端插件,用自动 repair、斜杠命令和详情页 UI 把依赖、macOS TCC 与 MCP 连接问题压到可重复的几步操作里。需要进一步了解参数与安全边界时,以仓库 README 与 docs/zh.md 为准。
- 目录页:https://www.skillhub.cn/plugins/fegnze/dsh-browser-computer
- GitHub:https://github.com/fegnze/dsh-browser-computer