dsh-web-browse:DSH 通用网页浏览插件

前言

智能体开发中,经常需要调用外部网页内容。在 DshDesktop 桌面壳中,直接嵌入网页常受目标站点的 iframe 限制。dsh-web-browse 插件通过 WebView2 扩展和通用浏览器双端适配,在保持操作一致性的同时,解决了网页内嵌与浏览器标签页管理的需求。

插件介绍

这是一个 DSH 的通用网页浏览插件。在 DshDesktop 桌面壳与 Edge/Chrome 等通用浏览器 中,都能把网页以独立标签页打开。

  • 维护者:sweven-tears
  • 类别:客户端
  • 许可证:MIT

核心功能

该插件提供了一套统一的网页浏览能力,具体包括:

  • 侧边栏快速入口:侧边栏「🌐 网页浏览」按钮。左键打开默认网址;右键弹出悬浮搜索框。
  • 悬浮搜索框:输入网址直接访问;输入文字按所选引擎搜索;确认后在新标签页打开;Esc 或点击框外关闭。
  • 选中文本搜索:DshDesktop 中在原生右键菜单「复制」下方追加「🔍 搜索选中文本」项,点击即搜(仅 DshDesktop)。
  • 新标签页打开:DshDesktop 中为桌面网页标签页;通用浏览器中为浏览器新标签页。
  • 网页顶部栏:DshDesktop 中由 WebView2 扩展注入地址/搜索栏(仅 DshDesktop)。
  • 网页浏览设置:支持默认网址、启动自动打开、搜索引擎(内置 + 自定义)配置,设置保存在 localStorage。

架构设计

插件目录结构如下:

dsh-web-browse/
├── lib/          harness 插件:侧边栏按钮、悬浮搜索框、「网页浏览设置」(localStorage)
├── extension/    WebView2 扩展(MV3 内容脚本):网页顶部地址/搜索栏(仅 DshDesktop)
├── dsh.plugin.json
├── cordis.patch.yml
└── package.json

lib/ 目录(Harness 插件)

  • 侧边栏按钮:调用 window.dshDesktop.openWebTab(url) 或 window.open(url, '_blank')。
  • 右键菜单搜索:DshDesktop 宿主在 WebView2 原生右键菜单「复制」正下方追加「🔍 搜索选中文本」项,点击以选中文本打开悬浮搜索框。
  • 网页浏览设置:DshDesktop 中经 window.dshDesktop.setWebSettings() 同步给桌面宿主;通用浏览器中为 no-op。

extension/ 目录(WebView2 扩展)

  • 自动加载:DshDesktop 启动时扫描 harness 的 plugins 目录,识别含 manifest.json 的扩展目录并加载。
  • 顶部栏注入:在非 harness 页面(排除本地设置页)注入固定顶部栏,包含后退/前进、地址栏、搜索引擎下拉等操作。

使用说明

根据运行环境不同,功能表现略有差异。

DshDesktop 环境

  • 侧边栏操作:点击侧边栏「🌐 网页浏览」按钮左键打开默认网页;点击按钮右键弹出悬浮搜索框。
  • 选中文本搜索:在网页中选中文字后右键,选择「🔍 搜索选中文本」。
  • 顶部栏操作:在顶部地址栏输入网址或搜索词进行访问或搜索。
  • 设置同步:设置会同步给所有网页标签页的顶部栏。

通用浏览器(Edge / Chrome 等)

  • 侧边栏操作:点击侧边栏按钮左键打开默认网页;点击按钮右键弹出悬浮搜索框。
  • 顶部栏与右键菜单:无 window.dshDesktop 桥,顶部栏注入与右键菜单搜索不可用。
  • 打开方式:所有打开操作使用 window.open(url, '_blank'),非用户手势触发的操作(如启动自动打开)可能被浏览器弹窗拦截。

注意事项

  • 依赖环境:DshDesktop 需要支持 MV3 扩展的 WebView2 Runtime。
  • 通用浏览器限制:无法使用顶部栏注入和右键菜单搜索功能。
  • 站点限制:个别站点(如 Google)可能禁止第三方注入或存在反爬限制,顶部栏按钮可能不可用,此时可使用侧边栏按钮或标签条操作。
  • 安装方式:资料未提供具体安装命令。
羽毛球分组比赛记分
小程序二维码

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

小夜