MORE WORK / DSH-PLUGIN HUB · 个人开源探索

DeepSeek Harness 插件发现站(dsh-plugin hub)

DeepSeek Harness 开源数日,GitHub topic「dsh-plugin」的仓库数量快速涨到 9,252(8.20 峰值快照)。发现通道却停在列表与 star 排序:只回答「有什么」,不回答「哪个才是合适的」。这个项目补上了缺失的一层——质量分层与可解释推荐。

个人主导 · AI 协作开发 · 数据来自公开 GitHub
线上产品 / DSH-PLUGIN HUB
DeepSeek Harness 插件发现站

输入一句话需求,即可获得可解释的插件推荐;数据来自每日更新的全量普查,站点与插件仓库均为公开。

9,2528.20 峰值 · topic 仓库数
92%8.19 普查 · 仓库不足 10 星
15.5%8.19 普查 · 仓库没有许可证

01 / 问题

生态爆发了,发现通道没跟上

DeepSeek Harness 开源数日,GitHub topic「dsh-plugin」的仓库数量快速上涨:8.15 晨 3,351,8.15 晚 3,804,8.16 达到 4,770,8.19 全量普查快照 7,948,三天净增 3,178;8.20 冲到峰值 9,252,此后在 7,000–9,000 之间波动,8.28 快照为 7,120。

但发现通道还是三样老东西:静态精选列表(约 580 条、靠人工 PR 更新)、站内市场(目录式浏览)、按 star 排序的搜索。它们全部只回答「有什么」,没有一个回答「哪个才是合适的」。

topic「dsh-plugin」仓库数(每日快照)
05,00010,0003,3518.15 晨3,8048.15 晚4,7708.167,9488.199,2528.209,0988.218,9738.238,6288.248,3348.258,3408.267,8998.277,1208.28

8.15 晨 3,351 → 8.20 峰值 9,252 → 8.28 快照 7,120;8.22 抓取不完整,未计入。

裂缝 01 · 入口分裂
两个 awesome 列表并存(8.4 与 8.13 各一个),topic 还自发裂出 dsh-plugins 变体(427 个仓库)。

发现入口本身是分散的,新用户不知道该看哪一份。

裂缝 02 · 榜单纯度
星标榜里混着 2021 年创建的 yao、GPT 生图导航站等只迁移了 tag 标签的项目,合计带入约 2.3 万星,对生态没有贡献。

按 star 排序会奖励只是贴了 topic 标签的老项目,而不是生态贡献。

裂缝 03 · 注意力错配
92% 仓库不足 10 星,而真空区里认真做工程的项目(轨迹治理、审批门控记忆、插件评测)只有 2–18 星。

认真做基建的项目被淹没在长尾里。

功能位拥挤与真空
拥挤功能位
余额卡12+
宠物12
视觉桥5+
真空功能位
新手引导0
插件冲突体检0
审批人侧 UX0

拥挤功能位重复造轮子,关键功能位没有人做。

02 / 判断

缺的不是更多列表,是「质量分层 + 可解释推荐」

用户的真实问题不是「找不到插件」,而是「不敢装」:安装插件等于在本机以自己的权限运行第三方代码,而 8.19 普查显示,15.5% 仓库没有许可证、4% 是 NOASSERTION。

推荐系统必须自带信任信号,同时说明「为什么推荐它」。纯 star 排序方案(包括已有的 dsh-find-plugin)没有这一层。

发现通道上缺的一层
现在的发现通道精选列表 · 站内市场 · star 排序只回答「有什么」
质量分层 · 本项目补上的层级可安装吗 · 被精选收录过吗 · 许可证干净吗 · 还在活跃吗把信任信号变成质量分层
可解释推荐为什么推荐它每次推荐都说明理由

中间一层是这个项目补上的:把信任信号变成推荐前的质量分层。

所以最终选择做「质量分层 + 可解释推荐」,而不是第 N 个列表或市场。

03 / 方案取舍

五个关键决策

下面五个决策决定了产品形态、检索方式、数据新鲜度、质量口径和排序公式。

01

插件形态 vs 独立网站

网站每次推荐都要调用模型接口、消耗个人额度,用户还要离开 DSH;插件形态下,推荐就是 Agent 自己那一轮思考,不额外消耗额度,还能直接给出 dsh plugin add 命令。所以插件作为主形态,网站保留为可访问的产品演示。

02

规则引擎 vs embedding

插件语料是开发者的功能描述,字面直白,关键词聚类 1 秒内就能完成可解释的分组;向量检索需要 1GB 以上的模型或接口费用,结果也不可解释。所以先用规则引擎,把 embedding 留作升级路径。

03

每日索引 + 实时合并 vs 纯实时

GitHub Search 限流 10–30 次/分,单查询上限 1000 条,纯实时必然撞上限。所以每天离线构建全量索引(包含开销最大的 dsh.bundle 探测与评分),查询时再叠加一次 gh 实时搜索兜底;没有 gh CLI 时自动降级到纯索引。

04

质量分(0–100)

精选收录 +30;声明 dsh.bundle +25;宽松许可证 +15(NOASSERTION 记 0 并标红、没有许可证扣 10);星标按对数折算最高 +20;7 天内活跃 +10。每个低质量信号转成风险徽章,而不是默默扣分。

05

排名公式与中文查询的坑

第一版把中文查询当成整串 token,整句匹配必然落空,推荐退化成全站高分榜。实测发现后改为 CJK 二元组切分 + 20 条同义别名映射(手机→移动、图片→视觉)。第一版的问题与修复对照完整保留在仓库里。

质量分构成(0–100)
+30精选收录+25dsh.bundle+15宽松许可证≤+20星标(对数折算)+107 天内活跃

对应决策 04:每一项都写进推荐结果,低质量信号以徽章显示。

04 / 证据

全量数据,不是抽样印象

三次递进的数据工作:top20 深析回答「头部是谁」,595 条精选列表去重地图回答「拥挤与真空」,3,804 仓库全量普查回答「真实结构与错配」。普查用「日期桶 + 星标区间」两个维度切片,绕过 API 单查询 1000 条的上限。

三次数据工作的范围递进
01top20 深析20头部是谁
02595 条精选列表去重地图595拥挤与真空
033,804 仓库全量普查3,804真实结构与错配

从头部深析扩大到全量普查,每一步回答不同的问题。

05 / 验证与结果

功能位命中实测与工程验证

功能位命中实测(2026-08-16,索引 4,770 仓库):六组自然语言查询,Top3 全部命中正确功能簇。

六组自然语言查询6 / 6
Top3 全中
读图modlens视觉 / 读图
终端界面dsh-TUI终端 / TUI / PTY
手机看进度dsh-mobile-gate移动 / 远程 / 局域网
余额用量dsh-usage-stats余额 / 用量 / 计费
桌面宠物whale-girl宠物 / 陪伴
审批批处理dsh-auto-approve安全 / 审批
01

每日索引 CI 上线

每天自动重新抓取、评分、生成索引,并提交回插件仓库(首日自动提交 chore: refresh plugin index (2026-08-16))。

02

精选列表 PR 已合并

向 awesome-dsh-plugin 提交 PR #1051,已经合并(维护者按列表新的 data/plugins yml 格式收录)。这个列表由社区维护,不是官方发布渠道;官方至今没有 registry,发现入口只有 topic 约定。

03

站点每日自动部署

GitHub Actions 每天抓取、评分、构建并部署到 Cloudflare Pages,线上数据每日更新(8.28 快照 7,120 个仓库)。配置过程排错三次 API token 权限:Cloudflare 权限列表里的 Pages 权限就叫「Pages」,不叫「Cloudflare Pages」,而且必须选择 Edit 级别。

04

质量问题的发现与修复

并行 AI 会话实测时通过会话轨迹定位「工具执行成功但返回 INVALID_TOOL_OUTPUT」:根因是输出 schema 把可空字段声明成普通 string,代码对缺失值返回 null,DSH 落库校验拒绝。修复为 DSH 官方的可空写法 oneOf: [string, null],同时修复质量分等于 0 时被误判为缺失的边界问题。

下一步路线图
01

embedding 语义检索

插件语料目前以开发者的功能描述为主,字面直白,规则匹配足够覆盖;等语料的口语化程度上升后,再启用向量检索。

02

推荐反馈回路

把用户「有用/没用」的信号回流进质量分,需要足够的真实查询量才有统计意义;目前先基于公开信号迭代。

03

与社区项目协作

等工具和站点稳定运行一段时间,再与 dsh-find-plugin 等社区项目协作,把质量分层做成生态公共能力。

每一项都先想清楚现在不做的原因,再决定什么时候启动。