通用合同审查技能。从专业合同审查员角度,对合同进行结构化风险评估,在原合同上标注修订建议,并生成独立审查报告。
用户消息中出现以下任一关键词组合时触发:
审查签约主体时需要参照己方信息。启动审查前,按以下顺序处理:
读取 ~/.workbuddy/contract-review-config.json。若存在且完整,直接使用。
若配置文件不存在或不完整,向用户询问:
检测到尚未设置己方签约信息(此步骤可选)。
设置后可在审查时自动核验签约主体信息。如需设置,请提供以下信息:
- 公司全称
- 纳税识别号(统一社会信用代码)
- 注册地址及电话
- 开户银行及账号
输入"跳过"则仅审查条款风险,不检查签约主体。
用户提供信息后,写入 ~/.workbuddy/contract-review-config.json,格式:
{
"company_name": "XX科技有限公司",
"tax_id": "91440300XXXXXXXXXX",
"address": "XX市XX区XX路XX号",
"phone": "0755-XXXXXXXX",
"bank_name": "XX银行XX支行",
"bank_account": "XXXXXXXXXXXX",
"updated_at": "2026-05-27"
}
若用户要求修改己方信息,按上述格式更新配置文件。修改后告知用户变更内容。
.doc 格式,先用 LibreOffice 转换为 .docx:
```bash
python scripts/office/soffice.py --headless --convert-to docx <合同文件.doc>
```
```bash
pandoc --track-changes=all <合同文件.docx> -t plain -o /tmp/contract_text.txt
```
加载 references/review_rules.md 获取9大审查维度详述。对合同全文逐一检查:
每个维度按以下标准判定风险等级:
| 等级 | 图标 | 判定标准 |
|------|------|----------|
| 高风险 | ? | 可能导致重大经济损失或法律纠纷的条款 |
| 中风险 | ? | 存在潜在不利因素但可通过协商解决的条款 |
| 低风险 | ? | 表述可优化但不影响核心权益的条款 |
同时检测模糊表述:
在原合同 .docx 上用 Track Changes 标注修订建议。
```bash
python scripts/office/unpack.py <原合同.docx> unpacked/
```
unpacked/word/document.xml,对需要修改的条款:
包裹删除文本, 替代
包裹新增文本
scripts/comment.py 添加批注
修订原则:
```bash
python scripts/comment.py unpacked/ 0 "建议明确验收期限为具体天数,避免无限期拖延"
python scripts/comment.py unpacked/ 1 "此处'合理期限'表述模糊,建议明确为30个工作日"
```
```bash
python scripts/office/pack.py unpacked/ <修订版合同.docx> --original <原合同.docx>
```
用 docx-js 生成独立的审查报告 Word 文档。
报告结构:
报告格式要求:
询问用户选择输出模式:
交付文件:
<原合同名>_修订版.docx — 带 Track Changes 的修订版合同
<原合同名>_审查报告.docx — 独立审查报告
当用户要求对比两份合同时(关键词:"合同对比"、"对比合同"、"两版合同差异"):
共 1 个版本