前言¶
DeepSeek Harness(DSH)的插件生态里,新出的模型插件、Skill、MCP 服务、桌宠挂件越来越多。怎么快速发现那些真正有用、正在涨星的小工具,而不是被平台级项目或合集淹没?hotspot 插件提供了一套按日/周/月给这些小工具排名的榜单,支持自定义榜单类型,并在独立可拖拽的浮层中展示。
是什么¶
hotspot 是一个 DSH GitHub 热榜插件,由维护者 zhikai0915-netizen 开发。它从 GitHub 抓取模型插件、Skill、MCP 服务等项目的星数变化,按不同时间窗口生成榜单,并支持中文简介生成、相关性筛选、跨榜飙升榜等功能。
核心功能¶
榜单类型与更新日程¶
安装后默认提供多套榜单,各自按固定日程更新:
- 日榜:每天 00:00 更新,统计「昨天到现在」的涨星
- 周榜:每周一 00:00 更新,统计「上周一到本周一」的涨星
- 月榜:每月 1 号 00:00 更新,统计「上月 1 号到本月 1 号」的涨星
- 飙升榜:每周一 00:00 更新,按「星/天」速度排序,统计窗口与周榜一致
- 总榜:每月 1 号 00:00 更新,按总星数排序
界面会显示每条榜的「下次更新时间」与「倒计时」,当前是否处于冻结状态。
采样与区间计算¶
GitHub API 只提供当前星数,不提供历史数据。hotspot 通过在本地保存带时间戳的样本文件来记录每个仓库的星数变化:
// $DSH_HOME/hotspot/snapshots/2026-10-15.json
{
"date": "2026-10-15",
"samples": [
{
"at": "2026-10-15T02:00:00.000Z",
"stars": { "owner/repo": 1234 }
},
{
"at": "2026-10-15T02:15:00.000Z",
"stars": { "owner/repo": 1241 }
}
]
}
区间涨星 = 当前星数 − 区间起点星数。起点取自「不晚于 cut-off 的最近一个样本」。若区间内只有 1 个样本,则按「总星数」排序并标注「按总星数」;若样本不足,则标注「样本积累中」。
默认每天 00:00 抓一次数据(共 7 次请求/天),远低于 GitHub 未认证接口的 10 次/分钟限制,无需 token 也能正常使用。
可拖拽浮层与视觉规范¶
榜单以独立浮层显示,挂在 DSH 的 shell.overlay 插槽上,与桌宠同层,不占对话区。
- 拖标题栏:移动面板
- 拖右下角:调整面板大小(最小 300×220)
- 点标题栏或「—」:折叠成可拖动的小药丸,点药丸再展开
- 点「✕」:隐藏(在 设置 → GitHub 热榜 里可恢复)
位置、尺寸、模式都会保存到 localStorage 的 hotspot-panel 键。面板会自动夹进视口,保证至少 80px 留在屏幕内。
界面使用 DSH 的设计 token --dsw-*,随系统主题自动适配。v0.6.0 起,所有颜色不写死,全部走 token。v0.7.0 支持三套视觉密度(紧凑 / 舒适 / 宽松),在设置页切换,只修改本插件自己的 CSS 局部变量(--hs-pad / --hs-gap / --hs-font / --hs-item-pad),不影响全局样式。
相关性判定与综合打分¶
原始 GitHub 搜索结果中,平台级项目(如 DSH 框架本身)和合集(如 awesome-list)会挤占小工具的排名。v0.5.0 引入两层筛选:
- 零成本规则预筛:名字/简介命中
awesome/curated/导航/合集等关键词,或星数 ≥ranking.platformStars(默认 10 万),直接剔除。 - 模型逐条判定:用 DSH 的模型判断「这是本榜该收的具体小工具吗」,输出
{"verdict":"tool|platform|list|unrelated","relevance":0-100,"reason":"…"}。 - 过滤与综合打分:只保留
verdict === "tool"且relevance ≥ minRelevance(默认 50)的项目。最终得分 = 区间涨星 + relevance × relevanceWeight(0.05) + 新鲜度(0/1/2)。
判定按「榜 + 仓库 + 内容指纹」缓存,每轮检查会补预热未判定的候选(默认预热前 50 条),判定结果永久缓存。可以关闭模型判定("classify": false),只做规则预筛。
中文简介生成¶
GitHub 的 description 多半是英文且简短,看不出具体解决的问题。hotspot 使用 DSH 的模型(ctx.llm)为每个上榜项目生成 1–2 句中文简介:「它是什么 + 能解决什么问题」。
- 异步生成、落盘缓存:
/rank先返回已有的简介,缺的在后台排队生成,界面每 60 秒轮询一次。 - 按内容失效:缓存记录生成时的「官方简介 + 话题 + 语言」指纹,这些变化才重新生成。
- 失败有冷却(默认 6 小时),不会反复重试失败项目。
- 可以关闭:配置里
"summarize": false,或指定模型"summaryModel": {"provider": "...", "model": "..."}。 - 模型服务不可用时,只隐藏简介,其余功能正常。
简介会消耗模型额度(每条约 100 token 量级),结果永久缓存。
跨榜飙升榜¶
飙升榜不看任何查询,在所有被追踪的仓库里按窗口内的涨星量排序,并给出「星/天」速度。它能捞到各榜单之外的黑马。
- 固定按每周一 00:00 更新,页签对它不起作用(界面上会置灰)。
- 区间 = [上一个更新边界, 本边界]。
- 只统计基线采样里已存在的仓库,新出现的仓库不计入速度。
安装与启用¶
官方桌面客户端(Electron)¶
dsh plugin --profile desktop add '<hotspot 所在目录的绝对路径>'
装完从系统托盘完全退出 DeepSeek Harness 再启动。
CLI Web 版¶
dsh plugin --profile web add '<hotspot 所在目录的绝对路径>'
路径要用绝对路径且指向含
package.json的那一层,别多套一层同名目录。
配置¶
配置文件位于 $DSH_HOME/hotspot/config.json。基本配置示例:
{
"schedule": {
"sample": "day",
"refreshMinutes": 0,
"weekdays": [1],
"monthDay": 1
},
"ranking": {
"platformStars": 100000,
"minRelevance": 50,
"relevanceWeight": 0.05
},
"classify": true,
"summarize": true,
"summaryModel": {}
}
schedule.sample:抓数据频率,支持day/week/month。ranking.platformStars:平台级项目阈值,超过该值的仓库会被规则预筛剔除。minRelevance:模型判定的最小相关性分数,低于该值的项目被剔除。classify:是否启用模型相关性判定。summarize:是否生成中文简介。summaryModel:指定生成简介的模型,不填则跟随当前对话的模型。
如果需要更精细的权限控制,可以配置 GitHub token:
- 环境变量:设置
GITHUB_TOKEN或GH_TOKEN,然后重启 DSH。 - 配置文件:在
$DSH_HOME/hotspot/config.json里写"token": "ghp_xxx"。
界面会显示 token 是否生效。v0.4.0 起,默认每天只抓 7 次请求,未认证额度绰绰有余,token 不是必需的。
适用场景与注意¶
适合需要快速发现 DSH 生态中活跃小工具的用户,特别是:
- 关注模型插件、Skill、MCP 服务的新进展
- 希望通过星数变化发现高增长项目
- 需要中文说明来理解项目用途
插件以当前 DSH 进程的权限运行。安装前建议检查源码与许可证,确保符合你的使用场景。
小结¶
hotspot 提供了一套完整的 GitHub 热榜解决方案:多周期榜单、可拖拽浮层、相关性筛选、中文简介、跨榜飙升榜。它把「看谁在涨、谁是新面孔、谁正在飙升」这件事变成一个独立的、可定制的面板,帮你从海量项目中快速定位有价值的工具。
- 插件目录:https://www.skillhub.cn/plugins/zhikai0915-netizen/hotspot
- GitHub:https://github.com/zhikai0915-netizen/hotspot