前言¶
下面介绍一个用于 DeepSeek Harness(DSH)的浏览器自动化插件:dsh-browseruse。
它解决的问题是让 DSH 中的模型能够完成网页操作:打开页面、读取页面、点击、输入、滚动、切换标签页,并在多步任务中根据页面状态决定下一步。与直接操作日常浏览器不同,它通过 playwright-core 驱动一个专用 Google Chrome 实例,使用独立资料目录和 cookie 持久化,目标是完成浏览器任务的同时不影响日常使用的 Chrome。
这是什么¶
dsh-browseruse 是 DSH 插件,许可证为 MIT,纯 JavaScript 实现,无构建步骤。
它需要本机已安装 Google Chrome,并通过 CDP 连接已安装的 Chrome,不下载浏览器二进制。仓库地址为:
https://github.com/yzd6552-commits/dsh-browseruse#readme
已核实事实中,仓库 owner 为 yzd6552-commits;资料中的 contributors 写为 DeepSeek Harness Agent (deepseek-v4-pro),但未直接标明其维护者身份。
安装与启用¶
前置条件¶
安装前需要满足以下条件:
1、本机装有 Google Chrome。
2、harness 内嵌 Node.js 版本满足 Node >= 20。
本插件与 playwright-core 均要求 Node >= 20。插件运行在 harness 内嵌 Node 上;如果内嵌 Node 低于 20,资料建议先升级 DSH,不要强行安装。
安装命令¶
已核实的安装命令为:
dsh plugin --profile web add github:yzd6552/dsh-browseruse
需要注意的是,已核实资料中的安装命令使用 github:yzd6552/dsh-browseruse,而 GitHub 仓库地址为 yzd6552-commits/dsh-browseruse;两者 owner 不一致,当前无法确认实际有效安装地址。安装前应核对该命令是否仍然有效。
安装前检查¶
已有反馈称约 2026-08-08 前后,有用户因运行时版本冲突导致浏览器工具返回空结果、会话崩溃,最后重装 harness。该问题当前是否仍然存在尚无定论。
资料建议:安装前先备份 ~/.dsh 和 DSH 部署目录,并检查 harness 内嵌 Node.js 版本。
如果出现问题,可先怀疑运行时版本冲突:核对 Node 版本,并使用安装前备份回滚,比现场硬修更快。
验证状态:本插件在 DSH 0.1.0-rc.6 + 内嵌 Node v24.19.0 下开发并实测通过,13 个工具挂载与调用正常。
核心功能¶
细粒度浏览器工具¶
插件提供一组 browser_* 工具,覆盖常见网页操作:
browser_open
browser_snapshot
browser_click
browser_type
browser_scroll
browser_navigate
browser_tabs
browser_fill_form
browser_download
browser_status
browser_close
其中:
browser_open:打开页面,自动弹出专用 Chrome 窗口。browser_snapshot:读取页面文本 + 元素序号 + 截图。browser_click:按序号或文字点击。browser_type:输入文字。browser_scroll:滚动页面。browser_navigate:后退、前进、刷新。browser_tabs:标签页列表、切换、关闭、新建。browser_fill_form:按字段批量填表。browser_download:触发并保存下载到~/Downloads。browser_status:查看运行状态、标签页、配置目录、待执行排程。browser_close:关闭专用 Chrome,登录态保留。
自主任务¶
browser_task 支持自然语言目标。插件内部循环执行“看页面 → 调用当前模型决策 → 操作”,默认上限 30 步。
后台运行时,可用 job_output 跟踪任务输出。
定时任务¶
browser_schedule 支持按以下方式到点自动开跑:
HH:MM- ISO 时间
- 秒数
定时任务在本会话内有效;DSH 重启后需重新排程。
危险操作确认¶
支付、下单、删除、注销等敏感动作,在动手前会弹窗征求用户同意。
验证码人工接管¶
检测到验证码时,插件会暂停并截图询问。用户可以在专用 Chrome 窗口亲自处理后继续。
截图回传¶
每步操作截图会进入对话,前提是模型支持图片输入。
登录态持久¶
插件使用独立 profile,默认路径为:
$DSH_HOME/.browseruse/chrome-profile
如果没有设置 DSH_HOME,则为:
~/.dsh/.browseruse/chrome-profile
登录一次长期记住,密码不落盘。
典型用法¶
以下示例来自已核实资料。
先打开页面:
browser_open "https://www.baidu.com"
这一步会自动弹出专用 Chrome 窗口。
再读取页面快照:
browser_snapshot
这一步会返回页面文本、元素序号和截图。
输入搜索词:
browser_type {"text": "苹果发布会"}
也可以直接用一句话触发自主任务:
browser_task "搜索苹果发布会并总结前三条结果"
如果需要定时执行:
browser_schedule {"goal": "抢购...", "at": "20:00:00"}
适用场景与注意¶
适合在 DSH 会话内完成以下任务:
- 打开网页并读取页面内容。
- 按元素序号点击、输入、滚动。
- 填写表单并触发下载。
- 用
browser_task完成多步网页操作。 - 用
browser_schedule在本会话内定时开跑。 - 保留登录态,减少重复登录。
需要注意:
1、插件运行在 DSH 主进程,以当前 dsh 进程权限运行。
2、它只消费宿主服务:tools / llm / userQuestions / attachments / jobs,不发布服务。
3、安装前应检查源码与许可证。
4、危险操作确认与验证码暂停依赖会话的 ask_user_question 通道。
5、在子代理上下文中无法询问用户时,会采取保守策略,阻止危险操作。
6、默认下载目录为:
~/Downloads
结尾¶
dsh-browseruse 把浏览器操作接入 DSH 插件体系:细粒度工具、自主任务、定时任务、登录态保留、危险操作确认和验证码人工接管,都围绕同一个专用 Google Chrome 实例展开。
安装前仍应重点检查 harness 内嵌 Node.js 版本,并保留 ~/.dsh 与 DSH 部署目录的备份。
GitHub 地址:
https://github.com/yzd6552-commits/dsh-browseruse#readme