DSH | dsh-plugin-reducer (external CLI) | Find the minimal plugin set that reproduces a failure #3686
Replies: 1 comment
|
Distribution update (2026-08-21): v0.3.1 is now available as a GitHub prerelease and on npm's next channel. Install: npm install --global dsh-plugin-reducer@next The npm package was published from the tagged public commit through GitHub OIDC trusted publishing and exposes an npm SLSA provenance attestation. The release workflow verifies tag/package-version parity, runs 40/40 tests, and checks the packed surface before publishing; main CI remains green on Windows, macOS, and Linux across Node 22.19 and 24. The project remains intentionally an external companion CLI and v0.3.1 remains a prerelease. npm next is the recommended channel; the stable-release gate is still three independent, privacy-reviewed real-profile reports, currently 0/3. I would especially value maintainer feedback on whether a profile-inspection/reporting seam belongs upstream, without moving the reducer into the plugin tree it may need to diagnose. 中文摘要:v0.3.1 已通过 GitHub OIDC 可信发布到 npm next,并带公开 provenance;40/40 测试和六环境 CI 全绿。它仍是外部诊断 CLI 和 GitHub prerelease,稳定版继续等待 3 份独立、隐私审查后的真实 profile 报告(当前 0/3)。 |
Uh oh!
There was an error while loading. Please reload this page.
Project URL: https://github.com/ArmyWas/dsh-plugin-reducer
Introduction
dsh-plugin-reduceris an external diagnostic CLI for DeepSeek Harness. Itanswers one narrow question: which installed profile bundles are actually
required to reproduce this failure?
The difficult case is an interaction: A starts alone, B starts alone, but A+B
breaks the profile. Disabling one plugin at a time can miss that. A diagnostic
plugin inside Harness can also disappear when the plugin tree itself cannot
load, so the reducer deliberately runs outside Harness.
It creates a fresh disposable shadow
DSH_HOMEfor every probe, reuses theprofile's already-installed packages, tests subsets and complements with delta
debugging, and returns a 1-minimal failure-inducing set. It never installs
packages or rewrites the source profile. Optional JSON reports scrub common
secret forms and local absolute paths.
Real Harness test
I tested the packaged CLI against the stable
@deepseek-ai/dsh@0.1.0-rc.7contract. Three bundleswere installed through the official profile flow: A and B registered the same
global tool, while C was a no-op. A and B each passed alone; A+B failed.
The reducer found
{A, B}in six configurations, verified that removing eithermember stopped the failure, and confirmed that the source profile fingerprint
was unchanged.
The current v0.3 package also exposes a versioned JSON envelope and published
JSON Schemas for CLI/library consumers. CI covers Windows, macOS, and Linux on
Node 22.19 and 24; a separate weekly canary initializes the official Harness
nextWeb profile and reads it through the reducer.DSH integration
$DSH_HOME/profiles/<name>/package.jsonprofile model.dsh.profile.bundlesanddependencies.dshexecutable for config or Web-startup probes.node_moduleswithout package installation.load.
Install the pinned, prebuilt v0.3 release:
Scope
This is deliberately not another startup guard, doctor, plugin manager, or
session repro exporter. Those tools recover, inspect, manage, or capture context;
this tool minimizes the active plugin set after a failure is reproducible.
The algorithm guarantees 1-minimality, not a globally smallest set. The shadow
home is configuration isolation, not a security sandbox; installed plugins run
with the user's normal permissions.
Maintainer feedback requested
dependencies ∩ dsh.profile.bundlesthe intended stable definition ofout-of-tree bundles?
dsh plugin reduce, or first bereferenced by troubleshooting guidance while usage evidence accumulates?
The repository includes bilingual documentation, the refreshed ecosystem
search, real runtime evidence, versioned report and machine-output schemas,
safety boundaries, and an upstream RFC. It is an early preview and is not
affiliated with or endorsed by DeepSeek.
中文摘要
这是一个非官方的 Harness 外置诊断工具,用于自动找出能稳定复现故障的 1-最小
树外 bundle 集合。它能处理“A 单独正常、B 单独正常、A+B 才崩”的交互问题。
每次探针使用全新影子
DSH_HOME,不安装依赖、不修改真实 profile,并可生成经过常见密钥与本机路径脱敏的 JSON 报告。
稳定 rc.7 的真实测试中,工具用 6 个组合找出
{A, B},验证两者单独均通过,且真实 profile 前后指纹一致。v0.3 已提供版本化 JSON 信封与 Schema,并通过六环境
CI;每周探针还会读取官方
nextprofile。希望官方维护者反馈树外 bundle 的稳定识别方式、机器可读诊断接口,以及该能力更适合保持外置还是未来进入
dsh plugin reduce。All reactions