完全本地运行:引擎已经打包在本技能里(engine/ 目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限。
谁会在什么时候用:生产企业、实验室、仓储的安环(EHS)/ 库管 / 财务,在每个月
做危化品台账自查、安全检查资料准备、月度盘点对账这些固定节点上,必须把这张表核一遍才能往下走。
为什么每个月都必须核:危化品(含易制爆 / 易制毒)按安全生产与危化品管理要求要建
出入库台账与领用记录,做到「双人收发、双人记账、账物相符」,并每月与仓库盘点、领用单、
MSDS / 安全标签、储存条件记录对上。对不上就是重大隐患(应急管理部门的检查项):
账物不符、领用与退库对不上、超期未复检、超量储存,任何一条被查到都要限期整改。
这张表(危险化学品出入库与领用台账)会逐项核对什么:期初库存 / 本期入库 / 本期出库 / 期末库存的逐行勾稽、
期末库存与盘点实存的差异与差异率、领用量与退库量对实际消耗的勾稽、同一品名同一批次同一天的重复登记、
合计行逐列复核(数量列与金额列)、必需列的空白 / 占位符 / 数值格式 / 负数。
每条结论都带原文行号与原文行内容(含具体数字),可被第三方用同一口径复算;
材料不足(例如缺「本期出库」列、只贴了一段说明文字)时不给结论,会明确列出还缺什么。
本免费版只做表内数量与金额的逐行复算与列间勾稽;
不做实物是否真的与台账相符的判定,不做储存场所与安全设施是否达标的判定,不做证件资质认定。
范围就是下面这六项(跑 --sample 会打印实际执行了哪些):
与金额列,都要等于明细行之和;逐列点名差在哪一列。
期末库存 / 盘点实存 / 领用量 / 退库量 / 日期)空白或写成「—」「待补」、数值认不出(不会悄悄当成 0)、
库存为负(负库存)、数量为负、金额为负。
「合计」行只参与第 5 项复核,不参与逐行勾稽 —— 否则一份台账里的合计会被当成一条明细再算一遍。
node scripts/run.mjs --sample # 先看内置样例(一张干净台账,应报 0 条问题)
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
node scripts/run.mjs --input 你的材料.json --json
入参两种写法:
{"text": "(把表头和数据行一起贴进来,Tab 分隔最稳)"}--input 指过去退出码:0 已执行检查 / 1 缺少入参 / 3 材料不足(不给结论)/ 4 入参读不到或无法解析 / 9 未预期错误。
--json 输出一份 JSON:
status —— success 表示检查已执行;insufficient_input 表示材料不足,此时没有结论,missing 逐条列出还缺什么result.findings[] —— 每条含 level(P0/P1/P2)、category、line(原文行号)、message(含原文行内容与具体数字)、advice;账实不符还带 diff 与 diff_rateresult.summary —— 明细行数、合计行数、问题条数、P0/P1/P2 计数,以及期初 / 入库 / 出库 / 期末 / 盘点 / 领用 / 退库 / 消耗 / 金额的合计与账实差异合计result.checks_executed —— 本次真的执行了哪些检查result.checks_not_run —— 本次没执行哪些检查(如实列出,不会用默认值假装做过)result.checks_out_of_scope —— 本工具根本不做的判断result.note —— 零发现时出现,说明"通过"只覆盖上面写明的口径盘盈盘亏要走审批并留痕,账与实两个数都要留着,不能拿实盘数去倒推账面数。
退回车间的料要开退库单并冲减消耗,不能当成新的入库(记成负领用也会被「数量为负」抓到)。
要么合并成一行,要么在备注里写明两张单据号,让两条记录能被区分。
漏一行、多一行、或把「盘点实存」混进「期末库存」都会在这里露出来。
勾稽整项做不了,只能报「关键字段缺失」;看不懂的数值不会当成 0,会单独报「数值无法解析」,
本工具不替你猜一个默认值。
下面这 5 项不在本免费版里,也不会用默认值假装产出(checks_not_run 会如实列出):
本免费版会在本包目录里记一个使用次数(scripts/.hint-count,一个整数,不含任何机器或用户信息)。
· 前 3 次:完全离线(不发生任何网络请求),输出与现在完全一样;
· 第 4 次起:服务端会返回一段完整档说明(完整档是另一个独立商品,条款与价格以它自己的商品页为准),届时才会打印这一行;
· 第 4 次起才会向服务端问一次(只发包标识与次数),拿回完整档说明;
· 请求不可用(离线/超时/被拦截)时什么都不做,核对结果与退出码不受任何影响;
· 不想要这次统计可以加 --no-stats(核对功能完全不受影响,只是拿不到完整档说明)。
本版本不包含的检查项见上一节;需要完整档时按服务端返回的官方口令执行,付款由用户本人确认。
本免费版是完整可用的核心产出,本版本不包含下面这些项:
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
CHECKS_OUT_OF_SCOPE 里列的那些判断:不判定实物是否真的与台账相符(那是现场盘点与监盘的职责)、不判定该品种是否属于危化品 / 易制爆 / 易制毒或是否需备案(那是应急管理与公安部门的认定权)、
不判定储存场所与安全设施是否达标、不判定 MSDS / 安全标签的文字内容是否合规、不读取 .xlsx / .pdf 原件、
核对过程不联网核验许可证与备案证明真伪。
装到本地或在线用
· SkillHub(免费版):https://www.skillhub.cn/skills/user_ef162806/chemical-inventory-check-free
· 全部免费工具:https://chenqg618.github.io/compliance-skills/
完整档(离线、无次数上限):SkillPay 买断 ¥9.9,跑多少次都不再收费;免费档与完整档的检查项差别见上面的说明。
怎么装:
https://chenqg618.github.io/compliance-skills/
免费版会明确列出哪些检查没有执行,不会让你以为已经全查过。