edit | blame | history | raw

会议纪要提速工具

创建人员:Codex
文件职责:说明逐字稿预检索引、Markdown 转 PDF、PDF 自动 QA 与联系表生成工具的运行方式和边界。
管理规范/模板:../../../dev-doc/编码规范.md../../../ana-doc/会议纪要/会议纪要整理规范.md
引用文件:meeting_minutes_tool.py../../test/test_meeting_minutes_tool.py../../../dev-doc/ana-doc/会议纪要提速工具说明.md
记录方式:覆盖式工具说明;公开接口或验收规则变化时同步更新。

1. 作用

工具只自动化机械步骤,不替代会议内容判断:

  1. index:从原始逐字稿建立时间轴、政策、产业、公司/资产、数字、问答、风险和待核对候选索引。
  2. pdf:将最终校对完成的 Markdown 原子生成同内容 PDF。
  3. qa:重新打开 PDF、提取文字、核对章节、渲染全部页面并生成四页一组的联系表。
  4. deliver:一次完成 PDF 生成和自动 QA。

人工仍须完成:逐字稿精读、观点归纳、公司名校对、投资建议边界判断,以及最终联系表/逐页视觉验收。

2. 运行环境

  • Python 3.11 以上。
  • Python 包:reportlabpypdfPillow
  • Poppler:pdftoppm。工具优先从 --pdftoppmPDFTOPPM、当前 Python 同一运行时和 PATH 依次发现。
  • 中文字体:默认从 Windows 字体目录发现微软雅黑/黑体/宋体;也可显式传入 --font-regular--font-bold

所有路径均由参数传入,代码不依赖个人目录或固定项目根路径。

3. 推荐流程

3.1 写作前预检

python meeting_minutes_tool.py index <逐字稿.txt> --output-dir <临时目录/index>

输出:

  • transcript-index.json:机器可读索引、源文件指纹和顺序/重复检查。
  • transcript-index.md:精读导航。

索引只帮助定位,不能把候选条目直接当成会议结论。

3.2 Markdown 完成后交付

python meeting_minutes_tool.py deliver <会议纪要.md> `
  --output-pdf <会议纪要.pdf> `
  --qa-dir <临时目录/qa>

输出:

  • 正式 PDF:写入指定正式路径;先生成同目录临时文件,成功后原子替换。
  • qa-report.jsonqa-report.md:自动检查结果。
  • page-*.png:全部页面渲染图。
  • contact-*.png:每四页一张联系表。

联系表检查通过后,应清理临时索引、QA 报告和页面图片;正式目录只保留原稿、Markdown、PDF及用户明确要求的其他格式。

4. 自动检查口径

  • PDF 能重新打开且至少一页。
  • 渲染页数与 PDF 页数一致。
  • 无异常空文本页、无替换字符。
  • Markdown 标题均可从 PDF 提取文本中找到。
  • Markdown 要求免责声明时,PDF 中必须存在。
  • 最后一个 Markdown 标题应出现在末页。
  • 页面图片尺寸一致。
  • Markdown/PDF 归一化文本长度比例不低于 0.90。

自动检查通过不等于视觉验收通过。乱码、裁切、重叠、表格断裂、孤立标题和异常留白仍须看联系表或原始页面。

5. 失败与重跑

  • 输入不存在、扩展名不符、缺少 H1、字体/依赖/Poppler 不可用时显式失败。
  • PDF 构建失败不会留下看似完成的正式 PDF。
  • indexpdfqa 可独立重跑;Markdown 修改后必须重新执行 deliver
  • QA 只读取 Markdown/PDF并写临时报告,不反向修改正式文档或 PDF。

6. 测试

python -m unittest -v ..\test\test_meeting_minutes_tool.py

测试覆盖:索引分类、时间戳回退、重复候选、缺失输入、Markdown/PDF/PNG/联系表链路,以及失败时不遗留正式 PDF。