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)可能禁止第三方注入或存在反爬限制,頂部欄按鈕可能不可用,此時可使用側邊欄按鈕或標籤條操作。
  • 安裝方式:資料未提供具體安裝命令。
羽毛球分组比赛记分
小程序二维码

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

小夜