dsh-market-sidebar:把插件市場搬進 DSH 側邊欄

前言

DSH(DeepSeek Harness)的理念是“一切皆插件”。在開發過程中,管理插件市場是一個高頻操作。現有的方式通常需要進入設置頁面或特定視圖。dsh-market-sidebar 插件提供了一個直接的入口,它把 dshmarket 的市場界面作爲一個正式的面板渲染在側邊欄,位置緊鄰“新會話”按鈕下方,內置“插件”菜單上方。

插件定位

這是一個客戶端插件,由 dingchenhui0618-arch 維護。它的核心作用是將 dshmarket 的市場面板註冊到側邊欄,位置緊鄰“新會話”按鈕下方,內置“插件”菜單上方。

核心功能

  1. 註冊面板:往 sidebar.panellist 註冊 { id: 'market', order: -10, label: '插件市場' }。
  2. 渲染邏輯:往 main 註冊同一個 key,渲染 ctx.get('market').render()。
  3. 排序與顯示:使用 order: -10,確保顯示在內置插件(order 0)之前。市場缺席時,側邊欄會退化成一個提示項,不會導致客戶端裝配失敗。
  4. 獨立運行:與 dshmarket 的裝載順序無關。
  5. 可選隱藏:支持通過配置隱藏設置裏的同名入口。

安裝與啓用

環境要求:DSH Web ≥ 0.1.0-rc.6,Node >= 20,需已安裝 dshmarket。

  1. 創建 Junction(假設本地路徑爲 D:\Projects\dsh-market-sidebar):
$profile = "$env:USERPROFILE\.dsh\profiles\desktop"
New-Item -ItemType Junction -Path "$profile\node_modules\dsh-market-sidebar" -Target 'D:\Projects\dsh-market-sidebar'
  1. 在 $profile\package.json 中添加配置:
{
  "dependencies": {
    "dsh-market-sidebar": "link:D:/Projects/dsh-market-sidebar"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "dshmarket",
        "dsh-market-sidebar"
      ]
    }
  }
}

安裝後約 1 秒會觸發增量更新,側邊欄出現新項。

典型用法

默認情況下,側邊欄會出現“插件市場”項,點擊後渲染 dshmarket 的界面。
若想隱藏設置裏的同名入口,修改 lib/client.js 中的 HIDE_SETTINGS_SECTION 爲 true。

注意事項

  • 卸載時需手動刪除 bundles 中的條目、dependencies 中的依賴項以及 junction。
  • 本插件本身不包含市場邏輯,依賴 dshmarket 的契約。

結語

該插件通過調整 sidebar.panellist 的註冊順序,將市場面板前置,符合 DSH “一切皆插件”的理念。

查看插件目錄頁
訪問 GitHub 倉庫

羽毛球分组比赛记分
小程序二维码

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

小夜