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

许可台账核对 PerryLink/dsh-permit-report-check

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

核对许可办理台账的日期与材料一致性

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add PerryLink/dsh-permit-report-check
该包不可直接 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-permit-report-check — 行政许可办理台账完整性与日期一致性检查 dsh-permit-report-check 读取一份行政许可办理台账——申请人表头,加上每条申请事项一行——检查台账自身的闭环与内部一致性:申请材料 列中列出的每项材料是否记录了提交情况,受理日期 是否不晚于 决定日期,决定日期 是否落在 受理日期 与台账自己记录的 承诺办结日 之间,决定结果 是否来自你配置的词表,决定结果 标记为准予的记录是否带有 许可证号,表头是否写明 申请人 和 申请事项,以及表中是否有 许可事项 重复登记。 它能回答什么 | 你问 | 它回答什么 | | 某行在 申请材料 里列了材料,但 已提交材料 是空的——这会被报出来吗? | 会。PR-001 要求每一行只要 申请材料 单元格有内容,就必须有 submittedItems 值,提交列一空就报出该行。它读取台账自己的材料列,只检查是否记录了提交情况:不会拿这份清单去比对事项的服务指南,也不判断提交的材料是否齐全、是否合规。如果没有任何一行的 申请材料 单元格有内容,规则会在 skipped 里报告自己。 | | 受理日期 晚于 决定日期——这会被抓到吗? | 会。PR-002 比较台账自己携带的两个日期,acceptedAt 对 decidedAt,同一天不算晚,受理在决定之后的行会被报出。
展开完整文档(README 剩余 1 节)
dsh-permit-report-check — 行政许可办理台账完整性与日期一致性检查

dsh-permit-report-check 读取一份行政许可办理台账——申请人表头,加上每条申请事项一行——检查台账自身的闭环与内部一致性:申请材料 列中列出的每项材料是否记录了提交情况,受理日期 是否不晚于 决定日期,决定日期 是否落在 受理日期 与台账自己记录的 承诺办结日 之间,决定结果 是否来自你配置的词表,决定结果 标记为准予的记录是否带有 许可证号,表头是否写明 申请人 和 申请事项,以及表中是否有 许可事项 重复登记。

它能回答什么

| 你问 | 它回答什么 |
| 某行在 申请材料 里列了材料,但 已提交材料 是空的——这会被报出来吗? | 会。PR-001 要求每一行只要 申请材料 单元格有内容,就必须有 submittedItems 值,提交列一空就报出该行。它读取台账自己的材料列,只检查是否记录了提交情况:不会拿这份清单去比对事项的服务指南,也不判断提交的材料是否齐全、是否合规。如果没有任何一行的 申请材料 单元格有内容,规则会在 skipped 里报告自己。 |
| 受理日期 晚于 决定日期——这会被抓到吗? | 会。PR-002 比较台账自己携带的两个日期,acceptedAt 对 decidedAt,同一天不算晚,受理在决定之后的行会被报出。它只比较这两个日期:不判断受理是否合法,也不判断该申请本应不应当受理。解析不了的日期会作为单独一条发现报出,而不是悄悄跳过。 |
| 承诺办结日 列为空时会怎样——法定时限 列到底查不查? | PR-003 会在 skipped 里报告自己:不内置任何天数,因为法定期间按工作日计算,可能延长,也可能扣除听证或专家评审时间,所以唯一的基准就是台账写明的 承诺办结日(dueAt)。没有任何规则读取 法定时限(legalDays)列。dueAt 有值时,规则检查 决定日期 是否落在 受理日期 与它之间;报出发现意味着决定与你记录的期限不一致,绝不意味着决定逾期。 |
| 我在 决定结果 里写了 补正后准予。这会被接受吗? | PR-004 拿 决定结果 对照 values 参数里的词表,而该参数出厂为空——所以按交付状态,规则会在 skipped 里报告自己,而不是评判你的措辞。把 values 填上你单位记录的结果(例如 不予受理),不在列表里的值都会被报出。规则只检查值是否在列表里;不判断决定是否正确、是否合法。 |
| 记录写着准予,但许可证号一栏是空的。 | PR-005 会报告:当决定结果命中准予标记——conditionValues,默认是准予 / 准予许可 / 通过 / 同意 / 已办结 / 批准——记录必须带上对应的许可证号(certificateNo)。它只检查号码是否填了,不检查证件是否真实、有效或已送达。没有任何一行命中准予标记时,规则会在 skipped 里报告自己。 |
| 同一许可事项出现在两行里。 | PR-007 会报告靠后的那一行,并指出它重复了哪一行,因为同一事项登记两次会让期限检查变得含糊。它只查唯一性,命中后需要人工确认:一个项目申请多个事项,看起来可能一样,所以要在材料列里区分,而不是删掉那一行。空白字符的差异会被忽略;没有许可事项列时,规则会在 skipped 里报告自己。 |

遵循的标准

| 文件 | 编号 | 被哪些规则引用 |
| 《中华人民共和国行政许可法》 | 现行版本与条号本次未核实 | PR-001, PR-002, PR-005, PR-006, PR-007 |
| 各事项办事指南与承诺时限(本机构配置) | 无统一标准(本条依据为台账写明的承诺办结日)—— ⚠️ 法定上限见《行政许可法》第四十二条,本条不引用该条 | PR-003 |
| 本机构许可办理管理口径(本机构配置) | 无统一标准(本条依据为本机构配置的结果口径)—— ⚠️ 法定决定类型见《行政许可法》第三十八条,本条不引用该条 | PR-004 |

边界: 这个插件检查的是行政许可办理台账能否守住一本登记簿该守的闭环——每个申请事项都记下它的提交,受理不排在决定之后,决定落在受理与承诺办结日之间,决定结果出自你的词表,准予记下它的许可证号,登记簿写明申请人和事项,事项不被重复登记。它不判定许可决定是否合法、材料是否齐全合规、申请是否应当受理、许可是否应当准予。

⚠️ 这个插件刻意不评判什么

它不检查材料清单是否完整。 它读的是登记簿自己的申请材料列,检查列出的每一项是否记下提交情况——不是检查这份清单是否与该事项的办事指南一致。核对清单意味着拿它和指南比对,这个插件不做这件事。

没有内置任何法定期限——而法条本身就说明了为什么这样做才对。
《中华人民共和国行政许可法》已逐字读过(见 rules/evidence/clause-verification.md),其中三条让内置数字无法使用:第八十二条要求法定期限按工作日计算,不含法定节假日;第四十二条规定二十日、可延长十日(联合办理为四十五日加十五日);第四十五条把听证、检测、检验、专家评审所需的时间完全排除在期限之外。登记簿通常记的是日历日期,所以 PR-003 比较的是决定对照登记册里写明的承诺办结日期,如果那一列是空的,就自行归入 skipped。一条发现的意思是「这跟你记录的期限对不上」,绝不是「这事办晚了」。

⚠️ 读到的文本是 2003 年公布版本;2019 年有修正案,本次未取得,所以规则包里每条规则都保留「现行版本与条号本次未核实」这句提示,也不声称任何条文是现行法律。

结果词表出厂时是空的。 准予、不予、终止的措辞因机构和事项而异,所以 PR-004 在你配置之前自行归入 skipped;PR-005(一旦记录了准予,就要求填证书编号)用的是一组可配置的准予标记值,而不是内置列表。

规则包里每个 excerpt 都明说了:条款原文未取得。 制度依据在《中华人民共和国行政许可法》和各事项的服务指南里。核查环节取不到逐字条款原文,所以规则包在 excerpt 字段里直接写明这一缺口,并把每条规则都保持在 warn 或 info。拿到文本后,把每个 excerpt 换成真实条款,并把 kind 提到 direct。

兼容性

| 层面 | 状态 |
| 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 |

它做什么

注册 permit_report_check 工具。它读取一份许可登记册 —— 申请人表头,加上每个申请事项一行 —— 套用带版本号的规则包,返回一份报告。

| 规则 | 检查内容 | 严重级别 | 依据类型 |
| PR-001 | 每个列出的材料都记录了提交情况 | warn | principle |
| PR-002 | 受理不在决定之后 | warn | principle |
| PR-003 | 决定落在受理与承诺日期之间 | info | local |
| PR-004 | 结果出自你的词表(默认关闭) | info | local |
| PR-005 | 准予记录了证书编号 | warn | principle |
| PR-006 | 登记册写明了申请人和事项 | warn | principle |
| PR-007 | 事项没有重复登记 | warn | principle |

安装

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

配置

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

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

- PR-003 需要登记簿的承诺办结日 / dueAt 列。插件从不按天数推算截止日期;法定时限因事项而异,还可能延长。
- PR-004 values —— 你的结果词表,例如 [准予, 不予, 不予受理, 终止, 补正后准予]。留空表示不检查。
- PR-005 conditionValues —— 标记准予的值,默认是 [准予, 准予许可, 通过, 同意, 已办结, 批准]。
- PR-001 conditionField / requiredFields —— 哪一列触发这项要求;材料列触发要求,要求的是提交列。

材料格式

工具接受 JSON 或 YAML:

applicant: 某某公司 matter: 某某建设项目环评审批 window: 综合受理窗口 rows:
- { 序号: '1', 许可事项: 建设项目环境影响评价文件审批, 许可机关: 某某生态环境局,
法定依据: 《中华人民共和国环境影响评价法》第二十二条, 申请材料: 环境影响报告书全本及公众参与说明, 已提交材料: 已提交报告书全本(含公众参与说明),受理编号 SL-2026-018, 受理日期: 2026-03-02, 法定时限: '60', 承诺办结日: 2026-04-30, 决定日期: 2026-04-20, 决定结果: 准予, 许可证号: 某环审〔2026〕18 号, 承办人: 王工 }

列名匹配不区分大小写,并忽略空格、下划线和连字符;登记簿自己的列名会保留,所以一条发现会指明它读的是哪一列。

规则来源

规则数据放在 rules/permit-report-check.yaml。规则包的头部完整说明了引用缺口,每条规则的 note 又重复了与该规则相关的那部分。加载时的守卫通常要求「摘录必须是至少八个字符的真实引文」,但它分不清引文和描述——所以这个规则包依靠头部、每条规则的 note,以及一个测试,该测试断言每个 excerpt 都承认这一缺口。

故障排查

- PR-003 报告自己已跳过。 登记簿没有记录承诺办结日。法定时限因事项而异,还可能延长,所以插件不会自行补一个。
- PR-003 触发了,但我认为办理是及时的。 记录的承诺日期与决定日期不一致。要么截止日期算错了,要么决定日期错了。
- PR-001 没抓到缺失的材料。 它检查的是登记簿自己的清单,不是办事指南的清单。清单是否完整,这项比较插件不做。
- PR-004 从不运行。 它的词表是空的;填入你所在机构记录的结果。
- PR-005 在准予但没有许可证号时触发。 要么证书还没发,要么那一列留空了。如果你的登记簿用了别的准予措辞,就收窄 conditionValues。
- 插件装上了,但工具一直不出现。 检查 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-permit-report-check@0.1.0 --dsh-version <runtime> --accept-risk
- check 会把 manifest-peers 报为失败。 静态检查器比对的是一个写死的 peer 范围,这个范围早于 0.2 分支。运行时会在安装时强制校验 peer 兼容性,所以声明的范围才是正确的;这是 dsh-plugin-dev 里已知的上游问题。

开发

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-permit-report-check # refresh src/shared from ../_shared

这个插件是纯数据的:src/model.ts 声明表结构,共享工具包提供读取器和检查引擎,规则包声明每一条检查。

许可证

Apache License 2.0 © 2026 dsh-permit-report-check contributors。
预览分享卡片长什么样 ↓PerryLink/dsh-permit-report-check
分享 · DeepSeek Harness Hub
PerryLink/dsh-permit-report-check

核对许可办理台账的日期与材料一致性

这是你的仓库?认领条目

回到顶部