前言¶
在 DeepSeek Harness(DSH)里浏览「插件 → 发现」时,排序菜单通常只有默认顺序、发布时间、最佳搜索等选项。若你想按社区热度(GitHub Star 数)从高到低挑插件,原索引往往没有对应的排序键。dsh-market-star-sort 在 Host 侧为插件市场索引补上 stars 排序键和每条目的数值,发现页会原生多出一项「Star 数」,无需改客户端发现页代码。
下面介绍插件的定位、工作原理、安装与可选配置。
这是什么¶
dsh-market-star-sort 由 yhzsir 维护,当前版本 1.0.0,MIT 许可证。它是 Host-only 插件:只运行在 DSH Host 进程中,没有客户端代码。
作用概括:给 DSH Web「插件 → 发现」页的排序菜单增加 Star 数(按 GitHub Star 降序)。发现页的排序菜单来自所选插件市场索引声明的 metadata.sortKeys;当前常用的索引源 https://awesome-dsh-plugin.com/index.json 里 sortKeys 为空(除分类外无其他键),页面上因此看不到按 Star 排序。本插件在索引 JSON 被 Host 解析之前做增量补全,排序与分页仍由 Host 完成。
核心功能¶
索引补全¶
插件在 Host 解析索引之前:
- 在索引头部声明排序键:
metadata.sortKeys.stars = { title: { en: "Stars", zh: "Star 数" }, order: "desc" }; - 为每个条目写入
metadata.sortKeys.stars = <GitHub Star 数>。
补全后的文档仍满足格式 1 校验,发现页排序菜单会多出「Star 数」;翻页、再次进入均由 Host 处理。没有 Star 数据的条目按索引既有规则排在最后。若索引日后自行声明了 stars 键,插件不会覆盖。
Star 数据来源¶
- 随包种子:
data/stars.json,为按下拉时间抓取的快照,覆盖索引里全部条目; - 后台刷新:启动后按需下载
catalogUrl(默认https://awesome-dsh-plugin.com/catalog.json,使用items[].slug与items[].stars),成功后写入<profile>/.market-star-sort/stars.json,下次启动读缓存; - 刷新间隔:由
refreshHours控制(默认 24 小时);刷新失败时继续使用已有快照。
条目与 Star 的对应关系依次尝试:标题 owner/repo → 仓库 URL github.com/<owner>/<repo> → 索引站条目页 /p/<owner>/<repo>/。
行为边界¶
- 只改写能识别为格式 1 插件市场索引、且条目与 Star 快照匹配过半的响应;其他 fetch 原样返回。
- 仅在索引从网络取回时补全;Host 索引缓存(默认 10 分钟)与页面刷新、搜索、翻页走同一路径。
- 卡片列表不显示 Star 数字(发现页卡片由内置客户端渲染,插件无插入点);本插件只负责排序。
- 插件仅下载上述 catalog 与索引文档,不会向外发送本机信息。
安装与启用¶
在 Web 界面「插件」页的安装入口粘贴以下任一,然后在「插件」页刷新,或重启 DSH:
https://github.com/yhzsir/dsh-market-star-sort/releases/latest/download/dsh-market-star-sort.tgz
https://github.com/yhzsir/dsh-market-star-sort
若已发布到 npm,也可使用包名:
dsh-market-star-sort
插件以当前 DSH 进程权限运行。安装前请查看仓库源码与 MIT 许可证,确认行为符合你的环境要求。
典型用法:可选配置¶
配置写在 cordis.patch.yml 中对应插件行的 config 下,字段均可选:
| 字段 | 默认值 | 含义 |
|---|---|---|
catalogUrl |
https://awesome-dsh-plugin.com/catalog.json |
Star 数据来源 |
refreshHours |
24 |
重新下载 Star 数据的间隔(小时) |
fetchTimeoutMs |
180000 |
单次下载超时(毫秒) |
indexUrls |
[](另含两个内置 awesome-dsh-plugin 索引地址) |
需要补全的额外索引 URL |
例如将刷新间隔改为 12 小时:
- insert:
- id: market-star-sort
name: dsh-market-star-sort
config:
refreshHours: 12
安装并刷新后,打开「插件 → 发现」,在排序菜单中选择「Star 数」即可按 GitHub Star 降序浏览条目。
适用场景与注意¶
适合经常在 DSH 发现页浏览社区插件、希望按 GitHub 热度排序的开发者。不适合期望在卡片上直接看到 Star 数字的场景——本插件不提供卡片展示,只扩展排序能力。
社区插件目录(如 awesome-dsh-plugin.com)为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本仓库是其中的一个小 Host 侧扩展。
结尾¶
dsh-market-star-sort 通过 Host 侧索引补全,在不修改发现页客户端的前提下,为排序菜单增加「Star 数」。需要进一步了解或反馈问题,可访问插件目录页与 GitHub 仓库:
- 目录页:https://www.skillhub.cn/plugins/yhzsir/dsh-market-star-sort
- GitHub:https://github.com/yhzsir/dsh-market-star-sort