智能能会议纪要生成器

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

告别手打纪要!丢录音/文字,选版式,一键生成完美 Word 文档。支持多种专业模板

一句话选型结论

按资料字段整理

智能能会议纪要生成器是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_ee0c20d9/smart-meeting-minutes-2026
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_ee0c20d9仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量46.6 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
智能能会议纪要生成器当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

46.6 KB
模型实际读到的说明书原文,来自技能仓库

会议纪要自动生成

🚫 绝对禁止

六条底线,格式为「作用域 + 动作 + 合法例外」。例外之外一律不做,违反即视为交付失败。

  1. 【全流程 · 出稿】禁止在用户回答「字数」与「版式」之前生成任何文档、写 JSON、调用渲染脚本。 合法例外:用户原话中已明确给出字数或版式(如「1500 字以内」「按表格式出一份」),该项视为已确认;但另一项仍须询问。
  2. 【全流程 · 内容】禁止写入素材中不存在的姓名、日期、地点、数字、结论,禁止把口语升格为结论。 合法例外:无。缺失统一填 无 / 【待补】 并进 gaps;材料只写「张总」就记「张总」。
  3. 【全流程 · 素材】禁止在未完成转写/OCR 的情况下凭片段或记忆提取字段,禁止跨素材嫁接责任人。 合法例外:素材确实不可识别时,可跳过该份并在 gaps 写明「Sx 未纳入」及原因,同时告知用户。
  4. 【字数已确认 · 裁剪】禁止为压字数删除决议、待办或结论性讨论,禁止出稿后删段落、手改 docx 达标,禁止注水凑下限。 合法例外:压不下来时,可列出「需删掉的 N 条讨论」交用户裁决,用户明确接受后方可删减。
  5. 【交付前 · 质量】禁止跳过 check_output.py 自检直接交付,禁止只在文档里写 conflicts/gaps 而对话中不提。 合法例外:无。自检未通过须修数据重跑,不得手改产物掩盖。
  6. 【全流程 · 模糊项】禁止把模糊的责任人或时间改写成具体值,也禁止不加标注直接交付。 两种情形各用一个标签:责任人是「小王他们」「相关同事」「有关部门」这类落不到具体人的写法,标注 ⚠️ 需人工复核;时间是「下个月找个时间」「尽快」「回头再说」这类无法直接执行的表述,标注 ⚠️ 待确认。合法例外:无。 标注只加标记、不改原话——「小王他们」仍记「小王他们」,不得删成「小王」或补成某个全名;「下个月」仍记「下个月」,不得换算成任何日期。写法与判定细则见 references/faq-and-antipatterns.md §1.6。

模糊项标注约定

第 6 条的执行细则。先标注,再说结论;标注不是虚构,改写才是。

标记 触发条件 写在什么位置 禁止做法
⚠️ 需人工复核 责任人无法落实到具体个人 紧跟在责任人原话后,全角括号包住:小王他们(⚠️ 需人工复核) 不得删改原话使其「看起来具体」;不得留空或以 无 代替
⚠️ 待确认 时间/期限无法直接执行(保留原话) 紧跟时间原话后:下个月找个时间(⚠️ 待确认) 不得换算成具体日期;不得倒推「大概月底」

判定口径(代码层同源,见 scripts/minutes_marks.py):

  • 责任人算模糊:空值、无、未指定、待定,含 相关/有关/大家/各部门/同事/部门/团队 等泛指,或带 他们/她们/等人/几个 集体后缀。
  • 时间算模糊:含 下个月/下周/月底/尽快/回头/再说/择期/找时间/待定 等词;绝对日期(11月1日、2026-11-01、10月24日上午10点)不算模糊,不加标注。
  • 不标注是正当结果:素材本身就是具体人名 + 绝对日期时,产出 0 处标注即正确,不要为了「看起来用了新功能」硬造标记。

check_output.py 的 D10 项负责兜底:文档里出现 未指定 却未带任何标记,判失败(带 ⚠️ 需人工复核 或 ⚠️ 待确认 任一即可通过)。文末「待确认事项」的说明行只作复述,不能替代正文里的标注。

强制拦截规则

⚠️【最高优先级】:只要用户输入包含上述触发词,你必须立刻停下来,先询问用户两个问题:①需要哪种版式?②字数有要求吗?在用户回答之前,严禁直接生成文档!

⚠️【工具强制】:这两问必须通过 AskUserQuestion 工具发出,不允许只用普通文字聊天提问。理由:文字提问容易被打断、被跳过、被自己「合理推断」代答;AskUserQuestion 会形成一次真实的用户选择事件,选完才拿得到答案。请把「版式」与「字数」作为同一批的两个问题一次发出(版式四选一,字数选有/没有)。未收到 AskUserQuestion 的返回结果,就不得调用 generate_minutes.py / render_minutes.py。

补充执行细节:版式选项固定为「1. 表格式 2. 信笺式 3. 网格大表式 4. 条目式」,逐字保留选项编号与名称,不得增删;字数问题只给「有」「没有」两个选项,用户选「有」则请其自行指定上限或范围。两个问题一次问清,然后必须等待用户回复,严禁自行推断代答、严禁跳过询问直接提取或出稿。

概述

把一次会议产生的任意形态原始材料(图片、视频、录音、文字)统一转成「会议事实底稿」,再按用户需要的版式输出可直接分发或打印的 .docx 会议纪要。

三条主链路:多模态接入与识别 → 信息结构化与冲突校验 → 版式渲染交付。三态之间以 minutes.json 为唯一数据契约,保证同一份内容能切换任意版式重出,而不用重听录音。

三类素材同等对待:不是「录音为主、图片为辅」,而是任何单一或混合素材都能独立产出完整纪要——只有照片也能出纪要,只有一段聊天记录也能出纪要。

三条全局硬性规则(贯穿全流程,优先级最高):

  1. 字数先问后做:任何一次会议纪要生成,都必须先询问用户「是否有字数要求」,只给「有」「没有」两个选项;用户选「有」,再请其自行指定具体字数上限或范围,确认后才按该字数生成。
  2. 版式先问后做:任何一次会议纪要生成,都必须先向用户询问希望采用哪种模板格式(表格式 / 信笺段落式 / 网格大表式 / 条目式,四选一),得到明确确认后才开始生成文档。不允许默认套用某一版式直接出货。
  3. 忠于原文,不增不漏:用户以图片、录音、视频或文字等形式提供输入时,须严谨准确地提取核心内容与关键重点,既不遗漏关键信息,也不得擅自补充原文未提及的内容(不推测、不润色性添加、不"合理补全")。

前两条是出稿前的强制确认项,顺序固定:先问字数,再问版式,然后才生成。任何一项未获得用户明确回答,都不得开始生成。

三分钟上手

用户给素材(录音 / 图片 / 文字 / 混合)
  → 阶段 A:识别成 raw/source.txt
  → 阶段 B:问「版式 + 字数」→ 提九类字段 → 写 temp_data.json
  → 阶段 C:跑脚本出 docx → 自检 → 交付
  • 完整示例(含用户原话、逐轮回复、中间产物、交付话术):见 references/examples.md
  • 必须记住的铁律:不问版式和字数不出稿;缺信息填「无」不编造;自检不通过不交付

何时使用

满足以下任一条件即触发本 Skill:

  • 用户上传或指定 mp3/wav/m4a/aac/flac/amr 录音并要求整理纪要(需宿主环境支持音频转文字)
  • 用户上传或指定 mp4/mov/avi/mkv 会议录像、录屏(需宿主环境支持音频转文字)
  • 用户上传会议白板照、PPT 拍照、手写笔记照片、群聊/邮件截图、排期表截图
  • 用户直接粘贴一段会议文字/转写稿/聊天记录,要求做成纪要
  • 用户混着给(「录音 + 白板照 + 一份与会名单」),要求合成一份文档
  • 用户说「把上次会议整理成纪要」「生成会议记录 Word」「按表格式/信笺式/大表式出一份」「要个没有表格的版本」

音频链路说明:本 Skill 不自带语音识别引擎,转写由宿主环境提供(平台自动转录,或宿主调用其转写能力),Skill 负责读取、清洗、分段与后续结构化。宿主未提供转写稿时,按「绝不报依赖错误」原则给出替代方案,详见下方「A1 · 按模态识别为文字」与「异常与降级」。

不适用:仅需转录不要纪要(用通用转写);只需摘要不要 Word(用普通总结)。

输入忠实度要求(针对所有素材形态)

无论输入是图片、录音、视频还是文字,提取时必须满足:

要求 具体做法 反例(禁止)
不漏关键信息 逐份素材完整过一遍,议题、结论、责任人、时间点、数字、异议全部落条;合并后回查是否有素材段落未在纪要中体现 只听前半段录音就出纪要;只抄白板标题不抄勾选与划掉标记
不擅自补充 纪事只写素材里出现过的内容;缺的填 无/【待补】 并进 gaps 材料说「张总」,写成「张三总经理」;会议没说地点,按常识填「三楼会议室」
不推断改写 「尽快/下周/月底」原样保留,不换算成具体日期;口语保留原意不做升华 「可能要调整一下」写成「会议决定全面调整方案」
不跨素材串写 每段信息可追溯到 Sx;不得把 A 素材的结论嫁接到 B 素材的责任人上 排期表有「李工」,群聊有「那个事」,合成「李工负责那个事」
歧义即提示 听不清、看不清、指代不明,写明「原话不清晰/图中此处模糊」进 gaps,让用户确认 猜一个合理值填进去

一句话标准:纪要的每一句话,都能在素材里指出来源;找不到出处的,宁缺不编。

执行步骤

> 以下为强制交互约束(最高优先级,任何情况下不得跳过、不得合并、不得自动推断代答)

规则一 · 提取完成后必须停下来
当你完成录音 / 视频 / 图片 / 文字的素材识别与信息提取(阶段 A 全部完成、阶段 B 的九类字段已梳理)后,严禁直接调用 generate_minutes.py(或任何渲染脚本)生成文档。此处是一个硬性停点,必须中断流程,转入规则二。

规则二 · 强制询问用户(必须用 AskUserQuestion 工具)
必须调用 AskUserQuestion,在同一次调用里问清两个问题,逐字保留选项编号与名称,不得增删选项、不得替换措辞:

  1. 「请问您需要哪种版式?」——选项固定四项:1. 表格式 / 2. 信笺式 / 3. 网格大表式 / 4. 条目式
  2. 「请问您对生成的字数有要求吗?」——选项固定两项:有 / 没有;用户选「有」时再追问具体上限或范围

为什么必须用工具而不是发文字:用 AskUserQuestion 才能拿到一个明确的、可审计的选择结果;纯文字提问在本项目里已经出现过「没问就直接出稿」的情况。工具调用是硬门槛,聊天措辞不是。

拿到答案后的落参口径(三个脚本统一):

用户的选择 传参
1. 表格式 --style table
2. 信笺式 --style letter
3. 网格大表式 --style grid
4. 条目式 --style letter(交付说明写「条目式」,不要改口称信笺式)
字数「有」+ 上限 1500 --max-chars 1500
字数「有」+ 区间 1000–1500 --min-chars 1000 --max-chars 1500
字数「没有」 --max-chars 0(0 = 明确要求不限字数,不是「没填」)

⚠️ 这三个参数现在都是硬性必填:generate_minutes.py、render_minutes.py、check_output.py 在缺少 --style/--format 或 --max-chars 时会直接报错退出(退出码 30),不再提供任何默认版式或「默认不限字数」。这是刻意设计的——漏问会立刻失败,而不是悄悄出一份错方向的稿。

规则三 · 等待回复后再生成
发送询问后必须等待用户回复。只有拿到两件事——① 用户选定的版式(必须是上列四个选项之一,含新增的「条目式」);② 用户对字数的要求(有具体数值 / 明确表示没有)——才允许继续执行 JSON 数据整理与 python scripts/generate_minutes.py 出稿。
用户未回复、只回复了其中一项、或回复含糊无法确定时,继续等待或追问该项,不得默认任何版式、不得默认不限字数、不得先出一版让用户看着改。

工作流

本工作流按阶段顺序执行,其中 阶段 B0 是上文「规则二 / 规则三」的落地点,阶段 C2 是「规则一」禁止提前进入的步骤。

阶段 A · 素材接入与识别

A0 · 素材清点(先做,不做任何提取)

列出用户给出的每一份素材,逐条记录:模态、路径/来源、体量(时长/张数/字数)、预期能提供什么。落盘为 raw/manifest.json:

[{"id": "S1", "type": "audio", "file": "rec.m4a", "dur_min": 46, "expect": "讨论过程、口头承诺"},
 {"id": "S2", "type": "image", "file": "whiteboard.jpg", "expect": "排期、责任人"},
 {"id": "S3", "type": "text",  "file": "chat.txt", "expect": "会前背景、缺席人"}]

Sx 编号贯穿整个流程:后续每条提取出的信息都能追溯到某个 Sx,交付时才能说清「哪条内容来自哪份素材」。

A1 · 按模态识别为文字

进入任何字段提取之前,必须把所有素材统一成文本材料。

模态 怎么处理 产物
音频 / 视频 走宿主转写适配层 scripts/transcribe.py(不自带 whisper/ffmpeg,缺依赖不报错) raw/transcript.txt
图片 OCR / 视觉理解,图中的表格、箭头、勾选、划掉痕迹要一并描述 raw/ocr_<序号>.txt
纯文字 直接读取,按空行或说话人标签切段 原文
混合 各自识别后合并为同一份,每段前缀 [S1 录音 00:12:30] 来源标记 raw/source.txt

音频最小用法(详见 references/media-intake.md):

python scripts/transcribe.py rec.m4a --probe                 # 探测宿主是否已转录
python scripts/transcribe.py rec.m4a -o raw/transcript.txt   # 采纳并落盘

宿主未提供转写稿时(退出码 10),原样转达这句话,不要改写成技术错误:

> 我暂时无法直接解析音频文件,请提供文字版记录,或确认您的使用环境支持音频转写。

并补充替代方案(文字版 / 清晰图 / 只对有音轨部分做纪要 / 口述关键决议先出草案),把该素材记入 gaps。

硬性约束:

  • 不得跳过识别直接凭记忆或片段提取字段。 未经转录/OCR 的材料,视为该部分信息不存在,写入 gaps,而不是猜。
  • 识别失败或覆盖率不足时,说明具体哪份素材、什么原因、覆盖了多少,让用户决定是否补料,不要降级为「大致总结」。

A2 · 交叉校订与冲突检测

所有素材合并后,做一遍交叉核对(这一步是「混合输入整合」的核心,不能省):

  • 专有名词/数字/人名:以书面材料(PPT、排期表、名单、邮件)为准,纠正转写听错。
  • 时间与责任人:录音里说「下周三」,截图里写明「10/21」,取截图并记 gaps。
  • 同一事项多版本:例如两张不同日期的排期表,以日期更新的或用户指定的为准,另一版记入 gaps。

冲突与缺失统一进入 conflicts 与 gaps 两个清单(结构见 references/extraction-schema.md),不允许静默选一个。这两个清单会同时出现在:交付时的对话提示 + 文档末尾的「待确认事项」小节。

阶段 B · 信息结构化

B0 · 硬性停点:先确认版式与字数(必做,不可跳过)

提取完成 → 必须停下先问、等答复,才可进入阶段 C。 在同一条消息里问两件事,两项都拿到答复才继续:

  1. 「请问您需要哪种版式?1. 表格式 2. 信笺式 3. 网格大表式 4. 条目式」(四项编号与名称逐字保留,不得增删)
  2. 「请问您对生成的字数有要求吗?」(只给「有 / 没有」,选「有」再请其指定上限或范围)

必须用 AskUserQuestion 发起这两问,不要用普通文字代替;没拿到工具返回的用户选择,不得进入阶段 C。
禁止:提取完直接写 JSON 跑脚本;先出稿再问要不要换;把两个问题压成一句含混提问。
用户已明确说过版式或字数的不重复问。(用户原话已给出某项时,仍须对另一项用 AskUserQuestion 询问;两项都已在原话中明确时,可直接进入阶段 C,但仍须把结论写进 --style / --max-chars,不得省略。) 除此之外的缺项(会议名、参会人等)一律先出稿后提示,不停下来盘问。

> 版式选项与 --style 的映射、字数追问的全部话术、用户改主意时的处理,见 references/interaction-protocol.md。

B1 · 提取九类字段

从 raw/source.txt 提取九类字段,缺一不可:会议主题、时间、地点、主持人、记录人、参会人员、讨论内容、决议事项、待办事项。

三条铁律:

  • 缺失统一填「无」,严禁编造——不推断姓名(材料写「张总」就记「张总」,不补成「张三」)、不推测时间地点、不把「尽快」改写成具体日期、不为凑结构虚构条目
  • 讨论与决议必须分条归纳,一条 = 一个可独立成立的事实或决定,单条超 60 字视为未归纳
  • 待办必须带负责人与截止时间,缺哪个子字段就填 无

> 九类字段的完整表格、逐条禁止项、流水账反例与分条正例,见 references/field-extraction.md。

B1-补 · 按 B0-1 确认的字数裁剪

word_limit 为 null 时跳过本节。有值时在数据层收敛篇幅,不是出稿后再删:

用户给的形式 执行方式
上限(如「1500 字以内」) 正文总字数(含表格内文字,不含页眉页脚页码)不超过该值,目标落在 80%–100%
范围(如「1000–1500 字」) 落在区间内,不写成 1000 字以下;接近下限时不注水

裁剪优先级(从先到后,不得为了压字数丢掉第 1、2 类):

  1. 必须保留:全部决议事项、全部待办(负责人 + 截止时间)、结论性讨论条目
  2. 必须保留:会议基本信息六项(无内容也占位填 无)
  3. 可压缩:同一议题下多条相近讨论合并为一条,保留分歧点与结论
  4. 可压缩:讨论条目的修饰性措辞删去,只留「事实 + 数字 + 结论」
  5. 可后置:gaps / conflicts 明细改为对话中说明,文档内仅保留一行索引
  6. 禁止:为压字数编造概括句、删除议题导致漏项、把两条不同议题压成一条

压缩后仍超限 → 说明「按 <style> 版式与现有内容,压到 X 字需删掉 N 条讨论(列出),是否接受?」,让用户裁决,不要静默删内容强行达标。

python scripts/check_output.py &lt;输出文件&gt; --format {style} --max-chars {0|上限}
python scripts/check_output.py &lt;输出文件&gt; --format {style} --min-chars 1000 --max-chars 1500

--max-chars 超出即报 D9,按报错项压缩数据重跑(不要手改 docx);--min-chars 不足只告警,不注水。用户选「没有」时不传这两个参数。

B2 · 断链识别(材料不足的典型形态)

有讨论无结论、待办缺责任人或时间、只截到半场、说话人无法对应、仅单一低可信素材——这五种情况必须写进 gaps,不能让文档看起来完整。

> 五种断链形态的表现与处理方式,见 references/field-extraction.md。

阶段 C · 渲染与交付

C1 · 版式路由

前置条件:B0-1 字数、B0-2 版式均已完成确认,且用户已在对话中真实回复过。 未获得用户对字数的回答(「有字数要求」并给出数值 / 「没有字数要求」)或未获得明确版式,一律不得进入本步骤。到达 C1 之前若尚未发出过「请问您需要哪种版式?…/请问您对生成的字数有要求吗?」这条询问,说明跳过了 B0 硬性停点,必须回退到 B0 重新询问。

按用户措辞直接映射到 --style,不要让用户重新描述:

用户说 参数
「表格」「表格版」「表格式」 --style table
「信笺」「段落」「信笺版」「段落式」 --style letter
「网格」「大表」「网格版」「大表式」 --style grid
「没有表格」「不要表格」「不用表格」「条目式」「纯文字版」 --style letter
未指定版式 / 未回答 B0-2 无参数 —— 必须回到 B0-2 询问,禁止套用任何默认值

多个关键词同时出现(如「要个表格版的,或者网格也行」)取最前面的;仍无法判断时回到 B0-2 重新让用户四选一,不要自行默认。

「条目式」与「信笺段落式」执行上同为 --style letter(该版式已保证全文无表格,行动项转为「四、工作安排」编号段落),区别只在对用户的说法:选了「条目式」时,交付说明里写「本次按条目式生成,全文不含表格」,不要改口称「信笺段落式」,以免用户以为换错了版式。

> 三种版式的详细格式要求,请参见 references/format-table.md、format-letter.md、format-grid.md(页面尺寸、字体字号、颜色、表格结构、行距、页脚页码等)。
> 上述细则已由脚本实现,出稿时不需要手工核对,也不要在对话里复述;仅在排查排版异常或需要说明版式差异时查阅。

C2 · 生成 Word

> 进入本步骤的唯一凭证:用户已在 B0 回复过版式(1/2/3/4 之一,含「4. 条目式」)与字数要求。 二者缺一,禁止执行本节命令。

把 B1 的数据整理成 JSON 写入临时文件(如 temp_data.json)。若 word_limit 有值,先按 B1-补 收敛数据,再生成:

python scripts/generate_minutes.py --style {style} --max-chars {0|上限} --data temp_data.json

`--style` 与 `--max-chars` 均为必填:前者取用户在 `AskUserQuestion` 里选的那一项(四选一映射见规则二),后者取用户的字数要求(&quot;没有&quot; 传 `0`,&quot;1500 字以内&quot; 传 `1500`,区间再加 `--min-chars`)。两者缺一,脚本直接退出(退出码 30)。
  • 顶层四块:meeting_info / discussion / decisions / todos;完整字段与替换规则见 references/data-structure.md
  • 可选 -o 输出路径.docx、--company &quot;公司名称&quot;、--code &quot;DK001&quot;
  • 不传 --data 时生成同版式空白模板,仅在用户明确要「空表 / 打印手填」时使用
  • 需要「待确认事项 / 信息来源」等扩展小节时,改用 scripts/render_minutes.py(minutes.json 契约,字段更细,含 gaps、sources、risks、next_meeting)

生成后执行交付前自检(word_limit 有值时务必带上字数参数):

python scripts/check_output.py &lt;输出文件&gt; --format {style} --max-chars {0|上限}

通过再交付;未通过按报错项修数据重跑(不要手改 docx)。

自检项一览(check_output.py):

项 查什么 不通过时怎么办
D1 页面方向与版式要求一致(grid 必须横向) 换正确版式参数重跑
D2 版式关键结构齐全(table 七节 / letter 六章+落款 / grid 主表五列+底部汇总) 补数据或改选版式
D3 占位符残留(【待补】 / TODO / XXX) 补齐或确认后去掉占位
D4 行动项出现「未指定」 补负责人/截止时间
D5 空章节 / 空表格单元格 补内容或按「无」交付并说明
D6 段落数量与空白文档底线 补内容
D9 字数是否落在 --max-chars / --min-chars 内 压缩或放宽重跑
D10 模糊信息是否正确标注(⚠️ 待确认 / ⚠️ 需人工复核) 按「模糊项标注约定」补标注
D11 一段连续 200 字以上没有任何标点断句(整行夹一个逗号不算断句) 拆成多条要点,或按每 200 字左右分段重出(原话不动,只加分段)

为什么按「连续无标点片段」判、而不是按「整行有没有标点」判:361 字里夹一个逗号,算「有标点」却照样是一整块石头,版面撑破、读者读不下去。可读性取决于最长的那段没断句的文字,而不是标点出现过没有。

D11 的定位是兜底,不是日常扫描:generate_minutes.py 出稿时已先用 _split_points 把超长无标点段落无损拆成多行,所以正常生成的文档不会触发 D11。它只在两种情况下拦下来——拆分本身失效,或内容绕过渲染层、以整块文本进入文档。命中时退出码为 10(内容类,可修数据后重试),不会因为你换版式而消失。

C3 · 打印/发送适配

文档默认即为「可直接分发」状态:A4 纵向、页边距 2–2.5cm、页脚页码、标题层级清晰、单元格不串行。生成前按用途做一次取向判断:

用途 处理
直接发邮件/IM 保持默认;信笺式更适合对外,表格/网格更适合内部
打印张贴/会上传阅 用 grid,内容多时确认段落未被跨页切断(必要时拆议题块)
打印手写填写 用空白模板 --data 缺省
超长会议(≥15 条议题) 拆成「纪要正文 + 待办汇总表」两份,或改用 grid 横向排布

C4 · 交付与切换

用 present_files 打开成品,正文给出:

  • 一句话说明素材构成(几个文件、什么模态、总时长/页数)
  • 讨论条数、决议条数、待办条数
  • 所有填了 无 的字段,方便用户一次补齐
  • 冲突与缺失提示(conflicts / gaps)——这是本技能的核心承诺,不能省
  • 版式已由用户确认,交付时复核一句「本次按你选的<版式名>生成」,并附切换方式
  • word_limit 有值时复核一句「本次按 <N 字以内 / N–M 字> 要求生成,实际约 X 字(经 --max-chars 校验)」

用户要换版式,直接改 --style 重跑,复用同一个 temp_data.json,不重跑识别与提取。用户要改字数,改 word_limit 后按 B1-补 压缩同一份数据重跑,同样不重听录音。

异常与降级

提示语总则:任何异常/缺信息场景,话术必须三段齐全——① 说清具体是什么问题(缺哪几项、哪份素材、第几行)→ ② 说明用户可以选择怎么做(不是命令)→ ③ 给出「我可以先做什么」的兜底动作。禁止只回「缺少信息」「生成失败」「格式错误」这类无信息量的单词;也禁止把技术报错原文(traceback、异常类名)直接抛给用户。

脚本侧已实现同一套话术:scripts/messages.py(文案单一来源)+ generate_minutes.py 的自动修复/重试降级 + check_output.py 的 [提示] 与 结论: 行。写回复时可直接沿用脚本给出的说法,保持前后一致。

场景 动作
宿主不提供音频转写 不报错、不抛 traceback;原样输出「我暂时无法直接解析音频文件,请提供文字版记录,或确认您的使用环境支持音频转写。」并给出文字版/截图/口述等替代路径,该素材记入 gaps
宿主提供了转写稿但文件损坏/为空 说明「找到了转写稿但读不进来」+ 具体原因,请用户改发文字版;不中断其余素材的处理
转写稿超长(长会、多段拼接) 脚本按 --chunk-min 自动分段处理并告知切了几段、顺序不乱;不静默截断
素材全为图片且有多张重复页 按场景去重,只对差异帧做 OCR,交付时说明去重了 N 张
视频超长(>2h) 先按场景切换抽帧定位议程,再对关键片段转写,交付时说明只转写了关键段
部分素材无可用识别能力 明确告知哪份材料未纳入,其余照常出纪要,gaps 记「Sx 未纳入」
素材内容与用户口述要求矛盾 以素材为准,在交付时提出矛盾点让用户裁决
用户要求「补齐所有空缺」 拒绝编造;改为给「推荐补全清单」,逐项标出需要谁确认
用户未回答字数(B0-1) 停下等待,不生成;不预设「不限字数」
用户选「有字数要求」但未给具体字数/给的是模糊值 请其明确为上限或范围(一个数字按上限处理),不要自行折算
用户给的字数明显装不下全部决议与待办 告知「压到 X 字需删掉 N 条讨论(列出)」,由用户选择放宽字数还是接受删减,不静默删内容
用户未回答版式选择 停下等待,不生成;可给出推荐项与理由,但不代用户决定
已提取完信息但还没问就准备跑脚本 立即中止,回到 B0 硬性停点,发出「版式 + 字数」两问,不生成任何文件
用户只回复了版式或只回复了字数 追问缺失的那一项,两项齐全前不写 JSON、不跑脚本
用户选「4. 条目式」 按 --style letter 生成,交付说明写「本次按你选的条目式生成,全文不含表格」,不要改口称信笺式
用户说「随便」「你看着办」 推荐一个版式并说明理由,仍取得一句确认后再生成
用户既要「没有表格」又要逐项跟踪行动项 说明该版式下行动项会写成「四、工作安排」的编号段落、不再横向对照负责人与截止,确认其接受或改选表格式

版式选择建议

版式 适用场景 不适用
表格式 周会、项目例会、需要逐条跟踪行动项 需要叙述性措辞的对外场合
信笺段落式 对外发送、向上汇报、正式函件风格 议题多且需要横向对比
网格大表式 决策会、多议题多方案对比、评审会、需要打印张贴 内容极少的短会(会显得空)
条目式 领导明确不要表格、要粘进邮件正文或聊天窗口、需要念读通顺的纯文字场合 需要逐项对照负责人与截止时间的跟踪场景

「条目式」与「信笺段落式」底层同为 letter 渲染,差别只在用户视角:前者是对「不要表格」这一诉求的直接回应,后者是对「信笺/公文风格」的回应。用户没有表格式顾虑、只说想要正式函件感时,优先给「信笺段落式」。

资源

scripts/

  • generate_minutes.py — 主链路。--style table|letter|grid(必填)+ --max-chars {0|上限}(必填)+ --data temp_data.json 生成三种版式 .docx;省略 --data 出空白模板(--company / --code / --topics 可选)。漏传必填参数直接退出 30,可用 --test-mode 在回归时跳过校验
  • render_minutes.py — 扩展链路。基于 minutes.json(含 gaps / sources / risks / next_meeting)渲染,会把「信息缺口」直接印在文档里。--format 与 --max-chars 同为必填,同样支持 --test-mode
  • check_output.py — 交付前自检:占位符残留、空章节、缺负责人/时间、版式结构完整性、字数是否落在 --max-chars / --min-chars 要求内。--format 与 --max-chars 同为必填(不传 --format 会导致 D1/D2 静默跳过、输出假通过),同样支持 --test-mode
  • transcribe.py — 音频转写适配层。探测宿主是否已提供转写稿(环境变量 / 同名旁挂文件 / transcripts/ / raw/transcript.txt),命中则清洗采纳,未命中给出友好提示;支持 .txt/.srt/.vtt/.json 与超长分段。不含语音识别实现,缺依赖时不会报错
  • media_probe.py — 探测媒体时长、音轨、分辨率,判断是否需要抽帧/分段
  • messages.py — 全部对外话术的单一来源(缺失提示/错误提示/重试与分段说明),改文案只改这一处

references/

先看这两个:

  • examples.md — 完整用法示例。3 个端到端示例(录音全链路 / 模糊输入降级 / 失败与重试),含用户原话、逐轮回复、中间产物、脚本输出与交付话术。不确定某一步该输出什么时查这里
  • interaction-protocol.md — 出稿前必须问清的版式与字数:四选项映射、追问话术、禁止动作、用户改主意时的处理

按需查阅:

  • field-extraction.md — 九类字段的完整表格与禁止项、分条归纳的正反例、五种断链形态
  • media-intake.md — 四类模态的接入与识别流程、图片读图要点、说话人处理、素材合并顺序
  • data-structure.md — 数据契约:meeting_info/discussion/decisions/todos 简表与 minutes.json 全字段、字段别名、最小示例
  • extraction-schema.md — minutes.json 完整字段定义 + 提取规则 + 正反例 + 冲突处理
  • quality-notes.md — 版式、排版、打印、交付话术规范;素材不足/冲突时的标准提示措辞
  • format-table.md / format-letter.md / format-grid.md — 三种版式的详细格式要求(页面、字体字号、颜色、表格结构)
  • faq-and-antipatterns.md — 反模式速查(症状/错误做法/正确做法/排查路径)与用户高频问答口径;出现「为什么这么要求」「上次怎么那样做」类追问时查此文件

assets/

  • minutes.sample.json — 完整示例数据(含 gaps/sources),可直接跑通三个版式
  • minutes_template.docx — 本地备查,不随包分发。三版式共用样式底稿,仅供线下手动套用公司抬头/页眉页脚;代码不加载它(所有文档由 Document() 空白创建 + 代码设定版式),删掉不影响生成结果。平台上架禁传二进制文件,打包时会被自动排除。

快速自检

首次使用或环境变更后,执行以下命令确认渲染链路可用:

# 冒烟测试:三种版式各出一份 + 自检(--max-chars 0 = 用户未要求字数)
python scripts/generate_minutes.py --style table --max-chars 0 --data assets/minutes.sample.json -o ./t.docx
python scripts/check_output.py ./t.docx --format table --max-chars 0
python scripts/generate_minutes.py --style grid  --max-chars 0 --data assets/minutes.sample.json -o ./g.docx
python scripts/check_output.py ./g.docx --format grid --max-chars 0
python scripts/render_minutes.py assets/minutes.sample.json --format table --max-chars 0 -o ./r.docx
python scripts/check_output.py ./r.docx --format table --max-chars 0 --structure render

# 批量回归 / 版式穷举:三个脚本都支持 --test-mode 跳过必填校验
#   python scripts/generate_minutes.py --data x.json -o x.docx --test-mode
#   --test-mode 会在 stderr 打印 [警告] TEST MODE:…,留痕可审计;正常出稿禁用。

预期输出 OK style=… 与 ✅ 自检通过。自检产物(./t.docx、./g.docx、./r.docx)生成在当前目录,确认通过后可直接删除。

  • check_output.py 默认按 generate_minutes.py 的结构自检;render_minutes.py 的产物要加 --structure render
  • 空白模板自检要加 --blank(跳过内容底线与空单元格检查)
  • 网格大表式必须为横向 A4,且所有行带 cantSplit(防打印跨页断裂),自检会校验这两项
  • 若报 缺少依赖 python-docx,执行 pip install python-docx

从输入到输出的全链路实操演示

一次真实的、带对话的完整走查:素材只有一句极其模糊的口语转写,全程四步走完,最终产出带 ⚠️ 待确认 的可用文档。「我」是助手,「你」是用户。

第 1 步 · 用户输入:一句话的口语转写

> 那个啥,今天这个会咱们就定一下,下周让小王他们去搞那个项目,预算回头再说

这四类信息全都不合格:时间是「下周」(相对表述,落不到日期)、责任人是「小王他们」(落不到人)、预算是「回头再说」(等于没定)、会议本身的时间地点主持人一概没有。

第 2 步 · 我做什么:先提字段,再一次性把缺口问清

不猜、不换算、不拒绝出稿。提取到的只有两条待办,其余按「无」占位;然后在出稿前一并澄清,一条消息问完,不挤成多轮追问。开场先把结论摆出来,再逐项给选择:

> 我注意到时间、责任人和预算不明确,需要我帮您标记为待确认,还是您现在补充?
>
> 我梳理了一下,能确定的有两件事:启动项目、由「小王他们」推进;预算这次没定。具体是这 3 处:
> 1. 时间——「下周」我保持原话,标 ⚠️ 待确认,还是你现在给个具体日期?
> 2. 责任人——「小王他们」我保持原话,标 ⚠️ 需人工复核,还是你补到具体人名?
> 3. 预算——「回头再说」我记为「未讨论」并列入待确认事项,还是你补一句结论?
>
> 另外这份纪要还差 4 项:会议是什么时候开的、在哪开的(会议室 / 线上平台)、谁主持的和谁负责记录。为了让纪要更准确,可以直接告诉我这几项;或者我现在就按现有内容出一版,缺的几处先填「无」,你拿到后随手补上也可以。
>
> 顺带确认两件事:需要哪种版式?1. 表格式 2. 信笺式 3. 网格大表式 4. 条目式;字数有要求吗?

第 3 步 · 用户补充:只补了一部分

> 会议时间 10 月 20 日下午两点,主持人是我,记录也是我。预算按 50 万先报,小王具体是谁你标一下待确认就行。表格式,没字数要求。

关键点:用户只补了一部分,剩下的照旧不猜。 逐项落位:

项 用户补充后 怎么落地
会议时间 10月20日下午两点 绝对时间,不加任何标记
主持人 / 记录人 用户本人 直接写入
预算 50 万(原话「回头再说」,已按 50 万报批) 照用户口述写,不推算
责任人 用户明确「标一下待确认」 仍记「小王他们」+ ⚠️ 需人工复核
截止时间 用户没提 仍记「下周」+ ⚠️ 待确认,不因补了会议时间就顺手把「下周」换算掉
会议地点 用户没提 填「无」,交付时点名提示

第 4 步 · 最终产出:带 ⚠️ 的成品文档

版式已确认(表格式)、字数无要求,直接出稿(--style table)。渲染后的正文关键段落——

会 议 纪 要
┌────────────┬───────────────────────────────────────────────┐
│ 会议主题   │ 项目启动会                                    │
│ 会议时间   │ 10月20日下午两点                              │
│ 会议主持   │ 王××                                          │
│ 会议记录   │ 王××                                          │
│ 会议地点   │ 无                                            │
│ 参会人员   │ 小王他们                                      │
│ 会议内容   │ 1、新项目启动                                 │
│            │  会上确定启动新项目,由小王他们负责推进。    │
│            │  预算事项原话「回头再说」,本次按 50 万报批。│
│            │ 待办事项:                                    │
│            │  1、推进新项目(具体范围会上未说明)         │
│            │   负责人:小王他们(⚠️ 需人工复核)          │
│            │   截止:下周(⚠️ 待确认)                    │
│            │  2、确定项目预算                             │
│            │   负责人:未指定(⚠️ 需人工复核)            │
│            │   截止:无                                  │
│ 会议决定   │ 1、启动新项目,由小王他们负责推进             │
└────────────┴───────────────────────────────────────────────┘
待确认事项
1、⚠️ 需人工复核 待办 1 负责人「小王他们」无法落实到具体人,请指定到人
2、⚠️ 待确认 待办 1 截止时间「下周」为模糊表述,请确认具体日期
3、⚠️ 需人工复核 待办 2 负责人「未指定」无法落实到具体人,请指定到人

自检结果(真实输出):

✅ 自检通过  (structure=sheet)
  [WARN ] D4: 有 2 处「未指定」,行动项可能缺负责人或截止时间
  [提示] 这份纪要还差一项:在哪开的(会议室 / 线上平台)。为了让纪要更准确,可以直接告诉我这几项;
         或者我现在就按现有内容出一版,缺的几处先填「无」,你拿到后随手补上也可以。
  统计: 段落 1 / 表格 2 / 空单元格 1 / 占位符 0 / 字数 350
  结论: 可以交付

注意 结论 从「缺 4 项」升到了「可以交付」——用户补了时间与主持人,缺项自然减少,不需要我改话术。

这两处标记不是我手写贴上去的。 数据文件里存的就是原话 &quot;owner&quot;: &quot;小王他们&quot;、&quot;due&quot;: &quot;下周&quot;,minutes_marks.py 在渲染时自己判定并加括注;文末「待确认事项」也是脚本自动汇总的——你补的信息进了正文,没补的信息留在标记里,两边不会打架。

三个版式都验证过,标注位置各自正确:信笺式落后写到 1.推进新项目(…)(负责人:小王他们(⚠️ 需人工复核),截止时间:下周(⚠️ 待确认));网格大表式在负责人列与截止列内各带标记。

交付话术:

> 表格式纪要出好了。有 3 处我按约定做了标记,没有替你定:
> 1. 「小王他们」——责任人还没落到具体人,标了 ⚠️ 需人工复核
> 2. 「下周」——截止时间还是原话,标了 ⚠️ 待确认
> 3. 预算——按你说的 50 万报了,但会上原话是「回头再说」,这版是按你口述的口径写的
>
> 会议地点你没有提,我先填了「无」,补一句我直接重出。

这个示例要说明的三件事

  1. 模糊输入不劝退:一句话也能出稿,缺的进「待确认事项」,不因为内容少就罢工。
  2. 澄清是一次性问清的:3 处模糊 + 4 项缺失 + 版式字数,一条消息说完,不来回挤牙膏。
  3. 补一半也不擅自推断:用户补了时间、没补地点,地点就是「无」;补了预算、没补截止,截止仍是 ⚠️ 待确认。

> 更完整的三个端到端示例(含录音全链路、脏数据重试、长文本分段)见 references/examples.md。

常见问题

5 问
答案由本站依据条目字段整理
智能能会议纪要生成器怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_ee0c20d9/smart-meeting-minutes-2026。安装方式为未标注。装完刷新技能列表或重开客户端。

智能能会议纪要生成器支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

智能能会议纪要生成器权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

智能能会议纪要生成器收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

智能能会议纪要生成器用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。