dsh-market-sidebar: Bringing the Plugin Marketplace into the DSH Sidebar

前言

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 仓库

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

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

Xiaoye