DSH Hub
dsh-browser-control cover

angelky7/dsh-browser-control

dsh-browser-control

BundleBrowser45 GitHub stars· updated 2026-10-24

dsh-browser-control is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add @angelky7/dsh-browser-control

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-browser-control DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-browser-control.svg)](https://dshhub.dev/plugins/dsh-browser-control)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from angelky7/dsh-browser-control, cleaned of badges and images.

DSH Browser Control

<a href="README.md">简体中文</a> · <a href="README.en.md">English</a>

Chrome 浏览器扩展 + DeepSeek Harness 插件,让 AI Agent 像人一样操控你的真实浏览器。

这是什么

不是无头浏览器,不是 Puppeteer——是你的真实 Chrome,带着你的登录态、你的 cookies。AI 通过 Chrome DevTools Protocol 驱动标签页,你可以在屏幕上看到每一步操作。

你对 AI 说一句话
      ↓
Agent 调用 browser_* 工具
      ↓
DSH 插件(WebSocket 桥)
      ↓
Chrome 扩展(CDP 驱动)
      ↓
你的真实浏览器执行操作
      ↓
结果返回给 Agent

和 MCP 浏览器方案的区别

市面上已经有 Playwright MCP、Puppeteer MCP、browser-use 等,它们的共同点:启动一个自己下载的全新浏览器实例。本项目走的是另一条路:

本项目Playwright / Puppeteer MCP
浏览器你正在用的真实 Chrome自动下载的独立实例
登录态 / Cookies✅ 全部继承,无需重新登录❌ 每次全新 profile
过验证码 / 扫码登录你的会话已经登录,基本不遇到经常卡在登录墙
可见性屏幕上实时可见,agent 新建的标签自动归进 DSH 分组,随时鼠标接管无头运行或独立窗口
环境依赖无需 Node / npx / Python需要 npx 或 uvx 运行时
接入方式加载扩展 + 设置页开关编辑 MCP 客户端 JSON 配置
磁盘占用复用现有 Chrome,零新增额外下载数百 MB 浏览器
集成深度dsh 原生插件(状态页 / 清理按钮;设置页卡片由宿主版本决定,见下)通用 MCP server

一句话:要 AI 用"你自己的"浏览器干活(已登录的 B 站、知乎、淘宝后台),用本项目;要做跨浏览器、跨应用的通用自动化测试,用 MCP。

下载

文件说明
DSH-Browser-Control-v1.0.19.zipChrome 扩展(解压后加载;扩展自 v1.0.19 起未变更,v1.1.0 只是包名迁移,扩展仍用这一版)
dsh-browser-control-plugin-v1.1.0.zipdsh 插件(离线兜底,在线装直接用方式 A/B)

安装 Chrome 扩展(30 秒)

下载 zip → 解压到固定文件夹(别删)→ Chrome 打开 chrome://extensions → 开启「开发者模式」→ 点「加载已解压的扩展程序」→ 选解压后的文件夹。

工具栏出现鲸鱼图标 → 绿点呼吸 = 已连接。需要 Chrome 116+。

安装 dsh 插件

📦 本包是 bundle 包(package.json 中 dsh.bundle.patch 指向 cordis.patch.yml)。dsh plugin 安装成功后会自动把它加入 profile 的 dsh.profile.bundles,重启即加载。

前置:dsh plugin 转发给 pnpm,需要 pnpm 在 PATH 上;首次使用会自动初始化目标 profile。

方式 A:从 npm 安装(推荐)

# 通过 dsh plugin 从 npm registry 安装并自动注册到 profile
dsh plugin --profile web add @angelky7/dsh-browser-control

如果自行管理 profile 的 node_modules,也可以在对应目录中直接使用 npm 安装:

npm install @angelky7/dsh-browser-control

刚发布的新版本可能一时装不上,那不是插件坏了。 dsh plugin add 会把依赖钉成确切版本号,而 pnpm 用的是你自己配置的源——国内默认常常是 registry.npmmirror.com,它同步官方源有延迟(实测 1.0.10 在官方源已发布时,镜像的 latest 还停在 1.0.8)。撞上 ERR_PNPM_NO_MATCHING_VERSION ... while fetching it from https://registry.npmmirror.com/ 时有三条路:

  1. 这一次显式走官方源:dsh plugin --profile web add @angelky7/dsh-browser-control@<版本> --registry=https://registry.npmjs.org/
  2. 用 Release 里的离线包 dsh-browser-control-plugin-v<版本>.zip,解压后 dsh plugin --profile web add file:<解压目录>
  3. 等镜像同步后重试原命令:curl -s https://registry.npmmirror.com/@angelky7/dsh-browser-control,看到该版本、且 dist-tags.latest 也跟上即可

另一种装不上长得像、原因完全不同,别改 registry。 dsh 的 profile 自带 24 小时「包龄」供应链闸门(node_modules/.pnpm-workspace-state-v1.json 里的 minimumReleaseAge: 1440)。发布未满 24 小时的版本被它拦下时报的是 ERR_PNPM_NO_MATURE_MATCHING_VERSION,而且报文里会直接写 was published at …, within the minimumReleaseAge cutoff (…)——版本是存在的,只是太新。这种只有等满 cutoff 时刻这一条路(改 registry、离线包都不必)。两个码的判据:NO_MATCHING_VERSION = 你配置的源里没有这个版本;NO_MATURE_MATCHING_VERSION = 有,但没满 24 小时。

方式 B:从 GitHub 或本地目录安装

# 直接从 GitHub 安装
dsh plugin --profile web add "github:angelky7/dsh-browser-control#v1.1.0"

# 本地目录调试(注意:必须显式 file: 前缀)
dsh plugin --profile web add "file:D:\path\to\dsh-browser-control"

重启 DSH 后生效。卸载:

dsh plugin --profile web remove @angelky7/dsh-browser-control

…

Related plugins