DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Doublecheck — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-doublecheck

Doublecheck

DeepSeek Harness 的交付质量关卡:严格审查需求、测试实现、验证交付成果,并通过可交付/返工决策把关交接。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:PerryLink/dsh-doublecheck#3e7bc529e7ec900c6e096160f6e6e8fd1009d5f5
README兼容性版本

兼容性与来源证明

Doublecheck 以 dsh-doublecheck 发布,当前版本为 0.9.13。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/9/20

版本

0.9.13stable
2026/9/19
0.9.12stable
2026/9/18
0.9.11stable
2026/9/12
查看其余 18 个版本收起版本
0.9.10stable
2026/9/10
0.9.9stable
2026/9/9
0.9.8stable
2026/9/9
0.9.7stable
2026/9/7
0.9.6stable
2026/9/7
0.9.5stable
2026/9/4
0.9.4stable
2026/9/2
0.9.3stable
2026/9/2
0.9.2stable
2026/9/1
0.9.1stable
2026/8/30
0.9.0stable
2026/8/26
0.8.0stable
2026/8/23
0.7.3stable
2026/8/22
0.7.2stable
2026/8/21
0.7.1stable
2026/8/19
0.7.0stable
2026/8/16
0.6.0stable
2026/8/15
0.5.0stable
2026/8/14
最新版
0.9.13
DSH
*
HMR
重启进程
Tree shaking
已声明 sideEffects: false
解包体积
未提供
文件数
未提供
Surface
any
许可证
Apache-2.0
发布源
github
GitHub
★ 0
周下载
678
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

dsh-doublecheck

  • 1024 store channel: npm i -g dsh1024 once, then dsh1024 plugin --profile web add dsh-doublecheck (counts toward the deepseek1024.com install ranking).

The delivery quality gate for DeepSeek Harness: grill the requirements, test the implementation, prove the delivery — then gate the handoff with a deliverable/rework decision.

Requirements get interrogated before the first edit; delivery is proven, never claimed.

English · 简体中文 · Español · Português · हिन्दी


Compatibility

SurfaceStatus
HarnessDeepSeek Harness dsh-v0.1.6-alpha.2. Verified 2026-09-18 (dual typecheck rulers + full test suite green); the peer range admits 0.1.2-rc.1, 0.1.5-alpha.1, 0.1.5-rc.2 and 0.1.6-alpha.2, so no supported host line is dropped.
Node^22.19.0 || >=24.0.0
PlatformsAll (pure host; no native code, no direct network requests of its own)
ModelAny (the guard itself never calls a model; the critic and reviewer phases run as harness subagents)

What you get

dsh-doublecheck installs two plugin rows that read and enforce from the same durable session log:

  1. doublecheck-grill — the requirements furnace: the bundled grill-requirements skill plus the model-facing doublecheck_skills, doublecheck_spec, and doublecheck_report tools and the per-dimension verification workflow.
  2. doublecheck-guard — the discipline guard: the grill gate, the red/green evidence gates, the adversary review, the /doublecheck and /gate commands, the doublecheck-gate settings namespace, and the four-phase delivery gate.

Together they enforce the discipline loop — grill → design → red → green → review → verify:

grill ──▶ design ──▶ red ──▶ green ──▶ review ──▶ verify
   │
   └─ six requirement dimensions, consensus gate,
      structured spec committed to the session + workspace
StageMeaning
grillInterrogate the six requirement dimensions; refuse to implement until consensus.
designThe settled spec is committed via doublecheck_spec.
redA failing test run proves the gap before implementation edits.
greenA passing test run after the edits closes the loop.
reviewA forked adversary critic audits the delivery against the spec.
verifydoublecheck_report + a per-dimension verification workflow prove the delivery.

Quick start

# 1. install the bundle into your profile
dsh plugin --profile web add "github:PerryLink/dsh-doublecheck#main"

# or from npm (published releases)
dsh plugin --profile web add dsh-doublecheck

# 2. restart and verify the row
dsh --profile web --dump-config | grep -E -A3 'id: doublecheck-(grill|guard)'

Both rows (doublecheck-grill and doublecheck-guard) activate automatically with the profile.

Install & uninstall

  • git channel (latest main): dsh plugin --profile web add "github:PerryLink/dsh-doublecheck#main" — the prepare script builds with production dependencies only.
  • npm channel (published releases): dsh plugin --profile web add dsh-doublecheck.
  • tarball channel: pnpm pack in this repo, then dsh plugin --profile web add ./dsh-doublecheck-<version>.tgz.
  • uninstall: dsh plugin --profile web remove dsh-doublecheck (or remove the rows from the profile patch).

For a zero-configuration strict mode (every gate on at block intensity, gate coverage required), apply the shipped overlay on top of the bundle patch: dsh --profile web --patch ./node_modules/dsh-doublecheck/strict.patch.yml.

Configuration

All tunables are Schemastery Config fields (changeable from cordis.yml). An id-targeted override replaces the whole row — restate every key you need. cordis.patch.yml documents each key inline; Schema defaults are the single source of tuning defaults.

KeyDefaultMeaning
specFile'doublecheck-spec.md'Workspace file for the committed spec markdown (grill row).
reportFile'doublecheck-report.md'Workspace file for the delivery report (grill row).
reportVerifytrueRun the verification workflow by default (grill row).
verifyProvider'fork'Subagent provider for the per-dimension checkers (grill row).
verifyMode'all'all = one parallel checker per dimension; single = one combined checker (grill row).
intensity'remind'Enforcement strength of the grill, red/green, and review gates (remind / warn / block).
enableByDefaulttrueMaster switch for sessions without a /doublecheck on|off record.
language'en'Injected reminder/deny/review/gate prose language (en / zh).
guardTools['edit', 'write']Mutation tool names both gates watch.
vagueTaskMaxChars200Longer tasks are never treated as vague.
remindOncetrueInject each reminder at most once per session (durable across restarts).
testToolNames['bash', 'pwsh']Shell tool names that can run tests.
testCommandPatterns(pnpm/npm/yarn/bun test, pytest, go/cargo/make test, node --test, deno test, uv run pytest)Regexes a command must match to count as a test run.
testFilePatterns(test dirs, *.test.* / )

Misconfiguration fails loud at load: invalid regexes, empty or duplicated name lists, out-of-range thresholds, and duplicate checklist ids throw instead of silently doing nothing. strict.patch.yml is the all-gates-block overlay that restates the guard row at intensity: block with every module on and the coverage requirement enabled.

Tools & surfaces

SurfaceKindNotes
doublecheck_skillstoolLists and loads the package's four bundled skills through the skill registry seam.
doublecheck_spectoolCommits the grilled six-dimension spec to the session log and a workspace markdown copy.
doublecheck_reporttoolFolds the discipline evidence into a delivery report (optional per-dimension verification workflow).
/doublecheck status|report|on|offcommandSwitch, modules, intensity, stage facts, folded report, and the durable on/off override.
/gate status|run|configcommandLive checklist progress, the settled deliverable/rework report, and the effective config.
grill-requirements, red-green-tdd, delivery-review, delivery-proofskillBundled discipline skills covering all six loop stages.
doublecheck-gatesettings namespaceThe pluggable checklist: the user section overrides the composition gate.* values and is read once at load (applies: restart), visible through ctx.settings.describe().
strict.patch.ymloverlayEvery gate on at block intensity plus the coverage requirement, in one patch layer.
dsh-doublecheck/invariantcompanion rowReports package-owned write-path contradictions through the host invariants registry.

Gate phases

The delivery gate aggregates the session's durable evidence into a configurable four-phase checklist and settles one deliverable / rework required decision. Every phase folds the session log alone (replay IS the state), so a run re-derives identically after resume or fork.

PhaseChecksEvidence sourceModel cost
Requirements interrogationKey-question checklist confirmed item by item (six spec-dimension questions by default)Committed doublecheck_spec + ask_user_question callsnone
Test evidenceLatest run color, failing runs after green, optional coverage threshold, optional dsh-eval reportShell test runs in the session log ([exit code: N], coverage percentages); the dsh-eval report file when gate.tests.evalReports.enablednone
Implementation consistencyDiff ↔ requirement mapping: every edit must serve a spec dimensionLocal forked reviewer (structured findings, read-only tools)one subagent
Review conclusionThe delivery verdict; engine: auto consumes dsh-auto-review's durable verdict records when present, else the local reviewerautoReview/verdict / autoReview/rejection events, or the local forked reviewerone subagent (local)

Red lights are failed checks (a missing spec, a failing latest run, coverage below minimum, an unmapped edit, blocker/major findings) — each carries a rework suggestion. Warnings and skips never flip the decision. The gate integrates dsh-auto-review as a weak dependency: review.engine: auto folds its verdict records when present and degrades to the local reviewer otherwise; gate.tests.evalReports.enabled folds its eval engine's dsh-eval report (prompt-regression / stress / fairness suites) into the test evidence and skips honestly when no report exists. The gate never synthesizes approval requests.

Example report

/gate run returns this markdown — paste it into a PR description:

# Delivery gate report

> **Verdict: rework required** — 2 red item(s)
> The gate is red. Re-open the work in plan mode to re-check the open items before delivering.

## 1. Requirements interrogation — PASS
- [✔] **What outcome must the delivery produce?** — spec dimension "goal" committed
- [✔] **What is in scope, and what is out of scope?** — spec dimension "scope" committed
- [✔] **Which observable checks prove the work is done?** — spec dimension "acceptanceCriteria" committed
- [✔] **What can go wrong, and what is the correct behavior in each case?** — spec dimension "failureModes" committed
- [✔] **What is traded when goals conflict; what is optional?** — spec dimension "priorities" committed
- [✔] **What does the user explicitly not want?** — spec dimension "nonGoals" committed

## 2. Test evidence — FAIL
- [✔] **passing test run** — latest test run passed
- [✔] **failing cases after green** — 0 failing run(s) after green (allowed: 0)
- [✖] **coverage evidence** — 61% coverage below the 80% minimum — rework: raise coverage above the configured minimum

## 3. Implementation consistency — WARN
- [⚠] **[minor] src/telemetry.ts touched without a requirement** — [minor] the edit adds a metric no spec dimension covers

## 4. Review conclusion — PASS
- [✔] **dsh-auto-review conclusion** — 3 call(s) approved by dsh-auto-review (latest risk: low)

## Red items
1. **tests/coverage** — 61% coverage below the 80% minimum — *rework: raise coverage above the configured minimum*
2. **consistency/finding-1** — [minor] the edit adds a metric no spec dimension covers — *rework: src/telemetry.ts touched without a requirement*

## Audit
- review engine: dsh-auto-review
- generated at: 2026-08-14T12:00:00.000Z
- counts, ids, and verdicts only: no file contents or session text are embedded, and recognized secrets are redacted.

CI output

/gate run also writes a gate-report.json (the same settled state as lossless JSON, next to gate-report.md). The doublecheck-gate CLI turns that file into machine-readable output for GitHub Actions:

# JSON (PR comment / status payload)
doublecheck-gate --format json --input gate-report.json
# SARIF 2.1.0 (code-scanning upload / status check)
doublecheck-gate --format sarif < gate-report.json

The CLI only serializes the already-settled GateState — it never re-runs the four-phase gate or the evidence folds. Its exit code maps the verdict: 0 = deliverable, 1 = rework, 2 = usage/parse error.

Permissions & data

  • Reads: the session log (tool/call / tool/result / tool/ptc-dispatch, injected user/message sources, and the foreign autoReview/* verdict records) in-process only; the optional plan-mode service state. PTC sub-dispatches carry the predecessor tool/code-dispatch label on hosts before the V3 rename; both labels fold identically.
  • Writes: doublecheck-spec.md, doublecheck-report.md, gate-report.md, and gate-report.json in the session workspace (paths configurable) through the ctx.fs seam; the durable doublecheck/state and doublecheck/gate session events.
  • Model calls: the gate's consistency and local-review phases (one subagent each per /gate run), the optional adversary review, and the doublecheck_report verification workflow start subagent runs; nothing else calls a model or the network.
  • Never touched: credentials, environment variables, or any file outside the session workspace. The workshop manifest declares filesystem:read and filesystem:write only. Gate reports carry counts, ids, and verdicts only; recognized secrets in reviewer texts are redacted before storage or display.

Security boundaries

  • Model-visible ⟺ logged. Every injected reminder, review, and gate notice rides the standard channels and lands in the session log; the durable spec/state/gate facts ride tool results or SessionEventMap members.
  • Fail closed / fail loud. Guard and gate config are validated in apply (assertions throw); a reviewer or adversary seam that cannot run settles as an honest "unavailable"/skip notice instead of a fake verdict.
  • Audit-safe reports. Gate and delivery reports record counts, ids, and verdicts only — no file contents or session text — and model-produced finding texts pass a secret redactor before storage or display.
  • No network of its own. The plugin makes no direct network requests; the critic and reviewer subagents ride the harness subagent seam.
  • Weak dependency on dsh-auto-review. It is never imported or hard-required; the gate folds its durable verdict records and degrades to the local reviewer, and never synthesizes approval requests.

Known limitations

  • Durable writes. /doublecheck on\|off → doublecheck/state and /gate run → doublecheck/gate ride the host's ignorable append surface (post-rc.6 through 0.1.1-rc.2). On hosts without that surface (rc.6/rc.8, and 0.1.2-alpha.1, which removed the envelope — 0.1.2-rc.1 restores the field for stored-log read compatibility only and still cannot stamp it), the writes are skipped and the switch stays process-local. 0.1.2-rc.1 (adapted 2026-09-02): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. 0.1.5-alpha.1 (adapted 2026-09-09): session format V3 renames the durable sub-dispatch event tool/code-dispatch to tool/ptc-dispatch (payload unchanged; both labels fold identically). Session.append still exposes no ignorable channel, so durable writes stay skipped and the switch stays process-local - behavior unchanged. The doublecheck-gate settings namespace is a weak seam resolved at load (see Known limitations). 0.1.5-rc.1 (adapted 2026-09-10): dependency pins move to the published 0.1.5-rc.1 line; no seam change affects this plugin's behavior. 0.1.5-rc.2 (adapted 2026-09-11): dependency pins move to the published 0.1.5-rc.2 line; no seam change affects this plugin's behavior.
  • Optional seams. The doublecheck-gate settings namespace registers only when the settings service is mounted; it then appears in ctx.settings.describe(), and its user section overrides the composition gate.* values on the next load. The package ships no client card, so the shipped Web GUI plugin page does not list it. The /gate status plan-mode line reads the optional ctx.planMode (shows unknown without it); the adversary review needs ctx.subagents; verification needs workflowEngine.
  • Local degrade. gate.review.engine: auto degrades to the local reviewer when dsh-auto-review is absent or has no verdict records this session — the report names the reason instead of inventing a verdict.
  • dsh-eval evidence is file-based. The dsh-auto-review eval engine (dsh-eval) writes its prompt-regression / stress / fairness results to a workspace report file, not the session log. gate.tests.evalReports.enabled folds that file (off by default; skips when absent) and the folded counts ride the durable doublecheck/gate record so a settled run still replays.

Development

pnpm install             # node ^22.19 || >=24
pnpm run build           # tsc --noEmitOnError (lib/ is committed)
pnpm run prepare         # tsc --noEmitOnError (git-install channel)
pnpm run prepublishOnly  # build + full test suite
pnpm run typecheck       # tsc --noEmit + tests tsconfig
pnpm run lint            # eslint src tests
pnpm test                # vitest run
pnpm run test:coverage   # vitest run --coverage
pnpm run pack:check      # build + pack the tarball

Topics

dsh, dsh-plugin, deepseek-harness, engineering-discipline, requirements, guard, skill, quality-gate, delivery-gate

Contributors

  • @PerryLink — creator and maintainer: the grill → design → red → green → review → verify discipline loop, the four-phase delivery gate, the five-language docs, and the CI/release pipeline.

PerryLink DSH Plugin Family

This project is one of the 40 DeepSeek Harness plugins maintained by PerryLink. If this one helps you, the others likely will too:

PluginOne-liner
dsh-auto-reviewSecond-model auto-review on the approval chain, fail-closed by default
dsh-background-agentsDurable background child agents with a Web UI sidebar, messaging and interrupt
dsh-budgetCost governance for DeepSeek Harness: budgets, carbon, and latency in one panel.
dsh-checkpoint-rewindClaude Code /rewind-equivalent: snapshots, session forks, one-shot restore
dsh-claude-moveMigrate Claude Code sessions, memory, skills and CLAUDE.md into DSH
dsh-clickCross-platform native desktop control for DeepSeek Harness — Windows first.
dsh-composer-historyTerminal-style input history for the web composer: arrows, Ctrl+R search
dsh-data-qualityDataset quality checks and citation cross-checks (the optional numeric bridge consumed here)
dsh-defendPrompt-injection, jailbreak, and secret-leak defense for DeepSeek Harness.
dsh-drawUnified static-image generation routing for DeepSeek Harness.
dsh-fastRead-only performance diagnostics for DeepSeek Harness.

Install from the DSH Desktop Market

All PerryLink plugins are browsable in the built-in DSH Desktop Market: Market → Sources → add source → paste https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → select it. Installation still goes through the Market's npm-identity verification and your confirmation.

License

Apache License 2.0 © 2026 dsh-doublecheck contributors

*.spec.*
Regexes identifying test files — always editable, exempt from the red gate.
modules.grilltrueOff disables the grill gate.
modules.tddtrueOn enables the red/green evidence gates.
modules.adversaryfalseOn enables the forked critic review at green.
adversaryModelnullCritic model route; null = main model self-reviews.
adversaryProvider'fork'Subagent provider the critic runs on.
adversaryMaxFindings5Findings cap (1–20) injected into the session.
adversaryTools['read', 'glob', 'grep']Critic tool allowlist; keep it read-only.
adversaryTimeoutMs120000Hard time budget for one critic run.
gate.enabledtrueMaster switch for the gate panel and the turn-boundary red notice.
gate.planSuggestiontrueAppend the plan-mode re-check suggestion to red reports.
gate.reportFile'gate-report.md'Workspace file for the gate report.
gate.requirements.checklist(six spec-dimension questions)Pluggable key-question checklist: { id, question, specDimension, required }.
gate.requirements.minConfirmed6Minimum required questions that must pass (1..required count).
gate.requirements.interrogateTool'ask_user_question'Tool name whose calls count as interrogation evidence.
gate.tests.requirePassingRuntrueA non-passing (or missing) latest test run is a red light.
gate.tests.allowFailingRuns0Failing runs after the latest green allowed before red.
gate.tests.requireCoveragefalseOn requires coverage evidence in the test output.
gate.tests.minCoveragePct80Minimum coverage percentage (0–100).
gate.tests.evalReports.enabledfalseOn folds the dsh-eval report (dsh-auto-review's eval engine) into the test evidence.
gate.tests.evalReports.dir'.eval-reports'Workspace-relative directory holding the engine's report.
gate.tests.evalReports.file'report.json'Report file name inside the directory.
gate.tests.evalReports.requiredfalseA missing report is a red light exactly when true (a skip otherwise).
gate.consistency.*provider: 'fork', model: null, tools: ['read','glob','grep'], timeoutMs: 120000, maxFindings: 5The local consistency reviewer's knobs (model: null = main model).
gate.review.engine'auto'auto = dsh-auto-review verdict records when present, else the local reviewer; local = always local.
gate.review.provider'fork'The local review reviewer's provider (its model/tools/timeoutMs/maxFindings match gate.consistency.*).
dsh-fund-research
Deterministic research reports for Chinese public mutual funds
dsh-githubGitHub PR/issues integration for DSH, every write gated by approval
dsh-industry-researchIndustry research orchestration that seals its deliverables through this plugin's ctx.researchReport.assemble
dsh-libraryLocal document knowledge base for DeepSeek Harness.
dsh-local-aiLocal-model (Ollama) integration for DeepSeek Harness.
dsh-lsp-actionsLSP diagnostics, formatting, completion, code actions and rename over language servers
dsh-maskPII masking middleware: anonymize at the model boundary, restore at the display layer
dsh-mcp-panelRead-only MCP runtime panel: /mcp command + Settings tab with status, tools and errors
dsh-mementoApproval-gated cross-session memory: ctx.memory seam + SQLite + memory tool
dsh-observeOpenTelemetry and Langfuse observability exporter for DeepSeek Harness.
dsh-output-stylesClaude Code outputStyles-equivalent runtime style switching
dsh-reachMulti-channel approval/question bridge: WeChat/Telegram/Feishu, session console
dsh-permission-rulesClaude Code-style declarative allow/deny/ask permission rules with audit
dsh-personal-directivePersonal directive injector with top-bar toggle (framework edition)
dsh-plugin-guidePlugin-development knowledge base as an on-demand agent skill
dsh-plugin-doctorZero-dependency static + sandbox smoke detector for DSH plugins
dsh-research-reportVerifiable research-report engine: content-addressed evidence ledger and sealed versions
dsh-scoreMulti-dimensional quality scoring for DeepSeek Harness plugins.
dsh-session-pinPin sessions in the Web sidebar with durable ordering
dsh-session-syncCross-device session sync for DeepSeek Harness — a dedicated git mirror of your session store.
dsh-skill-pack-securitySecurity-audit skill pack: secret scan, dependency and supply-chain review
dsh-talkVoice-first session loop for DeepSeek Harness: talk to it, hear it answer.
dsh-test-driveIsolated install-and-smoke test drives for DeepSeek Harness plugins.
dsh-ticktickTickTick/Dida365 task bridge: session-header panel + 11 tools
dsh-translateVendor parameter translation and deterministic JSON repair for DeepSeek Harness.
dsh-wechatWeChat ↔ DSH bridge (Tencent iLink bot): text/image/file/voice, approvals in chat
dsh-autotierAutomatic strong/cheap model-tier routing with deterministic risk guards and a /tier command
dsh-catalogDSH Desktop Market standard catalog source for the PerryLink family
dsh-cert-mcpRead-only MCP server exposing the certification registry: grades, snapshots and five-dimension evidence
dsh-kitOne-command starter pack that installs the core family
dsh-plugin-certificationCommunity certification registry with repro-checkable grades and badges
dsh-plugin-kitShared zero-runtime-dependency toolkit for the PerryLink DSH plugins
dsh-plugin-portalZero-dependency static portal rendering the whole plugin family as one page
dsh-plugin-upgrade-015Merged 0.1.3-alpha.1 → 0.1.5-rc.1 upgrade corridor card plus a zero-dependency seam scanner
dsh-team-roomsCross-session team rooms: shared message bus, task board and timeline