前言¶
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 应用、动态数据抓取或模拟用户操作的场景。