DeepSeek Harness 插件:dsh-external-links(修復桌面端外部鏈接點擊失效)

前言

DeepSeek Harness(DSH)桌面端基於 Windows WebView2 殼層運行。DSH 在 5.3.6 版本中修復了底層 shell.open-external 橋接,但並未在 WebUI 層面補全 <a target="_blank"> 的點擊攔截邏輯。導致在 5.3.6 版本中,用戶點擊消息裏的 http/https 鏈接依舊無反應。

dsh-external-links 插件旨在補全這層缺失的“接線”。它攔截鏈接點擊事件,直接調用已修復的原生橋接,實現自動在系統默認瀏覽器中打開鏈接,同時保持應用內導航和下載功能不受影響。

核心功能

  • http/https 鏈接:點擊後在系統默認瀏覽器中打開。
  • file:// 路徑:解碼爲 Windows 絕對路徑後,調用 openPath 在默認應用中打開。
  • 保護應用內鏈:同源鏈接、127.0.0.1/localhost、#hash、下載鏈接、javascript: 鏈接不受影響。
  • 保留原生交互:右鍵複製、中鍵點擊等功能不被破壞。
  • 無殼層回退:當 DSH 未運行在殼層中(直接打開 WebUI)時,自動回退到 window.open。
  • v0.2.0 優化:移除了宿主路由依賴,純客戶端實現,不再依賴 PowerShell。

安裝與啓用

插件安裝在用戶 profile 目錄,版本更新不會覆蓋已有安裝。

方式 A:bundle 安裝(快捷)

使用官方插件命令安裝,該方式會生成 dsh.profile.bundles 配置:

dsh plugin --profile web-desktop add github:Lion-Li-git/dsh-external-links

說明:bundle 方式安裝的插件,當前在插件管理頁不支持停用/移除(需在插件市場卸載)。

方式 B:cordis.patch.yml 直裝(推薦)

在 ~/.dsh/profiles/web-desktop/package.json 的 dependencies 中添加依賴,並配置 cordis.patch.yml:

  1. 在 dependencies 中加入:
    "dsh-external-links": "github:Lion-Li-git/dsh-external-links"
  1. 執行 pnpm install。
  2. 在 ~/.dsh/profiles/web-desktop/cordis.patch.yml 末尾追加:
    - insert:
        - id: dsh-external-links
          name: 'dsh-external-links'
  1. 重啓 DSH 桌面端。插件將出現在設置 → 插件 列表,可直接開關。

驗證

  1. 重啓 DSH 桌面端後,打開任意會話。
  2. 點擊消息裏的 http/https 外鏈,應自動在默認瀏覽器中打開。
  3. 嘗試應用內導航、設置頁或下載,確認功能正常。
  4. 在插件管理頁停用該插件並重啓,鏈接應恢復爲“點擊無反應”,證明插件生效。

注意事項

  • 版本要求:需 DSH 桌面端 >= 5.3.6。5.3.6 以下版本請使用 0.1.0(原生橋接未修復)。
  • 安裝位置:插件安裝在用戶 profile(~/.dsh),版本更新不會覆蓋。
  • 兼容性:純客戶端實現,無框架依賴。

結語

dsh-external-links 解決了 DSH 桌面端 WebView2 層面的鏈接交互缺失問題。通過直連原生橋接,在保證系統默認瀏覽器行爲的同時,保持了應用內的穩定性。

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

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

小夜