前言¶
DeepSeek Harness(DSH)內置的文檔預覽通常只認少數後綴,例如 Markdown 只註冊了 md / markdown。若項目裏大量使用 Cursor 規則文件 .mdc,或其它自定義後綴(如 mdx),在側邊欄點開時可能無法走 Markdown 預覽。改 app.asar 不可行,也不利於隨 DSH 升級維護。下面介紹社區插件 dsh-ext-master:在 profile 級通過 bundle 與 client 插件機制,把可配置的後綴追加到對應預覽定義,默認把 .mdc 當作 Markdown 預覽。
這是什麼¶
dsh-ext-master 由維護者 maxid 發佈,歸類爲 DSH 客戶端插件。一句話定位:DeepSeek Harness 的文檔預覽擴展名管理——當前以 Markdown 爲主,配置結構按預覽類型分組,後續可擴展 html、code 等類型。
倉庫:https://github.com/maxid/dsh-ext-master
社區目錄頁:https://www.skillhub.cn/plugins/maxid/dsh-ext-master(獨立站點,與 DeepSeek / 幻方無官方從屬關係)
適配 DSH >=0.2.1-rc.3 <0.3.0-0(package.json 的 engines.dsh 聲明;-0 邊界使 0.3 預發佈不算在內)。不修改安裝包內的 app.asar,通過 DSH profile 的 bundle + client plugin 加載。
核心功能¶
- 內置預覽只註冊了
md/markdown;本插件在運行時把配置的後綴追加到對應預覽定義。 - 默認
previews.markdown: [mdc];也支持mdx等任意安全後綴(小寫、去前導.、去重,並校驗字符)。 - 監聽預覽註冊變化;即使目標預覽定義晚於本插件註冊也能補上。
- 配置經 Host 注入頁面的
__DSH_DOCUMENT_PREVIEW_EXTENSIONS__傳遞到前端。
實現上分爲 Host 與 Client 兩部分(見倉庫結構):
lib/index.js Host 插件:校驗配置並通過 webserver/index-inject 注入頁面
lib/client.js Client 插件:按預覽類型把後綴追加到對應預覽定義
cordis.patch.yml Bundle patch:插入 dsh-ext-master 行,默認 markdown: [mdc]
Client 側使用 DSH 預構建的 window.__ModuleLoader__.load({ id, factory }) 協議;倉庫直接提供 lib/client.js,無額外構建步驟。
版本與安裝¶
本倉庫 tag 與 DeepSeek Harness 官方 release 對應,命名爲 dsh-v<版本>。在 engines.dsh 聲明範圍內,一般不必爲每個 rc 換 tag;DSH 進入 0.3(含 alpha/rc)時,插件會先發布對應 tag。
| DSH 版本 | 對應插件 tag | 說明 |
|---|---|---|
0.2.1-rc.5 |
dsh-v0.2.1-rc.5 |
README 記載已在獨立 profile 中驗證 Host 注入與 Client bundle |
0.2.1-rc.3 |
dsh-v0.2.1-rc.3 |
桌面版日常使用驗證 |
推薦用 DSH 插件命令安裝(把 desktop 換成你的 profile 名):
dsh plugin --profile desktop add "github:maxid/dsh-ext-master#dsh-v0.2.1-rc.5"
若需手動接入:將倉庫放到 ~/.dsh/profiles/desktop/plugins,在 profile 的 package.json 裏 link 依賴並把 dsh-ext-master 追加到 dsh.profile.bundles 末尾,再建立 node_modules 符號鏈接。完整步驟見 GitHub README「安裝」一節。完成後刷新 DSH 頁面;若 profile 未開 HMR,需重啓 DSH。
典型用法:擴展 Markdown 後綴¶
bundle 自帶默認配置:
previews:
markdown:
- mdc
要增加例如 mdx,在 ~/.dsh/profiles/desktop/cordis.patch.yml 追加(或合併):
- id: dsh-ext-master
name: dsh-ext-master
config:
previews:
markdown:
- mdc
- mdx
previews 的 key 對應預覽定義 id 的最後一段(如 markdown、html)。後續若插件支持更多預覽類型,可沿用同一結構:
previews:
markdown: [mdc, mdx]
html: [xhtml]
改配置後刷新頁面(擴展名在頁面加載時注入);僅改本插件 lib/client.js 時,代碼本身可被 DSH HMR 熱重載。
適用場景與注意¶
適合誰:在 DSH 裏經常打開 .mdc、.mdx 等 Markdown 變體,希望側邊欄文檔預覽與內置 md 行爲一致的用戶;需要 profile 級擴展、且願意自行維護插件與 DSH 版本對應關係的使用者。
權限與安全:插件以當前 DSH 進程權限運行。安裝前應閱讀倉庫源碼與 MIT 許可證,確認來源與行爲符合你的環境策略。
已知限制(來自 README):
- 文件樹中
.mdc圖標可能仍爲通用圖標:前端 file-kind 映射在只讀 bundle 內,插件無法覆蓋;預覽行爲不受影響。 - 這是 profile 級擴展,不進入 DSH 安裝包;DSH 升級後 profile 與插件仍可繼續使用(注意
engines.dsh與 tag 對應關係)。 - 更徹底的做法需上游把
mdc寫入@deepseek-ai/dsh-client-ui-sidebar-documentpreview的extensions,並同步 file-kind 映射。
結尾¶
dsh-ext-master 用可配置的預覽後綴補上了 DSH 默認 Markdown 註冊表的缺口,默認即可預覽 .mdc,並預留按預覽類型擴展的結構。按需選擇 tag 安裝、在 cordis.patch.yml 裏調整後綴即可落地。