863683348/dsh-trend-radar
Ecosystem trend dashboard (行情面板) for dsh plugins: snapshot dsh-plugin topic + awesome list into local history, then report weekly trends — new plugins, star gainers, category heat, coverage — plus keyword radar
Listed
0
Dev
Bundle verified
What it does
Ecosystem trend dashboard (行情面板): snapshot the dsh-plugin topic and the awesome list into local history, then report weekly trends — new plugins, star gainers, category heat, awesome coverage — plus a keyword radar for new plugins and star surges.
Best for
- Plugin ecosystem maintainers tracking weekly additions, star growth, category activity, and awesome-list coverage.
- Users monitoring keywords for newly discovered plugins or configured star surges.
Not ideal for
- Users who only need a current plugin directory and do not need historical trend analysis.
- Workflows requiring unattended background collection; snapshots are collected when tools run, and GitHub access is subject to API rate limits.
README
dsh-trend-radar — 生态行情面板 (Ecosystem trend dashboard)
别人是目录,你是仪表盘。 每小时对 dsh-plugin topic 与 awesome-dsh-plugin 收录列表做一次快照(本地 JSONL 历史),然后从时间维度分析趋势:周报、新插件雷达、star 增速榜、类别热度、收录覆盖率 —— 并带一个 experimental 的 Web 面板(增长曲线、类别热度、Top 榜单)直接叠在会话输入框上方。
为什么需要它
- 现有市场/目录都是”当前时刻”的静态视图;趋势是空白——没有人在看”这周新增了什么、谁在涨、哪个类别在热”。
- 快照只占本地磁盘(每条约几十 KB JSONL),分析全部本地完成。
工具
| 工具 | 作用 |
|---|---|
trend_snapshot |
立即采集一次快照(GitHub topic:dsh-plugin 搜索 + awesome 收录树),追加到本地历史;窗口期内自动跳过(force: true 强制) |
trend_report |
分析历史 → 周报:新增插件、star 增速榜、类别热度、awesome 覆盖率;支持 days 窗口与 keywords 过滤 |
trend_watch |
关键词订阅雷达:add/remove/list/check——新品命中或 star 突增(≥surgeStars)即报 |
安装
dsh plugin --profile <profile> add dsh-trend-radar
配置
| 键 | 默认 | 说明 |
|---|---|---|
dataDir |
.dsh/trends |
快照与订阅的存储目录(相对宿主 fs cwd) |
staleHours |
1 |
快照新鲜度窗口(小时) |
surgeStars |
20 |
雷达的 star 突增阈值 |
githubTokenEnv |
`` | 可选:GitHub token 的环境变量名(匿名 API 限流 60 次/小时,够用;设 token 更稳) |
sectionOrder |
5 |
提示词段落顺序 |
Web 面板(experimental)
装在有 Web UI 的 profile 上时,插件把最近一次 trend_report / trend_snapshot 的仪表盘数据(增长曲线、类别热度、新增插件榜、star 增速榜)通过 session projection 推给浏览器,渲染成输入框上方的只读面板。让 Agent 跑一次 trend_snapshot 或 trend_report 面板即刷新;每次新 turn 自动清空,避免展示过期数据。
数据流
GitHub search (topic:dsh-plugin, top 100)
+ awesome-dsh-plugin git tree (data/plugins/*.yml)
↓ collectSnapshot()
.data dsh/trends/snapshots-YYYY-MM-DD.jsonl (append-only)
↓ computeReport() / deltaBetween()
trend_report (周报) · trend_watch (雷达) · trend_snapshot (增量)
设计
-
纯逻辑分离:
lib/trends.js(增量/周报/雷达过滤/渲染)、lib/storage.js(JSONL + watch.json)、lib/github.js(采集 + 解析分离)——全部零 DSH/Cordis 依赖,可单测。 - 安全:只读公开 API,写本地数据目录;无 secrets、无注入。
-
Web 面板:
lib/client.js走 dsh-plugin-focus 同款 experimental client 模式(dsh.clientmanifest + session projection),待运行实例验证。
测试
node test/trends.test.mjs
License
MIT
FAQ
-
How often should I snapshot? The
trend_snapshottool auto-skips inside thestaleHourswindow (default 1h). There is no background timer; collection happens when a tool runs and the history is stale. -
Rate limits? Anonymous GitHub search is 10 req/min / 60 req/h — plenty for hourly snapshots. Set
githubTokenEnv(e.g.GH_T) to a token for 5000 req/h. -
Where is the data?
dataDir(default.dsh/trends): append-onlysnapshots-YYYY-MM-DD.jsonlpluswatch.json. Delete files to reset history. - The Web UI dashboard? On the roadmap — same experimental client-panel path as dsh-plugin-focus.
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:863683348/dsh-trend-radar in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.
Compatibility follows the bundle and profile status shown above. If a profile is not detected, keep the plugin disabled there and check the repository documentation before enabling it in production.
The GitHub link and activity metadata are the source of truth for releases and maintenance. Revisit this page after a new release to confirm the catalog has observed the latest version.