@dsh-external/dsh-browser-use:DeepSeek Harness 的本机浏览器控制能力

DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。当智能体需要操作真实网页,而不仅仅是读取文本时,现有方案往往难以兼顾操作深度与可视化。下面介绍 @dsh-external/dsh-browser-use,它移植自 ZCode 的 browser-use-plugin / control-browser 技能,将「ARIA 快照优先」的操作范式落地到 DSH 的工具、提示段与 UI 上。

核心功能

本插件提供一组工具与面板,用于驱动本机 Chromium 进行网页操作。

  1. 浏览器控制:browser_open(打开 URL)、browser_navigate(导航)、browser_tabs(多标签管理)、browser_wait(等待)。
  2. 交互操作:browser_click(点击)、browser_type(输入文本)、browser_press(发送按键)。
  3. 读取与求值:browser_snapshot(读取 ARIA 快照,用于定位)、browser_eval(JS 求值)、browser_screenshot(截图)。
  4. 可视化面板:提供一个右侧栏面板,可实时观看浏览器画面(需要部署挂载 attachment 服务)。

安装与启用

使用 DSH 内置插件管理器进行安装。

# 使用命令行
dsh plugin --profile <profile> add github:hu568/dsh-plugin-browser-use

# 或使用插件管理器
plugin_manager action=install_bundle target="github:hu568/dsh-plugin-browser-use"

安装后,插件被追加进 profile 的 dsh.profile.bundles,其 cordis.patch.yml 会将 dsh-browser-use 注入宿主组合。通常在运行中即时生效,否则重启 DSH 即可。

典型用法

安装完成后,Agent 可以通过调用工具来控制浏览器。

  1. 打开网页并获取初始快照:
    browser_open
  1. 读取页面结构(ARIA 快照):
    browser_snapshot
  1. 根据 ref 定位并点击元素:
    browser_click
  1. 在输入框中填入文本:
    browser_type

已知限制与注意事项

  1. 页面刷新:Client 半边在页面刷新后生效。若页面早于注入加载,client 模块不会被 import。
  2. 截图:browser_screenshot 需要部署挂载 attachment 服务。
  3. 导航协议:goto 工具只接受 http: / https: / about:blank。
  4. 鉴权:面板路由没有独立鉴权,同源的其他进程也能调用 /input 接口。
  5. Cookie 机制:会话 cookie(无 Expires/Max-Age)不保留,只有持久化 cookie 能跨进程保留。
  6. 进程占用:同一 profile 不能同时被两个进程占用。
  7. 系统调用:不要使用 explorer.exe 开启 URL,应走 ShellExecute 语义(Windows 上用 PowerShell 或 cmd)。

技术实现

  • 依赖:运行依赖 playwright-core ^1.56.1,使用本机已缓存的 Chrome for Testing。
  • 启动方式:浏览器采用懒启动,第一次调用 browser_open 时才拉起,插件卸载/热重载时释放。
  • 持久化:默认使用持久化 profile(<DSH_HOME>/browser-use/profile)来保存登录态。
  • 源码:以 lib/ 为唯一源码,纯 JavaScript (ESM),不需要构建链。

通过这套机制,DSH 的 Agent 不再局限于对话,而是能够接管浏览器,完成从导航、操作到验证的完整链路。对于需要处理登录、验证码或复杂表单的自动化任务,这是一个实用的工具集。

源码与目录页:GitHub

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

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

Xiaoye