会议纪要 HTML 可视化
把原始会议记录提炼成结构化数据,再渲染成一份可离线打开的单文件 HTML。
关键分工:模型负责理解纪要,脚本负责画 HTML。 不要手写 HTML——所有视觉由
scripts/render.py 从 assets/template.html 生成,保证同一公司所有纪要视觉一致。
快速开始
# 1) 若输入是 docx / pdf,先转成纯文本(txt、md 可跳过)
python3 scripts/normalize_input.py 原始纪要.docx -o clean.txt
# 2) 阅读文本,提炼为 minutes.json(字段规范见 references/schema.md)
# 3) 渲染
python3 scripts/render.py -i minutes.json -o 会议纪要.html --org org.json
scripts/ 下的脚本仅依赖 Python 3.8+ 标准库,无需 pip install、无需联网。
三步工作流
Step 1 · 输入归一化
| 来源 | 处理方式 |
|---|---|
| 纯文本 / Markdown | 直接阅读,无需转换 |
| Word 导出(.docx) | normalize_input.py 文件.docx(标准库解析,无依赖) |
| PDF 导出(.pdf) | normalize_input.py 文件.pdf(需系统 pdftotext;缺失时会给出安装提示) |
| 录音转写稿 | normalize_input.py 转写稿.md --strip-timestamps 去掉时间戳后阅读 |
> 旧版 .doc、扫描版 PDF 请先另存/导出为 .docx 或可复制文本的 PDF。
Step 2 · 提炼为 minutes.json
阅读上一步得到的纯文本,按 references/schema.md 输出 JSON,写到输出目录(建议与 HTML 同级,便于复核和重跑)。
提炼原则:只提炼文本里有的信息,不脑补。 提炼规则与信息缺失时的默认处理见
references/extraction-rules.md。
Step 3 · 渲染并交付
python3 scripts/render.py -i minutes.json -o 会议纪要.html \
--org org.json \ # 公司名 / Logo / 页脚 / 术语表
--theme theme.json # 配色覆盖(可选)
渲染成功会打印 已生成: 路径 (大小)。失败时会给出可直接定位的报错(如
topics[2].blocks[3] 未知类型 'carousel'),按提示改 JSON 后重跑即可。
最后用 present_files 把 HTML 打开给用户预览。
配置覆盖
Skill 本身不含任何具体公司信息。默认配置在 assets/:
| 文件 | 作用 |
|---|---|
assets/theme.default.json |
默认青绿主题(配色 / 圆角 / 字体) |
assets/org.default.json |
空组织配置(公司名、Logo、页脚、术语表) |
assets/logo-placeholder.svg |
占位 Logo,可直接替换 |
优先级:命令行参数 > --org/--theme 指定文件 > assets/*.default.json。
只覆盖要改的键即可,未指定的沿用默认值。
# 临时改公司名和 Logo,不写配置文件
python3 scripts/render.py -i m.json -o out.html --name "某某公司" --logo ./logo.svg
完整键名、Logo 支持的格式、术语表用法见 references/theming.md。
输出保障
- 单文件自包含:CSS / JS / Logo 全部内联,无任何外部请求,断网双击可开
- 打印 / 导出 PDF:右下角「导出 PDF」按钮,A4 版式已优化,卡片与表格自动避免跨页断裂
- 移动端自适应:640px / 900px 两级断点,表格横向滚动、多列网格自动降列
- 中文界面:分区标题、空状态文案、日期星期均为中文
文件清单
wgmeeting-skill/
├── SKILL.md 本文件
├── scripts/
│ ├── render.py JSON → 自包含 HTML(核心)
│ └── normalize_input.py docx / pdf / md → 纯文本
├── assets/
│ ├── template.html HTML + CSS 模板(改样式只动这里)
│ ├── theme.default.json 默认主题
│ ├── org.default.json 默认组织配置
│ └── logo-placeholder.svg 占位 Logo
├── references/
│ ├── schema.md minutes.json 字段与区块类型规范(Step 2 必读)
│ ├── extraction-rules.md 提炼规则与信息缺失默认处理(Step 2 必读)
│ └── theming.md 主题 / Logo / 术语表配置说明
└── examples/
├── sample-transcript.md 示例输入:口语化录音转写稿
├── sample-minutes.json 示例结构化数据
├── sample-theme.json 示例自定义主题(深海蓝)
├── sample-org.json 示例组织配置
└── sample-output.html 示例输出(以上三者渲染结果)
同事可直接复制的调用示例
用 WGmeeting-skill 技能把下面这段会议记录做成可视化纪要 HTML。
【自定义参数】
- 公司名:万戈商用
- 主题:沿用默认青绿
- 术语表:{"万戈":"万戈商用"}
- 输出:/Users/你的用户名/Desktop/万戈商用产品周会纪要.html
【会议记录】
2026年8月28日下午3点,产品部周会,参会:李然(产品)、张琪(运营)、陈默(研发)。
李然:先说数据。上周咱们星海新用户转化率 12.4%,比目标 15% 还差一截。漏斗看下来主要是注册后
引导那步流失,43% 的人到第二页就走了。
张琪:对,我这边也看到,第二页要填的东西太多,公司规模、行业、团队人数一次问完,
用户填到一半就烦了。
陈默:技术上改起来不难,但这一周我在做支付回调重构,排期至少要到下周才能动。
李然:那就先定方案。我建议拆成两步,第二页只留公司名称,其余信息等进到工作台再补。
张琪你那边同步把埋点补上,新版上线要看第二步转化率。
张琪:可以,我周三前给埋点文档。
李然:陈默下周一开工,周三提测。另外客户那边反馈的导出超时,你顺手一起看了吧。
陈默:导出超时是没做分页,一次拉全量导致的。这个改动小,我今天就能修完,明天发版。
> 想换配色:把「主题」改为 --theme 指向的 JSON 文件路径,或在 JSON 里写
> {"primary":"#3B82F6","primary-dark":"#1E3A8A"}(完整键名见 references/theming.md)。