# Element Lawsuit Generator

> 要素式文书一键生成——个人提效利器：以前律师对着模板逐项手动填写要素式文书，一份半小时起步；现在上传传统起诉状，自动识别案由、匹配模板、提取要素、填充输出，9类文书58个案由一键搞定。单人执业无需助理团队，文书格式转换从手工活变成秒级自动化。支持11大领域104份模板，区域定位精确填充，勾选框智能处理。

- Skill: `cslawyer1985/element-lawsuit-generator` (Agent Skill, multi-file: 13 files)
- Install (CLI): `npx skillmds@latest add cslawyer1985/element-lawsuit-generator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cslawyer1985/element-lawsuit-generator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: cslawyer1985 (https://skillmd.com/u/cslawyer1985)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cslawyer1985/element-lawsuit-generator

---


# 要素式文书一键生成 Skill

## 概述

本 Skill 能从普通诉讼文书（支持 .txt/.md/.docx/.pdf/图片）自动识别案由、匹配模板、提取要素、填充内容，输出规范的要素式文书。

**适用场景**：律师需要将已有的诉讼文书（如传统格式起诉状）转换为法院要求的要素式表格格式。

## 支持范围

- **11 个领域分类**：刑事自诉、婚姻家事、合同纠纷、劳动争议、交通事故、保险纠纷、知识产权、行政纠纷、国家赔偿、公益诉讼、海商海事
- **58 个案由**：覆盖《最高人民法院 司法部 中华全国律师协会关于印发部分案件起诉状答辩状示范文本的通知》（法〔2025〕82号）文件中的全部要素式文书案由
- **104 份模板**：起诉状、答辩状、申请书、意见陈述书等
- **输入格式**：.txt / .md / .docx / .pdf / 图片（需 OCR）

## 使用方法

### 基本用法

```
请帮我将这份起诉状转换为要素式文书：[上传文件]
```

### 指定案由

```
请将这份文书转换为民间借贷纠纷的要素式起诉状：[上传文件]
```

### 从文本生成

```
请根据以下信息生成民间借贷纠纷要素式起诉状：
原告张三，男，1985年出生...
被告李四，欠款10万元...
```

## 工作流程

```
输入文件 → 解析内容 → 识别案由 → 匹配模板 → 提取要素 → 区域定位填充 → 输出docx
```

1. **文件解析** (`file_parser.py`)：支持 txt/md/docx/pdf/图片 OCR，自动检测编码
2. **案由识别** (`case_classifier.py`)：基于 58 个案由的关键词规则匹配，离线可用
3. **模板获取** (`template_manager.py`)：优先本地模板，其次从 GitHub 远程下载
4. **要素提取** (`content_extractor.py`)：自动检测要素式/传统格式，正则+规则提取
5. **区域定位填充** (`template_filler.py`)：基于段落区域索引的精确 XML 填充
6. **主流程** (`main.py`)：串联上述步骤，一键生成

## 核心技术

### 案由识别

- 关键词规则匹配（不依赖 LLM），确保离线可用
- 关键词长度加权 + 优先级 + 出现频次综合评分
- 低置信度时给出多个候选建议

### 区域定位填充（v3 核心改进）

- **段落区域索引**：解析模板 XML 构建段落区域映射（原告_自然人/被告_法人/委托诉讼代理人等）
- **区域内填充**：字段填充限定在特定区域内，避免跨区域误填
- **精确勾选框**：`before_checkbox + □` 精确匹配（如"男□"→"男☑"），避免误勾其他□

### 勾选框处理

- `□` (U+25A1) → `☑` (U+2611)：精确替换
- 在 XML 的 `<w:t>` 元素级别操作，不做字符串级别替换
- 通过 `before_checkbox` 参数定位特定□，避免同一行多个□被误勾

### 双格式输入支持

- **要素式输入**：自动检测勾选框和标签结构，按标签-值对提取
- **传统叙述式输入**：用正则+规则提取当事人、金额、日期等

## 配置文件

| 文件 | 说明 |
|------|------|
| `configs/case_keywords.json` | 58 个案由的关键词映射表 |
| `configs/field_mapping.json` | 通用字段映射规则 |
| `references/case_type_index.md` | 案由索引表（11 大类） |

## 模板来源

模板文件依据《最高人民法院 司法部 中华全国律师协会关于印发部分案件起诉状答辩状示范文本的通知》（法〔2025〕82号）文件中的示范文本，存放于以下仓库：

- **Gitee（国内优先）**：https://gitee.com/hugeshark/element-lawsuit-templates
- **GitHub（备选）**：https://github.com/hugesharks/element-lawsuit-templates

模板按 11 个领域分类存放，首次使用时自动从 Gitee 下载（国内速度快），Gitee 不可用时自动切换 GitHub。下载成功后缓存到本地，后续使用无需重复下载。也可指定本地模板目录跳过下载。

## 安全与隐私

⚠️ **重要提示**：

1. **数据脱敏**：所有示例数据均已脱敏（电话改 ×××、身份证改 ××× 等）
2. **本地处理**：所有文件解析和模板填充均在本地完成，不上传任何文书内容到外部服务
3. **模板下载**：仅从 GitHub 下载空白模板，不传输任何案件信息
4. **临时文件**：处理完成后自动清理解包的临时 XML 文件
5. **输出文件**：生成的 docx 文件保存在本地，由用户自行管理

## 依赖

- Python 3.8+
- python-docx（可选，用于 .doc 格式回退）
- PyMuPDF 或 pdfplumber（可选，用于 PDF 解析）
- Pillow + pytesseract 或 easyocr（可选，用于图片 OCR）

核心功能（docx 模板填充）仅依赖 Python 标准库，无需额外安装。

## 文件结构

```
element-lawsuit-generator/
├── SKILL.md                    # 本文件
├── requirements.txt            # 可选依赖
├── scripts/
│   ├── main.py                 # 主入口
│   ├── file_parser.py          # 文件解析
│   ├── case_classifier.py      # 案由分类器
│   ├── template_manager.py     # 模板管理
│   ├── content_extractor.py    # 内容提取
│   └── template_filler.py      # 模板填充引擎（区域定位 v3）
├── configs/
│   ├── case_keywords.json      # 案由关键词映射
│   └── field_mapping.json      # 字段映射规则
└── references/
    └── case_type_index.md      # 案由索引表
```

## 错误处理

| 场景 | 处理方式 |
|------|---------|
| 无法识别案由 | 返回错误信息，建议手动指定案由 |
| 低置信度（<0.3） | 给出多个候选案由，提示用户确认 |
| 模板下载失败 | 检查本地缓存，提示检查网络 |
| 文件格式不支持 | 提示支持的格式列表 |
| 区域定位失败 | 跳过该区域，在警告中提示 |

## 版本

- v3.0 (2025-01) - 区域定位填充引擎，精确勾选框处理
- v1.0 (2025-01) - 初始版本

