Back to directory

dsh-research-report

Curated pickMaintenance: Active

perrylink/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.

View on GitHubHomepage
$ dsh plugin --profile demo add dsh-research-report

43

stars

0

forks

TypeScript

Language

Apache-2.0

License

2026-08-19

Created

2026-09-02

Last push

Apache-2.0 DeepSeek Harness plugin that turns research reports into tamper-evident, citation-verified deliverables: a content-addressed evidence ledger, byte-level claim verification, and versioned sealed reports with a standalone offline verifier CLI.

DSH integration

Native runtime

Author-claimed

Safety audit

Unaudited

Last verified

2026-09-03

License

Apache-2.0

01What can it help you accomplish?

  • Produce a verifiable research report where every claim is bound to immutable, content-addressed evidence snapshots

    A versioned, sealed report.md plus manifest.json, verification.jsonl and disconfirmation.jsonl whose manifest SHA-256 anyone can recompute

    Researchers, analysts and agent builders on DeepSeek Harness who need auditable, citation-verified deliverables

  • Re-audit or verify any sealed report offline without mounting the plugin

    A JSON envelope or a SARIF 2.1.0 document from the standalone `dsh-research-verify` CLI with recomputed seal and audit hashes

    Reviewer pipelines and CI jobs that must check report integrity deterministically — zero network, zero model

02How to install into DeepSeek Harness

Prerequisites

  • DeepSeek Harness `0.1.2-alpha.5` (peers pinned to `0.1.2-alpha.5`)
  • Node.js `^22.19.0 || >=24.0.0`, ESM-only runtime

Installation steps

  1. 01

    Install through the npm channel: `dsh plugin --profile demo add dsh-research-report`

    $ dsh plugin --profile demo add dsh-research-report

  2. 02

    Or the 1024 store channel: `npm i -g dsh1024` once, then `dsh1024 plugin --profile web add dsh-research-report`

    $ npm i -g dsh1024

  3. 03

    Both channels install the bundle row into the profile `dsh.profile.bundles` stack; restart the profile to take effect

Verify the integration

  • Confirm the row mounts: `dsh --profile demo --dump-config | grep dsh-research-report`

Rollback

  • Uninstall with `dsh plugin --profile demo remove dsh-research-report`; every contribution goes through `ctx.effect()`/`register()` so uninstall and hot reload stay clean

03DSH integration and capability boundaries

DSH integrationNative runtime

Native DSH runtime plugin — installed through the dsh CLI into the profile `dsh.profile.bundles` stack and activated on restart

  • Evidence ledger

    evidence snapshots (origin URL, optional inline content, title)a content-addressed snapshot store (`<ledgerRoot>/objects/<sha256>` + JSONL journals); reads recompute the hash

  • Byte-level claim verification

    research-report claims with bound evidence referencesper-claim verdicts: unverified / insufficient / disproven / contradicted (no semantics, no embeddings — auditable byte checks)

  • Versioned sealed reports

    assembled report (topic, sections, claims, evidenceRefs)`report.md` + `manifest.json` + `verification.jsonl` + `disconfirmation.jsonl`; seal hash = SHA-256 of the manifest

  • Falsification ledger

    contradicted or disproven claims`disconfirmation.jsonl` (claim + evidence refs + reason) and a `证伪记录` appendix; disproven text remembered by content hash

  • Standalone verifier CLI (dsh-research-verify)

    a sealed report directory (`--report <dir>`) with optional `--seal` / `--ledger` / `--format`recomputed seal hash + per-claim re-checks as JSON or SARIF 2.1.0; exits non-zero when any check fails

  • evidence_add tool

    `evidence_add({ origin, content?, title? })`an evidence id and SHA-256 hash; optional sessionRef anchors evidence to a session

    Evidence snapshots are immutable and content-addressed; claim registrations are immutable; verdicts are append-only.
  • research_report tool

    `research_report({ topic, sections, claims, evidenceRefs, gather?, depth?, background? })`a sealed report with visible markers, manifest.json, and a returned seal hash

    It writes only inside the configured ledger and report roots (both default to workspace-local directories).

04Who is it for? When not to use it?

Good for

  • Researchers, analysts and agent builders on DeepSeek Harness who need auditable, citation-verified deliverables
  • Reviewer pipelines and CI jobs that must check report integrity deterministically — zero network, zero model

Not for

  • Byte-level, not semantic: the built-in check locates number/quote literals verbatim. Paraphrased claims with no checkable literal verify as `unverified`, and a true claim whose number is absent while its label appears with a different value reads `contradicted`. This is a deliberate v1 choice (auditable beats clever).
  • Default profiles mount no fetch provider: the shipped `dsh-base` mounts search only, so URL capture fails loud (`WEB_UNAVAILABLE`/`WEB_PROVIDER_UNAVAILABLE`) until a fetch provider is configured; search-based `gather` lists uncaptured sources in the gap list.

05Compatibility, maintenance and safety notes

  • Byte-level, not semantic: the built-in check locates number/quote literals verbatim. Paraphrased claims with no checkable literal verify as `unverified`, and a true claim whose number is absent while its label appears with a different value reads `contradicted`. This is a deliberate v1 choice (auditable beats clever).
  • Single-workspace scope: ledger and report roots resolve against the harness working directory at mount. Multi-workspace deployments should configure absolute roots per profile.
  • Default profiles mount no fetch provider: the shipped `dsh-base` mounts search only, so URL capture fails loud (`WEB_UNAVAILABLE`/`WEB_PROVIDER_UNAVAILABLE`) until a fetch provider is configured; search-based `gather` lists uncaptured sources in the gap list.
  • Workspace confinement: local evidence reads resolve against the workspace root and refuse escapes (both sides are `path.resolve`d before comparison). Network access is only through the harness web seam, never a direct `fetch`.
2026-08-192026-09-02v0.3.3

Apache-2.0 · actively maintained (latest release v0.3.3, 2026-09-02)

06Frequently asked questions

How do I install dsh-research-report on DeepSeek Harness?

Use the dsh CLI: `dsh plugin --profile demo add dsh-research-report` (npm channel) or `dsh1024 plugin --profile web add dsh-research-report` (1024 store). The bundle row lands in the profile `dsh.profile.bundles` stack and takes effect after a restart. Confirm with `dsh --profile demo --dump-config | grep dsh-research-report`.

What does "verifiable" actually mean here?

Every claim must locate its numbers and quoted spans verbatim in the bound evidence snapshots. The ledger stores content-addressed, immutable snapshots and recomputes each hash on read, so tampering or deletion is detected instead of trusted, and the report seal is the SHA-256 of its manifest.

Can I verify a sealed report without DeepSeek Harness running?

Yes. The standalone `dsh-research-verify` binary (bundled as `lib/cli.js`, zero `@deepseek-ai` imports) recomputes the seal and audit hashes and re-runs the byte-level check from the sealed directory alone, printing JSON or SARIF 2.1.0 and exiting non-zero on any failure.

Does it do the web research for me?

No deep-research loop by design. Retrieval is reused from the harness: `ctx.web` for search/fetch and `ctx.jobs` for long runs. `research_report({ gather: true })` runs one search round and returns captured candidates plus an explicit gap list — it never auto-assembles.

What are the limits I should know before adopting it?

Verification is byte-level, not semantic, so paraphrased claims without a checkable literal stay `unverified`; ledger and report roots are single-workspace scoped (configure absolute roots per profile for multi-workspace); and the default `dsh-base` profile mounts no fetch provider, so URL capture fails loud until one is configured.

08Data and sources

  • Author-claimedgithub.combf63dab5d8ad…

    A verifiable research-report engine for DeepSeek Harness.

  • Author-claimedgithub.combf63dab5d8ad…

    Both channels install the bundle row (see `cordis.patch.yml`) into the profile's `dsh.profile.bundles` stack and take ef…

This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-09-03. Found an error? Submit a correction.

🏆

Best DeepSeek Harness Plugins

Twelve plugins worth installing first — picked from the whole catalog, across every category.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.