前言¶
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 强刷。
典型用法¶
- 在侧边栏打开 插件(Plugins)。
- 切换到 插件市场 标签页(位于 已安装 与 Discover 之后)。
- 在搜索框查找插件;点 安装 打开安装对话框,确认后开始安装。
- 已安装的条目可用 查看 跳到该插件详情页。
- 点卡片任意位置进入详情;在版本历史中可对指定版本点 安装。
可选配置¶
在 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