
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
帮你在 DSH 生态里选对插件。
说需求 → 找候选 → 多维比较 → 出结论。下载量只是证据,判断才算数。
定位对比:
dsh-find-plugin负责「找到」(搜 GitHub 仓库,按 star 排);dsh-pick负责「挑对」(算去噪指标,给首选 / 备选 / 不推荐)。 一个find_dsh_plugin,一个pick_plugin。
npm 官网和各类 stat 站能看数字,但看数字回答不了「我该装哪个」。
更麻烦的是,npm 下载量是噪声极大的指标:版本一发布,CI、镜像、npm 客户端缓存刷新会把当天数字推高一个数量级。按原始下载量排出来的「第一」,很可能只是「发版本最勤的那个」。
所以 dsh-pick 的核心不是下载量,而是去噪后的指标:
| 指标 | 含义 |
|---|---|
| 日常基线 | 扣掉发布日与次日后的每日中位数,最接近真实使用量 |
| 近 7 日环比 | 在涨还是在凉 |
| 版本节奏 | 平均几天发一个版本,维护者的投入度 |
| 最近更新 | 是不是已经弃坑 |
| 健康度 | 以上四项加权,基线 40% + 增速 25% + 新鲜度 20% + 节奏 15% |
效果示例:dshmarket 周下载 160,042,日常基线只有 19,721 —— 相差 8 倍。
dsh plugin --profile web add dsh-pick
装完重启 dsh web,在右侧栏的引导页点「选插件」,就是完整的选插件面板。
设置 → dsh-pick 是精简页:版本 / 更新 / 卸载、怎么打开面板、数据口径。
面板顶部一行:插件名、当前版本号、更新按钮,最右侧是卸载按钮——更新和卸载都交给 DSH 自己的插件管理器,完成后重启 DSH 生效。
和对话联动(这是插件版比独立网页好用的地方):
+AI:候选卡片、「候选」「结论」「我的监控」的标题上都有。点一下,把这块的需求和关键数字整理成一段话发到当前对话,AI 在对话里结合你的场景分析。只发结论和数字,不发原始数据;输入框里有你没发出的文字时不会覆盖。
在对话里直接问:插件给 AI 注册了 4 个工具,不开面板也行,直接问「我想装个数据库插件,哪个靠谱?」,AI 会自己查目录、比较。
| 工具 | 作用 |
|---|---|
pick_search | 按需求找候选 |
pick_stats | 查几个插件的详细数据(目录里没有去噪指标的实时查 npm) |
pick_compare | 2~6 个插件逐项对比,标出每项最好的 |
pick_rank | 全部或某一类的排行 |
每个工具的结果都带口径说明,并要求 AI 只引用工具给的数字,不自己推算。
安装:候选卡片上点「安装 → 确认安装」,交给 DSH 的插件管理器装;已装的显示「✓ 已安装」。只能装目录里有的插件(带 dsh-plugin 关键字的 npm 包)。
装之前先看能不能装:卡片上会提醒——
装不了的不给「安装」按钮,AI 工具的结果里也带着同样的提醒。
数据每天自动更新:GitHub Actions 每天重建一次目录,推到本仓库的 catalog 分支。插件启动时、之后每 6 小时检查一次,有新的就下载到 ~/.dsh/dsh-pick/(先走 jsDelivr,再走 raw.githubusercontent.com)。取不到就用包里自带的那份,不影响使用;设置页会写明当前用的是哪份。
npm i -g dsh-pick # 或 npx dsh-pick
dsh-pick build --deep 332 # 抓目录 + 算去噪指标
dsh-pick serve --port 8891 # 起本地服务,打开面板
装好后浏览器开 http://127.0.0.1:8891/。
| 命令 | 作用 |
|---|---|
build [--deep N] [--pages N] | 抓目录并算去噪指标 |
build --deep-only | 只补算缺失的去噪指标(不用重抓目录,省 5 分钟) |
search "<需求>" | 按需求描述找候选 |
rank [--metric ...] [--cat ...] | 排行榜,指标支持 weekly / baseline / growth / score |
stats <pkg> [pkg...] | 精确数据,目录没有就实时查 npm |
serve [--port N] | 本地预览面板 |
示例:
dsh-pick search "我想装个数据库"
dsh-pick search "任务完成时给我发微信通知"
dsh-pick rank --metric baseline --cat 记忆与上下文 --limit 20
dsh-pick/
├── package.json
├── bin/dsh-pick.js CLI 入口
├── lib/
│ ├── engine.js 数据引擎:抓目录、算指标、查询(一个引擎,多个入口)
│ ├── remote.js 每日更新的目录:检查、下载、校验、换上
│ ├── classify.js 13 类 + 其他,关键词加权分类
│ ├── metrics.js 去噪指标:基线 / 增速 / 节奏 / 新鲜度 / 健康度
│ ├── words.js 需求 → 搜索词(同义词 + 中文二元切分),CLI 与面板共用
│ └── normalize.js (在 engine.js 内)排名与链接字段
├── data/catalog.json 随包自带的目录(兜底;每日更新的那份在 ~/.dsh/dsh-pick/)
├── scripts/
│ ├── release.mjs 发版脚本(npm run release)
│ └── catalog-meta.mjs 每日目录发布前的校验
├── test/ npm test(Node 自带的 node:test,不装任何依赖)
├── .github/workflows/catalog.yml 每天重建目录、推到 catalog 分支
├── plugin/
│ ├── index.js DSH 宿主端:挂 /api-dsh-pick/* 路由(面板、更新、卸载、安装)
│ ├── tools.js 给对话里的 AI 用的 4 个工具(pick_search / stats / compare / rank)
│ ├── client.js 右侧栏页签(iframe 复用 web/panel.html,转发「+AI」到对话)+ 设置页精简版
│ └── cordis.patch.yml 插进 DSH
└── web/
├── panel.html 选插件面板(独立调试用,也是插件内嵌的同一份)
└── panel.js 面板逻辑
面板只有一份代码,两种宿主都认:独立 dsh-pick serve 走根路径,插件内嵌走 /api-dsh-pick 前缀(panel.html 顶部的小加载器自动判断)。
registry.npmjs.org(元数据、版本发布历史)+ api.npmjs.org/downloads(下载量)dsh-plugin 关键字的 2,250 个包(search 接口深分页上限约 2,250)dsh.bundle、客户端平台、声明的 DSH 版本要求已实现
build / build --deep-only,带 3 轮补抓对付限流)pick_search / pick_stats / pick_compare / pick_rank(口径随结果附上,禁止 AI 自己推算数字)npm test)与发版脚本(npm run release)待做
pick_trend(走势)/ pick_export(导出结论)plugin-analyst(意图路由 + 更完整的口径说明)printToPDF)npm run release -- patch -m "改了什么" # 0.3.1 → 0.3.2;也可以写 minor / major / 具体版本号
npm run release -- patch -m "改了什么" --dry-run # 演练:只检查、只跑测试,什么都不改
在哪个目录运行都行。脚本按顺序做:
npm test),不过就停npm publish(可能要在浏览器里确认)顺序不能反:先 GitHub 再 npm,这样 npm 上每个版本都能在 git 里找到对应提交。
package.json 里的 dsh.bundle 声明不能删,否则 dsh plugin add 会直接拒绝安装:
"dsh": {
"bundle": { "patch": "./plugin/cordis.patch.yml" },
"client": { "platform": "web" }
}
MIT
FAQs
帮你在 DSH 生态里选对插件:说需求 → 找候选 → 多维比较 → 出结论。下载量是证据,AI 是推理。
We found that dsh-pick demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.