kyo615/dsh-browser-control ↗★ 1
dsh-browser-control
A dynamic Cordis plugin for DeepSeek Harness: let an AI control a real, visible Chrome browser via Playwright MCP, with a live view of every action inside the GUI.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:kyo615/dsh-browser-control说明文档
阅读完整 README ↗dsh-browser-control
让 DeepSeek Harness 里的 AI 像 Codex 一样操控一个真实、可见的 Chrome 浏览器,并在对话 GUI 里实时看到每一步操作(自动截图 + 可点击元素的数字编号)。
底层基于微软官方开源项目 microsoft/playwright-mcp,通过 MCP(Model Context Protocol)stdio 连接。
本项目是 DeepSeek Harness 的动态 Cordis 插件(Host + Client 两部分)。它只调用 DSH / Cordis 的公开插件 API,不包含、不修改它们的源码。
✨ 特性
- 真实有头 Chrome:不是无头浏览器,你桌面上直接看到 AI 在操作(鼠标移动、输入、点击)
- 约 80 个
browser_*工具注册给 AI:browser_navigate/browser_click/browser_type/browser_snapshot/browser_press_key/browser_mouse_click_xy/browser_tabs/browser_evaluate等 - GUI 内嵌实时画面:每次 AI 动作后自动截图(
live.png),经宿主 HTTP 路由/dsh-browser/shot.png实时刷新到对话面板,数字方框 = AI 可点击的元素编号 - 面板操作:网址栏跳转、刷新画面、重启浏览器、关闭浏览器
- 零硬编码路径:所有路径自动探测或可配置,clone 下来即可用
🏗 架构
┌──────────────────── DeepSeek Harness 进程 ────────────────────┐
│ Host(code.host) │
│ ├─ 拉起 @playwright/mcp 子进程(真实有头 Chrome) │
│ ├─ 最小 MCP stdio 客户端(换行分隔 JSON-RPC,手写实现) │
│ ├─ 把 ~80 个 browser_* 工具注册为动态工具(harness.registerTool)│
│ └─ HTTP 路由 /dsh-browser/shot.png 提供实时截图 │
└──────┬─────────────────────────────┬──────────────────────────┘
│ MCP stdio(stdin/stdout) │ HTTP(GUI 同源)
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ @playwright/mcp │ │ Client(code.client)│
│ (node 子进程) │ │ 实时画面面板(轮询 rev)│
│ └─ 真实 Chrome │ └──────────────────┘
└──────────────────┘
📦 依赖与前提
- DeepSeek Harness(或兼容其动态 Cordis 插件机制的环境)
- Node.js ≥ 18
- 系统已安装 Google Chrome(或 Edge)
- 依赖包(在你打算放置
node_modules的工作区里执行):
npm install @playwright/mcp
🧩 方式一:作为正式插件安装(dsh plugin add)
本项目声明了标准的 dsh.bundle manifest(cordis.patch.yml + package.json 的 dsh 字段),可通过 DSH 的插件安装命令直接安装: