前言¶
在 DeepSeek Harness(DSH)桌面端裏,左側自帶菜單條目會隨版本和功能增加而變長。有些入口天天用,有些幾乎從不點;開發或運維時,還常常希望從側欄一鍵打開文檔站、內網頁面或本機項目目錄。僅靠瀏覽器書籤或系統快捷方式可以湊合,但和 DSH 窗口分離,切換成本高。
下面介紹社區插件 dsh-custom-menu(維護者 tan90tan90,分類爲客戶端)。它在不改動 DSH 核心的前提下,對側欄做「裝飾式」整理:隱藏或分組自帶菜單項,並追加自定義入口(HTTPS 網頁或本機絕對路徑文件夾)。
這是什麼¶
dsh-custom-menu 是面向 DeepSeek Harness 的側欄整理插件。一句話定位:隱藏或分組 DSH 自帶側欄條目,並添加自己的菜單項——點擊後在新標籤頁打開網頁,或在資源管理器中打開本地文件夾。
配置與狀態保存在瀏覽器 localStorage,不會寫入 DSH profile 文件。插件以當前 DSH 進程的權限運行;安裝前建議閱讀 GitHub 倉庫 源碼與 MIT 許可證。
生態上,DSH 採用「一切皆插件」思路;SkillHub 目錄頁 等社區站點與 DeepSeek / 幻方無官方從屬關係,本文僅作第三方插件說明。
核心功能¶
自定義菜單¶
在側欄增加自建條目,創建後可編輯名稱、地址和圖標。開啓「排序」後支持拖拽調整順序。
支持的地址形式包括:
https://…等 HTTP(S) 鏈接(在新標籤頁打開)- 本機絕對路徑,例如
D:\Folder - Windows 網絡路徑,例如
\\server\share
本地文件夾通過宿主機路由 POST /dsh-custom-menu/open 打開:只接受存在的絕對路徑,參數以數組傳遞、不做 shell 插值;Windows 使用 explorer.exe,macOS 使用 open,Linux 使用 xdg-open。
側欄調整¶
對 DSH 自帶側欄條目可以:
- 歸入可摺疊分組,自定義分組名稱與圖標;點擊分組彈出浮層列出組內條目(類似內置「更多」菜單的交互)
- 單獨隱藏不使用的入口(僅爲視覺隱藏,功能仍可通過各自菜單觸達)
- 內置「更多」行固定在側欄底部
實現上,插件通過客戶端裝飾已渲染的側欄列:不向 React 擁有的節點做 DOM 搬移,而是用 CSS order、display: none 以及自插入的分組標題行完成排序與隱藏;並用 MutationObserver 在界面重繪後重新應用,且對自身寫入做了防循環處理。
安裝與啓用¶
在 PowerShell 中,使用 desktop profile 安裝官方包名:
dsh plugin --profile desktop add dsh-custom-menu
若要從 GitHub 源安裝,README 給出的命令爲:
dsh plugin --profile desktop add github:tan90tan90/dsh-custom-menu
安裝完成後重啓 DSH,再打開 設置 → 自定義菜單 進行配置。package.json 中當前版本號爲 0.9.0。
典型用法¶
- 安裝並重啓 DSH 後,進入 設置 → 自定義菜單。
- 自定義菜單:新增條目,填入顯示名稱與地址(文檔 URL 或本機項目目錄的絕對路徑),按需改圖標;需要時打開「排序」並拖拽調整順序。
- 側欄調整:將不常用的自帶入口設爲隱藏,或把相關自帶入口收進同一分組並命名(例如按工作流分組);保存後觀察側欄與分組浮層是否符合預期。
路徑與鏈接須符合插件限制:僅支持 http(s) 與絕對本地路徑,不支持自定義 URI scheme。
環境與限制¶
要求:
- 帶 Web 客戶端的 DSH desktop
- Windows / macOS / Linux(打開文件夾的行爲因平臺而異,見上文)
已知限制(來自上游 README):
- 側欄行通過標籤文案定位;若 DSH 側欄大改,可能需在
lib/client.js中調整KNOWN_LABELS。 - 僅支持
http(s)鏈接與絕對本地路徑。 - 隱藏僅爲視覺層面,被隱藏的入口仍可通過原有路徑使用。
側欄分組思路借鑑 HighToward/dsh-plugins-sidebar-manager;設置頁通過宿主 settings.section 插槽註冊,參考 Yuuyuko-uu/dsh-speak-up 與 DSH 的 window.__ModuleLoader__.load 客戶端約定。實現爲獨立編寫,未複製上述倉庫代碼。
結尾¶
dsh-custom-menu 適合希望把 DSH 側欄收成「常用 + 分組 + 自選快捷方式」的桌面用戶:自帶項可藏可組,網頁與文件夾可並排放在同一側欄。查閱介紹與安裝入口可見 SkillHub 目錄頁;源碼、截圖與安裝說明見 GitHub:tan90tan90/dsh-custom-menu。