前言¶
DeepSeek Harness 的核心设计理念是“一切皆插件”。在智能体开发中,经常需要 Agent 模拟真实用户在浏览器中完成一系列操作,例如登录系统、填写表单、查询订单等。手动编写 Playwright 或 Selenium 脚本成本高且难以维护,而 DSH 原生能力难以直接覆盖复杂的浏览器交互场景。下面介绍 dsh-browser-ops 插件,它让 DSH 的 Agent 能够直接接管真实浏览器,并支持录制手动操作流程,按参数自动重放以生成测试数据。
这是什么¶
dsh-browser-ops 是一个 DeepSeek Harness 插件,由用户 lirui1024k 维护。它旨在解决智能体无法直接操作浏览器的问题,允许 Agent 通过 27 个 browser_* 工具对 Chrome 浏览器进行快照、点击、填充等操作,并支持将手动操作录制为带有变量槽的 JSON 流程,以便后续按参数重放。该插件非 DeepSeek 官方出品,使用 MIT 许可证。
核心功能¶
- Agent 直接操作浏览器:提供
browser_launch、browser_open、browser_snapshot、browser_click、browser_fill、browser_select、browser_read_text、browser_read_table、browser_eval、browser_screenshot、browser_diagnostics等 27 个工具,覆盖浏览器的基础控制与诊断能力。 - 录制操作流程:通过
browser_record_start和browser_record_stop,将手动在浏览器窗口中的操作记录为 JSON 格式的流程文件,存储在数据目录的flows/下。 - 变量槽与自动重放:支持在流程中定义变量槽,通过
browser_run_flow填入参数执行流程,并可配合verifyText进行结果校验。 - Web GUI 面板:DSH 设置页面提供「浏览器操作」页签,支持启动/连接浏览器、控制录制/停止、查看流程列表、编辑变量及一键重放。
- 两种浏览器模式:
- Managed(默认):插件启动独立的 Chrome 浏览器,使用专用档案目录,登录态持久且不触碰日常浏览器数据。
- Connect:通过 CDP(Chrome DevTools Protocol)连接到日常使用的 Chrome 浏览器。
安装与启用¶
确保已安装 DeepSeek Harness Desktop 且 Node.js 版本不低于 20。执行以下命令安装插件:
dsh plugin --profile dsh-desktop add dsh-browser-ops
安装后重启 DSH Desktop,新会话即可使用 browser_* 工具,或在设置页的「浏览器操作」面板中查看面板。
典型用法¶
- 启动浏览器,打开测试系统(如
https://test.example.com),手动完成登录。 - 开始录制流程:使用
browser_record_start,在浏览器中手动执行“创建订单”的操作,完成后使用browser_record_stop。 - 设置变量:使用
browser_flow_edit将步骤中的“客户名称”标记为变量槽。 - 自动重放:执行
browser_run_flow,传入参数{"客户名称": "张三"},并使用verifyText校验页面是否显示“创建成功”。
适用场景与注意¶
此插件适用于需要智能体自动化浏览器操作、录制手动流程以复用、以及通过参数化重放生成测试数据的场景。
已知限制:
* 不支持文件上传、拖拽操作、iframe 内元素交互以及跨标签页操作。
* 定位器优先使用语义标签(label/placeholder/text/testid/id),页面结构大变时建议重新录制。
* connect 模式目前仅提供 macOS 一键脚本支持。
* managed 模式的 Chrome 自动探测主要针对 macOS,其他平台需通过环境变量 DSH_BROWSER_CHROME 指定路径。
* 插件以当前 DSH 进程权限运行,安装前请检查源码与许可证。
总结¶
dsh-browser-ops 通过提供丰富的 browser_* 工具集和可视化的录制/回放机制,降低了智能体接管浏览器的门槛。它适用于需要高频创建测试数据或执行复杂浏览器交互的场景。更多详情请参考插件目录或GitHub 仓库。