dsh-evidence-check

toolstested: passnpmApache-2.0

Evidence-list completeness check: maps facts to evidence and reports gaps with rule IDs.

下载量 / Downloads
2,424
依赖体积 / node_modules
8.99 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-evidence-check

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

dsh-evidence-check — Court exhibit list completeness and internal consistency check

[English](README.md) · [简体中文](README-zh.md) · [Español](README-es.md) · [Português](README-pt.md) · [हिन्दी](README-hi.md)

<!-- topblock:v1 -->

What it is — Court exhibit list completeness and internal consistency check. It returns a list of what is inconsistent, where, and what to fix.
Who it is for — lawyers and litigation support; no command line required.
What you give it — the source material the check works on (a table, register or document); the original is never modified. Excel can be converted to JSON/YAML first, in chat if the platform supports it.
What it does not do — no compliance verdict, no liability finding, no replacement for the reviewer; differences only.
How to start — search "Documents and Governance Suite" in WorkBuddy / Coze (this check is one part of it; availability as listed); or:
dsh plugin --profile <name> add dsh-evidence-check

<!-- /topblock:v1 -->

![DSH Market](https://dsh.market/)

![dshfind](https://dshfind.com/en/plugins/PerryLink/dsh-evidence-check?ref=badge)

dsh-evidence-check reads one exhibit list — the case header plus one row per exhibit — and checks that list's own completeness and internal consistency: that each exhibit carries a name and the fact it is offered to prove (claim, exhibitName), that its source is recorded, that its form comes from the vocabulary you configure, that obtainedAt parses and does not fall after submittedAt, that no exhibitNo is repeated, that the header declares caseNo and party, and that no template placeholder survives in the fact column. It does not decide whether evidence is authentic, lawfully obtained or relevant, whether it proves the fact, or whether it should be admitted or excluded: that is the court's judgement after cross-examination.

Install

dsh plugin --profile <name> add dsh-evidence-check
dsh --profile <name> --dump-config | grep 'dsh-evidence-check'

What it looks like

Workflow overview: document → rule pack → findings. The examples below use the real command surface.

What it answers

Examples

The table below is the example set: the first row is the detailed walkthrough, the remaining rows are short cases.

Detailed output

Tool evidence_check

Input

~~~json

{"rows":[{"证据编号":"证1","待证事实":"","证据名称":""}]}

~~~

Output

~~~json

{

"id": "dsh-evidence-check.EV-001.de09b5a6",

"ruleId": "EV-001",

"severity": "warn",

"locator": {

"field": "claim",

"row": 1

},

"found": "第 1 行 claim、exhibitName 都为空",

"expected": "claim、exhibitName 至少应填写一项",

"fix": "补填证据名称与待证事实;本条只核对是否填写,不判断证据是否足以证明"

}

~~~

Observed from tests/fixtures/EV-001/EV-001-unsafe.json (cases.json expects EV-001 count 1); run via lib/index.mjs rules/evidence-check.yaml

You ask · What it answers

We filed inside the period the court set. Will this tool confirm that? · No. EV-004 only checks that the two date columns the list itself carries can be parsed and that obtainedAt is not later than submittedAt; it computes no evidence period, because that period is set by the court's notice or agreed by the parties, with extensions and suspensions of its own. A day-by-day reading of the list is therefore not a finding about timeliness.

The exhibit name is filled in but the fact column is blank. · EV-001 covers claim and exhibitName together and asks only that at least one of the two be filled; it reports a row where both cells are empty, and does not judge whether the exhibit is enough to prove the fact.

Two rows carry the same exhibit number. · EV-005 compares the exhibitNo values inside the list, ignoring whitespace, and reports the later row with the row it duplicates. It only establishes that the number is not unique — whether that is a double registration or a mis-copied number is left to you. A blank number cell is not part of that comparison.

The source of this exhibit is obvious, yet the rule fires. · Because the source cell is not filled. EV-002 requires a source on every exhibit the list gives that column to; it checks that the cell has content, not that the source is lawful or that the way it was obtained was proper.

Our list has no case number or filing party in its header. · EV-006 reads the header and reports whichever of caseNo and party the material does not declare. It checks the declaration, not whether what is declared is correct, and a missing declaration is reported once for the header rather than row by row.

Which rule reports skipped, and why? · EV-003 does by default: its values ship empty, which means the form vocabulary is unconfigured, and the plugin will not hard-code a list of kinds of evidence because civil, administrative and criminal procedure do not enumerate the same ones. Fill values with your procedure's own kinds and the rule runs; it then checks only that each form cell is one of them, not which kind a piece of evidence really is.

Standards it follows

Document · Number · Cited by rules

《最高人民法院关于民事诉讼证据的若干规定》 · 法释〔2019〕19号(现行版本与条号本次未核实) · EV-001, EV-002, EV-004, EV-005, EV-006, EV-007

《最高人民法院关于民事诉讼证据的若干规定》 · 法释〔2019〕19号(自 2020 年 5 月 1 日起施行) · EV-003

Boundary: this plugin checks an 证据清单 for what a list can be held to mechanically — that every

exhibit names itself and the fact it is offered to prove, that its source is recorded, that its form comes

from your vocabulary, that acquisition precedes submission, that exhibit numbers are unique, that the list

names its case and the party filing it, and that no placeh

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::11,最后更新 2026-11-04

Links

GitHub · Homepage · npm

Same category