前言¶
DSH 生態強調「一切皆插件」。目錄通常解決“有哪些插件可用”,但安裝前還有一個更直接的問題:這個插件是否應該進入當前 profile。
bruc3van/dsh-desktop-safe-market 是一個面向 DeepSeek Harness(DSH)的社區插件市場,定位是“先審查、再安裝”。它把上游精選短名單和安裝前的 Agent 審查放在同一個入口裏,插件自身不執行安裝,也沒有能執行安裝的接口。
它不是官方應用商店,而是社區維護的 DSH 插件市場。
這是什麼¶
一句話:一個先審查、再安裝的 DSH 插件市場。
- 維護者:
bruc3van - 許可證:
MIT - 入口:在 DSH 設置中新增“安全市場”導航項,分爲“插件”和“技能”兩頁
- 覆蓋端:瀏覽器、CLI 與桌面客戶端共用同一個 profile,三處都會出現該導航項
- 兼容:
0.3.0同時兼容舊版單體 Client Runtime 與新版拆分後的 Session/Workspace Controller
核心功能¶
精選來源¶
市場列表來自 awesome-dsh-plugin 每日快照管線的人工精選產物,而不是 GitHub topic 原始抓取。上游會剔除非插件、歸檔/停用倉庫,並按類目均衡發牌。插件讀取目錄快照中的 market.json,並在 Host 側重校驗後發給瀏覽器。
安全安裝¶
“安全安裝”不會直接安裝。它會連接一個新會話,把安全審查提示詞填入輸入框,但不發送。是否發送由用戶按回車決定。
提示詞要求 Agent 實際讀倉庫代碼,確認乾淨後才執行官方安裝命令。安裝優先級如下:
1、npm 包
2、最新 release tag 的預構建 tarball
3、前兩者都沒有時,從默認分支裝源碼,並鎖到具體 commit
插件不執行安裝¶
插件自身沒有能執行安裝的接口。安裝命令寫在提示詞裏,由 Agent 執行。審查與安裝在結構上不可分割,繞不過去。
已安裝面板¶
“插件”頁包含已安裝面板,列出當前 profile 通過包安裝的插件,以及桌面客戶端自動裝進來的市場插件。面板支持停用/啓用和卸載。桌面客戶端自動裝進來的市場插件以該面板作爲唯一移除入口。
技能頁¶
“技能”頁列出當前會話能解析到的技能,包括名稱、說明、來源 provider 與調用策略,可搜索。當前技能頁只讀,還不能裝技能。
安全升級¶
已安裝過的插件卡片會標出“已安裝 vX.Y.Z”,按鈕變爲“安全升級”。安全升級會先讓 Agent 確認上游最新版本;如果不比當前新,則直接回“已是最新”、不做任何改動;確有新版才繼續完整審查。
默認關閉與網絡邊界¶
安全市場默認關閉。開啓後纔會從 GitHub 讀取目錄快照;關閉時插件不發起任何網絡請求。默認關閉狀態下,Remote 接口直接拒絕,無法繞過開關讀取目錄。
來源切換與文件校驗¶
默認從 GitHub raw 讀取 market.json。不可達或出錯時,自動切換同一文件的 jsDelivr CDN 鏡像,並記住可用來源。
市場文件在 Host 側重新校驗後才發給瀏覽器,並持久化到 $DSH_HOME/storages/safe_market.json;重啓後使用 ETag 條件請求。
倉庫鏈接由 owner/name 重新拼裝,不採信市場文件中的地址。默認分支名進入提示詞前經過模式校驗,不合格回落 main。配置 profile 名必須匹配 [A-Za-z0-9][A-Za-z0-9._-]{0,63},否則插件拒絕啓動。
安裝與啓用¶
1、從 npm 安裝到 web profile:
dsh plugin --profile web add dsh-desktop-safe-market
2、安裝完成後,重啓 dsh web 或桌面客戶端,使設置中的“安全市場”導航項生效。
3、如果鎖定 v0.3.0,使用 GitHub release tarball:
dsh plugin --profile web add https://github.com/bruc3van/dsh-desktop-safe-market/archive/refs/tags/v0.3.0.tar.gz
4、也可以把安裝交給 Agent,使用這段提示詞:
幫我安裝 DSH 安全市場:用官方命令 dsh plugin --profile web add dsh-desktop-safe-market 裝進 web profile,完成後提醒我重啓 dsh web 纔會生效。
首次使用時,在“插件”頁點擊“啓用安全市場”。開啓後,市場纔會讀取目錄快照;關閉時不發起網絡請求。
典型用法¶
安全安裝一個插件¶
1、在“插件”頁打開“全部插件”視圖,按 Star 數排名瀏覽。
2、點插件卡片的“安全安裝”。
3、插件連接一個新會話,並把審查提示詞填入輸入框。
4、你按回車發送,Agent 開始讀取倉庫代碼並審查。
5、Agent 確認乾淨後,按官方命令執行安裝;如果從源碼安裝,需要處理 pnpm allowBuilds 授權。
6、用下面命令確認實際安裝的版本:
dsh plugin --profile web list
源碼安裝時的 allowBuilds¶
從源碼安裝時,pnpm 的 allowBuilds 門禁會要求確認允許該倉庫代碼在安裝時執行。提示詞要求 Agent 將打印的鍵原樣交給用戶確認,並寫入 pnpm-workspace.yaml 後重跑。
管理已安裝插件¶
在已安裝面板中:
- 停用/啓用插件會立即生效,且重啓後依舊有效。
- 卸載用戶插件會在 profile 目錄執行
pnpm remove,並清理相關條目;失敗時仍會改清單並在面板說明。 - 桌面客戶端裝進來的市場插件,面板是唯一移除入口;如果客戶端仍開啓“接入內置安全市場”,下次啓動可能重新裝回。
升級已安裝插件¶
對已安裝插件點“安全升級”。Agent 先確認上游最新版本;只有確有新版本時,才繼續審查和安裝。
覆蓋配置¶
可在 ~/.dsh/profiles/web/cordis.patch.yml 覆蓋 catalogBase 和 marketSize:
# 按實際部署填寫
catalogBase: <catalogBase>
marketSize: <marketSize>
具體值按部署環境填寫,不把某個默認值當作所有環境都適用。
適用場景與注意¶
適合:
- 使用 DSH web、CLI 或桌面客戶端,並希望在插件安裝前保留一次人工確認。
- 需要在設置中查看當前 profile 的已安裝插件、桌面客戶端接入插件,以及當前會話可解析到的技能。
注意:
- 收錄不代表安全背書;Agent 的審查是有依據的輔助判斷,不是安全結論。
- 插件以當前 dsh 進程權限運行。安裝前應檢查源碼與許可證;本插件許可證爲
MIT。 - 市場裏看不到安裝進度,因爲安裝命令由 Agent 執行,而不是插件執行。
- 不體檢、不重新審計已安裝插件;已安裝面板可查看、停用、卸載,但不會重新審計已裝代碼。
- 技能頁只讀,還不能裝技能。
- 導航圖標是皮膚級替換;殼結構變化時最壞退回齒輪,不影響功能。
鏈接¶
- 插件倉庫:https://github.com/bruc3van/dsh-desktop-safe-market
- 上游目錄倉庫:https://github.com/bruc3van/awesome-dsh-plugin