前言¶
智能体开发中,经常需要调用外部网页内容。在 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)可能禁止第三方注入或存在反爬限制,顶部栏按钮可能不可用,此时可使用侧边栏按钮或标签条操作。
- 安装方式:资料未提供具体安装命令。