dsh-test-drive
Isolated install-and-smoke test drives for DeepSeek Harness plugins: installs a repo or npm package into a throwaway DSH_HOME profile, verifies the bundle patch layer and boot logs, records a structured pass/fail result matrix (JSON/Markdown) for scoring pipelines, and quarantines every temp directory it owns
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:PerryLink/dsh-test-drive说明文档
阅读完整 README ↗Configuration
All keys are optional (defaults shown); invalid values fail loudly at load.
| Key | Default | Description |
|---|---|---|
profileName | headless | Profile template initialized inside each throwaway DSH_HOME (base + headless bundles). |
dshBin | "" | Absolute dsh executable override; empty auto-detects dsh on PATH. |
headlessTask | "Reply with exactly: ok" | One-shot task for the boot-smoke stage; empty skips the stage. |
forwardEnv | [] | Environment VARIABLE NAMES (never values) forwarded into test-profile child processes. |
allowBuilds | true | Allowlist a blocked git prepare build in the test profile and retry the install once. |
installTimeoutMs | 600000 | dsh plugin add stage deadline. |
configTimeoutMs | 60000 | --dump-config stage deadline. |
smokeTimeoutMs | 300000 | Headless boot-smoke stage deadline. |
capabilityTimeoutMs | 300000 | Capability-assertion task deadline. |
capability.enabled | false | Run the capability-assertion stage (registered → invoked → observed). |
capability.kind | tool | What to assert: tool or command. |
capability.name | "" | Tool or command name (no leading /). |
capability.args | "" | Invocation text: tool arguments (JSON-ish) or command words. |
capability.expect | "" | Literal expected in the observed output (case-insensitive substring). |
uninstallTimeoutMs | 120000 | dsh plugin remove stage deadline. |
outputTailBytes | 8000 | Cap on the sanitized output tail recorded per stage. |
keepTempDirs | false | Keep temp dirs on failure for forensics (ownership is dropped; you clean up). |
maxBatchTargets | 20 | /testdrive batch cap. |
batchConcurrency | 1 | Batch concurrency (serial avoids pnpm-store contention). |