🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

法条引用核对 PerryLink/dsh-lawcite-adapter

DeepSeek Harness
PerryLink27 天前有提交已提供中文文档扫描:未发现敏感能力

逐条检查法条引用的写法与文书要素是否齐全

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/8 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add PerryLink/dsh-lawcite-adapter
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · tool
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 27 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/11/4) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-package-manifest@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 逐条检查法条引用写法
  • 核对文书要素是否齐全
  • 提示差异不作定性结论

法条引用核对:按本机构口径,无公开标准可引。仅提示差异,不作出定性结论。

README

由 DeepSeek 最新模型翻译生成
dsh-lawcite-adapter — 法条引用与法律文书要素检查 dsh-lawcite-adapter 读取一份法条引用清单——文档头加上每一条引用一行——然后检查这份清单自身的可核验性和文书要素:每条引用是否写明法律名称与条号,条号是否符合中文写法,直接引文是否已抄进引文列,效力状态是否出自你自己的词表,引用是否写明用在哪里、论证什么,文档头是否写明标题与类型,引用编号是否重复,引文列里是否还留着没替换掉的占位符。它不核实法条是否存在、是否现行有效、是否已被修订或废止,也不核实它是否适用于本案。 它能回答什么 | 你问 | 它回答 | | 某条引用行有条款号,但法律名称是空的。这会被报出来吗? | 会。LC-001 要求每一行都写明法律名称和条号(lawName、articleNo),哪一行留空就报哪一行。它只检查这两项写没写,不检查法条或条款是否存在:它不带法条数据库,也不去查。 | | 条号写成 第 577 条,或者 第12条第3款。能通过吗? | LC-002 用 ^第[〇零一二三四五六七八九十百千0-9]+条(之[一二三四五六七八九十]+)?$ 匹配 articleNo,所以带空格的 第 577 条 和混写的 第12条第3款 都会被报出来。它只检查条号的写法,不涉及条款是否存在;款号、项号该放进各自的列,所以 articleNo 里写 第12条。
展开完整文档(README 剩余 1 节)
dsh-lawcite-adapter — 法条引用与法律文书要素检查

dsh-lawcite-adapter 读取一份法条引用清单——文档头加上每一条引用一行——然后检查这份清单自身的可核验性和文书要素:每条引用是否写明法律名称与条号,条号是否符合中文写法,直接引文是否已抄进引文列,效力状态是否出自你自己的词表,引用是否写明用在哪里、论证什么,文档头是否写明标题与类型,引用编号是否重复,引文列里是否还留着没替换掉的占位符。它不核实法条是否存在、是否现行有效、是否已被修订或废止,也不核实它是否适用于本案。

它能回答什么

| 你问 | 它回答 |
| 某条引用行有条款号,但法律名称是空的。这会被报出来吗? | 会。LC-001 要求每一行都写明法律名称和条号(lawName、articleNo),哪一行留空就报哪一行。它只检查这两项写没写,不检查法条或条款是否存在:它不带法条数据库,也不去查。 |
| 条号写成 第 577 条,或者 第12条第3款。能通过吗? | LC-002 用 ^第[〇零一二三四五六七八九十百千0-9]+条(之[一二三四五六七八九十]+)?$ 匹配 articleNo,所以带空格的 第 577 条 和混写的 第12条第3款 都会被报出来。它只检查条号的写法,不涉及条款是否存在;款号、项号该放进各自的列,所以 articleNo 里写 第12条。pattern 可以按你自己的体例调整。 |
| 有一行的引文列是空的,另一行还写着 【待补充】。两个都能抓到吗? | 能,靠两条规则。LC-003 要求每一行都抄录 quotedText;LC-008 报出 quotedText 里还留着模板词的行(【、】、{{、}}、XXX、xxx、待填、待补充、TBD、todo、示例)。两者都不拿文本和法条比对:LC-003 只检查引文在不在,LC-008 只检查占位符有没有残留。「略」特意不在模板词里,所以 ……(略) 是正常节略,能通过。 |
| 报告里 LC-004 显示 skipped,而不是通过。为什么? | 因为 LC-004 的 values 列表出厂是空的,也就是效力状态词表没配置,于是这条规则把自己报成 skipped,而不是悄悄通过。把 values 填上你自己的词表(比如 现行有效、已修订、已废止),LC-004 就会检查 effectiveStatus 是否在这个列表里。它检查的是在不在你的列表里,不是记录的状态与事实是否相符。 |
| 这些行只列出法规名称并引用原文,却没说引用用在哪里、要论证什么,表头也没写文档类型。这会被报告吗? | 会。LC-005 要求每条引用行都填 usage 和 purpose,两处都留空就报告;它不判断这条引用是否真的支撑该论点。LC-006 要求表头声明 documentTitle 和 documentType,不判断类型选得对不对。 |
| 同一法条在两个章节里被引用,两行都写着引用编号 3。这算问题吗? | 算。LC-007 会报告在清单内重复出现的 citationNo,因为编号重复会让脚注无法定位到每一条引用。同一法条在多个章节引用很正常:给每条引用各自编号即可。这条规则不判断重复引用同一法条是否恰当。 |

遵循的标准

| 文档 | 编号 | 被哪些规则引用 |
| 本机构法律文书审查口径(本机构配置)—— 原挂《中华人民共和国立法法》,已核实其第六十五条为立法技术条款 | 无统一标准(本条依据为本机构配置的引用管理口径)—— ⚠️ 《立法法》2023 年第二次修正文本已核实,本条不引用该法 | LC-001 |
| 本机构法律文书审查口径(本机构配置)—— 原挂《党政机关公文格式》GB/T 9704—2012,已核实为版式标准 | GB/T 9704—2012(本次未取得条文) | LC-002, LC-003, LC-005, LC-006, LC-007, LC-008 |
| 本机构法律文书审查办法(本机构配置) | 无统一标准(本条依据为本机构配置的效力口径) | LC-004 |

边界: 这个插件检查法条引用清单的可核验性和文档要素——每条引用是否写明法规和条文、条号是否符合中文写法、直接引文是否照录、效力状态是否取自你的词表、引用是否说明用在哪里和论证什么、文档是否写明标题和类型、引用编号是否唯一、有没有残留占位符。它不核实某部法规是否存在、当前是否有效、是否已被修订或废止,也不核实是否适用于本案。

⚠️ 这个插件不查询法规数据库——而这正是关键

它找不到最要命的错误:引用了不存在的法规或条文,或者引用了已废止的法规。 要确认这些,得查国家法律法规数据库,还得结合案件事实,那是法律专业人员的活儿。这个插件检查的是:一条引用有没有留下核验所需的要素——法规、条文、引文、效力状态、用途。

这条边界写在规则包的头部、LC-001、LC-003、LC-004 的备注里,也写在故障排查一节。看到任何检查结果之前先读一遍:这个插件报告干净,不等于说这些引用就是对的。

LC-002 检查条号的形式——中文数字或阿拉伯数字的 第X条,允许 第X条之一——完全不涉及该条文是否存在。LC-003 检查引文是否照录,不检查转写与法条一致。LC-004 的效力状态词表出厂时就是空的,因为没有任何法条的现行状态内置其中。

规则包里的每一条 excerpt 都明明白白写着:条款原文未能取得。 这套制度依据的是《中华人民共和国立法法》、GB/T 9704—2012 以及各机构自己的公文审核规则。核验环节取不到逐字条款原文,所以规则包在 excerpt 字段里直接说明这一缺口,并把每条规则都保持在 warn 或 info。拿到原文后,把每条 excerpt 换成真实条款,并把 kind 提升为 direct。

⚠️ 有一条依据是被纠正,而不是被补全。 GB/T 9704—2012《党政机关公文格式》经逐章核验,确认是一份排版标准——纸张、字体字号、装订、公文要素的位置和式样。它完全没有关于引文管理的规定。 可还是有六条规则挂在它名下(「每处引文都必须写明所引文件与条款」、「直接引用必须照录原文」等等)。这六条现在改以机构自身的公文审核实践为依据,评级为 institutional-configuration,因此落在 info 而不是 warn。它们的备注里写着「按机构实践理解」,却还留在 warn,那就自相矛盾了。

LC-001 随后也照同样方式纠正。 它引的是《中华人民共和国立法法》。这部法律已完整取得,其中确实有一条关于编号的规定——第六十五条:「法律根据内容需要,可以分编、章、节、条、款、项、目」,并附编号规则,还授权全国人大常委会工作机构拟定立法技术规范。但这一条管的是法律自身如何起草、如何编号;对于公文如何引用一部现行法律,它只字未提。于是 LC-001 加入另外七条:本规则包全部八条规则现在都以机构自身的审核实践为依据,评级为 institutional-configuration,落在 info。 见 rules/evidence/clause-verification-basis-mismatch.md。

兼容性

| 层面 | 状态 |
| Harness | 对等范围 >=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0 —— 已验证可接受 0.2.0-rc.2 和 0.2.1-alpha.1。engines.dsh 有意不声明:它没有读取方,也无法拒绝宿主 |
| Node | ^22.19.0 || >=24.0.0 |
| 平台 | 全部(纯 ESM;无原生代码,无网络,不调用模型) |
| 工具模式 | 在 native、ptc 和 both 下均可工作;提交内容较长时用 ptc |

它做什么

注册 lawcite_adapter 工具。它读取一份引文清单——公文抬头,加上每处引文一行——套用带版本的规则包,返回一份报告。

| 规则 | 检查项 | 严重级别 | 依据类型 |
| LC-001 | 写明法律名称与条款序号 | info | local |
| LC-002 | 条款序号符合中文写法 | info | local |
| LC-003 | 直接引用已转录 | info | local |
| LC-004 | 效力状态取自你的词表(默认关闭) | info | local |
| LC-005 | 引注写明位置和用途 | info | local |
| LC-006 | 文书写明标题和类型 | info | local |
| LC-007 | 引注编号唯一 | info | local |
| LC-008 | 引用原文列没有未替换的占位符 | info | local |

安装

dsh plugin --profile <name> add dsh-lawcite-adapter
dsh --profile <name> --dump-config | grep 'dsh-lawcite-adapter'

配置

| 键 | 类型 | 默认值 | 说明 |
| rulesFile | string | rules/lawcite-adapter.yaml | 规则包路径,相对于包根目录 |
| disabledRules | string[] | [] | 停止运行的规则 id;每个都会出现在 skipped 里 |
| onlyRules | string[] | [] | 只运行这些规则 id;留空则运行全部规则 |
| skipNotes | string | "" | 追加到每条 skipped 原因后面的备注 |
| timeoutMs | number | 120000 | 协作式工具超时预算 |

几个值得了解的规则级参数:

- LC-002 pattern —— 条号的形态,默认是 第[〇零一二三四五六七八九十百千0-9]+条,后面可跟一个 之一。如果你的行文习惯写法不同,就调整它。
- LC-004 values —— 你的效力状态词表,例如 [现行有效, 已修订, 已废止, 尚未生效]。留空表示不检查,而且也没有内置任何法规的当前效力状态。
- LC-008 terms —— 要查找的占位符。「略」是故意不列的:……(略) 是节略长引文的正常写法。

材料格式

工具接受 JSON 或 YAML:

documentTitle: 某某买卖合同纠纷起诉状 documentType: 民事起诉状 author: 王律师 draftedAt: 2026-05-12 rows:
- { 序号: '1', 法律法规名称: 《中华人民共和国民法典》, 条号: 第五百七十七条,
引用原文: 当事人一方不履行合同义务或者履行合同义务不符合约定的,应当承担继续履行、采取补救措施或者赔偿损失等违约责任。, 引用位置: 第 2 部分 诉讼请求的事实与理由(第三段), 论证作用: 作为被告违约责任请求权的法律依据, 效力状态: 现行有效, 版本说明: 2020 年 5 月 28 日通过,2021 年 1 月 1 日施行, 引用格式: 脚注① }

列名匹配不区分大小写,并忽略空格、下划线和连字符;清单自己的列名会保留,所以一条检查结果会写明它读的是哪一列。条号可以用中文数字或阿拉伯数字;像 第 577 条 这种带空格的阿拉伯数字写法会被报告出来,好让行文风格保持一致。

规则来源

规则数据放在 rules/lawcite-adapter.yaml。文件头部说明:插件不内置法规数据库,既不核实法规是否存在,也不核实是否有效;每条规则的 note 会重复该规则相关的要点。加载时的守卫仍然要求每条规则都有文书、条款、摘录和来源,也仍然禁止把源自原则或本地配置的检查设为 error。

疑难解答

- 它放过了一条引用已废止法规的引注。 这是有意为之:它检查的是引注可核验,从不检查引注正确。核验需要国家数据库,而插件不会去查询。
- LC-003 放行了一条与法条原文不符的引文。 它只检查引文是否存在。
拿它和法条原文比对,是它刻意省掉的核验步骤。
- LC-002 会在我认为可接受的格式上误报。 按你的行文习惯调整 pattern。注意这里款号和项号各有自己的列,所以 第 12 条第 3 款 应该把 第 12 条 放进条号列。
- LC-004 从不运行。 它的词表是空的,也没有任何法条的状态被内置进去。
- LC-007 会在同一条被引用两次时误报。 在多个章节引用同一条款很正常 —— 给每条引文各自编号,否则脚注无法把它们区分开。
- 插件装上了,工具却始终不出现。 检查 main 是否指向 lib/index.mjs,以及 pnpm run build 是否生成了它;main 写错会让加载器静默跳过入口。
- dsh plugin add 以不兼容为由拒绝这个包。 peer 范围覆盖 0.1.x 和 0.2.x;如果你的运行时落在范围之外,显式授予豁免: dsh plugin --profile <name> allow-version dsh-lawcite-adapter@0.1.0 --dsh-version <runtime> --accept-risk
- check 报告 manifest-peers 失败。 静态检查器比对的是一个硬编码的 peer 范围,早于 0.2 系列。运行时会在安装时强制校验 peer 兼容性,所以声明的范围才是正确的;这是 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-lawcite-adapter # refresh src/shared from ../_shared

插件是纯数据的:src/model.ts 声明表格形状,共享套件提供读取器和检查引擎,规则包声明每一项检查。

License

Apache License 2.0 © 2026 dsh-lawcite-adapter contributors.
预览分享卡片长什么样 ↓PerryLink/dsh-lawcite-adapter
分享 · DeepSeek Harness Hub
PerryLink/dsh-lawcite-adapter

逐条检查法条引用的写法与文书要素是否齐全

这是你的仓库?认领条目

回到顶部