dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Evidence-backed project cognition and host-governed definitions of done for DeepSeek Harness.
English | 简体中文
dsh-researcher is a DSH plugin for DeepSeek Harness. It separates three jobs that ordinary Plan mode tends to mix:
/research) enters read-only research on demand from a normal coding session, carrying the conversation across. It stays inert otherwise.They are independent. You can trial Project Research without adopting Goal Contracts.
The developer's judgement is that other tools compete for the attention budget. So this mode closes them at all three levels, not just one:
| Level | What is closed |
|---|---|
| Sandbox | The session runs read-only; writes are refused by the environment, not by discipline |
| Tool descriptions | write and edit are replaced by always-refusing stubs; the write-oriented guidance sections are shadowed so they never enter the prompt |
| Permissions | Approval is tightened to never — there is no escalation path, by design |
There is no shell. The only subprocess capability is git_read, a fixed allowlist with no -c, no aliases, no pager and ignored global git config. The mode reads and reasons; it never executes.
Environment requirements — read before installing. Research mode is strict and fails closed. It requires DSH
0.1.5-rc.3and Node^22.19.0 || >=24.0.0, and the session must start with Read Only permission. Anything else and the preset refuses to start rather than degrading. This is intentional: an environment that cannot be proven read-only cannot run this mode. See Deployment and use requirements.
What research mode does not yet do. It has no task-level attention routing yet — that is planned, and we are collecting knowledge bases and mature prior art for it. Today its attention guidance comes from a fixed persona plus two skills. Do not describe this mode as adapting its review angle to the task.
Honest maturity: the mechanisms, installer lifecycle, adversarial replay, and offline E1 infrastructure are tested. A complete v1.5 live attempt ran but was INVALID; E1 conformance, net productivity gain, long-term Project Cognition value, and adapters beyond DSH remain not proven.
Latest runtime evidence: protocol v1.11 used its single preregistered replacement opportunity.
resume-replaycompleted observe, process exit, same-session continue and hostDONE, but the frozen candidate scorer incorrectly included pre-goal setup events only in its stage-one verification path and returned INVALID. The other five tracks were not run, and the E1 round is stopped rather than retried. Protocol v1.12 fixes that offline scorer scope; a diagnostic rescore passes the one track but cannot rewrite v1.11 or prove 6/6. See the v1.11 result.
AI coding becomes unreliable across sessions, not only within one prompt:
A Plan says what steps may be attempted. This project records what is believed true, what must be achieved, who may prove it, and when work must stop.
The purpose is to put the model's attention on the changes that are worth making to this project, and to keep it there. Concretely, a research run is expected to:
Output is a structured report, not a conversation. Every factual claim carries a citation or is marked unverified; findings land in BUILD / DON'T BUILD / INVESTIGATE.
A curated knowledge base of real experience from other projects is planned, to be selected and injected on demand so the model checks the angles that matter for the task at hand. It does not exist yet; see the honesty note above.
Stated plainly, because time is expensive:
It is for two situations in particular: meeting a project you have not worked in and needing its purpose, boundaries and real runtime aligned quickly; and having taken a project through many rounds of AI edits until it looks correct while quietly accumulating holes or no longer moving forward — where the missing thing is not effort but a correct picture of what the project now is.
The public demo is offline and starts real verifier child processes. It uses a synthetic DSH-shaped event envelope, so it proves reducer behavior—not Live DSH or model productivity.
git clone https://github.com/TLNing260310/dsh-researcher.git
cd dsh-researcher
npm run demo
The three decisions are reproducible:
assistant says DONE, no trusted evidence → CONTINUE
matching verifier exits 1 → CONTINUE
matching verifier exits 0 after repair → DONE
The final assistant message is never evidence. A MUST criterion is satisfied only by a host event bound to an approved verifier's tool name, complete arguments, argument hash, and result policy.
| Your situation | Use | Maturity |
|---|---|---|
| Taking over an unfamiliar repository, or judging whether a change should happen at all | Project Research (/research or the preset) | Isolated trial; read-only runtime boundary has a real DSH Web smoke |
| Wanting the review angles chosen for you | /research <task> in a normal coding session | Mechanism proven; lens selection quality unproven |
| Checking one project fact during coding | /researcher <question> in Governed Coding | Isolated one-turn trial |
| Freezing acceptance criteria, budgets, human gates, and stopping states | Goal Governor | Advanced alpha; mechanisms tested, outcome gain unproven |
| A tiny bug, CRUD change, or disposable script | Ordinary Agent / Plan | This project is probably too heavy |
| Codex, Claude Code, OpenClaw, Kiro, or Zed/Zcode without DSH | Do not install yet | Portable core exists; client adapters are not delivered |
This project assumes a reader who can judge evidence. It is not a "install and forget" assistant:
file:line, a commit or a URL, plus an evidence tier (C0–C4) and a verdict (Known / Likely / Claimed / Unknown / Contradicted). The two axes are independent, and the combination table is in the methodology skill.Requirements:
0.1.5-rc.3; offline infrastructure is green, while the isolated Gate 0/live conformance result remains pending.^22.19.0 || >=24.0.0 (the portable project core remains >=22.12.0).>=22.12.0.never, which the UI shows as Custom.DSH_HOME and a non-critical repository copy first.This repository is GitHub-distributed only. The unscoped npm name dsh-researcher belongs to a different maintainer and repository. Do not use npm install dsh-researcher; use the pinned GitHub source or signed release assets below. The private scoped identity @tlning260310/dsh-researcher prevents accidental publication under the wrong identity; this is a DSH preset bundle plus Node governance library, not a native marketplace-plugin claim.
Preview every installer-owned change first:
npx -y github:TLNing260310/dsh-researcher#v0.8.0-alpha.10 --dry-run
Install only after reviewing the preview:
npx -y github:TLNing260310/dsh-researcher#v0.8.0-alpha.10
The installer refuses unknown DSH versions and existing presets by default. Backup, force-upgrade, uninstall, rollback, and SHA-256-bound release installation are documented in Safe installation and recovery.
Read Only.项目研究 Project Research. The preset tightens approval to never.Run research_doctor first. Review this repository without writing files.
Use path:line evidence to explain its purpose, immutable constraints,
documentation/implementation conflicts, and the next hypothesis worth testing.
Mark anything unverified as UNKNOWN.
research_doctor must be the first tool call. Research remains locked unless the Runtime Certificate is SAFE; later permission drift revokes the certificate before another model response.
Two entry points exist:
| Entry | Lifetime | Intended use |
|---|---|---|
项目研究 Project Research preset | Persistent session; environment-level read-only, approval never, no generic shell | Full or high-risk repository research |
/researcher <question> | One guarded read-only turn inside Governed Coding | A focused fact check during implementation |
The real smoke proves the runtime boundary, not report quality. Two local 14B probes failed to produce a publishable report; that negative evidence remains public in Project Research local-output smoke.
The Quickstart generates external Cognition, Verifier Registry, Goal Contract, and REVIEW.md drafts. It does not approve a goal or promote project facts for you.
npx -y --package=github:TLNing260310/dsh-researcher#v0.8.0-alpha.10 project-cognition init .
npx -y --package=github:TLNing260310/dsh-researcher#v0.8.0-alpha.10 project-cognition quickstart --root . --out ../my-goal-review --goal-id fix-login-timeout
Review purpose, boundaries, MUST criteria, budget, and verifier definitions in the generated REVIEW.md, then follow its explicit approval commands. See the five-minute Quickstart.
ALREADY_SATISFIED without a performative code change.STOPPED.NEEDS_HUMAN.read-only research
→ Research Session Ledger (non-authoritative)
→ draft revision
→ owner review
→ seal
→ .project-cognition/state.json (canonical truth)
→ deterministic PROJECT_COGNITION.md projection
Goal Contract + frozen verifier registry
→ host-observed calls, results, gates, usage, and repository revision
→ replay / reducer
→ CONTINUE | NEEDS_HUMAN | DONE | STOPPED
The CLI actor label is not human authentication. Repository governance must keep approval authority outside the model workflow.
| Layer | Status | What it establishes |
|---|---|---|
| Unit, replay, integration, adversarial, installer, and package tests | PASS | The published mechanisms reject the covered drift and forged-evidence paths |
project-cognition doctor . | PASS | Current schema, hashes, projection, goals, and registry agree; it does not prove evidence freshness |
| DSH Web Project Research smoke | Runtime boundary PASS; output probes FAIL | The exact tested runtime can become SAFE and reject drift; research quality is not established |
| Goal Governor E1 infrastructure | v1.12 offline READY; v1.5 and incomplete v1.6-v1.11 Live E1 INVALID | E1 live round is STOPPED; no six-track conformance claim and no additional paid retry is authorized |
| Client adapter discovery | Claude SDK 0.3.251: HOLD; Codex App Server stdio 0.150.0-alpha.12.2: HOLD | Version-locked interface maps only; no second adapter or compatibility claim |
| Outcome value and portability | NOT PROVEN | Requires Live E1, a non-inferential pilot, E2, then second-adapter conformance |
Run the public offline checks without a model or network call:
npm run check
npm run demo
npm run adapter:discovery:check
npm run eval:e1:preflight
The proof order is frozen as Gate 0 → E1 → non-inferential pilot → E2 → second-adapter conformance → E3. See Validation Status and the protocol-owned Goal Governor evaluation definition.
Client integrations share the portable HostEvent and invocation contract: one-shot researcher.ask(...), persistent researcher.mode.set/get(...), and client-native mode-switch commands reduce to the same host-owned state. The package root exposes adapterCore for this experimental base envelope; it is not a governed-adapter conformance claim.
Version-locked Claude and Codex discovery records now make the remaining gaps
reviewable. Both are HOLD: Codex has a real zero-model app-server handshake plus
a credential-stripped regeneration of its complete schema/method inventory, but
lacks durable raw command replay, principal and write receipts; Claude has a
locked official SDK whose module and bundled CLI load without creating a session,
but no authentic query/tool/resume trace. These records do not change the DSH
manifest or install another adapter.
| Layer | Primary question |
|---|---|
| Plan / Tasks | What steps should we attempt next? |
| Spec | What behavior do we intend to build or change? |
| Memory | What did the agent previously learn? |
| Project Cognition | What claims about repository reality are trusted, why, and when do they become stale? |
| Goal Governor | What observable state counts as done, who may prove it, and when must work stop? |
Spec Kit, OpenSpec, Kiro, Serena, Beads, and client-native Plan/Memory may be better choices for many users. The candidate differentiation here is the combination of staleable project reality and host-owned terminal adjudication, not any individual feature. See the competitive and integration landscape.
You do not need a polished report. The most useful signals are whether the demo ran, where installation stopped, whether the workflow prevented a wrong completion, and whether it added only overhead.
Current published release: v0.8.0-alpha.10, which ships the on-demand /research entry point and the architecture lens library. The v1.5-v1.11 live attempts remain negative or incomplete evidence; v1.12 is an offline correction and E1 live is stopped. Outcome value and multi-client portability remain NOT PROVEN.
The research-mode roadmap — attention routing, injection discipline, and a curated lens library — did not start from a blank page. Several DSH ecosystem projects have already explored this ground and published what they learned, including results that overturned their own initial designs. We read them, adopted what fit, and say so here.
We are grateful to the authors of these projects. Thanks and respect to:
| Project | What we learned from it |
|---|---|
| dsh-company-kb | The explicit-invocation gate (sticky session state · trigger words with a negation window · path naming) — our first-level trigger follows the same principle. Its dual-FTS5 + RRF retrieval is the reference for our retrieval layer. Its refusal text, which tells the model not to keep asking, is a second line of defence against attention pollution. |
| dsh-experience-memory | The four-surface model (automatic injection / unconditional one-line guidance / maintenance / tools and commands), and the discipline of leaving anything that reaches outside the store behind a human trigger. Its provenance audit — flag, never refuse — shaped our lens freshness rule. |
| dsh-learn-wiki | The single most useful finding we read: its trigger was changed from retrieval miss to struggle, because a miss is too cheap a signal (every new topic misses). That published negative result overturned our first trigger design. |
| dsh-literature | A dedicated preset carrying a dedicated tool set, unloaded everywhere else — the organisational pattern our scoped research entry uses. |
| deepseek-harness | The runtime this project is a plugin for. |
Two further projects informed our thinking only — no code, text, or data from them is included, because their licences are incompatible with this project's MIT distribution:
{symptom, scope, root cause, guard test} independently converged on our six-field lens schema; and the push+pull hybrid channel.Governance borrowing is acknowledged explicitly: the discipline of keeping capability-changing paths behind human triggers, of distinguishing "flag" from "refuse", and of publishing negative results rather than quietly replacing them, all come from the projects above. Where we diverge, we say why in the design notes.
Full licence texts are in licenses/; per-project attribution and the register of what is and is not incorporated are in THIRD-PARTY-NOTICES.md.