dongsheng123132/dsh-benchmark
DeepSeek Harness 的确定性修订锁定基准与回归证据
项目介绍Project Overview
dsh-benchmark 是面向 DeepSeek Harness 的确定性基准测试插件,基于 Node.js 22+。它通过显式清单冻结目标版本、文件指纹、固定 argv 与 JSONL 输入,收集纳秒级耗时、退出码、信号、超时与输出哈希等原始测量,使用版本化评分生成内容寻址报告,并与基线进行回归比对,配套 inspect、run、compare 三个 DSH 工具以及独立 MCP 服务。当前版本只评估命令与 JSONL 运行器,不涉及 LLM 主观质量。注意:隔离机制仅防止 shell 展开与环境泄露,不可作为恶意代码的操作系统沙箱。
dsh-benchmark is a deterministic benchmarking plugin for DeepSeek Harness, built on Node.js 22+. It freezes target revisions, file-derived fingerprints, fixed argv, and JSONL inputs in an explicit manifest, then records raw observations: nanosecond duration, exit codes, signals, timeout and output-cap flags, output hashes, and expectation checks. A versioned scorer produces a content-addressed report for baseline regression comparison. The bundle ships three DSH tools—inspect, run, compare—plus a standalone proof-only MCP server. The first release evaluates commands and JSONL runners, not subjective LLM quality. Caveat: workspace isolation prevents shell expansion and environment leakage but is not an OS sandbox for untrusted code.
请帮我了解并安装插件:【dsh-benchmark】【https://github.com/dongsheng123132/dsh-benchmark】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile benchmark add github:dongsheng123132/dsh-benchmark
把 dongsheng123132/dsh-benchmark 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-benchmark
Reproducible, deterministic benchmark evidence for DeepSeek Harness tools and plugins.
This project deliberately does not duplicate dsh-batch-regression, which runs one shell command repeatedly for median/distribution statistics. dsh-benchmark defines an evidence protocol around fixed cases: explicit target and suite revisions, file-derived target fingerprints, bounded argv-only subprocesses, raw measurements, versioned deterministic scoring, content-addressed reports, and baseline regression comparison.
The first release evaluates commands and JSONL runners, not subjective LLM quality.
Version 0.2.0 is a formal Codex plugin and standalone proof-only MCP server, and uses the namespace export shape required by the stock DSH Web Loader. A real Cordis boot regression test guards that loader contract.
Adjacent benchmark skills often grade Skill or LLM quality. This project stays at the deterministic execution-evidence layer: fixed target revisions and cases, raw bounded measurements without raw business output, versioned scoring, content-addressed reports, and baseline regression decisions.
Evidence model
An explicit manifest freezes:
- suite name and case revision;
- target name, claimed revision, and files used to recompute its fingerprint;
- executable, constrained working directory, warmup/repeat counts, timeout, output cap, and concurrency cap;
- fixed argv and optional JSONL stdin for every case;
- expected exit code, stdout/stderr SHA-256, and optional JSONL line count;
- scorer version, minimum pass rate, output-stability rule, and maximum median-latency regression.
Each run records warmup and measured observations separately: duration in nanoseconds, exit code, signal, timeout/output-limit state, output byte counts and hashes, JSONL validity, and every expectation check. Raw argv, stdin, stdout, stderr, inherited environment, timestamps, and hostnames are excluded from reports.
Safety model
shell: false; no command strings or shell interpolation.nodemaps to the current absoluteprocess.execPath. Other executables must be explicit workspace-relative regular files; PATH lookup is not used.cwd, target files, manifests, reports, and artifact directories cannot escapeworkspaceRootthrough traversal or symlinks.- Child processes receive a minimal deterministic environment instead of inherited secrets.
- Timeout, captured-output bytes, and concurrency are mandatory bounded manifest values.
- Secret-bearing manifest fields such as tokens, cookies, authorization, credentials, and custom environment secrets are rejected.
- Reports contain hashes and measurements, not command inputs or output bodies.
- Artifact writes are restricted to explicit
artifactDir, content addressed, exclusive, and verified by read-back SHA-256.
Run only trusted benchmark executables. The isolation above prevents accidental shell expansion and environment leakage; it is not an OS sandbox for malicious code.
Install in DSH
dsh plugin --profile benchmark add github:dongsheng123132/dsh-benchmark
The bundle registers:
dsh_benchmark_inspect— inspect protocol metadata and fingerprints without execution.dsh_benchmark_run— run fixed cases and write a content-addressed report.dsh_benchmark_compare— compare current and baseline reports with manifest thresholds.
MCP
.mcp.json declares a standalone stdio MCP server:
benchmark_manifest_lintvalidates an inline manifest and returns only identifiers, bounded policies and hashes of runner/case inputs.benchmark_report_addressrecomputes the exact report SHA-256 and returns a bounded summary while rejecting raw-output and secret-bearing fields.
MCP accepts bounded inline JSON, never executes a command, and never reads or writes the filesystem. Actual benchmark execution remains available only through the workspace-bounded DSH tool and CLI surfaces.
CLI
dsh-benchmark inspect --root /workspace --manifest benchmark.json
dsh-benchmark run \
--root /workspace \
--manifest benchmark.json \
--artifact-dir benchmark-artifacts
dsh-benchmark compare \
--root /workspace \
--manifest benchmark.json \
--baseline benchmark-artifacts/baseline.json \
--current benchmark-artifacts/current.json \
--artifact-dir benchmark-comparisons
Exit code 0 means pass. 2 means a report/comparison was written but its scorer failed. 1 means a manifest or operational error.
Manifest example
examples/benchmark.example.json benchmarks a fixed JSONL runner. Run it from this repository:
node bin/dsh-benchmark.mjs run \
--root . \
--manifest examples/benchmark.example.json \
--artifact-dir artifacts
Arguments and JSONL values can contain ordinary test data, but the report stores only their SHA-256 fingerprints. Do not place real secrets in a benchmark manifest.
Develop
npm test
npm run check
npm run smoke:plugin
npm run smoke:mcp
python C:/Users/ZhuanZ/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py .
Requires Node.js 22+. No runtime dependency or install lifecycle script is used beyond the optional DSH tools SDK peer.
License
MIT
nexu-io/open-design
ruvnet/ruflo
amruthpillai/reactive-resume
esengine/DeepSeek-Reasonix
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/distilly
titanwings/colleague-skill