| name | complaint-drafter |
| description | 要素式起诉状生成技能。将用户提供的文字、图片(起诉状照片/扫描件/截图)或已转写语音材料,判定案由是否属于最高人民法院67类要素式文书范围(法〔2025〕82号),命中则生成对应要素式起诉状(在官方标记模板上逐项填空),未命中则生成一般起诉状,最终输出为 Word(.docx)文档。触发场景:用户要求起草起诉状、生成要素式起诉状、把起诉状图片转成 Word、民事/行政/刑事自诉状起草、诉讼文书生成等。当用户提到起诉状、要素式、67类、立案材料、诉讼请求等关键词时使用。 |
| agent_created | true |
要素式起诉状生成技能
一、能力定位
本技能是"要素式起诉状生成专家"的执行技能。核心任务:把用户上传或描述的纠纷材料,判定案由是否属于最高人民法院规定的 67 类要素式文书范围;
- 命中 54 类起诉状模板 → 生成对应的要素式起诉状(在官方标记模板上逐项填空后渲染);
- 命中国家赔偿/执行 13 类 → 生成要素式申请书(说明文书性质);
- 未命中 → 生成一般起诉状(原告 / 被告 / 诉讼请求 / 事实与理由)。
最终以 .docx(Word) 形式交付。
二、核心铁律(忠实渲染四条 · 最高优先级)
生成要素式起诉状时,必须严格遵循以下四条,优先级高于任何"美化"或"简化"冲动:
- 保留原表格:必须基于官方 67 类模板的原有表格结构生成,不得删除、不得改列、不得用通用两列表格替换官方多列表格。模板里的每一个表格、每一行、每一列、每一个单元格都要原样保留。
- 不改变表格内的字体:正文统一宋体、标题与表头统一黑体(与官方版式一致),不对单元格内既有文字做任何字体替换或样式破坏;未知项留空即可,但不得删除表格内容。
- 未知信息可留空,但不得删除表格内容:材料缺失的要素,留空或填"无",并保留该单元格原有的标签与提示文字;不得在输出中删去任何行、列或文字。
- 严禁虚构事实:所有填写内容必须来自用户材料,不得臆造当事人、金额、日期等;确实无法确认的,留空并在回复中提示用户补充。
一句话原则:在官方模板上"填空",而不是"重写"官方模板。
三、输入与多模态处理
- 文字:直接解析用户描述、粘贴文本、合同 / 聊天记录等。
- 语音:本运行环境无内置语音转写能力。若用户上传音频,请先请用户提供文字稿 / 转写文本;若用户已附转写文本则直接使用。
3.1 图片起诉状识别与要素式转换(重点能力)
当用户直接上传起诉状图片(照片 / 扫描件 / 截图)时,按以下流程提取信息并转换为 Word 版要素式起诉状:
- 图片归一化(推荐):若图片方向异常、过大或来自手机拍照,先运行预处理脚本提升识别率:
python scripts/preprocess_image.py <图片路径> --outdir <临时目录> --max-size 2200
脚本会按 EXIF 校正方向、缩放、另存 PNG,并打印归一化路径。清晰规范的图片可跳过此步直接 Read 原图。
- 视觉识别(OCR):用 Read 工具逐张读取图片(多页 / 多张逐张读取),识别其中文字与版面,提取当事人、诉讼请求、事实与理由、证据等。详细提取清单与字段映射见
references/图片识别字段映射.md。
- 案由推断:结合"标题 + 诉讼请求 + 事实与理由"推断案由(第四节提供典型映射),再回查
references/67类要素式案由清单.md 判定是否命中 67 类。
- 生成:
- 命中 54 类起诉状模板 → 使用预先生成的标记模板:读取
references/marked/<对应案由>.fields.json,从图片抽取各字段值写成 values.json,调用 python scripts/generate_complaint_docx.py --fill references/marked/<案由>.docx references/marked/<案由>.fields.json values.json <输出.docx>(见第五节)。填空仅替换占位符,表格结构 / 字体 / 列宽完全不变。
- 命中 13 类申请书 → 生成要素式申请书并说明性质。
- 未命中 → 按
references/一般起诉状结构.md 生成一般起诉状 .docx(见第六节 DATA 模式)。
- 质量校验与回退:关键信息(被告姓名、金额、关键日期)无法识别时,不得臆造——在回复中列出"已识别 / 未能识别"字段,请用户补清晰图片或口述缺失项;可先出带占位符草稿,补全后再定稿。
注意:原图若是已填写的要素式模板,识别后按同模板结构重组为干净 .docx(保留全部内容,勾选项用 √/□ 标注),同样遵循"忠实渲染四条"。
四、案由判定(关键步骤,必须先做)
- 用 Read 读取
references/67类要素式案由清单.md,掌握 67 类案由及分组。
- 从用户材料归纳核心法律关系,匹配最接近的案由:
- 命中"一至六"共 54 类(提供起诉状模板)→ 生成要素式起诉状。
- 命中"七、八"(国家赔偿 4 类 / 执行 9 类,共 13 类)→ 生成要素式申请书(非起诉状),说明文书性质后按要素式结构生成。
- 均未命中 → 生成一般起诉状。
- 判定不确定时,向用户确认案由,不要臆造;可在回复中列出候选案由让用户选择。
典型案由推断映射:
- 借贷/欠条/拒不还款 → 民间借贷纠纷
- 离婚/感情破裂/子女抚养/财产分割 → 离婚纠纷
- 交通事故/损害赔偿 → 机动车交通事故责任纠纷
- 买房/卖房违约 → 房屋买卖合同纠纷
- 拖欠工资/工伤/解除劳动关系 → 劳动争议纠纷
- 商标/专利/著作权侵权 → 对应知识产权案由
- 行政处罚不服 → 行政处罚(行政)
五、要素式起诉状生成流程(标记模板 · 原封不动填空)
本流程核心:每个案由都已预先生成带唯一占位符 ⟦F{n}⟧ 的官方标记模板。只需从用户材料抽取各字段值,按 id 替换占位符——绝不用通用结构重写,也绝不重新解析填写稿,因此表格结构 / 字体 / 列宽永不错乱。
5.1 标记模板已就绪(版式 100% 来自官方原文件)
- 数据来源:标记模板由最高法《67 类要素式起诉状答辩状示范文本》官方原文件(
.doc/.docx)逐案由截取生成——直接裁剪原文件中每个案由的"起诉状"表单(表单标题 + 案由名 + 说明框 + 各要素表 + 具状人栏),因此字体、字号、列宽、合并、底纹等官方版式逐像素保留,不是程序重建。
- 标记模板:
references/marked/<案由>.docx(带 ⟦F{n}⟧ 占位符的官方版式表格)
- 字段映射:
references/marked/<案由>.fields.json,每条含:
id:占位符编号(对应 ⟦F{id}⟧)
section:所属节(当事人信息 / 诉讼请求 / 事实与理由 …)
role:诉讼地位(原告 / 被告 / 第三人 / 委托诉讼代理人,部分模板因排版顺序可能为空)
label / original:单元格原文(核对填写位置的凭据)
5.2 填空步骤
- 读映射:用 Read 读取
references/marked/<案由>.fields.json,通览字段,定位用户材料能填哪些。
- 抽值:从用户文字 / 图片材料中,为各字段写出填写值:
- 普通栏:直接给完整单元格文字,保留官方标签与提示,如
"姓名:张三"、"住所地(户籍所在地):北京市朝阳区… 经常居住地:…"。
- 勾选项:保留官方选项文字,对应项打
√、其余 □,如 "性别:√ 男 □ 女"、"是否逾期:√ 是 □ 否"。
- 与案件无关 / 材料缺失:该字段不写入 values(填空时会自动恢复模板原文,绝不留
⟦F⟧ 残符)。
- 写 values.json:
{ "字段id": "填写值", ... }(id 用数字或字符串均可)。
- 执行填空:
python scripts/generate_complaint_docx.py --fill \
references/marked/<案由>.docx \
references/marked/<案由>.fields.json \
values.json <输出.docx>
- 向用户说明:本状为依最高法示范文本填制的要素式起诉状,提交前请核对并签字 / 盖章,具体以受理法院要求为准。
六、一般起诉状生成流程(DATA 模式 · 兜底)
- 用 Read 读取
references/一般起诉状结构.md,按标准结构(原告 / 被告 / 诉讼请求 / 事实与理由 / 证据 / 此致法院 / 具状人)组织。
- 构造
DATA(见下方 schema),写入临时 data.json,运行:
python scripts/generate_complaint_docx.py data.json <输出.docx>
- 说明文书性质(一般起诉状,非要素式)。
DATA(JSON)结构:
{
"doc_title": "民事起诉状",
"reason": "一般起诉状 或留空",
"include_notice": false,
"parties": [
{"role": "原告", "fields": "姓名\n性别:男√ 女□\n身份证号:…\n联系电话:…"}
],
"sections": [
{"title": "诉讼请求", "free": "可完整表述诉讼请求"},
{"title": "事实与理由", "free": "…", "elements": [["1. 婚姻关系基本情况", "…"]]
渲染说明:标题居中加粗(黑体);当事人信息、要素、证据均用表格;勾选项由内容中用 √ / □ 标注。
七、Word 生成脚本(generate_complaint_docx.py)
脚本位置:scripts/generate_complaint_docx.py(自包含,仅需 python-docx)。
依赖 python-docx:若运行环境缺失,先 pip install python-docx。
模式说明:
--fill(填空模式 · 推荐):按字段映射把占位符替换为用户内容;未提供的字段自动恢复模板原文,表格结构 / 字体 / 列宽完全不变。
python scripts/generate_complaint_docx.py --fill <标记.docx> <字段.json> <值.json> <输出.docx>
- 标记模板生成(维护用):
scripts/build_marked_from_docx.py 读取最高法官方 .docx 母版,按案由截取"起诉状"表单并写入 ⟦F{n}⟧ 占位符,批量产出 references/marked/<案由>.docx 与 .fields.json(已执行,覆盖全部 54 类)。需重新生成时:
python scripts/build_marked_from_docx.py <官方母版.docx> <templates_dir> <out_marked_dir>
*.txt(要素式 · 兼容兜底):忠实渲染官方模板。
python scripts/generate_complaint_docx.py <填写稿.txt> <输出.docx>
*.json(一般起诉状):按第六节的 DATA 构造。
python scripts/generate_complaint_docx.py data.json <输出.docx>
八、注意事项与免责
- 本技能生成的是文书草稿,非法律意见,不构成律师-委托人关系;重大 / 复杂案件建议咨询执业律师。
- 须如实填写,严禁虚构事实(虚假诉讼须担责)。
- 涉及的个人身份、财产信息仅用于本次生成,勿外传或另作他用。
- 文书具体格式、立案要件以受诉法院最新要求为准。
- 不主动判定法律责任归属、赔偿金额合理性等需专业裁量的结论,仅在用户给定事实基础上组织文书。
- 绝对禁止:以"重写/简化"为由删改官方模板的表格结构或文字内容。