dsh-desktop-safe-market:先審查、再安裝的 DSH 插件市場

前言

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 覆蓋 catalogBasemarketSize

# 按實際部署填寫
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
羽毛球分组比赛记分
小程序二维码

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

小夜