| name | labor-contract-review |
| description | 当用户上传或提供《劳动合同》《聘用合同》《劳务协议》等文件,并希望检查条款是否合法合规、识别不公平或违法条款、获取修改建议与可直接替换的合规表述时使用。触发词包括"检查劳动合同""审查合同""合同合规""劳动合同有没有问题""帮我看看这份合同""审查我的劳动合同风险"。 |
| agent_created | true |
劳动合同合规审查
概述
本技能全国通用,按"国家 → 省 → 市"三级适用法律,自动匹配用人单位所在地(默认中国,据合同"工作地点/注册地"推断省份与城市,必要时询问用户)后,再据对应层级法规审查。接收用户上传的劳动合同(PDF / Word / 图片),自动抽取全文并逐条对照《中华人民共和国劳动合同法》《劳动法》及配套法规与地方法规,判断每条条款的合规状态、风险等级与法律依据,并输出可查看的 HTML 审查报告与 Excel 报告。对违规/高风险条款,额外给出"可直接替换的合规表述"批注与"建议改正内容",并始终从劳动者(员工)立场给出"给员工的建议"列。
适用场景
- 用户上传
.pdf / .doc / .docx / .png / .jpg / .jpeg / .webp 格式的劳动合同或聘用协议。
- 用户表述:"帮我审查这份劳动合同""合同条款有没有违法的""试用期约定合规吗""帮我看看这份合同风险大不大"。
- 用户希望得到逐条结论 + 总体风险评级 + 修改建议 + 可直接套用的合规表述。
工作流程
第 0 步:地域分级检索与自动匹配(国家 → 省 → 市)
本技能全国通用。先确定法域层级,再按对应层级法规审查。
- 确定国家:默认"中国"。若合同显示境外用工(港澳台、海外),提示超出本技能范围或切换法域。
- 确定省 / 市:从合同"工作地点""用人单位注册地""劳动合同履行地"推断;若未明确或多地,主动询问用户所在城市,再据城市映射省份(如"深圳市→广东省""杭州市→浙江省")。
- 实时检索层级变量(WebSearch 检索当前有效数值与法规名称+条款号):
- 省级:月最低工资标准(及地级市执行档次)、上年度社平工资、产假/陪产假天数、高温津贴标准与月份;
- 市级:工资支付条例(发薪日、离职结清时限、工资扣减下限,详见
references/local_regulations.md);
- 关键国家法条最新表述是否修订(如"劳动合同法 试用期 最新规定"),以复核规则库。
- 记录结果:写入
jurisdiction(country/province/city)与 local_rules(每条含 level/source/date/value,如 {"level":"市级","topic":"最低工资","value":"2740 元/月","source":"上海市人社局","date":"2026-01"});保留 local_wage 字段用于报告展示。检索无果时注明"以当地人社部门最新公布为准",严禁杜撰。
第 1 步:定位并读取合同
- 确认用户提供的文件路径;若用户直接粘贴了合同文字,则直接使用贴出的文本,跳到第 2 步。
- 优先做结构化抽取(长文档更可靠):
- 运行
scripts/extract_contract.py <合同路径>,将全文抽到同名的 _extracted.txt;
- 首次运行前在托管 Python venv 中安装依赖:
pip install pdfplumber python-docx;
- 抽取成功则用 Read 读取该 txt。
- 若抽取失败、或文件为图片,直接对原文件使用 Read 工具:PDF 与图片可被 Read 直接解析(图片以视觉方式读取),Word 亦可被 Read 解析。两种读取方式任选其一,优先保证拿到完整原文。
第 2 步:条款分段
- 按"第X条""X、""(X)"或自然章节将合同切分为条款单元,保留原文片段以便引用。
- 连续的正文段落归入其所属条款。
- 统计条款总数,用于报告元信息。
第 2.5 步:必备条款占位符 / 空白值检查(防漏检,硬性要求)
很多合同模板用占位符(如 [起始日期]、[部门]、____、(待填)、纯下划线、空白、"详见附件")写出条款"框架",但核心数值未填实。这类条款绝不能判为"合规/低风险",否则会漏掉真正的必备条款缺失。
- 必备条款范围(《劳动合同法》第 17 条):合同期限(起止日期)、工作内容与工作地点(部门/岗位/地点)、工作时间与休息休假、劳动报酬(金额及支付日期)、社会保险、劳动保护/职业危害防护、用人单位与劳动者基本信息。
- 对每一条必备条款,先检测其值是否为占位符/空白:
- 若值为占位符(方括号、
____、空白、"待填"/"详见附件"等),结论必须为"风险提示"、风险等级"中",维度标注对应必备条款项;quote 回引含占位符的原文;suggestion 要求用人单位填实具体值并给示例;compliant_example 给出填实后的完整表述;employee_advice 说明空白对维权的影响(工龄起算、调岗争议、发薪拖延、社保基数无依据等)。
- 仅在值已填实为具体、明确内容时,才按规则库(R1–R35)正常判定。
- 该检查优先于第 3 步的常规模式匹配:即使条文字面结构"看起来合法"(如"期限自 [起始日期] 起至 [终止日期] 止"),只要有占位符就先判占位符缺失。
第 3 步:逐条合规检查
- 加载
references/labor_law_rules.md 作为检查依据(35 条规则,覆盖订立形式、期限、试用期、报酬、工时、社保、服务期/违约金、竞业限制、押金、解除终止、女职工保护、工作地点等)。
- 对每一条款:
- 在规则库中匹配相关维度;
- 给出结论:合规 / 风险提示 / 违规;
- 标注风险等级(高 / 中 / 低);
- 标注出处、引用证据、严禁编造(本条为硬性要求):每条结论都必须可溯源,不得臆造任何法条、条款内容或数据:
- 合同原文依据:必须回引被判定条款的原文片段(写入
quote),禁止凭空捏造合同未出现的内容;
- 法律出处:必须给出具体法条编号(写入
law,如"《劳动合同法》第19条"),优先以第 0 步实时检索的最新规定为准;
- 数据出处:涉及地域性标准(如最低工资标准)须以来源明确的检索结果为准,并在
local_wage 中标注来源与日期,禁止杜撰数字。
- 地方法规必须一并引用(硬性要求):工资支付、最低工资、加班工资、工资扣减、发薪日、离职结清、解除/终止补偿、竞业限制补偿等条款,除引用国家法律外,
law 字段必须同时引用用人单位所在地工资支付/劳动合同相关地方法规(深圳《深圳市员工工资支付条例》、广东《广东省工资支付条例》、上海《上海市企业工资支付办法》、北京《北京市工资支付规定》等)。具体条款以第 0 步实时检索与 references/local_regulations.md 为准,引用前务必再次核对名称与条款号,严禁杜撰。
- 对**不合规(违规/风险提示)**条款,必须填写
suggestion(建议改正内容,具体、可操作)并从规则库取 合规表述示例 填入 compliant_example;高风险条款设 is_high=true。
- 对所有**不合规(违规/风险提示)**条款,必须填写
employee_advice(站在员工立场的应对建议:能否要求修改/拒签、已签字后可采取的救济途径如协商、向劳动监察投诉、申请仲裁、主张 2N 赔偿、应保留哪些证据等);合规条款可写"本条对员工无不利影响,正常履行即可"或留空(报告显示"—")。该列是本次审查的重心,须具体、可操作、语气偏向保护劳动者。
- 未命中规则的普通条款标注"合规 / 未见明显异常",
suggestion 与 compliant_example 可留空或给常规提示,不要硬凑问题。
- 涉及地域性标准(最低工资、年休假细则等),结合第 0 步检索结果核实,并在
local_wage 中体现。
第 4 步:生成 analysis.json
将分析结果构造为 JSON(结构见 scripts/build_report.py 头部说明),至少包含:
- 元信息:
file_name、review_date、clause_count、overall_rating、overall_summary、local_wage、jurisdiction(country/province/city)、local_rules(层级变量检索结果列表)、disclaimer;
risk_cards:重点(高/中风险)条款卡片,level 为"高"或"中";
rows:每条一款,字段 index / quote / dimension / conclusion / risk / law / suggestion / compliant_example / employee_advice / is_high。
- 不合规行的
suggestion(建议改正内容)须写明具体改正方向;高风险行尽量给出可直接粘贴的 compliant_example。
将 JSON 写入用户工作区(如 analysis.json)。
第 5 步:生成并展示报告
- 运行
scripts/build_report.py <analysis.json> [输出目录]:
- 首次运行前在托管 Python venv 安装:
pip install openpyxl;
- 脚本生成
劳动合同合规审查报告.html 与 劳动合同合规审查报告.xlsx。
- 报告按风险级别从高到低排序(高 → 中 → 低 → 合规),用户打开 Excel 即可一眼看到最高风险条款(HTML 同步排序)。
- Excel 专业格式:表头深色填充、自动筛选(AutoFilter)、冻结首行、风险单元格分级配色、员工建议列浅绿底、列宽/行高自适应、顶部"适用地域(国家/省/市)+ 检索到的地方法规"信息区。
- HTML 报告中,高风险行会自动渲染"💡 可直接替换的合规表述"批注(comment),顶部展示适用地域与检索到的地方法规;"建议改正内容"列给出具体改正内容,"给员工的建议"列从劳动者立场给出应对建议(浅绿底);Excel 版另设"合规表述示例"列,便于复制套用。三列(建议改正内容 / 给员工的建议 / 合规表述示例)共同覆盖"单位怎么改 / 员工怎么办 / 改完长什么样"。
- 调用 present_files 同时展示 HTML(预览)与 XLSX(下载/查看)。
- 在对话中口头摘要:总体风险等级、最需关注的高风险项(≤3 条)、下一步建议。
第 6 步:自检(防复发,硬性)
分析完成后、交付报告前,运行 scripts/validate_analysis.py <analysis.json> 做两道卡点校验,确保上一轮发现的漏判不再复现:
- 规则A(占位符):任一条款
quote 含占位符/空白值(如 [起始日期]、[部门]、[发薪日]、____、待填、详见附件)的,结论不得为"合规"、风险不得为"低"。
- 规则B(地方法规):工资相关条款(维度含 工资/报酬/加班/支付/最低工资/薪酬 等)的
law 字段必须引用本地工资支付/劳动合同法规(名称含 工资支付条例/规定/办法 或 劳动合同条例)。
脚本输出 ✅ 通过或 ❌ 列出具体违规条款。若存在违规,必须回到第 3 步修正 analysis.json 后重跑,不得带着违规交付。
资源
scripts/extract_contract.py
从 PDF/DOCX 抽取纯文本到 _extracted.txt,处理长文档更可靠;.doc 旧格式请转 .docx 或图片。
scripts/build_report.py
读取 analysis.json,生成 HTML 报告(含高风险 comment 批注、建议改正内容列)与 Excel 报告。依赖 openpyxl。
references/labor_law_rules.md
合规检查的核心知识库:每条规则的合规标准、违法信号、风险等级、法律依据、修改建议、合规表述示例,以及员工建议(供报告"给员工的建议"列使用,始终站在劳动者立场)。
references/local_regulations.md
地方法规速查:深圳/广东、上海、北京等地的《工资支付条例/办法/规定》关键条款(发薪日期限、延期上限、扣减下限、加班工资、离职结清、罚则)。引用前务必用 WebSearch 实时核对当前版本与条款号,严禁杜撰。
references/report_template.html
HTML 报告的设计参考(样式与结构),实际渲染由 scripts/build_report.py 完成。
注意事项
- 标准免责声明:每份报告必须包含以下免责声明,原样呈现、不得删减。取自
analysis.json 的 disclaimer 字段;若未提供,脚本自动以默认文本填充(见 scripts/build_report.py 的 DEFAULT_DISCLAIMER):
- 内容性质:本审查报告及分析内容由 AI 辅助生成,仅做参考,不构成正式的法律意见或具有法律约束力的文件。
- 合规责任:用人单位在使用前,必须结合自身实际情况,咨询专业法律人士或人力资源顾问进行审核和修订,以确保完全符合现行法律法规。
- 严禁编造:每条结论必须标注出处、引用证据——合同原文(quote)+ 法律出处(law 法条编号)。不得臆造法条、条款或数据;法条与标准优先以第 0 步实时检索的最新规定为准,并在报告中标注来源。
- 合同可能含个人敏感信息(身份证号、住址),仅用于本次审查,不得外传或用于其他目的。