DeepSeek Harness 插件

jiang4wqy/dsh-dejaview

Star 数 ★ 0 分类 插件市场与管理 收录于 2026-08-19

在动手写 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 · 项目照妖镜 —— 在线体验 ↗

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-plugin GitHub 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 --noEmit
  • pnpm run test —— node --test tests/*.test.ts
  • pnpm 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

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。