前言¶
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'
使用¶
- 打開 設置 → 配置檔案,頁面會列出所有 profile 並標出當前正在使用的那個。
- 選中要切換的目標 profile(例如
web),點擊 使用它。 - 應用會在兩秒內自動關閉,腳本完成目錄切換。你需要手動重新打開桌面版,此時插件已生效。
- 想要還原,點擊 還原爲獨立 profile。腳本會刪除鏈接並將備份目錄恢復。
工作原理¶
切換過程發生在應用關閉時,以避免進程佔用目錄文件。
- 備份:將當前
profiles/desktop重命名爲desktop.fresh-<時間戳>。 - 鏈接:在 Windows 上創建目錄連接(Junction),在 macOS/Linux 上創建符號鏈接。
- 合併設置:將桌面版的初始界面配置(
ui-chat、ui-settings等)合併到目標 profile 的配置文件中,避免重新走引導流程。
注意事項¶
- 應用關閉:切換需要關閉應用。腳本不會自動重新打開應用,請手動啓動。
- 衝突運行:不要同時運行桌面版和命令行
dsh --profile <同一個 profile>,這會因文件鎖衝突導致異常。 - 平臺差異:macOS/Linux 使用符號鏈接,邏輯與 Windows 相同,但未在真機驗證。
- 適用範圍:此鏈接僅針對桌面版。命令行用戶直接使用對應的 profile 即可。
- 插件依賴:若目標 profile 中未安裝此插件,切換後設置頁會消失。建議兩邊都安裝。