前言¶
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 层面的链接交互缺失问题。通过直连原生桥接,在保证系统默认浏览器行为的同时,保持了应用内的稳定性。