DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

PerryLink /

PerryLink/dsh-tender-requirements

Verified

从招标文件抽取关键信息:前附表的时间与保证金、投标文件组成与份数,并逐项报告是否检索到。

★ 0 Stars0 Forks4 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@14b0f710

dsh-tender-requirements — Tender requirements

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

dshfind

dsh-tender-requirements reads a tender document and reports what it could find: the front-appendix deadlines, deposit, validity and ceiling; the required composition of a bid; and the original/duplicate copy counts.

Every item it looked for is printed whether or not it was found. "Not retrieved" is a different sentence from "the document does not say", and only the first is something a keyword extractor can support.

Install

dsh plugin --profile <name> add dsh-tender-requirements
dsh --profile <name> --dump-config | grep 'dsh-tender-requirements'

What it looks like

Workflow diagram for dsh-tender-requirements: document → rule pack → findings.

Workflow overview: document → rule pack → findings.

Boundary: this is a finder, not a reviewer. It does not judge whether the tender document is compliant, and cannot tell whether a bid will win. It reads the main document only — clarifications, amendments and Q&A minutes are part of the tender document by law (招标投标法第23条) and are not merged here, which is a known systematic gap: please combine them by hand. And nothing here decides that a clause is absent; a differently-worded clause is simply not matched.

What it answers

  • What deadline, deposit, validity period and ceiling does the front appendix state?
  • What must a bid contain, in what order?
  • How many originals and duplicates are required?
  • Which items were not retrieved, so they can be confirmed by hand?

Standards it follows

No clause is quoted as authority for a check, because this package extracts rather than checks. What it does encode is the structure the clauses imply:

  • 政府采购货物和服务招标投标管理办法(87号令)第20条 lists the 16 items a tender document must contain, including 「评标方法、评标标准和投标无效情形」 — that is why the front appendix is the information hub.
  • 招标投标法第23条: a clarification or amendment is part of the tender document. It is listed as a known gap because it is the single largest source of missed requirements.

Compatibility

Surface Status
Harness peer range >=0.1.2-rc.1 <0.2.0 || >=0.2.0-0 <0.3.0
Node `^22.19.0
Platforms all (pure ESM; no native code, no network, no model call)

What it does

Recognition is per item, not one keyword table. The spec's probe showed why: on constructed data a result-only word list hit 12/24 with two false positives, and a trigger-only list (不得/应当/必须) hit 15/24 of which over half were the buyer's own obligations.

So each item carries its own pattern and reports a confidence with a reason:

Confidence When
高 found in a two-column front-appendix key
中 found in body text, where the wording may not be final
低 not found; the reason says whether the label appeared at all

Copy counts accept Chinese numerals and the comma-separated form (正本一份,副本四份), which the obvious regex misses.

Configuration

Key Default Meaning
rulesFile rules/tender-requirements.yaml 规则库路径

Material format

Input is a .docx. Tables are read through dsh-table-ingest, one candidate at a time, because the front appendix is not necessarily the first table. Paragraphs come from the same reader and supply the composition list.

A front appendix is recognised as a table with exactly two columns. If the header detector has chosen a data pair as the header (its second cell looks like a date, an amount or a count), that pair is recovered as a row — otherwise a stated deadline would be silently missing.

Rule sources

There is no evidence directory, because nothing here cites a clause as the basis of a finding.

Known limits: only the main document is read; the front appendix must be a two-column table; the composition list must be a run of at least three numbered entries introduced by a lead-in sentence; and a document that states a value in an unusual wording will be reported as not retrieved rather than guessed.

Troubleshooting

  • The plugin installs but the tool never appears: check that main resolves to lib/index.mjs and that pnpm run build produced it.
  • dsh plugin add rejects the package: the peer range covers 0.1.x and 0.2.x; outside it, grant an explicit exemption.
  • A rule did not run: read the skipped array.

Development

pnpm install
pnpm run typecheck
pnpm test
pnpm run build
node ../scripts/sync-shared.mjs dsh-tender-requirements

PerryLink DSH Plugin Family

This 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

License

Apache License 2.0 © 2026 dsh-tender-requirements contributors.

—/ 5

No ratings yet

Verified DSH bundle

Commit 14b0f710376d

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout