dsh-plugin-browser:DSH 插件市場入口與已裝插件面板

前言

DSH 的「一切皆插件」會讓一個 profile 裏同時出現多個插件:有的啓用,有的禁用,有的版本不同,有的只在某些加載階段生效。日常開發中,常見需求不只是「再裝一個插件」,而是先確認:當前到底加載了哪些插件、某個插件是否已裝、想用的插件如何安裝、安裝後從哪裏查看狀態。

dsh-plugin-browser 解決的是這一類問題:把 awesome-dsh-plugin 目錄、當前 profile 的插件加載狀態、dshmarket 的安裝 / 更新 / 卸載動作放在同一個面板裏,同時給 agent 提供兩個查詢工具。

awesome-dsh-plugin 是社區目錄,不應理解爲 DeepSeek / 幻方的官方應用商店。資料稱該目錄包含 252+ 插件;具體維護者、倉庫歸屬在已抓取資料中存在不一致,本文不按未覈實信息下結論。

這是什麼

dsh-plugin-browser 是一個 DSH 插件,定位爲「插件市場入口 + 運維面板」。

它主要做三件事:

  • 瀏覽 awesome-dsh-plugin 目錄;
  • 查看每個插件在當前 profile 的已裝 / 加載狀態;
  • 通過 dshmarket 執行安裝、更新、卸載。

許可證爲 MIT;peerDependencies 要求 @deepseek-ai/cordis ^4.0.1

核心功能

agent 工具

在會話裏可以直接問 agent 查詢插件狀態。

list_plugins 用於列出當前加載 / 安裝情況,返回字段包括:模塊名、版本、啓用狀態、Cordis 加載階段、entry id、bundle 層棧。

browse_plugin_market 用於按關鍵詞找插件,返回目錄匹配項,以及各自在當前 profile 的已裝 / 加載狀態與安裝命令。

GUI 頁籤

GUI 入口位於:

設置 → 插件 → 插件瀏覽器

頁籤內有兩個主要部分:

  • 市場:展示 awesome-dsh-plugin 目錄卡片,支持分類過濾、搜索、星標排序,並顯示已裝版本與加載狀態。
  • 已裝插件:顯示當前 profile 的 loader 快照,包括版本、來源、加載狀態、主頁。

市場卡片上的操作按鈕包括:安裝、更新、卸載、打開倉庫。這些動作通過 dshmarket/dsh-market/* 端點執行;未安裝 dshmarket 時,操作按鈕會禁用並提示。

HTTP 路由

插件提供以下路由:

GET /dsh-plugin-browser/list
GET /dsh-plugin-browser/catalog
POST /dsh-plugin-browser/refresh

其中 list 返回本地 loader 快照,catalog 返回目錄與已裝 / 加載狀態合併視圖,refresh 用於清理目錄緩存。

目錄加載

目錄加載採用三級回退:

  1. 在線;
  2. 內置快照 data/registry-snapshot.json
  3. dshmarket 快照。

進程內緩存爲 10 分鐘。

資料稱數據全部來自本機 + awesome 目錄 JSON,不額外訪問網絡。

安裝與啓用

推薦先把 dsh-plugin-browser 安裝到目標 profile,例如 web

dsh plugin --profile web add github:CriscolTheCoder/dsh-plugin-browser

如果要使用市場頁籤裏的安裝 / 更新 / 卸載按鈕,還需要同時安裝 dshmarket

dsh plugin --profile web add dshmarket

本地開發時,也可以用 file: 指向源碼目錄。注意路徑中不要有空格:

dsh plugin --profile web add file:C:/Users/xxx/dsh-plugin-browser

安裝後,可在會話中使用 agent 工具,或打開 設置 → 插件 → 插件瀏覽器

卸載命令:

dsh plugin --profile web remove dsh-plugin-browser

典型用法

下面幾個例子來自已覈實資料中的使用方式。

  1. 會話裏問 agent:列出當前加載的所有插件
    這適合檢查當前 profile 的插件清單和加載狀態。

  2. 會話裏問 agent:幫我找一下 TUI 相關的插件
    這適合按需求找插件,並看到它是否已裝、加載狀態如何。

  3. 打開 設置 → 插件 → 插件瀏覽器,在市場頁籤中過濾、搜索、排序,然後對目標插件執行安裝、更新、卸載或打開倉庫。

  4. 如果只想查看本地插件快照,可以調用 GET /dsh-plugin-browser/list;如果需要合併目錄和狀態,可以調用 GET /dsh-plugin-browser/catalog

  5. 目錄展示異常時,可以嘗試 POST /dsh-plugin-browser/refresh 清理緩存。

適用場景與注意

適合:

  • 需要確認某個 DSH profile 當前加載了哪些插件;
  • 需要按目錄找插件並安裝;
  • 需要把插件狀態查詢交給 agent 完成;
  • 需要本地開發 DSH 插件時快速查看 loader 快照。

注意:

  • 該插件以當前 DSH 進程權限運行。安裝前應先檢查源碼、許可證和依賴來源。
  • 許可證爲 MIT,但安裝命令中的倉庫歸屬在已抓取資料中存在不一致:安裝命令使用 CriscolTheCoder,README 抓取資料中出現 qichuang321。實際安裝前請覈對你使用的代碼來源。
  • 市場動作依賴 dshmarket;未安裝時按鈕會禁用並提示。
  • 本地 file: 安裝路徑不要有空格。
  • 目錄加載涉及在線、本地快照與 dshmarket 快照;資料稱數據來自本機與 awesome 目錄 JSON,不額外訪問網絡,但具體行爲仍應結合實際運行環境覈對。

結尾

dsh-plugin-browser 的價值在於把「查插件、看狀態、執行安裝 / 更新 / 卸載」放到同一個 DSH 插件面板裏,並讓 agent 能直接回答當前插件狀態。

目錄頁:

https://www.skillhub.cn/plugins/qichuang321/dsh-plugin-browser

GitHub 倉庫地址在已抓取資料中存在 qichuang321CriscolTheCoder 兩種信息,未覈實唯一倉庫;安裝命令爲:

dsh plugin --profile web add github:CriscolTheCoder/dsh-plugin-browser
羽毛球分组比赛记分
小程序二维码

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

小夜