PerryLink/dsh-research-report
dsh-research-report
Verifiable research-report engine for DeepSeek Harness: content-addressed evidence ledger (claim-snapshot binding, tamper-evident) plus versioned sealed reports with per-claim verification verdicts and a manifest-sealed directory.
Install
npx @deepseek-ai/dsh plugin --profile demo add "github:YOUR_ORG/dsh-research-report#<sha>"Restart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-research-report)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from PerryLink/dsh-research-report, cleaned of badges and images.
📑 dsh-research-report
A verifiable research-report engine for DeepSeek Harness.
Every claim is bound to immutable evidence snapshots, verified byte-for-byte, and sealed into a versioned report whose manifest hash anyone can recompute.
English · 简体中文 · Español · Português · हिन्दी
Compatibility
- DeepSeek Harness
0.1.1-rc.2(peers pinned to0.1.1-rc.2). - Node
^22.19.0 || >=24.0.0, ESM only ("type": "module"). - Peer dependencies:
@deepseek-ai/cordis ^4.0.1,@deepseek-ai/schemastery ^3.18.0, and@deepseek-ai/dsh-session,@deepseek-ai/dsh-tools,@deepseek-ai/dsh-system-prompt,@deepseek-ai/dsh-web,@deepseek-ai/dsh-jobsat0.1.1-rc.2. - Optional siblings (never required):
ctx.webproviders for URL capture/gather,ctx.jobsfor background assembly,ctx.dataQuality(dsh-data-quality) for dataset citation cross-checks.
What you get
- Evidence ledger — a content-addressed snapshot store (
<ledgerRoot>/objects/<sha256>+ JSONL journals). The same content is stored exactly once; snapshots are immutable; every read recomputes the hash, so tampering or deletion is detected instead of trusted. - Claim ↔ evidence binding — claims register with the evidence ids they rely on; the ledger keeps the binding and every verification verdict (latest wins).
- Byte-level verification — every number and quoted span in a claim must be locatable verbatim in the bound snapshots. No bound evidence, or no checkable literal, marks the claim
unverified; bound evidence that cannot confirm or deny the claimed literals marks itinsufficient; a label whose snapshot value differs (the claimed value absent) marks itdisproven; tampered/missing snapshots mark itcontradicted. No semantics, no embeddings — auditable byte checks. - Optional numeric bridge — when a claim cites a structured workspace dataset (CSV/JSON) and
dsh-data-qualityis mounted, citations are cross-checked with tolerances through its frozenverifyCitationscontract; a dataset mismatch disproves the claim. - DOI evidence (zero network) — DOI origins are validated deterministically (
10.xxxx/xxxxstructure, a prefix whitelist, and a DOI character set); invalid DOIs fail loud. Optional journal/year metadata is accepted, andrequireJournalMetadatagates academic DOI evidence only when enabled. - Versioned sealed reports —
<reportRoot>/<slug(topic)>/<YYYYMMDD-HHmmss>/report.md+manifest.json+verification.jsonl+disconfirmation.jsonl; the seal hash is the SHA-256 of the manifest, which itself carries the report hash, every evidence hash, and the hash of each audit journal. - Pre-delivery re-audit & seal interception — before sealing, every bound claim is re-verified offline and journaled to
verification.jsonl; verdict drift, tampered/missing bound evidence, or a journal serialization failure blocks the seal (fail loud, no tunable). - Falsification ledger — every contradicted or disproven claim is recorded in
disconfirmation.jsonl(claim + evidence references + reason) and listed in the report's证伪记录appendix. - Negative knowledge — a disproven claim is remembered by its content hash (
disproofs.jsonl); the same text re-reported against unchanged evidence is forced back todisprovenand only re-verifies once the evidence changes. - Read-only verifier loop — after sealing, a deterministic `verifySealedRepor
…
