| name | contract-cleaner |
| title | Contract Cleaner |
| description | 清洗合同、整理合同格式、统一合同术语、规范合同条款。当用户需要 整理、格式化、统一术语、清洗合同文本时使用。 触发词:清洗合同、整理合同、合同格式化、合同术语、合同规范化、 合同文本清洗、修复合同。 |
| author | MarvinLann |
| author_url | https://github.com/MarvinLann/contract-cleaner |
| license | Apache-2.0 |
| version | 0.1.0 |
| execution_mode | open |
| jurisdiction | general |
| practice | contracts |
| language | zh |
Contract Cleaner
将混乱的合同文本变成干净、规范、符合法律语言体系的 Markdown。
CRITICAL:完整流程必须全部执行
本工具的清洗流程包含 Python 步骤和 AI 步骤,必须按顺序全部执行,不能只跑 Python 命令就结束。缺少任何一步都会导致输出未经清洗。
完整流程:
1. Python preprocess → 生成会话目录 + 编号规范化输入文件
2. AI 编号规范化 → 读取 numbering.md,只改编号不改内容,写入 02 文件
3. Python preprocess-continue → 加载 02 文件,分块
4. AI 五遍清洗 → 逐块执行:义务句式 → 结构重组 → 格式清理 → 质量验证 → 最终润色
5. Python finalize → 拼接 + 自检 + 导出 docx
禁止跳过步骤 2 和步骤 4。步骤 2 是编号规范化的核心,步骤 4 包含义务句式、结构重组、格式清理、质量验证、最终润色共 5 个 pass,跳过任何 pass 都会导致输出质量不达标。
执行流程
第 1 步:预处理
python scripts/auto_cleaner.py --stage preprocess -i <合同文件>
此命令会完成文档转换、格式清洗、规则引擎,输出到 清洗会话_<合同名>_<时间戳>/ 目录。
关键输出文件:
_原始轻量.md — 原合同轻量清理版(仅清理 docx 转换噪音,用于 pandiff 对比基线)
00_规则引擎输出.md — 规则引擎处理后的文本
01_编号规范化输入.md — 待编号规范化的文本
第 2 步:AI 编号规范化(CRITICAL,不可跳过)
此步骤由你(Agent)直接执行,不需要调用任何外部 API。
- 读取
references/prompts/numbering.md 获取编号规范化规则
- 读取会话目录中的
01_编号规范化输入.md
- 按规则处理文本,统一编号为标准层级:
- 一级:第一条、第二条……(加粗)
- 二级:1.1、1.2……
- 三级:(1)、(2)……
- 只改编号,不改任何文字内容
- 将结果写入会话目录中的
02_编号规范化输出.md
💡 _原始轻量.md 在 preprocess 阶段已自动生成,不需要你处理。finalize 阶段会优先用它作为 pandiff 的"原合同"对比基线。
第 3 步:预处理继续
python scripts/auto_cleaner.py --stage preprocess-continue --session <会话目录名>
此命令会加载 02_编号规范化输出.md,执行分块,输出 chunks 目录和 manifest.json。
第 4 步:AI 五遍清洗(CRITICAL,不可跳过)
此步骤由你(Agent)直接执行,不需要调用任何外部 API。
读取 manifest.json,对 needs_ai: true 的每个 chunk,按顺序执行 5 个 pass:
Pass 1 — 义务句式:
- 读取
references/prompts/obligation.md
- 读取 chunk 文件内容
- 按 obligation.md 的要求处理文本(为义务性条款添加"应当"等)
- 将结果写回原 chunk 文件
Pass 2 — 结构重组: