前言¶
DeepSeek Harness(DSH)采用「一切皆插件」的架构:能力扩展依赖社区发布的插件包。官方 Plugins 页可以添加已知包名,但若你想从 GitHub 主题 dsh-plugin 里系统性地浏览、比对版本与兼容性,仍需要额外索引与校验逻辑。手工搜仓库、对照 package.json 与 peer 规则,成本高,也容易装到同名 fork 或不符合当前运行时的包。
下面介绍的 DSH Plugin Scout(dsh-plugin-scout)由维护者 fegnze 发布,分类为联网工具。它在 DSH 应用内提供 Scout 标签页:从 GitHub 主题检索插件、按用途分组、计算信任分并套用官方 peer 兼容规则,安装路径与官方 Add plugin 一致(经 inspect 与 installBundle,默认安装后处于禁用状态)。另提供可单独订阅的公开目录 JSON,不必安装 Scout 也能在官方 Discover 里浏览过滤后的列表。
这是什么¶
DSH Plugin Scout 是运行在 DSH 0.2.x(>=0.2.0-rc.2 <0.3.0)上的发现与校验插件;README 写明在桌面端 0.2.0-rc.2 上做过测试。当前 npm 包版本为 0.1.11,许可证 MIT。应用内界面目前仅中文;插件在官方插件页的标题与描述通过 locale/en.json、locale/zh.json 本地化。
数据源仅限 GitHub GraphQL(search(topic:dsh-plugin))、npm registry、以及官方 pluginManager API,不使用第三方应用商店或聚合站。社区目录站点与 DeepSeek / 幻方无官方从属关系,本文不把 Scout 描述为「官方应用商店」。
核心功能¶
主题检索与索引¶
Scout 针对 GitHub 主题 dsh-plugin 拉取仓库元数据、根目录 package.json 与 cordis.patch.yml 文本(不执行 patch)。检索显式包含 fork(fork:true),fork 会保留来源标注并走同一套检查。README 记载:主题下仓库数量很大,且 GitHub 单次搜索最多约 1000 条结果,因此实现按时间窗口自适应切分、增量按 pushed 更新,并支持流式刷新(边爬边合并、定期发布索引 revision,UI 随 status.rev 重载列表)。
信任分与兼容性检查¶
插件对候选包做结构化检查并汇总为信任分(trust score)。已公开规则包括:根 package.json 须声明 dsh.bundle / dsh.client(否则不视为插件);peer 须符合官方规则(仅 @deepseek-ai/dsh 与 @deepseek-ai/dsh-*,用 semver.satisfies 含预发布版本判断;workspace:* 表示当前运行版本)。在 App 内 Scout 直接调用 dsh-app-boot.evaluatePluginCompatibility。
npm 侧读取 registry.npmjs.org/<name>/latest,以实际会被安装的 manifest 为准(peers、install hooks、repository、provenance 等)。
一键安装(走官方安装器)¶
详情抽屉中的 Install 与官方 Add plugin 相同:先 inspect,再 installBundle(spec, {enabled: false, requestId, registry})。装好后默认 disabled,需再点 Enable(setBundleEnabled)。存在 install hooks 或 peer 未覆盖当前运行时时,可能需要二次确认安装;若官方安装器拦截依赖构建脚本,界面会列出 pendingBuilds,可通过 Allow and reinstall 带 approvedBuilds 重试。Cancel install 使用同一 requestId 调用 cancelInstall;失败时官方安装器会恢复 package.json 与 lockfile。卸载与版本豁免仍在官方 Plugins 页操作;Scout 不调用 removeBundle。
公开 Discover 索引(可选)¶
除 Scout 页外,维护者发布 format-1 目录 index.json,可在 Plugins → Discover → Index sources 中添加,无需安装 Scout 即可浏览:
https://fegnze.github.io/dsh-plugin-scout/index.json
GitHub Actions 每日 UTC 03:23 及生成器变更时重建,且仅在官方 DSH validator 接受文档后才部署;生成失败则保留上一版。目录面向目标运行时 DSH 0.2.1-rc.2 的去重 npm 包集合,并排除归档、高风险、版本漂移、陈旧或不完整条目;provenance 存在不等于密码学级安全保证。
安装与启用¶
推荐通过预构建 npm 包安装(带 provenance,无 install scripts,无需构建审批)。在官方 Plugins 页选择 Add plugin,填入下表其一:
| Spec | 说明 |
|---|---|
dsh-plugin-scout |
推荐 |
预构建 dsh-plugin-scout-<version>.tgz 的绝对路径 |
若有 release 提供;当前 tag 流程仅写 release notes,不一定附带 tarball |
命令行安装示例(将 <profile> 换成你的 profile 名):
dsh plugin --profile <profile> add dsh-plugin-scout
安装后在 Plugins 页启用插件,再打开 Plugins → Scout(中英文界面标签均为 Scout,不增加侧边栏项;官方 Discover 标签行为不变)。
不要使用 github:fegnze/dsh-plugin-scout 安装:git 安装拉的是源码且无 lib/,本仓库故意不提供 prepare 脚本。
从 0.1.5 及更早版本升级后,建议在 Scout 内执行一次 Rebuild full index,以纳入旧搜索范围未覆盖的 fork。
典型用法¶
- 安装并启用
dsh-plugin-scout,进入 Plugins → Scout。 - 等待后台加载索引(约 30 MB,激活不阻塞;UI 先见
loaded: false并轮询)。可按分类浏览、查看信任分与 peer 兼容结论。 - 在条目详情中点击 Install,经官方安装器完成安装后,回到 Plugins 页单独 Enable。
- 若只希望用过滤后的市场列表、不用 Scout UI:在 Discover → Index sources 添加上文的
index.jsonURL(添加来源仍由你显式操作,Scout 不会擅自改已有 index 配置)。
本地生成市场目录(维护者/贡献者场景,需只读 GitHub token):
GH_TOKEN=<read-only-token> node scripts/generate-market.mjs
可通过 MARKET_OUTPUT、SCOUT_CACHE、DSH_TARGET 覆盖输出路径、爬取缓存与目标运行时。
适用场景与注意¶
适合谁: 需要在 DSH 0.2.x 进程内浏览 dsh-plugin 主题生态、对比信任分与官方 peer 规则、并用与官方一致的安装器试装插件的开发者。
权限与安全: 插件以当前 DSH 进程权限运行;安装前仍应自行阅读源码与许可证。信任分与 npm provenance 是启发式与发布策略信号,不能替代人工审计。
网络与 API: 刷新索引会访问 GitHub 与 npm;公开目录的构建策略会过滤高风险条目,但安装的最终权威仍是官方 installer 与你在 Plugins 页的决策。
环境: package.json 要求 Node >=22,engines.dsh 为 >=0.2.0-rc.2 <0.3.0。
结尾¶
DSH Plugin Scout 把「从 GitHub 主题发现插件 → 校验 → 官方安装器落地」串成一条可复现路径,并可选提供独立 Discover 索引源。插件目录页与源码仓库如下:
- 目录页:https://www.skillhub.cn/plugins/fegnze/dsh-plugin-scout
- GitHub:https://github.com/fegnze/dsh-plugin-scout