dsh-plugin-mesh
插件生态图:把带 dsh 系列 GitHub 标签的仓库按功能铺成可交互的生态网络,含 24 个功能扇区与细枝、单扇区放大、双击聚焦、生态榜单;自带 Python 采集后端与只读查询 API,独立站点(非 DSH 插件)。
What it is
插件生态图:把带 dsh 系列 GitHub 标签的仓库按功能铺成可交互的生态网络,含 24 个功能扇区与细枝、单扇区放大、双击聚焦、生态榜单;自带 Python 采集后端与只读查询 API,独立站点(非 DSH 插件)。
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add dsh-plugin-mesh@0.5.12
DSH versions accepted
Undeclared
Author and traction
WTStarMark · ★ 25 · Updated 2026-11-09
About this plugin
插件生态图
插件生态图是一个网页:把 GitHub 上带 dsh 系列标签的仓库,按功能画成一张可交互的关系图。圆心固定是官方仓库 deepseek-ai/deepseek-harness,往外分成 24 个功能扇区。数据按小时采集,一轮通常几十分钟;没有令牌或网络慢时会拉长。
在线地址有两个节点:
- 悉尼节点(AWS 主节点,国内用户推荐):
- 洛杉矶节点(104 镜像):
国内访问优先用悉尼节点;直连不畅时用洛杉矶镜像。两边的页面、API、卡片数据一致,各自独立采集。
> 预览图由站点实时渲染(/preview.svg?theme=dark|light),读 data/mesh-core.json,随采集更新。地址里的 size / sample 可省:不带参数时默认 1400px / 6000 球;字号、图例、球半径都会随画布等比缩放,所以任何尺寸出的都是同一张图的不同分辨率。
页面本身没有明暗开关。 顶栏只有「清爽 / 粉黛」两套配色键,` 固定浅色。src/palettes.js` 里的深色变体仍然保留,但只服务于上面这张预览图和两个离线副本——预览图按读者的系统明暗偏好选色,页面上切不到深色。
本项目是独立站点:静态前端 + Python 采集后端 + 同端口的只读查询 API。不依赖 DSH 运行时,也不是 DSH 插件。
能干什么
| 能力 | 说明 |
|---|---|
| 生态全景 | 24 个功能扇区按星标从内到外排布;坐标由可播种随机数生成,同一 seed 可复现 |
| 单扇区放大 | 点扇区,它铺满整圆,圆内按细枝(更细的功能分组)重新分区;Esc 或左栏「返回全景」退出 |
| 双击聚焦 | 双击一个仓库,以它为中心重建扇形图;双击官方仓库直接回全景 |
| 生态榜单 | 顶栏奖杯弹窗两个榜,各最多 50 行:周更新热榜(本周真发过 release 的项目)与周 star 热榜 |
| 搜索与筛选 | 搜仓库名 / 作者 / 描述 / topics,README 正文走后端检索;筛选只淡化、不改变位置 |
| 三类连线 | 同作者(完整关系)、主题共现(琥珀虚线)、生态共鸣(紫罗兰实线,基座 → 插件) |
| 评测联动 | 在评测站(review.lingshulab.com)有公开测评的仓库外圈套一层紫色光环,右栏可跳该仓库的插件测评页;数据由服务端只读聚合、每 10 分钟同步,失败沿用旧数据、7 天后自动隐藏(默认关闭,配 REVIEWS_SITE_URL 才开) |
| 管理后台 | 与站点同进程同端口,八个标签页;改完两份黑名单或共鸣清单点「应用变更」离线重建,采集参数下一轮自动生效 |
| 数据出口 | 只读查询 API + 每个仓库一张自包含 SVG 卡片 |
| 名单两档粒度 | 作者级(整个账号不可信)与单仓库级(那人有真项目,只剔这一个);列表里能直接看到"加了他会少几个仓库" |
| 白名单别名组 | 同义标签(如 dsh-theme)显式登记为某个规范标签的别名,匹配时归并,抓取口径不变 |
赞赏支持
业余时间做的项目,服务器和采集一直在自己掏钱跑。如果它对你有用,可以扫码请作者喝杯咖啡:
赞赏完全自愿,不解锁任何功能 —— 图、数据、API 保持原样开放。
本地跑起来
只需要 Node ≥ 22(见 package.json 的 engines)和 Python 3,没有第三方依赖:
git clone https://github.com/WTStarMark/dsh-plugin-mesh && cd dsh-plugin-mesh python3 backend/collect.py --from-raw # 用仓库自带的样本离线算一份前端数据(不联网、不耗配额) npm run serve # 打开 http://127.0.0.1:8788/
想让局域网里的设备访问用 npm run serve:lan;换端口用 PORT=9000 npm run serve。
真实采集需要 GitHub 令牌(只读公开数据,见下一节):
cp .env.example .env # 填入 GITHUB_TOKEN=... python3 backend/collect.py --once # 跑一轮真实采集 python3 backend/collect.py --loop --interval 3600 # 常驻,按 interval 轮询(一轮耗时可能超过它) python3 backend/collect.py --from-store # 改完规则后离线重算(不联网、不耗配额)
运行数据(data/mesh.json、data/mesh-core.*、data/cache/ 等)体积大,且每轮都变,所以不入库。它们由部署机上的采集器生成。干净克隆先跑一次 --from-raw,就有一份可看可测的数据。
插件图 / 生态图
默认页面是插件图:npm 已确证声明 dsh.bundle 的插件 + 仓库 manifest 扫描确认 + README 明确提到 dsh.bundle/cordis.patch.yml 的未发 npm 插件 + 官方主仓库和策展基座;扫描可用 npm run scan:manifests 增量运行,当前只覆盖根 package.json,monorepo 子目录待补。市场只收 npm 包。点顶栏「插件图 / 生态图」或加 ?view=ecosystem 可切到完整生态图。
插件图与严格市场索引由离线构建生成;市场可再用 V2 验证器过滤:
node tools/build-plugin-graph.mjs --apply-market node tools/verify-market.mjs --limit 20 # 可选:对市场包跑 V2 验证 node tools/build-plugin-graph.mjs --verification dist/market/verification.json --allow-partial --apply-market node tools/classify-eval.mjs --sample 120 --out docs/classification-labels.csv # 分类标注表 node tools/scan-manifests.mjs --concurrency 16 --token-file .tmp/github-token # 扫描仓库 manifest(需要 GitHub token) # 产出 data/plugins/*(插件图预计算产物) # 产出 dist/market/index.strict.json;--apply-market 同时替换本地 index.json(备份 index.ecosystem.json) # 市场索引的「含界面」标签只按发布包内容判定,不认 README / 声明: node tools/market-ui-scan.mjs # 扫描 npm 包文件清单 + package.json,产出 data/cache/market-ui-evidence.json(按包名@版本增量) node tools/market-sync.mjs # 把最新分类与「含界面」标签原地同步进 dist/market/index.json(+ .gz/.br/strict)
「含界面」的判定口径:发布包里真的有 HTML/CSS/TSX 等前端资源,或 dsh.client 声明的 exports["./client"] 入口文件真的存在于发布包;扫描失败一律不打标签。细节与审计数据见 [docs/market-ui-evidence.md](docs/market-ui-evidence.md)。
插件判定标准、验证器与安全边界见 [docs/plugin-verification.md](docs/plugin-verification.md)。
两点注意:
Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| treg | superdesigndev | 7.7K | 0.30.0 | 2026-11-10 |
| dsh-im | xmanrui | 3.4K | 5.10.0 | 2026-11-07 |
| DeepSeekBot | BotHarness | 773 | 0.0.0 | 2026-11-10 |
| sandbase-harness | sandbaseai | 642 | 0.0.1 | 2026-11-08 |
| MisakaNet | Ikalus1988 | 558 | 3.9.0 | 2026-11-10 |