会议纪要助手
by @2813223285
会议纪要与会议播报生成技能。用于处理会议录音或转写文本,执行发言人区分、口语降噪、议题重构、双钻结构整理,并输出执行摘要、核心决议、Markdown待办表格、TTS播报稿和会议思维导图(HTML/SVG/XMind)。支持双向语音能力:录音转文本(ASR)与文本转录音(TTS)。用户提到“会议纪要”“录音转文字”...
clawhub install meeting-notes-skill📖 About This Skill
name: meeting-notes-skill description: 会议纪要与会议播报生成技能。用于处理会议录音或转写文本,执行发言人区分、口语降噪、议题重构、双钻结构整理,并输出执行摘要、核心决议、Markdown待办表格、TTS播报稿和会议思维导图(HTML/SVG/XMind)。支持双向语音能力:录音转文本(ASR)与文本转录音(TTS)。用户提到“会议纪要”“录音转文字”“文字转语音”“action items”“会后总结”“决议整理”“语音简报/会议播客”“思维导图/脑图”时使用。
Meeting Notes Skill
按以下流程处理输入,不要跳步。
默认自动执行,不要求用户手动输入命令行参数。
默认使用“被动触发交互”入口:若用户未给出明确会议内容,先提问:
有什么会议纪要需要我帮你整理?可以直接发录音或文字。
对外回复风格强约束(必须执行):
~/clawdhome_shared/private/-data/ (例如 ~/clawdhome_shared/private/meeting-notes-skill-data/)。private 不可写,才允许回退到用户提供路径或 workspace/-data/ 。output_dir=... 便于核对真实落盘位置。.../-data/ 目录,不自动复制到根目录。python3 scripts/generate_meeting_bundle.py ... --quick-copy<会议主题>-<时间戳>.txt(完整纪要)
- <会议主题>-<时间戳>.mp3(重点口播)
- <会议主题>-<时间戳>.html(思维导图)
- 三个文件必须使用同一命名前缀(同一会议主题 + 同一时间戳),仅扩展名不同。
- .spoken.txt / .transcript.txt / .mindmap.json / .xmind / .full.mp3 仅可作为中间文件,必须自动清理,不得在最终回复中列为交付物。跨模型通用执行协议(强制):
执行摘要 + 核心决议 + Action Items表格 + 风险提示 + 导图结果 + 语音结果。mermaid mindmap 作为思维导图兜底
- 语音失败说明(缺少依赖、安装命令、重试命令)
首次交互强提醒(跨模型兼容,必须执行):
say(可直接用)
- 内置 ASR:macOS Speech(可直接用)
- 必装依赖:edge-tts / ffmpeg
- 默认本地 ASR 安装:openai-whisper(ASR 必装,并预下载 tiny 模型)
bash scripts/doctor.sh --strictffmpeg,必须优先提示并执行安装:bash scripts/bootstrap_macos.sh环境状态:已就绪项 / 缺失项
- 安装命令:可直接复制执行的命令(按当前系统)
首次使用前先运行环境自检:
bash scripts/doctor.sh --strictbash scripts/asr_self_check.sh(定位“模型未安装”还是“二次运行状态污染”)bash scripts/asr_self_check.sh --input --provider auto bash scripts/asr_self_check.sh --clean-temp--auto-install(底层调用 scripts/bootstrap_macos.sh)。1) 输入与转换 (Input & Transformation)
0. 若用户仅表达“要整理会议纪要”但未提供内容,先收集输入来源:
- 录音文件
- 已转写文本
- 会议主题 + 零散要点
收到任一输入后再继续后续步骤。
0.1 若输入为“文本会议纪要/会议文本”,默认同时执行 TTS,自动产出可播放录音文件;无需用户再次明确提出“转语音”。
1. 识别输入类型:实时流式音频、离线音频文件、或已转写文本。
1.1 音频输入执行“ASR必转”规则:未完成转写不得进入纪要结构化与播报步骤。
1.2 音频输入在 ASR 成功后,必须生成并保留一份最终纪要文档:<会议主题>-<时间戳>.txt(不能只保留 .transcript.txt)。
2. 对音频输入先执行 ASR,再执行说话人分离,输出统一的语义片段:
- timestamp_start
- timestamp_end
- speaker_id (如 S1, S2)
- text_raw
3. 优先保证中英混合识别准确性,保留术语原文,不做主观翻译。
4. 若无法可靠识别发言人,显式标注 speaker_id: Unknown,并在风险提示中说明。
2) 智能重构与降噪 (Intelligence & Processing)
1. 对 text_raw 执行去口语化处理:移除“嗯、啊、那个”等语气词及明显离题寒暄。
2. 按语义议题而非时间顺序重组内容;将同一议题的分散发言聚合。
3. 对每个议题按“双钻结构”重写为:
- 问题描述
- 原因分析
- 解决方案
- 最终决议
4. 明确区分“已达成共识”和“仍待确认”。不得把猜测写成结论。
3) 结构化输出 (Output & Documentation)
严格使用 references/output-template.md 的版式。
强制规则
1. 拒绝输出大段散文;以结构化小节和 Markdown 表格为主。
2. Action Items 必须是 Markdown 表格,并包含:
- 任务项
- 负责人
- 交付物/截止日期
- 备注
3. 若某项结论没有明确 Action Item,必须在“风险提示”中单列提醒。
4. 摘要必须直接进入结论,不输出空洞开场句。
5. Action Items 硬门禁:
- 负责人不得为空/待指定
- 交付物/截止日期不得为空/待确认
- 不满足时禁止“完成态”输出,标记为 DRAFT_PENDING 并提示补全。
6. 生成会议思维导图(安全模式):
- 从纪要提取“核心决议 / 待办事项 / 风险提示 / 议题脉络”生成导图数据。
- 仅输出 html/svg/xmind(禁用 png/jpg/pdf 路径)。
- 执行命令:python3 scripts/generate_meeting_mindmap.py --minutes
- 若脚本失败,必须在回复中显式给出失败原因,并兜底输出 mermaid mindmap 文本,禁止省略导图结果。
4) TTS 播报稿生成 (TTS & Feedback)
1. 不全文朗读;仅提取“核心决议 + 待办事项 + 风险提示”生成 1-3 分钟播报稿。
2. 在播报稿中加入节奏标记(如 [停顿1s]、[加重]、[放慢])。
2.1 朗读前必须清洗文本:去除 Markdown、URL、表格分隔符、控制标记和特殊符号,避免把符号读出来。
2.2 必须额外生成独立口播稿文件(),TTS 只读取口播稿,不可直接朗读会议文档。
2.3 口播稿结构固定为:开场一句 -> 核心决议(最多3条)-> 待办(最多3条,含负责人和截止)-> 风险(最多2条)-> 收束一句。
3. 按场景切换音色建议:
- 项目部署/复盘:干练专业
- 头脑风暴/团队同步:亲和清晰
4. 当用户未指定音色时,默认“干练专业”。
5. 当用户明确要求“生成录音/语音文件”时,除文本播报稿外,还必须提供可直接合成语音的最终朗读文本(去除控制标记版本)。
5.1 当用户仅提供文本纪要(未明确提语音)时,也必须生成语音文件(默认行为)。
5.2 文本输入默认生成一份核心音频:
- 重点口播音频:(基于 .spoken.txt)
- 原文全文音频(.full.mp3)改为按需生成,不作为默认交付。
5.3 音频格式强制为 mp3;若只能生成 m4a,必须转码为 mp3 后再交付。
5.4 原文全文音频必须“逐字朗读”:.full.txt 必须与用户输入文本一致,不允许清洗、改写、摘要或重排。
6. 文本转语音输出默认要求:
- 格式:统一 mp3(若中间产物为 m4a,必须转码后交付)
- 时长:1-3 分钟
- 内容:仅“核心决议 + 待办事项 + 风险提示”
- 命名规范:<会议主题>-
7. 在 macOS 本地优先使用 scripts/generate_tts_brief.sh 生成语音文件。
8. 跨平台(Linux/macOS/Windows)优先使用 scripts/audio_bridge.py:
- 默认使用 provider=auto,优先已安装识别引擎(local whisper),再回退云端/系统内置。
- TTS provider=auto 默认路由:edge -> builtin -> local -> openai(默认优先 edge-tts)。
- 默认音色固定:zh-CN-XiaoxiaoNeural,默认风格:warm。
- 如需回退可显式传参:--provider auto。
- 不要求用户手动选择 provider/voice;若依赖缺失,直接给出安装提示并说明“安装后将自动恢复默认音色效果”。
- 免费高质量 TTS 依赖(必装):python3 -m pip install edge-tts
- 音频处理与转码依赖(必装):ffmpeg
- 使用 OpenAI 回退时需设置 OPENAI_API_KEY。
- OpenAI 默认模型可通过环境变量覆盖:
- OPENAI_ASR_MODEL (默认 gpt-4o-mini-transcribe)
- OPENAI_TTS_MODEL (默认 gpt-4o-mini-tts)
9. 音色策略(默认统一):
- 默认固定:edge + zh-CN-XiaoxiaoNeural + warm
- 可通过环境变量覆盖:MEETING_TTS_EDGE_VOICE=
- 输出结果中必须注明“实际使用音色”。
10. 会议纪要文档与音频必须同名同时间戳,仅扩展名不同:
- 文档:<会议主题>-
- 音频:<会议主题>-
- 音频生成后必须做可解码校验;不可播放时自动切换下一 provider 重试,不可直接交付损坏文件。
11. 全模型兜底返回格式(脚本不可用时):
- 状态: SUCCESS 或 PARTIAL_SUCCESS(必须明确)
- 依赖检查: 已安装 / 缺失列表
- 会议纪要: 按模板完整输出
- 思维导图: 输出 mermaid mindmap 代码块
- 语音结果: 输出“未生成原因 + 安装命令 + 重试命令”
11. 执行命令(推荐):
- 一键全量产出(推荐):python3 scripts/generate_meeting_bundle.py --input
- 该命令默认强制校验 3 项核心产物:txt + audio.mp3 + mindmap.html。
- 脚本默认自动清理同主题历史产物与中间文件(如 spoken/full/mindmap.json/xmind/transcript),仅保留最新三件套。
- 如需保留历史,显式追加:--no-cleanup
- 如需同时复制到 ~/clawdhome_shared/private/ 根目录,显式追加:--quick-copy
- 任一缺失即失败,禁止返回“已完成”。
- 最终回复仅允许展示上述 3 个核心文件;禁止额外展示中间文件路径。
12. 执行命令(仅语音):
- bash scripts/generate_tts_brief.sh
- 该脚本默认委托 audio_bridge.py 的 edge 神经语音链路(不再走本地 Tingting 默认路径)。
- 示例:bash scripts/generate_tts_brief.sh test-output/meeting-brief.txt 产品周会 test-output
13. 执行命令(跨平台):
- TTS: python3 scripts/audio_bridge.py tts --input
- ASR: python3 scripts/audio_bridge.py asr --input
- ASR 一键自检:bash scripts/asr_self_check.sh [--input
- 自动安装依赖(macOS):在上面命令后追加 --auto-install
- 内置 ASR 脚本(macOS):scripts/builtin_asr.swift
- ASR provider=auto 默认路由:local -> openai -> builtin(优先安装引擎,不默认先走系统内置)。
- 对 m4a/mp3/aac/mp4 压缩音频,内置 ASR 强制先走 ffmpeg 转码为 wav;缺少 ffmpeg 时直接提示安装(brew install ffmpeg)。
- macOS 依赖一键引导:bash scripts/bootstrap_macos.sh(自动检测并安装 ffmpeg)。
14. 跨模型一致性建议(强制统一音色):
- 固定 Provider:edge
- 固定音色:zh-CN-XiaoxiaoNeural
- 可设置环境变量:export MEETING_TTS_EDGE_VOICE=zh-CN-XiaoxiaoNeural
15. 音频后处理(降低 AI 味):
- 默认在 audio_bridge.py tts 成功后自动执行后处理。
- 可单独执行:bash scripts/postprocess_audio.sh
- 后处理链:高通 + 低通 + 压缩 + 响度标准化(语音听感更自然)。
16. ASR 低置信度输出:
- 在转写 JSON 中输出 low_confidence_segments,用于人工复核。
- 优先复核这些片段再发布最终纪要。
17. Action Items 校验脚本:
- python3 scripts/validate_action_items.py
- 校验失败时视为不可发布状态。
18. 思维导图脚本:
- python3 scripts/generate_meeting_mindmap.py --minutes
- 使用 ClawHub 导图引擎的安全封装版本(vendor),默认产出 .mindmap.json + .html + .xmind。
5) 质量门禁 (Quality Gate)
输出前逐条检查 references/quality-gate-checklist.md。 若未通过,不要直接提交最终纪要,先补齐缺失字段或标记“待补信息”。
6) 缺失信息处理 (Missing Data Policy)
1. 负责人缺失:填 待指定,并在备注要求会后确认。
2. 截止日期缺失:填 待确认,并在风险提示说明“时效不可追踪”。
3. 决议边界不清:填“待确认结论”,禁止伪造最终决策。