dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
读 RequirementsPack 与投标文件,报告哪些要求看起来有响应、哪些没有、哪些根本定位不到。
English · 简体中文 · Español · Português · हिन्दी
dsh-bid-health-check reads a RequirementsPack (produced by dsh-tender-requirements) and a bid document, and reports — requirement by requirement — where the bid appears to answer, where the match is weak, and where nothing could be located.
The honest form of that question is narrower than "is the bid complete". The tool can locate a paragraph that appears to answer a requirement, or fail to locate one. It cannot know whether the located paragraph actually satisfies it, and it certainly cannot conclude that an unlocated requirement is unanswered.
dsh plugin --profile <name> add dsh-bid-health-check
dsh --profile <name> --dump-config | grep 'dsh-bid-health-check'*Workflow overview: document → rule pack → findings.*
Boundary: three sentences this tool does not say. It does not say "the bid is complete"; it says which requirements it could locate text for. It does not say "not located means missing" — the bid may answer in a table, an appendix, or different words. And it does not say "responded means compliant" — that needs a person to read the paragraph. It cannot read tables, scanned pages or attachments, so responses there are not counted at all.
No clause is cited as the basis of a finding, because this package locates text rather than checks compliance.
Two rules come from the spec's design instead:
responded — only weak, with a reason explaining that the located paragraph should be reviewed as evidence.Surface · Status Harness · peer range >=0.1.2-rc.1 =0.2.0-0 =24.0.0 Platforms · all (pure ESM; no native code, no network, no model call)
For each requirement the tool measures the longest substring it shares with each bid paragraph. Four characters was too loose — 「投标截止时间」 matched on the shared 「投标」 — so a title overlap must reach five characters to count. On a tie the longer paragraph wins, because a heading such as 「第三章 投标保证金」 shares the label with the body that actually states the amount.
An overlap found only in the requirement's *quote* (not its title) is capped at weak: sharing text with the clause that contains a requirement is not evidence the requirement is met.
Key · Default · Meaning rulesFile · rules/bid-health-check.yaml · 规则库路径
Two inputs:
Argument · Meaning pack · The RequirementsPack JSON (or YAML with an items array) file · The bid document, .docx
Paragraphs come from dsh-table-ingest; tables in the bid are not read by this version.
Quotations live in the pack that this tool consumes, not here.
Known limits, all of them visible in the report: only paragraphs are read, so a response inside a table, a scanned page or an attachment is not counted. Matching is by shared substring, so a paraphrased response is reported as not located. And a located paragraph is a pointer for a human, not a verdict.
main resolves to lib/index.mjs and that pnpm run build produced it.0.1.x and 0.2.x; outside it, grant an explicit exemption.skipped array.pnpm install
pnpm run typecheck
pnpm test
pnpm run build
node ../scripts/sync-shared.mjs dsh-bid-health-checkThis project is part of the DeepSeek Harness plugin family from PerryLink. The roster stays collapsed below so every README keeps a short first screen; expand it to see every row and its status.
Expand all plugins
Plugin · Status dsh-aqua-input-check · dsh-archive-check · dsh-auto-review · dsh-autotier · dsh-bid-ca-precheck · dsh-bid-qual-check · dsh-cert-mcp · dsh-checkpoint-rewind · dsh-click · dsh-composer-history · dsh-contract-stance · dsh-customs-doc-check · dsh-data-quality · dsh-demurrage-ledger · dsh-doublecheck · dsh-drill-script-check · dsh-eia-guide-check · dsh-emergency-plan · dsh-essay-rubric-check · dsh-evidence-check · dsh-export-ctl-check · dsh-fast · dsh-fmea-table-check · dsh-forecast-penalty · dsh-fund-research · dsh-github · dsh-gongwen-flow-check · dsh-gongwen-word-check · dsh-guard-plan-qc · dsh-hazchem-check · dsh-hazplan-check · dsh-hidden-risk-map · dsh-hs-classify · dsh-icd-rule-check · dsh-industry-research · dsh-lawcite-adapter · dsh-laya · dsh-lc-doc-check · dsh-learning-gap-check · dsh-library · dsh-local-ai · dsh-lsp-actions · dsh-mask · dsh-mcp-panel · dsh-medrec-qc · dsh-memento · dsh-nsfc-form-check · dsh-nurse-record-check · dsh-observe · dsh-origin-rvc-check · dsh-ota-review-check · dsh-output-styles · dsh-paper-doc-adapter · dsh-permission-rules · dsh-permit-report-check · dsh-pipeline-check · dsh-pleading-draft · dsh-plugin-doctor · dsh-plugin-guide · dsh-plugin-kit · dsh-plugin-upgrade · dsh-policy-brief-draft · dsh-power-loss-split · dsh-power-ticket-check · dsh-ppap-check · dsh-protest-deadline · dsh-railway-window · dsh-repair-order-qc · dsh-research-report · dsh-review-reply-check · dsh-rulefile-check · dsh-safety-brief-check · dsh-score · dsh-session-sync · dsh-site-log-check · dsh-skill-pack-security · dsh-soe-decision-check · dsh-soilwater-check · dsh-sop-sync-check · dsh-spc-gbt-adapter · dsh-talk · dsh-tender-extract · dsh-tender-matrix · dsh-test-drive · dsh-ticktick · dsh-translate · dsh-warranty-calc · dsh-budget · 🧊 FROZEN — see the repo README dsh-claude-move · 🧊 FROZEN — see the repo README dsh-defend · 🧊 FROZEN — see the repo README dsh-draw · 🧊 FROZEN — see the repo README dsh-reach · 🧊 FROZEN — see the repo README dsh-background-agents · 🚫 RETIRED — see the repo README dsh-session-pin · 🚫 RETIRED — see the repo README dsh-team-rooms · 🚫 RETIRED — see the repo README
Apache License 2.0 © 2026 dsh-bid-health-check contributors.