DeepSeek Harness 浏览器自动化插件:安全优先的网页操作能力

在 DeepSeek Harness (DSH) 的生态中,插件是实现特定能力扩展的主要方式。当智能体需要处理动态网页、填写表单或抓取数据时,现有的工具往往难以满足对真实浏览环境的需求。dsh-plugin-browser-use 插件为 DSH 提供了基于 Chromium 的真实浏览器能力,并内置了一套严格的安全策略。

这是什么

dsh-plugin-browser-use 是一个为 DeepSeek Harness (DSH) 设计的浏览器自动化插件。它通过 Playwright 驱动 Chromium,让模型能够执行导航、点击、填充、截图等操作。该插件的核心价值在于“安全优先”的设计:策略在每次操作和导航后重新检查,且所有文件写入均由插件管理,模型无法控制文件路径。

核心功能

插件提供 15 个工具,覆盖浏览器的核心交互场景:

  • 页面操作:browser_navigate(导航)、browser_navigate_background(后台加载)、browser_screenshot(截图)、browser_pdf(生成 PDF)。
  • 交互:browser_click(点击)、browser_fill(填充表单)、browser_upload(文件上传)。
  • 读取:browser_read_text(读取文本)、browser_read_snapshot(读取 ARIA 快照)。
  • 标签页管理:browser_tab_new(新建)、browser_tab_list(列表)、browser_tab_select(切换)、browser_tab_close(关闭)。
  • 其他:browser_downloads(下载管理)、browser_close(关闭浏览器)。

安装与启用

安装该插件需要使用 DSH 的插件管理命令。安装后,需确保系统中已配置好 Chromium 或安装了 Playwright 的 Chromium。

dsh plugin --profile web add dsh-plugin-browser-use
dsh --profile web --dump-config   # 验证配置是否生效,应看到 "# == dsh-plugin-browser-use" 层

前置条件:
* Node.js 版本要求:^22.19.0 或 >=24.0.0。
* 需要安装 Chromium。插件按以下顺序解析:
1. executablePath 配置项
2. 环境变量 $DSH_BROWSER_EXECUTABLE
3. 系统常见位置
4. Playwright 自带的解析(可通过 npx playwright install chromium 获取)

安全模型与配置

该插件的安全机制体现在三个层面:策略检查、网络隔离和文件路径控制。

1. 策略重检
策略在每次操作前和每次导航后都会重新检查。即使初始请求的 URL 是允许的,如果通过重定向或点击进入了不安全的域名,操作也会被拒绝。

2. 网络隔离
* 主机白名单:通过 allowedHosts 配置。匹配是基于主机标签的,例如 example.com 匹配 example.com 和 sub.example.com,但不匹配 evil-example.com。
* 私有网络:默认阻止 127.0.0.1、私有网段等,需显式设置 allowPrivateNetwork: true 才能允许。
* 协议限制:仅支持 http: 和 https:,file:、data:、javascript: 等协议被禁止。

3. 文件路径控制
插件严格禁止模型控制文件路径。截图、PDF 和下载均写入配置的 artifactsDir,文件名由插件生成。文件上传仅允许上传配置的 uploadsDir 下的文件。

常用配置项:
| 配置项 | 类型 | 默认值 | 说明 |
| :— | :— | :— | :— |
| allowedHosts | string[] | [] | 允许访问的主机白名单,为空则允许所有公网主机 |
| allowPrivateNetwork | boolean | false | 是否允许私有网络(如 localhost)访问 |
| headless | boolean | true | 是否无头运行 |
| executablePath | string | — | 指定 Chromium 可执行文件的绝对路径 |
| userAgent | string | 自定义 | 浏览器的 User-Agent |
| proxyServer | string | — | 代理服务器地址(如 http://127.0.0.1:7890) |
| artifactsDir | string | 私有临时目录 | 截图、PDF、下载的存放目录 |

典型用法示例

配置允许特定主机:

allowedHosts:
  - example.com

指定 Chromium 路径:

executablePath: /usr/bin/chromium

自定义 User-Agent:

userAgent: dsh-plugin-browser-use/0.3.1

后台加载页面:
如果需要在不打断当前操作流的情况下加载页面,可使用 browser_navigate_background。此功能需要依赖 @deepseek-ai/dsh-jobs 和 @deepseek-ai/dsh-tool-jobs。

注意事项

  • 后台加载依赖:browser_navigate_background 功能依赖 @deepseek-ai/dsh-jobs,否则工具将返回 BROWSER_JOBS_UNAVAILABLE 错误。
  • Node 版本:请确保环境满足 ^22.19.0 或 >=24.0.0 的版本要求。
  • 源码审查:插件以当前 DSH 进程的权限运行,使用前建议审查源码与许可证(MIT)。
  • 错误码:所有失败均返回工具结果中的 isError: true,附带 BROWSER_* 错误码,而非抛出异常。

总结

dsh-plugin-browser-use 为 DeepSeek Harness 提供了可控的浏览器自动化能力。它通过严格的策略检查、路径隔离和私有网络限制,解决了模型在访问网络时的安全隐患。对于需要在 DSH 中构建具备网页操作能力的智能体的开发者,这是一个基础且安全的工具选择。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜