DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-aqua-input-check

P

dsh-aqua-input-check

Manifest valid

???????????(?????????????????????,?????,???????)

hasBundlePatch

dsh-aqua-input-check

Boundary: this plugin checks an 水产养殖投入品记录 for completeness and date arithmetic — that each record names its pond and species, that a named input records its quantity and use date, that the use date is not in the future, that harvesting respects the withdrawal period the record states, that stocking records its source and quarantine certificate, that the input type comes from your vocabulary, and that batch numbers are unique. It does not decide whether farming practice is compliant, whether the product is safe to eat, whether medication was appropriate, or whether a penalty applies.

⚠️ What this plugin deliberately does not know

It ships no withdrawal periods. AQ-004 checks that the harvest date is at least as many days after the use date as the record's own withdrawal-period column says. So a finding means "by the withdrawal period you recorded, harvest came N days early" — never "this product is unsafe". Residue safety needs a test result, which this plugin cannot see. A record with no harvest date reports itself in skipped rather than assuming a period.

It ships no list of permitted or prohibited inputs. AQ-006 checks that the input type is one you configured; whether a product may lawfully be used requires the prohibited-drug list and the product's approval number, and this plugin does not go there.

Every excerpt in the rule pack says, in so many words, that the clause text was not obtained. The regime lives in 《水产养殖质量安全管理规定》, NY 5361, NY/T 755 and GB 13078. The verification pass could not retrieve verbatim clause text, so the pack states the gap in the excerpt field itself and keeps every rule at warn or info. When the texts are in hand, replace each excerpt with the real clause and raise kind to direct.

Compatibility

SurfaceStatus
HarnessPeer range >=0.1.2-rc.1 <0.2.0 || >=0.2.0-0 <0.3.0 — verified to accept both 0.2.0-rc.2 and 0.2.1-alpha.1. engines.dsh is deliberately not declared: it has no reader and cannot reject a host
Node`^22.19.0
PlatformsAll (plain ESM; no native code, no network, no model call)
Tool modeWorks in native, ptc and both; for a season of records use ptc

What it does

Registers the aqua_input_check tool. It reads one input register — the farm header plus one row per input record — applies a versioned rule pack, and returns a report.

RuleCheckSeverityBasis kind
AQ-001the pond and species are recordedwarnprinciple
AQ-002a named input records its quantity and datewarnprinciple
AQ-003the use date is not in the futurewarnprinciple
AQ-004harvest respects the recorded withdrawal periodwarnprinciple
AQ-005stocking records its source and quarantine numberwarnprinciple
AQ-006the input type comes from your vocabulary (off by default)infolocal
AQ-007batch numbers are uniquewarnprinciple

Install

pnpm pack
dsh plugin --profile <name> add ./dsh-aqua-input-check-0.1.0.tgz
dsh --profile <name> --dump-config | grep 'dsh-aqua-input-check'

Configuration

KeyTypeDefaultDescription
rulesFilestringrules/aqua-input-check.yamlRule-pack path, relative to the package root
disabledRulesstring[][]Rule ids to stop running; each appears in skipped
onlyRulesstring[][]Run only these rule ids; empty runs every rule
skipNotesstring""Note appended to every skipped reason
timeoutMsnumber120000Cooperative tool timeout budget

Rule-level parameters worth knowing:

  • AQ-004 earlierField / laterField / minDaysField — the two dates and the column holding the required gap. The period comes from the record, so no figure is built in.
  • AQ-006 values — your input types, e.g. [配合饲料, 冰鲜鱼, 水质改良剂, 抗菌药, 杀虫药, 消毒剂, 疫苗]. Empty means no check.
  • AQ-002 conditionField / requiredFields — what triggers the quantity-and-date requirement.

Material format

The tool accepts JSON or YAML:

farm: 某某水产养殖场
site: 某某镇某某村
area: 86 亩
rows:
  - { 序号: '1', 批次编号: B-2026-0001, 塘口编号: T-03, 养殖品种: 草鱼,
      投苗日期: 2026-02-20, 苗种来源: 某某苗种场, 检疫证号: JY-2026-0031,
      投入品类型: 配合饲料, 投入品名称: 草鱼配合饲料 2 号, 投入量: '350',
      投入量单位: kg, 使用日期: 2026-03-01, 休药期天数: '0', 起捕日期: 2026-06-20 }

Column names are matched case-insensitively and ignoring spaces, underscores and hyphens; the register's own column names are kept, so a finding names the column it read. Note that 序号 is read as the row's display number — give the batch identifier its own column (批次编号).

Rule sources

Rule data lives in rules/aqua-input-check.yaml. The pack's header states the citation gap in full, and each rule's note repeats the part that matters for that rule. The load-time guard that normally enforces "an excerpt must be a real quotation of at least eight characters" cannot tell a quotation from a description — so this pack leans on the header, the per-rule notes and a test that asserts every excerpt admits the gap.

Troubleshooting

  • AQ-004 reports itself as skipped. One of the two dates or the withdrawal period is missing. Records of feeding with no harvest, for instance, are simply out of scope.
  • AQ-004 fires but I believe the batch is safe. The finding is arithmetic: harvest came earlier than the period you recorded. Whether residue is a problem needs a test result.
  • AQ-006 never runs. Its vocabulary is empty; fill it with the input types your farm uses.
  • AQ-007 fires on a batch with several input records. Several records for one batch should share the batch number. If your register instead numbers each line, disable the rule or use a distinct identifier column.
  • The plugin installs but the tool never appears. Check that main resolves to lib/index.mjs and that pnpm run build produced it; a wrong main makes the loader skip the entry silently.
  • dsh plugin add refuses the package as incompatible. The peer range covers 0.1.x and 0.2.x; if your runtime sits outside it, grant an explicit exemption: dsh plugin --profile <name> allow-version dsh-aqua-input-check@0.1.0 --dsh-version <runtime> --accept-risk
  • check reports manifest-peers as failed. The static checker compares against a hard-coded peer range that predates the 0.2 line. The runtime enforces peer compatibility at install time, so the declared range is the correct one; this is a known upstream issue in dsh-plugin-dev.

Development

pnpm install
pnpm run typecheck   # tsc --noEmit
pnpm test            # vitest, the shared table-plugin suite plus paired fixtures
pnpm run build       # tsdown -> lib/index.mjs + lib/index.d.mts
node ../scripts/sync-shared.mjs dsh-aqua-input-check   # refresh src/shared from ../_shared

The plugin is data-only: src/model.ts declares the table shape, the shared kit supplies the reader and the check engine, and the rule pack declares every check.

License

Apache License 2.0 © 2026 dsh-aqua-input-check contributors.

Comments

Loading…

From the same category

awesome-dsh-plugin

by awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Development & Infrastructure

★ 18.3k

CC0-1.0

Python

Oct 10, 2026

Index only — not installable

by 0xsline

DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.

Development & Infrastructure

★ 1.2k

CC0-1.0

Python

Oct 10, 2026

Index only — not installable

by pax-beehive

Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub

Development & Infrastructure

★ 458

MIT

TypeScript

Oct 6, 2026

Index only — not installable

by xiajiajun516

DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.

Development & InfrastructureManifest valid

★ 175

MIT

TypeScript

Oct 8, 2026

dsh plugin --profile web add dsh-config-manager

by yjh051108

推荐组件(非必须):DeepSeek Harness 运行时注入器;已随 dsh-routing-suite 单仓库化保留,本仓库继续维护/发布。

Development & InfrastructureManifest valid

★ 164

TypeScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by jigjoy-ai

A CLI that turns a goal into a pull request - and a sandbox for testing concurrent AI coding agents on the Mozaik runtime.

Development & Infrastructure

★ 124

MIT

TypeScript

Oct 2, 2026

Index only — not installable