前言¶
DeepSeek Harness(DSH)的核心理念是“一切皆插件”。随着生态扩展,开发者需要在一个庞大的仓库集合中寻找适合的工具。dsh-weekly-hot 是为此设计的 DSH Web UI 插件,它不依赖后端服务器,直接在浏览器端连接 GitHub API,生成「飙升榜」与「精选主题榜」。由 XCNXNXNX 维护,遵循 BSD-3-Clause 许可证。
功能¶
入口与弹窗¶
插件在 DSH Web UI 右缘提供一个悬浮按钮(默认显示“🔥 本周热门插件”),点击即可打开面板。该入口可在面板设置或主设置中关闭。
面板支持定时弹窗功能。用户可选择关闭、每天、每周、每两周或自定义分钟数作为弹出间隔。手动打开面板会重置计时。
榜单逻辑¶
插件提供两种榜单生成方式:
- 飙升榜:利用 GitHub Search API 的
topic:dsh-plugin全量检索仓库。增长数通过localStorage记录的基线差值计算(首次访问无基线时会按近期活跃度估算并标注“估算”)。算法对新仓库和近 30 天推送活跃度进行加权。 - 精选主题榜:解析
awesome-dsh-plugin、Oh-My-DSH等社区精选列表,并依据主题标签(如 #UI、#工具、#工作流)进行分桶展示。
卡片与安装¶
榜单以卡片形式展示插件信息,包括名称、GitHub 链接、README 首句描述、Topics 标签、Star 数及增长数。
卡片提供“一键安装”功能。点击后,浏览器向宿主侧的 /api/dsh-weekly-hot/install 发起 POST 请求,宿主侧接收后执行 dsh plugin --profile web add github:<owner>/<repo>。安装失败时会展示错误详情。
稳定性与缓存¶
针对 GitHub API 限流,插件内置了完善的降级处理。当触发限流时,不再显示英文错误,而是倒计时并在配额恢复时自动重试,若存在缓存则直接展示。
缓存策略分层:
* 搜索结果缓存 1 小时
* 精选列表缓存 6 小时
* README 与包校验缓存 24 小时
此外,插件会对 package.json 中的 dsh 字段进行校验,并在卡片上标记验证状态,同时排除 DeepSeek 官方核心仓库。
安装¶
使用官方 CLI 安装:
dsh plugin --profile web add dsh-weekly-hot
安装完成后,重启 dsh web 生效。
配置¶
插件随分发附带了 config.json,支持通过文件或面板设置修改。
榜单配置:设置飙升榜的时间窗口(7/30/90 天)、最小 Star 数及榜单长度;设置精选主题榜的主题列表及每主题数量。
数据源:配置是否优先使用社区精选列表及 GitHub Token(Token 优先存储于浏览器 localStorage,面板设置中可填)。
UI:设置自动刷新间隔、默认榜单及时间窗口。
示例配置:
{
"榜单配置": {
"飙升榜": { "时间窗口": [7, 30, 90], "最小Star数": 0, "榜单长度": 50 },
"精选主题榜": { "主题列表": ["UI", "工具", "记忆", "工作流", "视觉", "多模态"], "每主题数量": 10 }
},
"数据源": {
"优先使用社区精选": true,
"GitHub Token": ""
},
"UI": { "自动刷新间隔": 3600, "默认榜单": "飙升榜", "默认时间窗口": 7 }
}
开发¶
如需自行构建,请执行:
npm install # 或 pnpm install
npm run build # esbuild 双产物(lib/index.js 宿主半体 + lib/client.js 浏览器半体)+ tsc 类型
注意事项¶
- 零依赖:该插件不提供服务器,零运行时依赖(仅 React 为 peer 依赖),所有数据获取均由浏览器直连 GitHub。
- Token 管理:GitHub Token 仅存储在浏览器的 localStorage 中,不会上传到任何服务器。
- 权限范围:安装操作需宿主侧支持
/api/dsh-weekly-hot/install接口,且仅回环可达。