在动手写 dsh 插件前,检索 awesome-dsh-plugin 注册表与 dsh-plugin GitHub topic,判断是否已有相似插件,并返回带证据的排序结果。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:jiang4wqy/dsh-dejaview
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
一个 DeepSeek Harness 插件,
向 agent 注册一个面向模型的工具 check_plugin_novelty。在动手写一个 dsh 插件
之前,它替你问出 DejaView 的那句核心问题
——「这,是不是已经有人做过了?」——只不过把范围收窄到 dsh 生态。
给它一个插件想法,它会检索三个公开来源——
awesome-dsh-plugin
注册表、dsh-plugin GitHub topic、以及
npm 上打了 dsh-plugin 关键词的包——按 IDF 加权的词面相似度(稀有、有区分度的词
比生态高频词更值钱)对已有插件排序,为每个候选返回打分依据,外加 DejaView 的六维
裁决指引。插件只负责取证与打分,最终裁决交给 harness 自带的那台 DeepSeek
模型——因此它不需要额外的 API key,也不自带任何 LLM provider。
与 DejaView 的关系
DejaView 是一个网页应用,用「证据优先」的流水线回答「这项目是不是已经有人造过」,
并提供三副人格报告——镀金·华尔街 / 毒舌·马戏团 / 彩虹·夸夸群——共守一条准则:
刻薄可以主观,事实不能主观;锐评项目,不攻击开发者本人。 dsh-dejaview 把这一个
问题、以及六维比对 + 三人格的框架,移植成一个作用于插件生态的 dsh 工具。取证与打分
在这里用 TypeScript 重新实现;裁决框架则作为指引交给模型。
这个工具
check_plugin_novelty —— 以下至少给一个:
| 参数 | 类型 | 含义 |
|---|---|---|
idea |
string |
你想做的 dsh 插件的一句话描述。 |
name |
string |
拟定的插件名(如果有)。 |
keywords |
string[] |
关键能力词。 |
返回一个 JSON:归一化后的 query、verdict_hint
(likely-exists | adjacent | looks-novel | inconclusive)、
best_similarity、检索覆盖的 confidence、各来源 counts、排序后的 candidates
(含 name、url、source、category、similarity、bucket 及产生该分数的
signals)、uncovered_terms(最相近的候选没覆盖到的想法词 —— 差异化的起点)、
degradations、六维 verdict_guidance 和 disclaimer。
注册表通过 awesome-dsh-plugin 的 README 一次请求读取(对全部已收录插件全量 召回),git tree 扫描作为兜底;响应在进程内缓存几分钟,同一会话多次查重不会重复拉取。
真实示例(对「把回合状态那句替换成轮换文案」这个想法的实时检索结果):
verdict_hint = likely-exists best_similarity = 1.0
100% [near-duplicate/registry] 01Virex/dsh-status-rotator — Replaces the "Deep diving..." turn-status label ...
47% [adjacent/registry] alingalingling/ui-status-label — Customize the "deep diving" thinking status label ...
当 harness 的 systemPrompt 服务存在时,插件还会贡献一行简短指引
(tool:check_plugin_novelty),让 agent 知道在造插件前先跑这个查重。它通过可选
inject 注入,因此没有该服务的 headless profile 也能正常加载。
范围与诚实
- 证据只覆盖 awesome-dsh-plugin 注册表与
dsh-pluginGitHub topic,且是查询当下 的快照。没查到只代表「本次检索范围内没有」,不等于「全世界没人做过」。 - 若检索降级(限流、网络问题),工具会返回已拿到的部分 +
degradations说明,并 降低置信度,而不是让整个调用失败。 - 网络访问仅限 GitHub 公开 REST API 与 raw 文件主机;不发送任何凭据,也不读取本地文件。
运行要求
DeepSeek Harness(engines.dsh >= 0.1.0-rc.6)在加载时提供
@deepseek-ai/dsh-tools 与 @deepseek-ai/cordis。它们刻意没有列为可安装依赖:
其独立 npm 依赖图无法干净安装,因此本包用本地类型 shim(src/dsh-shims.d.ts)构建,
并把这些包标记为 external。仓库内置已构建的 lib/,直接从 Git 安装即可加载,无需构建。
安装到 profile
git clone https://github.com/jiang4wqy/dsh-dejaview.git
cd dsh-dejaview
pnpm install # 只装开发工具;harness 包在运行时提供
pnpm run check # 类型检查 + 测试 + 构建
dsh plugin --profile dejaview add .
dsh --profile dejaview --dump-config | grep dsh-dejaview
dsh --profile dejaview
卸载:
dsh plugin --profile dejaview remove dsh-dejaview
开发
src/index.ts # 插件入口:在 ctx.tools 上注册 check_plugin_novelty
src/fingerprint.ts # 想法 → 归一化的 token/短语指纹
src/sources.ts # 取候选:awesome-dsh 注册表 + dsh-plugin topic
src/score.ts # 可解释的词面相似度 + 分档
src/rubric.ts # DejaView 六维 + 三语气裁决指引
src/novelty.ts # 编排(除注入的 fetcher 外为纯函数)
src/dsh-shims.d.ts # harness 提供的包的本地类型 shim
tests/ # node:test 单测(原生 TS 运行,无需额外运行时)
scripts/smoke.ts # 针对公开 GitHub 的手动实跑检查
pnpm run typecheck——tsc --noEmitpnpm run test——node --test tests/*.test.tspnpm run build——tsdown→lib/node scripts/smoke.ts—— 实时端到端检查
被发现
给仓库加上 dsh-plugin topic(元数据,不是文件):
gh api --method PUT repos/jiang4wqy/dsh-dejaview/topics \
-H 'Accept: application/vnd.github+json' \
-f 'names[]=dsh-plugin'
许可证
MIT © jiang4wqy
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-plugin-manager★ 8296
设置 → 插件 分区里的插件管理 Tab:从 npm/git 安装带进度、下次启动生效的启停开关、安装冲突对账可撤销、失败一键转交修复会话。
dsh-market/dsh-market★ 5354
在 DeepSeek Harness 设置页内浏览、搜索并安装社区插件,支持分类筛选、一键更新与停用,以及主题切换与配置备份。
kingOfSoySauce/dsh-skin-market★ 181
原生皮肤市场与生命周期管理器,发现社区皮肤、展示预览与兼容状态,并提供已验证的一键安装或手动安装入口。
bradeGithub/DSH-Plugins-Marketplace★ 169
面向 GitHub dsh-plugin 话题的插件与技能市场:设置页内逛自动收录的全量索引(CI 每 2 小时刷新),一键安装带类型识别、安装脚本与宿主依赖遮蔽安全检查、环境变量密钥管理,并附 STANDARD.md 识别层规范。
awesome-dsh-plugin/dsh-find-plugin★ 166
会话内直接找插件:按关键词/分类搜索本精选 registry,返回描述与可直接执行的安装命令。
Sanqi-normal/dsh-webui-market-plugin★ 104
dsh Web GUI 内的社区插件市场:浏览 awesome-dsh-plugin.com 目录,从 设置 → 插件 → 插件市场 安装/卸载插件到 profile。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。