market-verdict
Manifest validDSH 装前判定闸门 + 安装进度:装前做 tool/slot/service 冲突扫描与缓存成本估算,装中流式回放真实 pnpm 进度。功能插件,不做人工审核。
@local/market-verdict
DSH 市场层的判定闸门 + 安装进度。功能插件,不做人工审核。
它做什么
两件事,都是它能真做到的:
- 装前判定 —— 扫描 profile 里已装插件的 tool id 与 provided service 声明,找出能力级冲突; 顺带估算缓存成本(工具说明书段数)。
- 安装进度 —— 包装
pluginManager.installBundle,回放.plugin-manager/logs/<op>/pnpm.log的真实输出与进度。
它明确不做什么
| 不做 | 为什么 |
|---|---|
版本权威性判定(archive-authoritative / stale-disk 四态) | 打包桌面端从自己的 archive 提供 bundle,profiles/node_modules 可能是另一代;没有可信基准时任何版本结论都是噪音。宁可弃权,不报假冲突 |
| slot 冲突判定 | DSH 允许多个插件向同一 slot 注入不同 id;把 slot 名当冲突键在本机实测产出 5 条假阳性,全是正常注入 |
| 来源可信度 / 编辑推荐 / 安全评级 | 目录源的职责(@local/market-lens 已在做)。本插件没有人工审核能力,不假装有 |
| 写 patch 文件 | 依据 dsh-market#1043:插件开关把包内所有行写成 disabled: false 会覆盖 bundle 的 !!js 条件并导致安装回滚。治理插件自己成为故障源是荒谬的 |
接线位置
market-lens(雷达,只读)
│ installSpecFor(row) → spec
▼
market-verdict(判定 + 进度) ← 本插件
│ approve / warn / veto
▼
pluginManager.installBundle(官方安装引擎,dsh-plugin 也用它)
│
▼
.ui-market(资产仓,skin/pet/preset,独立泳道,不经本插件)
market-lens 与 dsh-plugin 两者都已 ctx.inject(['pluginManager']),
所以本插件包装的是同一个官方服务 —— 从任一入口发起的安装都会经过判定。
配置
cordis.patch.yml 里的 config:
| 键 | 默认 | 说明 |
|---|---|---|
mode | warn | off 只报告 / warn 报告并放行 / veto critical 时硬拦 |
costWarnSections | 8 | 工具+服务说明书段数超过此值才提示缓存成本 |
route | /api/market-verdict | host 侧 HTTP 端点,只接受回环 |
minPollMs | 150 | 进度轮询最小间隔,防 UI 打爆宿主 |
HTTP 端点(只接受 loopback + POST)
| op | 作用 |
|---|---|
active | 全部未终态安装任务(UI 刷新后可恢复队列) |
status + id | 单个任务快照 |
verdict + spec | 手动判定一个候选目标 |
模型工具
plugin_install_verdict { spec } —— 返回 decision / findings / cost。
UI
设置页新增一节「安装判定」(settings.section,order 61,排在 dsh-plugin 的 60 之后):
输入候选 spec 点判定,下方实时显示正在跑的安装进度条与 pnpm 原始输出。
能力边界(诚实声明)
- 静态扫描只认字面量:
defineTool({ name: 'x' })、.provide('x')。 拼接出来的名字(defineTool({ name: dynName }))不在视野内。 - 报告措辞因此是「声明于源码」,不是「运行期已注册」。
- 进度数值取自 pnpm
Progress:行解析(规则照抄 dsh-plugin,MIT);解析不到时按时间 单调兜底,封顶 90 —— 成功只能由installBundle真实返回才置 100。 - 跨包不 import dsh-plugin:它是独立 npm 包,未安装时会导致本插件崩溃。
验证
$node = 'D:\tools conection\node\node.exe'
& $node --check index.js
& $node --check lib/progress.js
& $node --check lib/collide.js
& $node --check client.js
期望:四个文件 exit 0。
真实数据自检(扫描本机 profile):
& $node (Join-Path $env:TEMP 'mv-collide-test2.mjs')
本机实测输出:scannedPackages: 106, tools: 3, provides: 1, collisions: 3,
3 条全部是真阳性(purge_status / purge_apply / purge_revert 被
Xsdsh-purge 与 Xsdsh-purge-next 同时声明)。
回滚
$env:ELECTRON_RUN_AS_NODE='1'
& 'D:\work tools\AI\DSH\DSH\DeepSeek Harness.exe' --expose-internals `
'D:\work tools\AI\DSH\DSH\resources\app.asar\dsh\node_modules\@deepseek-ai\dsh-desktop-host\lib\cli.js' `
plugin --profile desktop remove '@local/market-verdict'
或从 .plugin-manager\backups\verdict-<ts>\ 恢复 package.json / cordis.patch.yml。
Comments
Loading…
Similar plugins
by HRuiCcc
DSH 本机维护插件:预检 → 快照 → 原子写入 → 冲突检测回滚;含提示词管理与设置面板。基于 ZiPengWei/dsh-purge(MIT)。
★ 21
MIT
JavaScript
Nov 1, 2026
dsh plugin --profile web add ruic-dsh-purgeby bbaz123
Post-task confirmation decision guard for DeepSeek Harness — balance output quality with real user impact.
★ 0
Apache-2.0
JavaScript
Oct 22, 2026
dsh plugin --profile web add dsh-plugin-confirmation-resolutionby BiBoyang
DSH 插件评测工具:YAML 用例驱动真实 agent 回归评测 + baseline 对比 PASS/WARN/FAIL 门禁|Regression eval harness for DeepSeek Harness plugins
★ 14
↓ 54/wk
TypeScript
Oct 31, 2026
dsh plugin --profile web add dsh-eval-harnessby 618527
DeepSeek Harness 插件安装前兼容性预检守卫:检查 Node/engines、@deepseek-ai 核心包 peer 版本与 dsh 清单,支持隔离试启动与确认后修复安装,防止版本不兼容导致崩溃。
★ 0
MIT
JavaScript
Aug 30, 2026
dsh plugin --profile web add dsh-install-guardby Fish-under-sea
自用 DSH(DeepSeek Harness)插件聚合包:一个 pnpm 工作区装齐 8 个插件(5 个自建 + 3 个上游补充版:AgentTeams / 思考强度 / 免费模型),子插件源码在 packages/ 下
★ 5
↓ 479/wk
MIT
JavaScript
Oct 21, 2026
dsh plugin --profile web add @fish-under-sea/dsh-fishby webkubor
给 DSH 模型页补上官方适配器缺的那半:网关可达性探测、模型目录拉取、DeepSeek 余额常驻。零运行时依赖,不改动 DSH 安装。
★ 3
MIT
JavaScript
Nov 2, 2026
dsh plugin --profile web add dsh-llm-hub