完全本地运行:引擎已经打包在本技能里(engine/ 目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限。
谁会在什么时候用:教培机构的教务 / 财务 / 校区主管,在每月算教师课时费这条流程上:
先把学员课时包的「课耗」导出来,再按排课记录算老师该拿多少课时费,两张数必须对到一起才能发钱。
月底一次要核好几张表(多个教师、多个校区),核完就得往下走。
这张表会逐项核对什么(全是纯算术,几十上百行没人愿意手核):
正课必须有课耗 —— 把两种口径混着填,学员课时包和教师课时费两边都对不平
每条结论都带原文行号与出处(文件名:行号),可被第三方用同一口径复算;
材料不足时不给结论,会明确列出还缺什么。
node scripts/run.mjs --sample # 先看样例
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
入参就是这张表本身:把表头和数据行一起复制成文本贴进来(从 Excel 复制,Tab 分隔最稳),
写成 {"text": "…"} 或直接粘纯文本都行;也可以用 file 字段给个材料名,结论里的行号会带上它。
表头必须能认出这 11 列:教师、校区、课程类型、上课日期、课时数、课时单价、课时费、
代课补贴、学员消课课时、系统课耗课时、合同保底单价(少一列就会直接说"材料不足",不会猜)。
run(payload) 返回 {status, result}:
status:success(已执行检查)或 insufficient_input(材料不足,此时没有 result,也不给任何结论)result.findings[]:每条 = level(P0/P1)、category、line(原文行号)、amount、message(带具体数字)、evidence(文件名:行号)、advice(怎么改)
result.summary:条数、P0/P1 计数、hours_total / pay_total / subsidy_total /consumed_total / sys_consumed_total、verdict(NO_ISSUE_FOUND / NEEDS_REVIEW / ERROR_FOUND)
result.checks_executed / checks_withheld:本次真的执行了哪些、哪些没有执行(如实列出,不伪造)要区分不同学员请自己加一列学员或课次编号。
本免费版是完整可用的核心产出;下面这些检查项不在本版本里执行(引擎会如实列在
checks_withheld 里,绝不会假装做过):
需要这一层能力的是另一个独立商品,条款与条件以它自己的商品页为准;
两档的差别就是上面这些,没有别的。
本免费版会在本包目录里记一个使用次数(scripts/.hint-count,一个整数,不含任何机器或用户信息)。
· 前 3 次:完全离线(不发生任何网络请求),输出与现在完全一样;
· 第 4 次起:服务端会返回一段完整档说明(完整档是另一个独立商品,条款与价格以它自己的商品页为准),届时才会打印这一行;
· 第 4 次起才会向服务端问一次(只发包标识与次数),拿回完整档说明;
· 请求不可用(离线/超时/被拦截)时什么都不做,核对结果与退出码不受任何影响;
· 不想要这次统计可以加 --no-stats(核对功能完全不受影响,只是拿不到完整档说明)。
本版本不包含的检查项见上一节;需要完整档时按服务端返回的官方口令执行,付款由用户本人确认。
本免费版是完整可用的核心产出,本版本不包含下面这些项:
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
本工具不做引擎 CHECKS_OUT_OF_SCOPE 里列的那些判断:
不判断排课、考勤与上课是否真实发生(那是教务排课系统与签到记录的事)、
不判断课时包售价、退费与赠课规则是否合规、不判断课时单价与代课补贴标准本身是否合理合法、
不处理跨月结转、跨校区调课、离职结算与个税社保代扣、不直接读 .xlsx / .pdf。
材料不足时不给结论,也不会输出「未发现问题」。
装到本地或在线用
· SkillHub(免费版):https://www.skillhub.cn/skills/user_ef162806/teacher-hour-pay-check-free
· 全部免费工具:https://chenqg618.github.io/compliance-skills/
完整档(离线、无次数上限):SkillPay 买断 ¥9.9,跑多少次都不再收费;免费档与完整档的检查项差别见上面的说明。
怎么装:
https://chenqg618.github.io/compliance-skills/
免费版会明确列出哪些检查没有执行,不会让你以为已经全查过。