DeepSHPlugins
dsh-plugin-judge 项目预览
GITHUB / COMMUNITY PROJECT

dsh-plugin-judge

安全与运维JavaScriptMIT

插件价值裁判:装前审核(源码静态扫描 + LLM 裁判)与装后审计已装插件,模型切换时弹窗提醒复核;判断插件对当前模型是增强还是压制。

0 Starspengxuding 更新时间 2026-08-15
访问 GitHub 仓库
dsh-plugin-judge 项目预览

项目介绍

中文

插件价值裁判:装前审核(源码静态扫描 + LLM 裁判)与装后审计已装插件,模型切换时弹窗提醒复核;判断插件对当前模型是增强还是压制。

English

Plugin value auditor: pre-install review (source scan + LLM judge) and post-install audit of installed bundles, with model-switch re-audit reminders.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
pengxuding
仓库
pengxuding/dsh-plugin-judge
GitHub Stars
0
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-15
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

37/ 100
维护活跃
81
文档与实用信息
100
生态关注度
0
安装便捷信号
75
项目声明信号
100

README 含完整安装与使用说明。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add dsh-plugin-judge

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-plugin-judge · Plugin Value Auditor for DeepSeek Harness

Judge whether a DeepSeek Harness plugin is worth using: pre-install review,
post-install audit, and re-audit reminders when the model changes.

中文文档

The problem this plugin solves

Plugins fall into two natures:

  • Capability plugins give the model new abilities (new tools, skills, MCP

servers, services, commands) — like giving the model "an extra hand".

  • Constraint plugins impose rules and guardrails on the model (injecting

system prompt sections, personas, AGENTS.md rules, intercepting agent/pre-step / tools/pre-execute, restrict / guard on tools, or complete: true wholesale prompt replacement) — like putting the model "in a cage".

Constraint plugins carry a hidden cost: the model will follow the rules faithfully (compliance looks great), but it performs *worse* on the task you actually care about — rules crowd the context and suppress the model's own judgment, putting a low ceiling over a capable model. Worse, as models get upgraded, many "patch rules for the old model" turn from patches into ceilings, and the plugin becomes obsolete or even harmful.

So a plugin's value is not a property of the plugin alone — it is a binary relation of "plugin × current model". That is exactly what this plugin evaluates.

Features

FeatureWhenHow
Pre-install reviewBefore installing/plugin-audit <github:owner/repo or npm:pkg> command, the judge_plugin tool, or the settings-page input. Fetches the plugin source → static scan + LLM judge → a "worth installing?" verdict
Post-install auditAlready installedEnumerates installed bundles from the profile → scans and classifies each (capability / constraint / cosmetic / hybrid) → constraint-risk score → settings-page report panel
Model-switch remindersWhen the model changesWatches the default model → flags plugins whose verdict depended on the old model → overlay popup reminder to re-audit

How it judges (two layers combined)

  1. Rule heuristics (free, deterministic): scans the plugin source and its

injected content for signals, weights them into a 0–100 constraint-risk score, and classifies the plugin as capability / constraint / cosmetic / hybrid.

  1. LLM judge (fine-grained, on demand): hands the scan result, the injected

content summary, and the current model's identity to a model and asks whether these rules *help or suppress this specific model*, returning a verdict with reasons.

Usage

# Install (requires an existing web profile)
dsh plugin --profile web add dsh-plugin-judge

# Or install from source
dsh plugin --profile web add <path-to-this-repo>

After installing and restarting the harness:

  • Type /plugin-audit github:some/repo in chat for a pre-install review;
  • Or let the model call the judge_plugin tool directly;
  • The settings panel gains a Plugin Judge page: scan reports for every

installed plugin, a pre-install review input, and audit history;

  • After a model switch, if any plugins need re-auditing, a floating reminder

pops up on the page.

Design

Data flow

Installed plugins: profile manifest (~/.dsh/profiles/<profile>/package.json → dsh.profile.bundles)
                   + each package's package.json / lib source (read locally via node:fs)
Candidate plugins: package.json + entry source fetched from npm registry / jsDelivr / GitHub raw (Node fetch)
Heuristic scan:   capability signals (+) vs constraint signals (−), weighted → class + risk score
LLM judge:        llm.stream (generative verdict, carrying the current model identity) → verdict + reasons
Model watch:      agentDefaultModel.currentSelection() polling (fallback: agent/request waterfall observation)
Persistence:      ~/.dsh/plugin-judge/audits.json (audit history + model fingerprint)
Bridge:           Host ctx.connection.rpc.handle('/plugin-judge', …) ← Client rpc.call polling
Reminders:        Host produces pending-reminders → Client polls → shell.overlay popup
Reports:          Client settings.section "Plugin Judge" page + judge_plugin tool card

Signal table (heuristics)

Capability signals: tools.register / defineTool / skills / MCP / webServer.register / registerFetchProvider / commands.register / provide( …

Constraint signals: systemPrompt.section / ctx.systemPrompt / persona / writing AGENTS.md / agent/pre-step / tools/pre-execute / tools/execute waterfall listeners / restrict( / guard( / complete: true wholesale replacement / strong-directive density (must, never, always, MUST, NEVER, 必须、不得、禁止) / fixed-template instructions (strictly follow, exact format, 严格按照、按以下格式) …

Layout

judgePlugin/
├── package.json          # dsh.bundle.patch + dsh.client.inject + exports (Node >= 18)
├── cordis.patch.yml      # insert: plugin-judge
├── lib/
│   └── index.js          # Host half: inventory / source fetching / heuristic scan / LLM judge /
│                         # model watch & reminders / tool & command / connection RPC bridge / persistence
└── client/
    └── client.js         # Client half (__ModuleLoader__ format, no build step):
                          # settings.section report panel + shell.overlay model-switch reminder popup

Disclaimer

Verdicts are advisory opinions produced by heuristics plus a model judge — not a security audit. Installing any plugin runs third-party code on your machine with your own permissions; read the source before you install.

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目