前言¶
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:
- 在
dependencies中加入:
"dsh-external-links": "github:Lion-Li-git/dsh-external-links"
- 執行
pnpm install。 - 在
~/.dsh/profiles/web-desktop/cordis.patch.yml末尾追加:
- insert:
- id: dsh-external-links
name: 'dsh-external-links'
- 重啓 DSH 桌面端。插件將出現在設置 → 插件 列表,可直接開關。
驗證¶
- 重啓 DSH 桌面端後,打開任意會話。
- 點擊消息裏的 http/https 外鏈,應自動在默認瀏覽器中打開。
- 嘗試應用內導航、設置頁或下載,確認功能正常。
- 在插件管理頁停用該插件並重啓,鏈接應恢復爲“點擊無反應”,證明插件生效。
注意事項¶
- 版本要求:需 DSH 桌面端 >= 5.3.6。5.3.6 以下版本請使用 0.1.0(原生橋接未修復)。
- 安裝位置:插件安裝在用戶 profile(
~/.dsh),版本更新不會覆蓋。 - 兼容性:純客戶端實現,無框架依賴。
結語¶
dsh-external-links 解決了 DSH 桌面端 WebView2 層面的鏈接交互缺失問題。通過直連原生橋接,在保證系統默認瀏覽器行爲的同時,保持了應用內的穩定性。