dsh-profile-bridge

前言

DeepSeek Harness(DSH)采用“一切皆插件”的架构,插件通常按 profile 隔离。桌面版默认使用 profiles/desktop 目录,且不提供切换 profile 的设置项。这导致你在其他 profile(如 web)中安装的插件,在桌面版中无法直接使用。

dsh-profile-bridge 插件通过建立目录链接,让桌面版直接指向包含插件的 profile 目录,从而实现一键切换。

它解决什么问题

在 Harness 的架构中,插件系统与 profile 绑定。桌面版应用将 profile 目录硬编码为 <DSH_HOME>/profiles/desktop,并未提供切换 profile 的入口。这意味着:
- 在命令行 profile(如 web)中安装的插件,桌面版无法感知。
- 若想在桌面版使用这些插件,必须手动重新安装,造成维护负担。

该插件通过将 profiles/desktop 改为指向目标 profile 的符号链接或目录连接,解决了这一隔离问题。

安装

使用官方安装命令即可:

dsh plugin --profile desktop add github:2NF/dsh-profile-bridge

安装完成后,刷新页面(或重启应用)进入设置页。

如果遇到包管理器版本冲突(例如桌面版使用 pnpm v11 而目标 profile 使用 v10),可以使用本地链接方式绕过:
1. 在目标 profile 目录创建链接:
- Windows: New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-profile-bridge" -Target "D:\path\to\dsh-profile-bridge"
- macOS/Linux: ln -s /path/to/dsh-profile-bridge ~/.dsh/profiles/desktop/node_modules/dsh-profile-bridge
2. 在该 profile 的 cordis.patch.yml 末尾追加:

   - insert:
       - id: profile-bridge
         name: 'dsh-profile-bridge'

使用

  1. 打开 设置 → 配置档案,页面会列出所有 profile 并标出当前正在使用的那个。
  2. 选中要切换的目标 profile(例如 web),点击 使用它。
  3. 应用会在两秒内自动关闭,脚本完成目录切换。你需要手动重新打开桌面版,此时插件已生效。
  4. 想要还原,点击 还原为独立 profile。脚本会删除链接并将备份目录恢复。

工作原理

切换过程发生在应用关闭时,以避免进程占用目录文件。

  1. 备份:将当前 profiles/desktop 重命名为 desktop.fresh-<时间戳>。
  2. 链接:在 Windows 上创建目录连接(Junction),在 macOS/Linux 上创建符号链接。
  3. 合并设置:将桌面版的初始界面配置(ui-chat、ui-settings 等)合并到目标 profile 的配置文件中,避免重新走引导流程。

注意事项

  1. 应用关闭:切换需要关闭应用。脚本不会自动重新打开应用,请手动启动。
  2. 冲突运行:不要同时运行桌面版和命令行 dsh --profile <同一个 profile>,这会因文件锁冲突导致异常。
  3. 平台差异:macOS/Linux 使用符号链接,逻辑与 Windows 相同,但未在真机验证。
  4. 适用范围:此链接仅针对桌面版。命令行用户直接使用对应的 profile 即可。
  5. 插件依赖:若目标 profile 中未安装此插件,切换后设置页会消失。建议两边都安装。
羽毛球分组比赛记分
小程序二维码

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

小夜