前言¶
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 “一切皆插件”的理念。