@kasenri/dsh-browser:DeepSeek Harness 浏览器自动化插件

前言

DeepSeek Harness (DSH) 采用插件化架构,允许通过插件扩展 Harness 的能力。@kasenri/dsh-browser 是一个社区插件,旨在解决 AI 代理无法直接操作浏览器的问题。它通过 Harness 原生的基础设施(agents, tools, sessions),将浏览器自动化能力注入到 DSH 流程中。

插件介绍

这是一个让 AI 真正操作浏览器完成任务的插件。它通过 ctx.browserAutomation 提供 BrowserAutomationService,并对外暴露 agent_browser 工具,用于驱动底层的 agent-browser CLI(版本 0.33.2,必须处于 PATH 环境中)。

插件支持打开网页、点击、输入、翻页、读取内容和下载文件等操作。这些能力可用于网页测试、信息采集和自动化流程。插件提供域名限制等安全控制,并对输出进行了保护机制处理。

安装与启用

安装该插件需要 DSH 处于开发者预览阶段。安装命令如下:

dsh plugin --profile web add @kasenri/dsh-browser

安装后需要重启 profile(或开启新会话)以生效。该包声明了一个 dsh.bundle 补丁,注册时会自动将其作为 profile layer。

插件依赖于以下组件:
- @deepseek-ai/dsh (版本 0.1.5-rc.2)
- @deepseek-ai/cordis (版本 4.0.2)
- agent-browser (版本 0.33.2,必须在 PATH 中)
- Node.js (版本 >= 22.19.0)

如果 agent-browser 未在 PATH 中,可以通过 command、executablePath 配置项,或设置环境变量 DSH_BROWSER_EXECUTABLE_PATH 来指定可执行文件路径。

核心功能

插件提供以下核心能力:

  1. 浏览器操作:支持打开网页、点击、输入、翻页、读取内容和下载文件。
  2. 多种输入模式:agent_browser 工具支持多种输入模式,包括 args(原始参数)、semanticAction(语义动作)、job(批量步骤)、qa(页面质检)、electron(CDP 连接)、sourceLookup(DOM/React 证据查找)和 networkSourceLookup(网络请求证据查找)。
  3. 标准工作流:推荐的工作流为 open → snapshot -i → 使用 @refs → click/fill/select → 再次 snapshot -i。

安全与保护机制

为了防止自动化过程中的意外和风险,插件内置了多层保护机制:

  1. 防止过时引用:refs 是页面作用域的,插件会阻止对非最新快照中目标进行操作。
  2. 防止标签漂移:如果活动目标发生变化(包括 about:blank),插件会触发恢复机制,而不是盲目猜测。
  3. 验证磁盘产物:截图、下载文件、PDF、HAR/trace 等产物在报告成功前,会验证其存在性、大小和类型。
  4. 阻止敏感信息:.agent-browser 状态、密码存储、cookie 数据库被阻止;所有工具输出中的凭证形状值会被脱敏。
  5. 域名限制:配置 allowedDomains 后,会进行预检,并在启动时注入 --allowed-domains 参数。启用限制后,拒绝 CDP attach (electron/connect),因为无法在现有浏览器上下文中强制执行。
  6. 强制人工验证:插件不会绕过 CAPTCHA、OTP、passkey、WebAuthn 和 2FA,遇到这些情况会停止并报告。

配置说明

插件支持以下配置项:

配置项 默认值 说明
command agent-browser 要调用的可执行文件名称。
namespace — 可选的 agent-browser 命名空间。
executablePath DSH_BROWSER_EXECUTABLE_PATH 指向 Chromium/Chrome 可执行文件的路径。
timeoutMs 35000 每次子进程调用的默认超时时间。
maxOutputChars 8000 内联输出的字符预算,超过则写入 spill 文件。
maxOutputLines 120 内联输出的行预算,超过则写入 spill 文件。
spillDir ~/.dsh/browser-artifacts 写入紧凑化输出的目录。
allowedDomains [] 严格的域名白名单,用于域名隔离。
registerTool true 是否注册 agent_browser 工具。

注意事项

  1. 版本依赖:插件仅针对特定版本的 DSH 和相关依赖进行了测试,不保证与其他版本兼容。
  2. 权限运行:插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。
  3. 状态管理:插件通过验证磁盘产物来确认操作成功,这意味着必须在文件系统中留下痕迹。

参考资料

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

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

小夜