证据时间线生成技能
专业的证据时间线生成技能,帮助律师从案件材料中提取时间信息,按时间顺序梳理事件脉络,生成结构化的时间线文档和可视化思维导图。
前置条件
必须:用户已提供或准备提供以下材料之一:
- 证据材料(合同、协议、往来函件、聊天记录、付款凭证等)
- 案件事实描述(包含时间信息)
- 证据清单或证据说明
- 案件相关文档(PDF、Word、图片等)
若用户未提供任何材料,先询问用户案件基本情况和已有证据材料,不可在无材料的情况下执行生成。
约束原则
1. 真实性约束
时间线中所有事件、时间、证据信息必须严格基于用户提供的材料提取,严禁编造、推测或虚构任何事件 — 错误的时间线会严重误导案件分析和诉讼策略。
2. 时间准确性
- 提取的时间必须准确反映材料中的原始时间信息
- 无法确认具体日期的事件,使用最精确的描述(如"2019年3月"、"2019年初"、"时间不详")
- 同一事件有多个时间信息时,以关键行为发生时间为准
- 所有时间统一格式:YYYY年MM月DD日(完整日期)、YYYY年MM月(仅月份)、YYYY年(仅年份)
3. 完整性要求
- 材料中所有包含时间信息的事件都应提取并列入时间线
- 不得自行筛选或遗漏重要事件
- 若时间信息存在矛盾,在时间线中标注并提示用户确认
4. 逻辑性要求
- 事件必须严格按时间顺序排列(从早到晚)
- 同一日期多个事件按逻辑顺序排列
- 相关事件应归类到同一分组(如"合同签署阶段"、"履约阶段"、"违约阶段"、"诉讼准备阶段"等)
不适用场景
本技能不适用于以下场景:
- 证据质证意见撰写 → 使用
综合证据策略模式A(综合证据分析) - 证据合法性审查 → 使用
综合证据策略模式A(综合证据分析) - 法律分析或案件评估 → 使用
律师办案小结 - 类案检索 → 使用
律师类案检索与报告
工作流程
以下阶段必须严格按顺序执行。每个阶段必须在前一阶段完成后才能开始,不得跳步。
阶段一:材料接收与时间信息提取
接收用户材料:
- 用户可能以文字描述、文件上传、或粘贴文本形式提供材料
- 若材料不清晰或缺失关键时间信息,主动询问补充
提取案件基本信息:
- 案件名称/项目名称
- 当事人信息(甲方、乙方、丙方等)
- 协议编号(如有)
- 担保人信息(如有)
提取时间事件信息: 对每份证据材料提取以下信息:
提取字段 说明 示例 时间 事件发生的具体时间 "2019年3月25日"、"2019年3月"、"2019年初" 事件描述 简要描述事件内容 "合作协议签署"、"保证金支付3000万" 证据来源 该事件对应的证据名称 "合作协议"、"电子回单" 页码 证据在材料中的页码;材料无物理页码时用条款编号替代(如"协议书§3.1"、"附件4§1"),不得留空或写"P-" "P1-10"、"P11"、"通用条款§6.2.1" 事件类型 事件分类 "合同签署"、"付款"、"违约"、"催告"、"诉讼准备" 关键金额 涉及的金额(如有) "3000万"、"450万"、"10万" 备注 其他重要信息 "截止日期"、"约定节点" 时间信息标准化:
- 统一时间格式:YYYY年MM月DD日、YYYY年MM月、YYYY年
- 相对时间零推算(强制):如"交付后10日内"、"签署后3日内"等相对表述,仅当触发日期在材料中已确认时才换算为绝对日期;触发日期未确认的一律保留原文相对表述,备注标注"待实际发生后确定",严禁基于假设推算绝对日期
- 模糊时间处理:如"2019年初"保持不变,在备注中标注"时间不精确"
阶段二:时间线整理与分组
按时间排序:
- 所有事件严格按时间从早到晚排序
- 同一日期的多个事件按逻辑顺序排列(如"上午签约"→"下午付款")
事件分组(建议分组,可根据案件调整):
- 案件基本信息:当事人、协议编号、合作项目等
- 前期准备阶段:意向书、股东会决议、尽职调查等
- 合同签署阶段:协议签署、担保设定等
- 履约阶段:付款、交付、验收等
- 违约阶段:未履行、延迟履行、质量不合格等
- 催告与协商阶段:法务函、律师函、协商会议等
- 诉讼准备阶段:律师费、保险费、保全申请等
- 约定期限与条件:条件触发型约定(见下方专项规则)
条件触发型事件专项规则(强制):材料中仅有触发条件、无确定发生时间的事件(如"逾期交付时按日计违约金"、"设计不合格时重做"、责任上限条款等),不参与时间排序,统一归入「约定期限与条件」分组,分组标题标注"按类型排列,非时间排序"。此类事件不计入"严格按时间排序"的合规判定;其中纯条款约定(如违约金上限、赔偿上限)不含时间信息的,作为该分组的备注条目列出,不作为独立时间事件。
关键节点标注:
- 合同生效日
- 重要付款截止日
- 违约发生日
- 诉讼时效节点
- 合同期限届满日
阶段三:Markdown 时间线文档生成
生成结构化的 Markdown 时间线文档,以时间线为主,仅包含案件基本信息和时间线事件;不得额外生成“关键争议点”“证据清单”“法律分析意见”等章节。格式如下:
# {案件名称} - 证据材料时间线
## 案件基本信息
| 项目 | 内容 |
|------|------|
| 案件名称 | {案件名称} |
| 协议编号 | {协议编号,如无则省略或标注未提供} |
| 甲方 | {甲方名称,如无则省略} |
| 乙方 | {乙方名称,如无则省略} |
| 其他当事人 | {其他主体,如无则省略} |
## 时间线事件
### {时间分组1}(如:前期准备阶段)
#### {YYYY年MM月}
| 时间 | 事件 | 核心摘要 | 证据 | 页码 | 备注 |
|------|------|----------|------|------|------|
| YYYY-MM-DD | {事件标题或简要描述} | {1-2句核心法律事实摘要} | {证据名称} | P{页码} | {备注} |
### {时间分组2}(如:合同签署阶段)
...
---
**生成日期**:YYYY年MM月DD日
**材料来源**:{用户提供的材料说明}
禁止输出:Markdown 文档中不再生成“关键争议点”“证据清单”章节;如用户另行需要,应作为独立任务或附加输出处理。
阶段四:HTML 可打印时间线生成
调用 Python 脚本生成适合 A4/A3 打印的静态 HTML 时间轴,所有事件完全展开无需点击。
脚本路径:scripts/generate_timeline_print.py
使用方法(--mode timeline 必传,生成纵向时间轴;不传时脚本默认亦为 timeline):
cd {skill_directory}
python3 scripts/generate_timeline_print.py \
--case-name "{\u6848件名称}" \
--output "outputs/{\u6848件名称}_\u65f6\u95f4\u7ebf.html" \
--data-file "{JSON\u6570\u636e\u6587\u4ef6\u8def\u5f84}" \
--mode timeline
数据格式(JSON):
仅需提供 timeline 字段(按月分组格式)。month 字段格式(强制):严格使用"YYYY年MM月"或"YYYY年MM月-YYYY年MM月",不得附加括号说明(如"2025年2月(合同生效后)"为错误写法),补充说明一律移入事件的 note 字段:
{
"case_name": "案件名称",
"timeline": [
{
"month": "2019年2月",
"events": [
{
"date": "2月25日",
"event": "股东会决议",
"summary": "公司股东会通过决议,授权管理层签署本次合作销售协议及相关担保文件。",
"evidence": "股东会决议书",
"page": "P32",
"amount": "",
"note": ""
}
]
},
{
"month": "2019年4月",
"events": [
{
"date": "4月1日",
"event": "保证金支付",
"summary": "乙方依约向甲方支付3000万元保证金,合同约定合作期满后予以退还,逾期按日千分之一计罚息。",
"evidence": "电子回单",
"page": "P11",
"amount": "3000万",
"note": "合同约定3月29日前支付,实际于4月1日支付"
}
]
}
]
}
事件字段说明:
| 字段 | 必填 | 说明 |
|---|---|---|
date |
✅ | 日期(如"4月1日"、"2019年4月1日") |
event |
✅ | 事件标题(简短,10字以内) |
summary |
强烈建议 | 核心信息摘要:1-2句话说明该事件的法律意义、关键条款或事实背景,由 AI 提炼生成 |
evidence |
可选 | 对应的证据名称 |
page |
可选 | 证据页码(如"P11"、"P1-10");材料无物理页码时用条款编号替代(如"协议书§3.1"),不得留空或写"P-" |
amount |
可选 | 涉及金额(如"3000万"),有则显示橙色金额标签 |
note |
可选 | 补充备注(如时间偏差、矛盾点等) |
summary 字段生成要求(必读):
在构建 JSON 数据时,AI 必须为每个事件提炼 summary,撰写要点如下:
- 长度:1
2句,3080字 - 内容:从证据材料原文中提炼该事件的核心法律事实,包括关键主体、行为、金额、期限或法律后果
- 语言:简洁客观,使用法言法语,无需主观判断
- 禁止:不得编造材料中未提及的事实
- 矛盾事件分工(强制):事件本身含时间/条款矛盾时,
summary只写法律事实本身(如"合同约定设计周期为10天"),矛盾说明写入note字段(如"⚠ 专用条款§X 另约定20天,两处矛盾,待用户确认"),不得在 summary 中只描述矛盾而不写事实
| 事件类型 | summary 示例 |
|---|---|
| 合同签署 | "甲乙丙三方签署合作销售协议,约定乙方代理锦溪项目销售,合作期自签署日起至2019年9月29日,甲方支付佣金450万并退还保证金。" |
| 付款行为 | "乙方通过银行转账向甲方支付保证金3000万元,合同约定3月29日前完成,实际付款日期为4月1日,迟延3天。" |
| 违约事件 | "甲方未能在约定的8月15日前取得预售许可证,依合同构成违约,应向乙方支付佣金450万元。" |
| 催告函件 | "乙方通过律师向甲方发出法务函,要求其在收函后15日内退还保证金3000万并支付违约金,否则提起诉讼。" |
| 诉讼准备 | "乙方委托律师代理本案,支付律师费10万元,同时投保财产保全保险,保全金额3758.75万元。" |
事件类型自动识别(根据 event 关键词自动着色,下表与脚本 TYPE_RULES 保持一致):
| 类型 | 颜色 | 触发关键词 |
|---|---|---|
| 合同签署 | 深蓝 | 合同、协议、签署、签订、签字、盖章、合作协议、补充协议 |
| 付款/资金 | 绿色 | 付款、支付、缴纳、转账、回款、保证金、押金、定金、佣金、货款、工程款、结算、万元 |
| 违约/逾期 | 红色 | 违约、逾期、未履行、拒绝、拒付、未支付、未取得、未按时 |
| 通知/函件 | 橙色 | 函、通知、律师函、法务函、催款、催告、告知、发函、函件 |
| 约定节点 | 黄褐 | 截止、到期、届满、期限、节点、前、之前、约定、期满 |
| 诉讼准备 | 紫色 | 律师费、诉讼费、保险费、诉讼、保全、仲裁、立案、起诉、开庭、判决、申请 |
| 前期准备 | 蓝灰 | 决议、股东会、尽职、调查、意向、洽谈、备忘录、可行性 |
| 其他(兜底) | 灰色 | 未匹配任何关键词时自动使用默认灰色,不会着色异常 |
输出文件:
- 文件路径:
outputs/{案件名称}_时间线.html - 文件格式:纯 HTML + CSS,无需网络、无需 CDN
- 打印方式:浏览器打开后点击"打印 / 存为 PDF"按钮
- 页面规格:
- 默认 A4 纵向(210mm × 297mm,边距 15mm)
- 页面内点击"切换 A3 / A4"可切换为 A3 纵向(297mm × 420mm)
- 功能特性:
- ✅ 所有事件完全展开,无需交互
- ✅ 纯静态文件,直接用浏览器打开即可
- ✅ 自带打印/PDF 按钮
- ✅ A4/A3 一键切换
- ✅ 事件按类型自动着色
- ✅ 事件卡片防分页断行(page-break-inside: avoid)
阶段五:输出与确认
提供文件路径:
- Markdown 文档:
outputs/{案件名称}_时间线.md - HTML 时间线:
outputs/{案件名称}_时间线.html
- Markdown 文档:
时间线完整性确认:
- 向用户展示时间线概览(按月份统计事件数量)
- 提示用户检查是否有遗漏的重要事件
- 询问是否需要调整事件分组或补充说明
关键节点提示:
- 标注诉讼时效相关节点
- 提示可能已过期或即将过期的权利
- 仅作为时间线备注或后续建议提示,不生成“关键争议点”章节
后续建议:
- 建议补充的证据材料
- 建议进一步核实的时间信息
- 建议采取的诉讼策略方向
输出格式
1. Markdown 时间线文档
文件命名:{案件名称}_时间线.md
文档结构:
- 案件基本信息(表格)
- 时间线事件(按分组和月份组织)
不得包含:
- 关键争议点章节
- 证据清单章节
- 法律分析意见或诉讼策略章节
格式要求:
- 使用标准 Markdown 语法
- 表格对齐清晰
- 时间节点使用加粗标注
- 关键金额使用加粗或高亮
2. HTML 可打印时间线
文件命名:{\u6848件名称}_\u65f6间线.html
技术栈:
- 纯 HTML + CSS,无需 JavaScript 库或 CDN
- 兑容现代浏览器(Chrome、Firefox、Safari、Edge)
视觉设计:
- 背景:白色打印友好
- 标题区:案件名称 + 生成日期
- 时间轴:左侧日期 + 垂直轴线 + 右侧事件卡片
- 分组展示:按年月显示深色标签小标题
- 事件卡片:左边框着色区分类型
输出效果(与原 ECharts 思维导图对比):
| 对比项 | 原 ECharts | 新可打印版 |
|---|---|---|
| 展开方式 | 需要点击展开 | 全部自动展开 |
| 打印支持 | 不适合打印 | A4/A3 一键打印 |
| 页面分行 | 没有控制 | 自动防断行 |
| 内容密度 | 展开后节点小 | 全显示内容充分 |
| CDN 依赖 | 需要联网 | 无需网络 |
异常处理
用户未提供材料
若用户仅说"帮我生成时间线"但无任何案件材料:
- 明确告知用户需要提供的材料类型
- 提供材料清单模板供用户参考
- 不得基于不充分的信息强行生成时间线
时间信息缺失
若证据材料中缺乏明确的时间信息:
- 在时间线中标注"时间不详"
- 向用户说明并询问是否可补充
- 不得编造或推测时间
时间信息矛盾
若不同证据对同一事件的时间描述不一致:
- 在时间线中同时列出多个时间
- 标注"时间存在矛盾,请用户确认"
- 向用户说明矛盾点并请求澄清
材料信息严重不足
若用户提供的材料缺乏关键信息(如无当事人名称、无协议编号等):
- 在文档中标注"该信息未提供"
- 明确提示用户需要补充的信息
- 不得编造缺失信息
HTML 生成失败
若 Python 脚本执行失败:
- 检查 Python 环境及 echarts 依赖
- 提供详细的错误日志
- 降级方案:仅提供 Markdown 文档,并在文档中说明"HTML 思维导图生成失败"
- 建议用户检查 Python 环境后重试
参考文件说明
本技能包含以下参考文件:
| 文件 | 用途 | 何时使用 |
|---|---|---|
| references/timeline-print-template.html | 可打印 HTML 时间轴模板 | 生成 HTML 时间线时加载 |
| references/mindmap-template.html | ECharts 思维导图模板 | 备用,主输出已改为可打印版 |
| references/timeline-format.md | 时间线格式规范 | 生成 Markdown 时间线时参考格式和结构 |
| references/event-classification.md | 事件分类指南 | 对事件进行分组和归类时参考 |
示例
输入示例
用户提供:
案件:锦溪颅景御府项目合作纠纷
材料:合作协议、股东会决议、电子回单、法务函、保险费凭证、律师费凭证、保险单
输出示例
Markdown 文档:锦溪颅景御府项目_时间线.md
- 包含案件基本信息表格
- 按月份组织的时间线(2019年2月-10月)
- 每个事件包含时间、事件、核心摘要、证据、页码和备注
- 不包含关键争议点、证据清单等非时间线章节
HTML 时间线:锦溪颅景御府项目_时间线.html
- 垂直时间轴布局,6个月份分组,12 项事件完全展开
- 事件按类型自动着色(合同-蓝、付款-绳、违约-红、函件-橙等)
- 支持 A4/A3 打印,可直接存为 PDF
技术实现
Python 脚本说明
scripts/generate_timeline_print.py 脚本功能:
- 接收 JSON 格式的时间线数据(支持分月分组格式和平铺格式)
- 基于
references/timeline-print-template.html模板生成可打印 HTML - 自动识别事件类型并着色
- 支持 A4/A3 页面切换
依赖要求:
- Python 3.7+
- 无需额外安装包(仅使用标准库)
执行示例:
cd /path/to/lawd-evidence-timeline-generator
python3 scripts/generate_timeline_print.py \
--case-name "锦溪颅景御府项目" \
--output "outputs/锦溪颅景御府项目_时间线.html" \
--data-file "scripts/example_data.json"
使用场景
| 场景 | 描述 |
|---|---|
| 合同纠纷案件 | 梳理合同签署、履约、违约、催告等时间节点 |
| 建设工程案件 | 整理开工、竣工、验收、结算等关键时间 |
| 劳动争议案件 | 梳理入职、合同签订、工资发放、解除劳动关系等时间 |
| 知识产权案件 | 整理申请日、授权日、侵权发生日等时间线 |
| 侵权损害赔偿 | 梳理侵权行为发生、发现、取证、起诉等时间 |
参考资料
- references/mindmap-template.html — HTML 思维导图模板
- references/timeline-format.md — 时间线格式规范
- references/event-classification.md — 事件分类指南
- scripts/generate_timeline_mindmap.py — HTML 生成脚本
可选套件上下文(不影响独立使用)
- 工作目录根存在
套件运行规则.md时必须先读取并执行;不存在时以本技能硬规则为准,不影响独立使用。 - 工作目录根存在
办案画像.md时,只读取与当前任务有关的诉讼立场、风险偏好和文书风格;不存在时按本技能默认运行,不追问、不报错。 - 仅当用户明确切换到某案或提供唯一案件路径时,读取
cases/{案件简称}/案件画像.md;不得猜测案件,不得跨案带入。 - 画像只影响表达与偏好,不得覆盖事实、法律依据、必备结构、验证结果或本技能硬规则。
- 已明确绑定唯一案件且案件管家可用时,成果完成后提交标准案件事件;无案件不建档、不回写,回写失败不得阻塞成果交付。