dsh-plugin-browser:DeepSeek Harness 的 Playwright 浏览器驱动插件

前言

DeepSeek Harness (DSH) 内置的 web_fetch 工具通过 HTTP 请求获取网页文本,无法执行 JavaScript 渲染或进行交互操作。dsh-plugin-browser 是一个社区插件,通过 Playwright 驱动无头浏览器,为模型提供了渲染页面、提取文本、截图以及自动化交互的能力,弥补了基础联网工具的不足。

插件简介

这是一个 DSH 社区插件,归属于「联网工具」分类,由 xu1132 维护,开源协议为 MIT。它通过 Playwright 注册了 6 个模型可调用的工具,使大模型能够像人类一样浏览网页、读取动态内容并操作页面元素。

核心功能

插件提供以下能力:
- 页面导航与渲染:打开 URL,等待页面加载,返回渲染后的标题、正文文本和链接列表。
- 内容提取:获取当前页面的渲染文本,用于在自动化步骤之间检查状态。
- 交互操作:通过 Playwright CSS 选择器点击元素、填充文本输入框。
- 截图:截取视口内容并保存为 PNG 图片,默认保存在配置的目录。
- 会话管理:关闭浏览器会话并释放资源。

安装与配置

安装插件

dsh plugin --profile demo add github:xu1132/dsh-plugin-browser

依赖准备

插件默认使用 Playwright 自带的 Chromium。首次使用前,需在 profile 目录下安装浏览器二进制:

npx playwright install chromium

配置项

可以通过 profile 下的 cordis.patch.yml 覆盖默认配置,例如:

- id: browser
  name: dsh-plugin-browser
  config:
    timeoutMs: 30000      # 导航、点击、输入的超时时间
    maxTextChars: 20000   # 单次快照提取的最大字符数
    maxLinks: 20          # 单次快照列出的最大链接数
    screenshotDir: .      # 截图保存目录
    executablePath: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome  # 指定系统浏览器路径

典型用法

  • 读取动态内容:让模型访问一个通过 JavaScript 渲染的页面,并提取其中的信息。
  • 自动化交互:模拟用户点击按钮或输入文本。
  • 获取快照:在自动化步骤之间获取当前页面的渲染文本。

注意事项

  • 会话隔离:每个 Agent 拥有独立的浏览器会话;没有关联 Agent 的调用会共享一个默认会话。
  • 启动时机:会话在首次使用时按需启动,插件卸载时自动关闭。
  • 权限与安全:插件以当前 DSH 进程的权限运行,使用前建议检查源码与许可证。

总结

该插件扩展了 DSH 在浏览器自动化领域的应用能力,适用于需要处理 SPA 应用、动态数据抓取或模拟用户操作的场景。

GitHub 仓库

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

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

小夜