PerryLink/dsh-test-drive6

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

包名
dsh-test-drive
版本
0.3.12
许可证
Apache-2.0
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:PerryLink/dsh-test-drive

Configuration

All keys are optional (defaults shown); invalid values fail loudly at load.

KeyDefaultDescription
profileNameheadlessProfile 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.
allowBuildstrueAllowlist a blocked git prepare build in the test profile and retry the install once.
installTimeoutMs600000dsh plugin add stage deadline.
configTimeoutMs60000--dump-config stage deadline.
smokeTimeoutMs300000Headless boot-smoke stage deadline.
capabilityTimeoutMs300000Capability-assertion task deadline.
capability.enabledfalseRun the capability-assertion stage (registered → invoked → observed).
capability.kindtoolWhat 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).
uninstallTimeoutMs120000dsh plugin remove stage deadline.
outputTailBytes8000Cap on the sanitized output tail recorded per stage.
keepTempDirsfalseKeep temp dirs on failure for forensics (ownership is dropped; you clean up).
maxBatchTargets20/testdrive batch cap.
batchConcurrency1Batch concurrency (serial avoids pnpm-store contention).