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 中未安裝此插件,切換後設置頁會消失。建議兩邊都安裝。
羽毛球分组比赛记分
小程序二维码

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

小夜