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

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

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

小夜