🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

会议纪要助手

by @2813223285

会议纪要与会议播报生成技能。用于处理会议录音或转写文本,执行发言人区分、口语降噪、议题重构、双钻结构整理,并输出执行摘要、核心决议、Markdown待办表格、TTS播报稿和会议思维导图(HTML/SVG/XMind)。支持双向语音能力:录音转文本(ASR)与文本转录音(TTS)。用户提到“会议纪要”“录音转文字”...

Versionv1.3.1
Downloads1,015
TERMINAL
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

按以下流程处理输入,不要跳步。 默认自动执行,不要求用户手动输入命令行参数。 默认使用“被动触发交互”入口:若用户未给出明确会议内容,先提问: 有什么会议纪要需要我帮你整理?可以直接发录音或文字。 对外回复风格强约束(必须执行):

  • 禁止连续发送“我先试试/再试试/正在下载模型/继续排查”等过程消息。
  • 一次请求只允许一次最终交付消息:要么给出完整结果,要么给出一次性失败说明 + 可执行修复步骤。
  • 失败说明必须是汇总态,不得按重试步骤逐条回放。
  • 禁止在对话中向用户索要 API Key 明文;仅提示“在环境变量中配置 OPENAI_API_KEY”。
  • 除非用户明确要求,不展示内部脚本命令执行日志。
  • 输出路径策略:
  • 强制优先:~/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
  • 公共目录仅用于读取共享资源,不写入导出结果。
  • 对外交付文件数量强约束:默认仅允许 3 个文件。
  • - <会议主题>-<时间戳>.txt(完整纪要) - <会议主题>-<时间戳>.mp3(重点口播) - <会议主题>-<时间戳>.html(思维导图) - 三个文件必须使用同一命名前缀(同一会议主题 + 同一时间戳),仅扩展名不同。 - .spoken.txt / .transcript.txt / .mindmap.json / .xmind / .full.mp3 仅可作为中间文件,必须自动清理,不得在最终回复中列为交付物。

    跨模型通用执行协议(强制):

  • 任何模型都必须遵循同一输出合同:执行摘要 + 核心决议 + Action Items表格 + 风险提示 + 导图结果 + 语音结果
  • 若工具调用不可用、脚本不可执行、或权限受限:必须自动降级为“纯文本可交付模式”,不能空回复或中断。
  • 降级时仍需输出:
  • - 可直接落地的结构化纪要(含 Action Items 表格) - mermaid mindmap 作为思维导图兜底 - 语音失败说明(缺少依赖、安装命令、重试命令)
  • 禁止把失败静默为“已完成”。
  • 首次交互强提醒(跨模型兼容,必须执行):

  • 在第一次响应里先输出“环境检查结果”(一段汇总即可),说明内置能力可直接使用:
  • - 内置 TTS:macOS say(可直接用) - 内置 ASR:macOS Speech(可直接用) - 必装依赖:edge-tts / ffmpeg - 默认本地 ASR 安装:openai-whisper(ASR 必装,并预下载 tiny 模型)
  • 若无法确认依赖状态,必须提示用户先执行:bash scripts/doctor.sh --strict
  • 在 macOS 下,若缺少 ffmpeg,必须优先提示并执行安装:bash scripts/bootstrap_macos.sh
  • 不允许静默失败;失败时必须明确说明“缺少哪个依赖、安装命令是什么、下一步怎么做”。
  • 首次使用输出格式强制包含两段:
  • - 环境状态:已就绪项 / 缺失项 - 安装命令:可直接复制执行的命令(按当前系统)
  • 首次自动安装时,必须先回复“正在安装哪些依赖(edge-tts / ffmpeg / whisper)”,安装过程中每隔数秒给出一次进度心跳,禁止长时间无反馈造成假死感。
  • 首次使用前先运行环境自检:

  • bash scripts/doctor.sh --strict
  • bash scripts/asr_self_check.sh(定位“模型未安装”还是“二次运行状态污染”)
  • 若要带音频做冒烟转写:bash scripts/asr_self_check.sh --input --provider auto
  • 若怀疑第二次运行污染:bash scripts/asr_self_check.sh --clean-temp
  • 若未通过,必须先完成安装,再执行 ASR/TTS(硬门禁)。
  • 在 macOS 下可启用自动安装:执行 ASR/TTS 命令时加 --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 --topic --formats html,xmind - 若脚本失败,必须在回复中显式给出失败原因,并兜底输出 mermaid mindmap 文本,禁止省略导图结果。

    4) TTS 播报稿生成 (TTS & Feedback)

    1. 不全文朗读;仅提取“核心决议 + 待办事项 + 风险提示”生成 1-3 分钟播报稿。 2. 在播报稿中加入节奏标记(如 [停顿1s][加重][放慢])。 2.1 朗读前必须清洗文本:去除 Markdown、URL、表格分隔符、控制标记和特殊符号,避免把符号读出来。 2.2 必须额外生成独立口播稿文件(.spoken.txt),TTS 只读取口播稿,不可直接朗读会议文档。 2.3 口播稿结构固定为:开场一句 -> 核心决议(最多3条)-> 待办(最多3条,含负责人和截止)-> 风险(最多2条)-> 收束一句。 3. 按场景切换音色建议: - 项目部署/复盘:干练专业 - 头脑风暴/团队同步:亲和清晰 4. 当用户未指定音色时,默认“干练专业”。 5. 当用户明确要求“生成录音/语音文件”时,除文本播报稿外,还必须提供可直接合成语音的最终朗读文本(去除控制标记版本)。 5.1 当用户仅提供文本纪要(未明确提语音)时,也必须生成语音文件(默认行为)。 5.2 文本输入默认生成一份核心音频: - 重点口播音频:.mp3(基于 .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. 会议纪要文档与音频必须同名同时间戳,仅扩展名不同: - 文档:<会议主题>-.txt - 音频:<会议主题>-.m4a|mp3 - 音频生成后必须做可解码校验;不可播放时自动切换下一 provider 重试,不可直接交付损坏文件。

    11. 全模型兜底返回格式(脚本不可用时): - 状态: SUCCESSPARTIAL_SUCCESS(必须明确) - 依赖检查: 已安装 / 缺失列表 - 会议纪要: 按模板完整输出 - 思维导图: 输出 mermaid mindmap 代码块 - 语音结果: 输出“未生成原因 + 安装命令 + 重试命令” 11. 执行命令(推荐): - 一键全量产出(推荐):python3 scripts/generate_meeting_bundle.py --input --topic [--outdir

    ] - 该命令默认强制校验 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 --topic - ASR: python3 scripts/audio_bridge.py asr --input --topic --provider auto --language zh - ASR 一键自检:bash scripts/asr_self_check.sh [--input ] [--provider auto|local|builtin|openai] [--clean-temp] - 自动安装依赖(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 [output-audio] - 后处理链:高通 + 低通 + 压缩 + 响度标准化(语音听感更自然)。 16. ASR 低置信度输出: - 在转写 JSON 中输出 low_confidence_segments,用于人工复核。 - 优先复核这些片段再发布最终纪要。 17. Action Items 校验脚本: - python3 scripts/validate_action_items.py - 校验失败时视为不可发布状态。 18. 思维导图脚本: - python3 scripts/generate_meeting_mindmap.py --minutes --topic --formats html,xmind - 使用 ClawHub 导图引擎的安全封装版本(vendor),默认产出 .mindmap.json + .html + .xmind

    5) 质量门禁 (Quality Gate)

    输出前逐条检查 references/quality-gate-checklist.md。 若未通过,不要直接提交最终纪要,先补齐缺失字段或标记“待补信息”。

    6) 缺失信息处理 (Missing Data Policy)

    1. 负责人缺失:填 待指定,并在备注要求会后确认。 2. 截止日期缺失:填 待确认,并在风险提示说明“时效不可追踪”。 3. 决议边界不清:填“待确认结论”,禁止伪造最终决策。