前言¶
DSH(DeepSeek Harness)的理念是“一切皆插件”。在開發過程中,管理插件市場是一個高頻操作。現有的方式通常需要進入設置頁面或特定視圖。dsh-market-sidebar 插件提供了一個直接的入口,它把 dshmarket 的市場界面作爲一個正式的面板渲染在側邊欄,位置緊鄰“新會話”按鈕下方,內置“插件”菜單上方。
插件定位¶
這是一個客戶端插件,由 dingchenhui0618-arch 維護。它的核心作用是將 dshmarket 的市場面板註冊到側邊欄,位置緊鄰“新會話”按鈕下方,內置“插件”菜單上方。
核心功能¶
- 註冊面板:往
sidebar.panellist註冊{ id: 'market', order: -10, label: '插件市場' }。 - 渲染邏輯:往
main註冊同一個 key,渲染ctx.get('market').render()。 - 排序與顯示:使用
order: -10,確保顯示在內置插件(order 0)之前。市場缺席時,側邊欄會退化成一個提示項,不會導致客戶端裝配失敗。 - 獨立運行:與 dshmarket 的裝載順序無關。
- 可選隱藏:支持通過配置隱藏設置裏的同名入口。
安裝與啓用¶
環境要求:DSH Web ≥ 0.1.0-rc.6,Node >= 20,需已安裝 dshmarket。
- 創建 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'
- 在
$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 “一切皆插件”的理念。