会议纪要智能助手。使用本地 Whisper 音频转写(离线、隐私安全),生成结构化会议纪要(时间、议题、结论、待办、关键词),提取 Action
Scanned 9/12/2026
Install to Claude Code
npx -y skills add whyzsm/tiny-agents --skill meeting-notes-assistant --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Meeting Notes Assistant?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/whyzsm-meeting-notes-assistant)More formats (shields.io, HTML) on the badges page.
---
name: meeting-notes-assistant
description: 会议纪要智能助手。使用本地 Whisper 音频转写(离线、隐私安全),生成结构化会议纪要(时间、议题、结论、待办、关键词),提取 Action
Items。支持 Word / PDF / 邮件输出,适合录音转写、会议归档与待办分发。触发关键词:「整理会议纪要」、「生成会议纪要」、「录音转纪要」。
---
# Meeting Notes Assistant v1.0.0
## 功能概述
智能会议纪要助手,基于本地 Whisper 离线转写,提供:
### 核心功能
1. **离线语音转写** - 本地 Whisper(base / small / large-v3),数据不上云,隐私安全
2. **多语言支持** - 中文、英语、日语、韩语自动识别
3. **结构化纪要** - 时间、议题、结论、待办、关键词、Action Items
4. **智能解析** - AI 自动提取会议要点,规则解析兜底
5. **文档导出** - Word / PDF 专业排版
6. **历史存储** - 本地 SQLite 存储,支持关键词搜索
7. **模板管理** - 简洁版、专业版、立项会、周会、月度复盘等模板
8. **批量处理** - 目录级批量转写、批量纪要生成,支持递归扫描
### 核心优势
- ✅ **完全离线**:音频文件仅在您的电脑上处理,无需网络连接
- ✅ **隐私安全**:数据不上云,适用于敏感会议场景
- ✅ **零配置使用**:无需申请 API 密钥,安装即用
- ✅ **高准确率**:Whisper large-v3 模型准确率达 95%+
- ✅ **多领域适配**:内置金融词典,支持自定义领域术语
## 触发词
- "整理会议纪要"
- "生成会议纪要"
- "录音转会议纪要"
- "帮我做个会议记录"
- "用立项会模板" / "用周会模板" / "用月度复盘模板"
- 直接上传音频文件、文档、飞书链接、网页链接
## 推荐使用流程
### 场景 A:录音转纪要
1. 提供音频文件(.mp3 / .m4a / .wav / .ogg)
2. 先转写,再生成结构化纪要
3. 预览后导出 Word / PDF / 飞书 / 邮件
**飞书用户快速开始**:详见 [FEISHU_QUICK_START.md](./FEISHU_QUICK_START.md)
### 场景 B:文档或链接转纪要
1. 提供文字稿、飞书文档链接或网页链接
2. 直接生成结构化纪要
3. 选择分发方式
## 快速上手(命令行)
### 1) 安装依赖
```bash
pip install -r requirements.txt
```
**关于 Whisper 模型:**
- 安装时只包含 `base` 和 `small` 模型
- `large-v3` 模型(最高准确率,约 3GB)在首次使用时自动下载
- **large-v3 下载说明**:首次选择 large-v3 模型时,系统会提示下载确认
- 下载大小:约 3GB
- 下载时间:5-15 分钟(取决于网络速度)
- 下载地址:https://openaipublic.azureedge.net/main/whisper/large-v3.pt
- 适用场景:专业会议、长音频、最高准确率要求
- 如果您有 GPU(如 RTX 3060+),推荐使用 `large-v3` 模型
- 模型下载位置:`~/.cache/whisper/`(Linux/Mac)或 `C:\Users\<用户名>\.cache\whisper\`(Windows)
### 2) 常用脚本
```bash
# 语音转文字(推荐直接输出转写文本文件)
# 小模型(推荐日常使用,速度和准确率平衡)
python scripts/transcribe_audio.py demo.m4a --model small
# 大模型(最高准确率,需要 GPU)
python scripts/transcribe_audio.py demo.m4a --model large-v3
# 基础模型(快速测试)
python scripts/transcribe_audio.py demo.m4a --model base
# 生成结构化纪要
python scripts/generate_notes.py transcript.txt --output notes.json
# Windows PowerShell 下如需附带会议信息,建议改用 JSON 文件
python scripts/generate_notes.py transcript.txt --meeting-info-file meeting-info.json --output notes.json
# 导出 Word(内置模板)
python scripts/export_word.py notes.json --template simple --output notes.docx
# 导出 Word(templates.py 管理的模板,如"周会")
python scripts/export_word.py notes.json --template 周会 --output weekly-notes.docx
# 导出 PDF
python scripts/export_pdf.py notes.json --output notes.pdf
# 查看历史会议
python scripts/storage.py list --limit 10
```
### 3) 配置 LLM(必做,否则纪要内容为空)
`generate_notes.py` 默认调用 OpenAI 兼容接口。在 `~/.workbuddy/meeting-notes-config.json` 中配置:
```json
{
"llm_base_url": "https://api.openai.com/v1",
"llm_api_key": "sk-your-key-here",
"llm_model": "gpt-4o-mini"
}
```
国内兼容接口示例(通义千问、DeepSeek、智谱等):
```json
{
"llm_base_url": "https://api.deepseek.com/v1",
"llm_api_key": "sk-your-deepseek-key",
"llm_model": "deepseek-chat"
}
```
也可以用环境变量覆盖:`OPENAI_API_BASE` / `OPENAI_API_KEY` / `LLM_MODEL`
若无 API Key,使用 `--no-llm` 参数回退到规则解析(内容较少):
```bash
python scripts/generate_notes.py transcript.txt --no-llm --output notes.json
```
### 4) 配置邮件发送(可选)
首次发送邮件前,可先运行 SMTP 配置向导:
```bash
python scripts/send_email.py --config
```
也可指定自定义配置文件路径(联调推荐):
```bash
python scripts/send_email.py --config --config-path smoke-test/email-config.json
```
配置会写入 `~/.workbuddy/meeting-notes-config.json` 的 `email` 字段,并保留已有的 LLM 配置。
### 5) 配置文件位置
- 配置文件:`~/.workbuddy/meeting-notes-config.json`
- 会议主库:`~/.workbuddy/meeting_notes.db`
- 频道库:`~/.workbuddy/meeting_channels.db`
- 模板目录:`~/.workbuddy/meeting_notes_templates/`
### 6) 指定隔离数据库目录(联调 / smoke test 推荐)
`storage.py` / `channels.py` / `meeting_analytics.py` 已支持 `--db-dir` 参数,也兼容环境变量 `WORKBUDDY_HOME`。
```bash
python scripts/storage.py --db-dir smoke-test/real-audio/home/.workbuddy list --limit 10
python scripts/channels.py --db-dir smoke-test/real-audio/home/.workbuddy meetings 1
python scripts/meeting_analytics.py --db-dir smoke-test/real-audio/home/.workbuddy --period week
```
## 目录结构
### scripts/
- `transcribe_audio.py`:语音转文字
- `generate_notes.py`:生成结构化纪要 JSON
- `export_word.py`:导出 Word 文档
- `export_pdf.py`:导出 PDF 文档(Windows 自动优先 reportlab / fpdf2)
- `publish_feishu.py`:生成飞书文档 / 群聊 / 任务所需载荷
- `send_email.py`:发送会议纪要邮件(支持 `--config` SMTP 配置向导)
- `storage.py`:历史会议保存、搜索、列表、删除(支持 `--db-dir`)
- `templates.py`:模板管理
- `channels.py`:频道分组管理(支持 `--db-dir`、`update` 修改描述/颜色)
- `meeting_analytics.py`:会议频率与关键词分析(支持 `--db-dir`)
- `sentiment_analysis.py`:情绪分析(繁简转换 + 口语友好分句 + 逐句聚合)
- `ai_skills.py`:销售 / 招聘 / 技术评审 / 金融交流等场景提取
- `export_bitable.py`:导出飞书多维表格 JSON(支持 `--field-lang zh/en` 字段名切换)
### references/
- `template_guide.md`:Word 模板占位符与结构说明
### assets/
- 预留模板、Logo、附件素材目录
## 典型命令
### 导出专业版 Word
```bash
python scripts/export_word.py notes.json --template professional --output notes.docx
```
### 导出模板管理器中的 Word 模板
```bash
python scripts/export_word.py notes.json --template 技术评审 --output tech-review.docx
```
### 导出自定义 .docx 占位符模板
```bash
python scripts/export_word.py notes.json --template custom --template-path my-template.docx --output custom-notes.docx
```
### 导出飞书多维表格数据
```bash
python scripts/export_bitable.py notes.json --format json --field-lang zh
python scripts/export_bitable.py notes.json --format records --field-lang en
```
### 配置并发送邮件
```bash
python scripts/send_email.py --config
python scripts/send_email.py notes.json --to demo@example.com -a notes.docx
```
### 会议分析
```bash
python scripts/meeting_analytics.py --period week --limit 50
```
### 情绪分析
```bash
python scripts/sentiment_analysis.py transcript.txt
```
### 频道管理
```bash
python scripts/channels.py create 产品例会 --description 产品周会
python scripts/channels.py update 1 --description 重点客户复盘频道 --color "#FF6B6B"
python scripts/channels.py add 12 1
python scripts/channels.py meetings 1
```
## 使用示例
### 示例 1:语音转纪要
```text
用户:帮我整理会议纪要
AI:请提供会议录音或相关文档(音频 / 链接)
用户:[上传录音]
AI:好的,已识别语音。现在生成会议纪要...
```
### 示例 2:文档链接
```text
用户:https://xxx.feishu.cn/doc/xxx
AI:好的,已读取会议内容。正在生成结构化纪要...
```
### 示例 3:会议后分发
```text
用户:把这份纪要导出 Word 再发飞书
AI:先生成结构化纪要,再输出 Word,并给出飞书发布内容
```
## 合规声明
### 数据隐私
- ✅ **完全本地处理**:音频文件仅在您的电脑上处理,完全离线,不上传任何云端
- ✅ **隐私安全**:适用于敏感会议场景,无需担心数据泄露
- ⚠️ **LLM 解析**:转写文本会发送到 LLM API,请查看其隐私政策
- ⚠️ **无 API Key**:不配置 LLM 时可使用规则解析,但内容较少
详细隐私声明:[PRIVACY.md](./PRIVACY.md)
### 免责声明
- ⚠️ 转写结果仅供参考,不能保证 100% 准确
- ⚠️ 重要文档建议人工复核
- ⚠️ 专业术语可能存在错误识别
- ❌ 禁止用于非法用途(如未经授权的录音)
详细免责声明:[DISCLAIMER.md](./DISCLAIMER.md)
### 使用限制
- ❌ 禁止用于窃听、监控他人
- ❌ 禁止用于侵犯他人隐私
- ❌ 禁止用于违反法律法规的用途
- ✅ 请仅在合法合规的场景下使用
## 开源许可
本工具采用 MIT 许可证,详见:[LICENSE](./LICENSE)
## 前置条件
### 运行环境
- Python 3.8+
- 至少 4GB 内存(建议 8GB+)
- 首次使用 large-v3 模型需要下载约 3GB 文件
### 依赖项
- openai-whisper >= 20231117
- openai >= 1.0.0
- python-docx >= 1.1.0
- 其他依赖见 `requirements.txt`
## 最佳实践
### Whisper 模型选择指南
| 模型 | 大小 | 准确率 | 速度 | 推荐场景 |
|------|------|--------|------|----------|
| **tiny** | ~39MB | 最低(~80%) | 最快(<1分钟/10分钟音频) | 快速测试、简单对话 |
| **base** | ~140MB | 较低(~85%) | 快(<2分钟/10分钟音频) | 日常使用 |
| **small** | ~460MB | 高(~90%) | 中等(~5分钟/10分钟音频) | **推荐日常使用**,准确率足够,速度快 |
| **large-v3** | ~2.88GB | 最高(~95%) | 慢(~15分钟/10分钟音频,GPU 可加速) | 专业需求、重要会议,需要 GPU 支持 |
**使用建议:**
- **无 GPU**:使用 `small` 模型(已包含在安装包中)
- **有 GPU(RTX 3060+)**:使用 `large-v3` 模型(最高准确率)
- **首次使用 large-v3**:运行时会自动下载约 3GB 模型文件
- **金融等专业领域**:强烈推荐 `large-v3` 或 `small`,避免使用 `tiny` 和 `base`
### 模型对比测试结果(解放南路 3.m4a,59分钟金融会议音频)
| 模型 | 转写时间 | 字符数 | 金融术语识别率 | 适用性 |
|------|---------|--------|--------------|--------|
| **base** | ~2 分钟 | 13,966 | 4.2%(2/48) | ❌ 不推荐 |
| **small** | ~5 分钟 | 13,966 | 64.6%(31/48) | ✅ 推荐 |
| **large-v3** | 59 分钟(GPU) | 13,743 | 70.8%(34/48) | ✅ 专业推荐 |
**结论:**
- base 模型几乎无法识别专业术语(5G/华为/小米全错)
- small 模型识别率较高,适合日常使用
- large-v3 模型对"股权质押/估值/新能源/光伏/风电/产能过剩"等术语识别准确,长句理解更好
### 技术细节
### 技术细节
- 本地 Whisper 更建议使用 Python 3.11 环境;Windows 下脚本会优先尝试自动接入 `imageio-ffmpeg` 提供的 ffmpeg。
- `transcribe_audio.py` 已支持 `--model` 与 `--output`,适合直接串联"音频 -> 转写文本 -> 纪要",且默认会做繁体转简体后处理。
- Windows PowerShell 下传 `--meeting-info` JSON 字符串容易受引用影响,建议优先使用 `--meeting-info-file`。
- `sentiment_analysis.py` 已改为繁简转换 + 口语友好分句 + 逐句聚合,会先按换行/标点切分,再对超长口语段按长度阈值拆分,避免把整段长文本当成一句导致误判。
- `ai_skills.py` 已支持金融场景自动识别,适合证券 / 理财 / 量化 / 机构交流录音;`--text` 与 `--json`(如 `notes.json`)两类输入都会先做结构化文本归一,再执行场景识别与字段提取。
- `storage.py` / `channels.py` / `meeting_analytics.py` 可通过 `--db-dir` 指向同一隔离数据目录,避免联调时读到不同数据库。
- `export_word.py` / `export_pdf.py` / `publish_feishu.py` / `export_bitable.py` 已兼容 `generate_notes.py` 产出的 `content` / `assignee` / `deadline` 字段,也兼容字符串形式的 `action_items`。
- `export_word.py` 已同时支持两类模板:1)`templates.py` 管理的 JSON 模板(`--template <模板名>`);2)用户自带 `.docx` 占位符模板(`--template custom --template-path <模板文件>`),其中 `{{action_items}}` 会输出三列表格,详细占位符见 `references/template_guide.md`。
- `export_pdf.py` 在 Windows 下会默认按 `reportlab -> fpdf2 -> html` 的顺序自动导出,避免先尝试 `weasyprint` 时反复撞系统动态库缺失;非 Windows 仍会优先尝试 `weasyprint`。
- 若本机连本地 PDF 引擎也未安装,`export_pdf.py` 才会继续回退输出 HTML 预览文件。
- `export_bitable.py` 已支持 `--field-lang zh/en`;中文模式会输出 `会议标题` / `时间` / `参会人` 等字段,便于直接导入飞书多维表格。
- `storage.py` / `channels.py` / `meeting_analytics.py` 可通过 `--db-dir` 指向同一隔离数据目录,避免联调时读到不同数据库。
- `export_word.py` / `export_pdf.py` / `publish_feishu.py` / `export_bitable.py` 已兼容 `generate_notes.py` 产出的 `content` / `assignee` / `deadline` 字段,也兼容字符串形式的 `action_items`。
- `export_word.py` 已同时支持两类模板:1)`templates.py` 管理的 JSON 模板(`--template <模板名>`);2)用户自带 `.docx` 占位符模板(`--template custom --template-path <模板文件>`),其中 `{{action_items}}` 会输出三列表格,详细占位符见 `references/template_guide.md`。
- `export_pdf.py` 在 Windows 下会默认按 `reportlab -> fpdf2 -> html` 的顺序自动导出,避免先尝试 `weasyprint` 时反复撞系统动态库缺失;非 Windows 仍会优先尝试 `weasyprint`。
- 若本机连本地 PDF 引擎也未安装,`export_pdf.py` 才会继续回退输出 HTML 预览文件。
- `export_bitable.py` 已支持 `--field-lang zh/en`;中文模式会输出 `会议标题` / `时间` / `参会人` 等字段,便于直接导入飞书多维表格。
- 飞书脚本当前输出的是可直接复用的载荷 / 任务清单,便于在工作流里继续调用。
## 配置管理
查看当前配置:`cat ~/.workbuddy/meeting-notes-config.json`
修改配置:说 "修改会议纪要配置"
重置配置:说 "重置会议纪要配置"
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!