- Главная
- Плагины
- Улучшения UI
- dsh-github-radar
dsh-github-radar
goodboys155/dsh-github-radar
Right-sidebar GitHub panel with four rising-repository lists — created within 2 days, 7 days, 30 days, and 20k+ stars still pushed — where the first three are ranked by star velocity (stars per day) rather than total stars, so repositories that gained traction fast surface above older ones with more stars. Each row shows the repository name, its own description, language, the stars-per-day rate and up to two topics, and links to the repository. A keyword search box queries the GitHub Search API directly, debounced and IME-aware so a Chinese or Japanese composition costs one request instead of one per keystroke. Reads the public GitHub Search API anonymously: no token, no login, no account, nothing else contacted. Lists cache for 30 minutes and search results for 5; outbound requests go direct first and fall back to a listening local proxy port only if direct fails.
Установка
dsh plugin --profile web add github:goodboys155/dsh-github-radarREADME
GitHub Radar · DeepSeek Harness 插件
中文 | English
右侧栏面板,打开就显示 GitHub 上真正在起量的项目:四个榜单按星标增速排序,外加关键词搜索。点一行直达仓库。

不需要 GitHub 账号
本插件从不要求你登录。它以匿名身份读取 GitHub 公开的 Search API —— 不需要 token、不需要 OAuth、不读任何账号或凭据,也不会读取、保存或上传任何与你 GitHub 身份有关的东西。
它只访问 api.github.com,别的一概不碰,没有遥测。
没有代理、网络本身能直连 GitHub 时,开箱即用。连不上时会发生什么,见网络行为。
四个榜单
| 榜单 | 查询条件 | 排序方式 |
|---|---|---|
| 今日 | 2 天内新建,≥3 星 | 每天涨星数 |
| 本周 | 7 天内新建,≥20 星 | 每天涨星数 |
| 本月 | 30 天内新建,≥100 星 | 每天涨星数 |
| 常青 | ≥2 万星,30 天内有推送 | 星标总数 |
为什么按「星/天」而不是总星数。 三天涨 2000 星的项目,比半年涨 3000 星的更值得看,但后者在"按总星数排序"里永远压在前面。所以前三个榜先拉一批候选,再在本地按 星数 ÷ 建仓天数 重排;每行在语言后面直接显示这个速率,例如 +460/天。「常青」榜衡量的是体量,总星数才是对的指标,保持不变。
搜索。 输入关键词即直查 GitHub,匹配规则就是 GitHub 自己的:名字、描述、README、话题全都参与,所以 rust 和 中文 都能搜。结果按星数排序。空格分隔的多个词由 GitHub 做 AND 组合,这就是 awesome list 只有 2.3 万条结果、而不是 200 万条的原因。
两个实际体验上的细节:
- 防抖 500 毫秒,不会每敲一个字母就发一次请求。
- 识别输入法组词:中日韩输入法还在组词(拼音没上屏)时不发请求,等
compositionend才发。所以打「中文」是 1 次请求,不是每个拼音字母 1 次。
安装
dsh plugin --profile web add github:goodboys155/dsh-github-radar
装完重启 DSH。右侧栏会出现「雷达」标签页。
必须重启:DSH 只在启动时扫描客户端插件,改磁盘文件不会热重载浏览器那一半。
网络行为
出站请求优先直连,用 Node 自带的全局 fetch(undici)—— 它维持连接池、复用 TLS 会话,比每次调用现搓 https.request 快一个数量级。
直连失败时,才会去探测下面这些本机代理端口,并且只试真正在监听的那些:
127.0.0.1:10808 (v2rayN 默认)
127.0.0.1:10809
127.0.0.1:7890 (Clash 默认)
127.0.0.1:7897
127.0.0.1:1080
每个端口探测只花几毫秒。直连失败且没有代理在听时,大约 6 秒就报错 —— 而不是拿五个端口各等 15 秒。没有代理的机器是正常且受支持的配置,只是它会快速报失败,而不是一直挂着。
第一个响应成功的代理会被记住,本次进程内一直用它。
数据源与缓存
GitHub Search REST API 的 repositories 端点,匿名调用。
匿名搜索的限额是每分钟 10 次,插件的用量远低于这个数:
- 四个榜单:内存 + 磁盘缓存 30 分钟(
$DSH_HOME/github-radar/trending-<period>.json) - 某个搜索关键词:内存缓存 5 分钟
刷新按钮会强制重新拉取。GitHub 不可达时,最后一次成功的榜单会带「离线缓存」标记继续渲染,而不是变成一个空面板。
架构
index.js host —— GET /api/github-radar/trending?period=day|week|month|all
GET /api/github-radar/search?q=<keywords>
client.js client —— 右侧栏标签页:四档切换、搜索框、列表
cordis.patch.yml bundle patch
两个路由都只监听回环地址,且只接受 GET。把请求放在浏览器里发会撞 CORS,还会把代理配置暴露给页面 —— 所以出站请求放在宿主端。
权限
声明的能力只有网络:
- 除
$DSH_HOME/github-radar/(缓存目录)外不写文件 - 不起 shell、不起子进程、不读环境变量
- 不碰凭据、不碰 token、不碰 GitHub 账号
环境要求
- DeepSeek Harness 0.2.0 及以后
- Windows / macOS / Linux(宿主端只用 Node 内置模块)
已知限制
- 每个榜单 30 条,搜索 30 条,没有"加载更多"。
- 描述按 GitHub 原样显示,以英文为主,不做翻译。
- 「今日」榜要求仓库 2 天内既新建又已经涨星,冷清的时候会比较薄。
- 搜索结果按星数排序,所以一个精确匹配但星数很少的仓库,可能排在热门的近似匹配下面 —— 这是 GitHub 的排序,不是过滤。
- 星数是某一时刻的快照,最长可能已缓存 30 分钟。
- 反复点刷新可能用完每分钟 10 次的匿名额度,GitHub 会返回 403 直到窗口重置;正常情况下缓存会挡住这种用法。
许可证
MIT —— 见 LICENSE。
Похожие плагины
dsh-web (dsh-task-board)
zhu1090093659/dsh-web
dsh-web (dsh-web-all)
zhu1090093659/dsh-web
dsh-TUI
ccch1mneyyy/dsh-tui
dsh-web-ui (dsh-task-board)
zhu1090093659/dsh-web-ui