多份合同条款差异比对(免费)
一句话:把同一模板下签的多份合同摆在一起逐条对齐 —— 不需要付款,也不需要注册。
完全免费:不需要付款、不需要注册、不需要配置任何 API Key,直接调用即可。
什么时候用
- 按同一个模板签了一叠合同,想确认有没有哪一份被单独改过一条
- 想知道哪一份少了哪一条(例如少了整条保密义务)
- 想知道同一条款在不同合同里有几个版本、分别是哪几份
这个免费版查什么
| # | 检查项 |
|---|---|
| 1 | 条款切分与横向对齐:把每份合同按「第X条」切开,按条款标题对齐 |
| 2 | 缺条 / 多条:某份合同少了或多了哪一条 |
| 3 | 条款正文不一致:同一条的各版本摘要与涉及哪几份 |
| 4 | 条款对照表:每条被几份覆盖、有几份不同版本 |
对齐按标题、不按编号 —— 某一份中间多了一条时,后面的编号会整体错位, 按编号对齐会报出一堆假差异。标题写法略有不同不会误报(「违约责任」与「违约责任与赔偿」会被认成同一条)。
怎么用
node scripts/run.mjs --sample
node scripts/run.mjs --input my-contracts.json
node scripts/run.mjs --input my-contracts.json --json
入参两种写法,任选:
{ "contracts": [
{ "name": "合同A", "text": "第三条 服务期限\n本协议自 2026年3月1日 起生效…" },
{ "name": "合同B", "text": "第三条 服务期限\n本协议自 2026年3月1日 起生效…" }
] }
或者直接给纯文本:每份合同用单独一行「合同一」「合同二」这样的分节标题开头(也可以空行分隔):
合同一
技术服务合同
第三条 服务期限
本协议自 2026年3月1日 起生效,至 2027年2月28日 止。
合同二
技术服务合同
第三条 服务期限
本协议自 2026年3月1日 起生效,至 2027年2月28日 止。
退出码
| 码 | 含义 |
|---|---|
| 0 | 已执行检查 |
| 1 | 没给入参 |
| 3 | 材料不足 —— 此时不给结论(既不说"一致",也不说"不一致") |
| 4 | 入参文件读不到或无法解析 |
| 9 | 未预期错误 |
这个免费版不包含
以下检查项不在本版本范围内,调用时也不会执行:
- 关键字段跨合同对比(合同金额 / 违约金比例 / 预付款比例 / 争议解决 / 合同期限)
- 日期逻辑(签订日 ≤ 生效日 ≤ 到期日)
- 模板占位符残留(
【填写…】/XXX/TBD) - 合同金额大小写是否一致
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 关键字段跨合同对比(合同金额 / 违约金比例 / 预付款比例 / 争议解决 / 合同期限)
- 日期逻辑(签订日 ≤ 生效日 ≤ 到期日)
- 模板占位符残留(【填写…】/ XXX / TBD)
- 合同金额大小写是否一致
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
- 本工具只做AI比对,不判断哪一份条款对甲方/乙方更有利,也不给法律意见;
- 不认定条款是否有效、是否违法;
- 不核对签署人权限、印章真伪或签署流程;
- 不做"语义等价"判断:用词相近但法律含义不同的条款,本工具按文本差异如实报出;
- 「没报问题」不等于「没有问题」:超出上述四类的检查,本版本不执行;
- 材料不足时不给结论,也不会用默认值编一个「一致」出来;
输出示例
[P1] 缺条
条款「保密义务」有 1 份合同写了、1 份没有:合同一。
建议:同一模板下的合同条款应当一致;请确认是遗漏、是被删掉,还是这一份本来就另用模板。
[P1] 条款正文不一致
条款「违约责任」在 2 份合同里有 2 个不同版本:
1 份写的是「第八条 违约责任 任何一方违约,应向对方支付合同总金额 5% 的违约金。」;
1 份写的是「第八条 违约责任 任何一方违约,应向对方支付合同总金额 2% 的违约金。」。
