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

危化品台账核对 PerryLink/dsh-hazchem-check

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

核对危化品台账与重大危险源辨识记录差异

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add PerryLink/dsh-hazchem-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
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 核对台账与辨识记录差异
  • 仅提示差异

危险化学品台账与重大危险源辨识记录核对:依据《危险化学品安全管理条例》《危险化学品重大危险源辨识》(国务院令第591号、GB 18218—2018)。仅提示差异,不作出定性结论。

README

由 DeepSeek 最新模型翻译生成
dsh-hazchem-check — 危险化学品台账与重大危险源辨识检查 dsh-hazchem-check 读取一份危险化学品台账及其重大危险源辨识记录——包含站点表头和每种物质一行——然后检查台账自身的完整性与算术:每种物质是否都有名称和危险类别,存储量能否解析为数字,是否记录了阈值,「重大危险源」判定是否与存储量和台账自述阈值的比较结果一致,已存储物质是否记录了安全数据表编号,CAS 号是否重复,表头是否声明了辨识依据,以及名称列中是否残留模板占位符。 它能回答什么 | 你问 | 它回答什么 | | 台账写着「否」,但存储量高于旁边写的阈值——这种情况能查出来吗? | 能。HZ-003 比较台账自身携带的两个数字,当判定与它们不一致时报告该行。它不判断该单位是否真的是重大危险源。 | | 某行完全没有阈值。检查会说什么吗? | 会。HZ-004 要求每一行的阈值列都必须填写。它只检查有值,不检查该值对该物质是否正确——填 0 也能通过。 | | 化学品名称填了,但危险类别是空的。 | HZ-001 要求每行两者都有,缺少任一项就报告该行。它不判断类别是否正确。 | | 数量列写着 1,500 kg——还能读出来吗? | 能。HZ-002 取其中的数字部分;只有无法解析的数量才会被报告。数字是否真实,或是否按设计最大值取值,不在检查范围内。
展开完整文档(README 剩余 1 节)
dsh-hazchem-check — 危险化学品台账与重大危险源辨识检查

dsh-hazchem-check 读取一份危险化学品台账及其重大危险源辨识记录——包含站点表头和每种物质一行——然后检查台账自身的完整性与算术:每种物质是否都有名称和危险类别,存储量能否解析为数字,是否记录了阈值,「重大危险源」判定是否与存储量和台账自述阈值的比较结果一致,已存储物质是否记录了安全数据表编号,CAS 号是否重复,表头是否声明了辨识依据,以及名称列中是否残留模板占位符。

它能回答什么

| 你问 | 它回答什么 |
| 台账写着「否」,但存储量高于旁边写的阈值——这种情况能查出来吗? | 能。HZ-003 比较台账自身携带的两个数字,当判定与它们不一致时报告该行。它不判断该单位是否真的是重大危险源。 |
| 某行完全没有阈值。检查会说什么吗? | 会。HZ-004 要求每一行的阈值列都必须填写。它只检查有值,不检查该值对该物质是否正确——填 0 也能通过。 |
| 化学品名称填了,但危险类别是空的。 | HZ-001 要求每行两者都有,缺少任一项就报告该行。它不判断类别是否正确。 |
| 数量列写着 1,500 kg——还能读出来吗? | 能。HZ-002 取其中的数字部分;只有无法解析的数量才会被报告。数字是否真实,或是否按设计最大值取值,不在检查范围内。 |
| 哪些行必须填安全数据表编号? | HZ-006:每一行有存储量的。该规则只检查编号是否填写,不检查数据表是否完整或是否属于该物质。 |
| 同一个 CAS 号出现两次,在两个仓库里。 | HZ-007 报告重复的 CAS 号,因为它会破坏去重和数量合计。一种物质分放多个仓库是合理形态:在储存地点列中加以区分,或禁用该规则。没有 CAS 列时,该规则报告无法运行,而不是静默通过。 |

它遵循的标准

| 文件 | 编号 | 引用规则 |
| 《危险化学品安全管理条例》 | 国务院令第591号(2002年1月26日国务院令第344号公布,2011年2月16日国务院第144次常务会议修订通过,自2011年12月1日起施行) | HZ-001, HZ-002, HZ-003, HZ-004, HZ-006, HZ-008 |
| 《危险化学品重大危险源辨识》 | GB 18218—2018(2018-11-19发布,2019-03-01实施;全部技术内容为强制性;代替GB 18218—2009) | HZ-002, HZ-003 |
| 《危险化学品重大危险源辨识》 | GB 18218—2018(本次未取得条文) | HZ-005 |
| 《危险化学品安全管理条例》 | 国务院令第591号(本次未取得条文) | HZ-007 |

边界: 本插件检查危险化学品台账与重大危险源辨识记录的完整性与算术——即每个化学品名称自报其名称与危险类别,存储量可解析,阈值有记录,重大危险源判定与存储量同登记册所载阈值的比较结果一致,存储的化学品记录其安全数据表编号,CAS 号不重复,登记册声明其识别依据,且无占位符残留。它不判定某单元是否构成重大危险源、是否必须登记、是否需要安全评估,或是否属于重大隐患。

⚠️ 标准怎么说,以及本插件找不到的四类错误

GB 18218—2018 已获取并逐字阅读(见 rules/evidence/clause-verification-tables.md):发布 2018-11-19,实施 2019-03-01,前言写明「本标准的全部技术内容为强制性的」——整部标准为强制性——且它取代 GB 18218—2009(2000 版和 2009 版均已废止,引用它们就是错的)。
临界量(3.3)、单元(3.2)和重大危险源(3.4)的定义、判定规则 4.1.2,以及表 1 的前 35 行,均在该报告中引用。

表 1 仅完整到第 35 行,表 2 未获取,因此没有内置任何阈值,也无法核查任何阈值。HZ-003 将存储量与登记册自身记录的阈值比较,并核查判定是否一致。因此它找不到四类错误,其自身说明也如此写道:

1. 阈值取自错误物质或错误危险类别——4.1.2 要求:列明物质用表 1,其他用表 2。
2. 多种危险性的物质未取其最低阈值——4.1.2 b):「若一种危险化学品具有多种危险性,按其中最低的临界量确定」。登记册只载一个数值,向上取整会漏掉重大危险源。
3. 多物质校正——同一单元内,S = q₁/Q₁ + q₂/Q₂ + … + qₙ/Qₙ ≥ 1 也构成重大危险源。本插件不做该求和,因为识别按生产或储存单元进行(3.2、3.5、3.6),而登记册列出物质时不按单元分组。
4. 数量基准——4.2.2 要求数量取设计最大值,而登记册可能记录现有库存。

⚠️ 留在标准范围内。 第 1 章排除危险化学品的厂外运输(铁路、公路、水运、航空、管道)、核设施与军事设施、采矿(加工和储存除外),以及海上油气开采。对运输货物使用本插件超出范围——那由危险货物运输规则管辖,而非 GB 18218。

因此,一条发现只意味着「你写的两个数字与你自己的判定不一致」。上述四项需要在标准下逐单元计算,属于安全评估和监管判定任务。每个 excerpt 仍然写着「本次未取得」,每条规则也仍是 warn 或 info,因为这个插件检查的是登记表的内部一致性,而不是某个阈值取值对不对。

兼容性

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

它做什么

注册 hazchem_check 工具。它读取一份化学品登记表 —— 站点表头,加上每种物质一行 ——套用带版本号的规则包,返回一份报告。

| 规则 | 检查内容 | 严重级别 | 依据类型 |
| HZ-001 | 名称和危险性类别已记录 | warn | principle |
| HZ-002 | 储存量能解析成数字 | warn | principle |
| HZ-003 | 判定结论与储存量、临界量一致 | warn | principle |
| HZ-004 | 已记录临界量 | warn | principle |
| HZ-005 | 登记表声明了辨识依据 | warn | principle |
| HZ-006 | 已储存的化学品记录了 SDS 编号 | warn | principle |
| HZ-007 | CAS 号不重复 | warn | principle |
| HZ-008 | 名称列里没有未替换的占位符 | warn | principle |

安装

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

配置

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

值得了解的规则级参数:

- HZ-003 valueField / limitField / verdictField / overValues / atMostValues / tolerance —— 三个列名和两套判定结论词表,默认分别是 [是, Y, yes, true, 构成, 重大危险源, √] 和 [否, N, no, false, 不构成, 未构成]。
- HZ-008 terms —— 要查找的占位符。

材料格式

工具接受 JSON 或 YAML:

company: 某某化工有限公司 site: 某某厂区 assessmentAt: 2026-03-01 basis: GB 18218—2018 与 2025 年版危险化学品目录 rows:
- { 序号: '1', 化学品名称: 甲醇, CAS号: 67-56-1, 危险性类别: 易燃液体,
储存位置: 罐区 T-01, 最大储存量: '80', 计量单位: t, 临界量: '500', 是否重大危险源: 否, 安全技术说明书编号: SDS-2026-0018, 保管人: 李工 }

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

规则来源

规则数据放在 rules/hazchem-check.yaml。文件头部说明了插件不带阈值表,也不做多物质校正,每条规则的 note 会重复该规则相关的要点。加载时的守卫仍然要求每条规则提供 document、clause、excerpt 和 source,也仍然禁止把源自原则的检查设为 error。

故障排查

- HZ-003 通过了一个我知道是错的阈值。 它拿登记簿写明的阈值来比对。那个值是否属于正确的物质和危险类别,是实质性问题,它不碰。
- 某个单元本该是重大危险源,它却没报。 它没有阈值表,也不做 GB 18218 的多物质求和。这个单元得你自己按标准算。
- HZ-004 通过了 0 这个阈值。 该规则只检查这一列填了没有,不管填的是什么。只有对照标准的人才能判断这个值。
- HZ-007 从不运行。 登记簿里没有 CAS 号。缺少唯一标识时,规则会报告无法运行,而不是去检查错误的列。
- HZ-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-hazchem-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-hazchem-check # refresh src/shared from ../_shared

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

许可证

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

核对危化品台账与重大危险源辨识记录差异

这是你的仓库?认领条目

回到顶部