dsh-market-board:在 DSH 插件页里浏览 npm 社区插件并一键安装

前言

DeepSeek Harness(DSH)采用「一切皆插件」的扩展方式:能力靠插件叠加,社区也会把插件发布到 npm。若只依赖「已安装」列表或手动拼 dsh plugin add 的 GitHub 地址,找包、比版本、确认是否已装都要离开界面或查文档。dsh-market-board 在宿主 插件(Plugins) 页面增加 插件市场 标签页,从公共 npm 注册表聚合与 DSH 相关的包,支持搜索、排序与分页,安装流程复用插件页自带的安装对话框,与 Discover 等入口一致。

下面介绍该插件的定位、能力与使用方式。事实以 GitHub 仓库 README 为准;维护者为 cypher-yht,npm 包名 dsh-market-board,当前资料中版本为 0.2.0,许可证 MIT。

这是什么

dsh-market-board 是 DSH 客户端 插件:Host 半在本地合并 npm 搜索数据并暴露 JSON 路由,Client 半在插件管理 UI 注册 market-board 标签页。零配置即可使用——无需预先设置市场索引源,默认读取 https://registry.npmjs.org/。浏览器不直接请求 npm,网络由 Host 完成,页面只读同源接口,避免跨域问题。

核心功能

列表与搜索

  • 三种排序:最新发布、热门(周下载量)、名称;支持关键词搜索与分页加载。
  • 首次打开需从 npm 拉取并合并列表(README 说明通常 2–6 秒,之后缓存 10 分钟),期间显示骨架屏;工具栏 刷新 可强制重新读取。

安装状态

卡片上直接显示三种标记:已安装、可更新、内置(与 pluginManager.listBundles() 对照 npm 数据得出)。更新判断是「已装版本 ≠ 市场默认版本」的直接比较,不做 SemVer 范围计算。

详情与版本

点卡片或按 Enter 进入详情页,可查看完整描述、作者/维护者、许可证、发布与更新时间、下载量、关键词,以及主页/源码/npm 链接。版本历史按发布时间倒序展示(每页最多 40 个版本),可对任意版本点 安装;已安装的版本不再提供安装按钮。左上角 返回列表 保留原搜索与排序上下文。

一键安装

安装动作调用插件页提供的 install({ spec, title, version }),包含确认、源信息、pnpm 进度与失败重试,不单独实现一套流程。

数据来源(Host)

Host 通过 npm 搜索接口执行四组查询并合并去重:

查询 作用
keywords:dsh-plugin 显式声明为 DSH 插件的包
keywords:deepseek-harness 声明面向 DeepSeek Harness 的包
keywords:dsh DSH 生态相关包
text=dsh plugin 名称/描述中含 dsh plugin 的包

随后按包名、关键词、描述过滤是否与 DSH 相关。默认排除 @deepseek-ai/ 作用域(随安装包发布、由插件页管理);可选配置 includeOfficial: true 将其纳入市场。

安装与启用

在目标 DSH 会话中执行(桌面客户端读 desktop profile,请在桌面端会话里的 plugin_manager 安装):

dsh plugin add github:cypher-yht/dsh-plugins-market-board

本地开发可用软链:

dsh plugin add link:D:\path\to\dsh-market-board

装完后重启宿主;若在浏览器中使用,建议 Ctrl+F5 强刷。

典型用法

  1. 在侧边栏打开 插件(Plugins)。
  2. 切换到 插件市场 标签页(位于 已安装 与 Discover 之后)。
  3. 在搜索框查找插件;点 安装 打开安装对话框,确认后开始安装。
  4. 已安装的条目可用 查看 跳到该插件详情页。
  5. 点卡片任意位置进入详情;在版本历史中可对指定版本点 安装。

可选配置

在 cordis.patch.yml 中为 market-board 写入 config,例如:

- insert:
    - id: market-board
      name: dsh-market-board
      config:
        registry: 'https://registry.npmjs.org/'
        cacheTtlMs: 600000
        timeoutMs: 20000
        includeOfficial: false
字段 默认值 说明
registry https://registry.npmjs.org/ npm 注册表,可改为国内镜像
cacheTtlMs 600000 合并结果缓存时长(毫秒)
timeoutMs 20000 单次搜索请求超时
queries 上表四组 自定义搜索查询数组
includeOfficial false 是否列出 @deepseek-ai/ 作用域包

适用场景与注意

适合谁: 经常在 DSH 里试社区插件、需要按下载量或更新时间浏览 npm 上 DSH 相关包的用户。

权限与安全: 插件在当前 dsh 进程权限下运行;市场条目来自 npm 搜索与包元数据,第三方描述仅供参考,包是否真正携带可用 bundle 需安装前检查。安装前请阅读源码与许可证(MIT)。

已知限制(README 原文):

  • 新发布/更新需等 npm 搜索索引刷新后才会出现在列表中。
  • 详情页版本历史最多 40 个版本,更早版本不展示。
  • 换版本仍走「安装指定版本」流程。

社区插件目录站点(如 skillhub.cn 上的条目页)为独立生态索引,与 DeepSeek / 幻方无官方从属关系;本插件不是官方应用商店,而是连接公共 npm 与 DSH 内置安装流程的客户端扩展。

实现概要(供排查参考)

文件 角色
index.js Host:合并/缓存 npm 数据,注册 /plugin-market-board/data 与 /plugin-market-board/entry
market-source.js 搜索、归一化、过滤、排序、分页等纯函数
client.js 注册 plugins.tab 的 market-board 标签页与 UI

仓库内测试:npm test(README 称共 32 项)。

结尾

dsh-market-board 把 npm 上与 DSH 相关的社区插件收进插件页的一个标签,搜索、看详情、装指定版本都走宿主已有安装对话框,Host 代理 npm、Client 只读同源 JSON。需要时可改注册表与缓存等配置。

  • 目录页:https://www.skillhub.cn/plugins/cypher-yht/dsh-plugins-market-board
  • 源码与文档:https://github.com/cypher-yht/dsh-plugins-market-board
羽毛球分组比赛记分
小程序二维码

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

小夜