双模型协作:OpenClaw同时调用Qwen3.5-9B与Whisper处理会议录音
·
双模型协作:OpenClaw同时调用Qwen3.5-9B与Whisper处理会议录音
1. 为什么需要双模型协作处理会议录音
作为一个小团队的负责人,我每周要参加至少5场会议。每次会后整理纪要、提取行动项、同步到协作平台的工作,至少要耗费1小时。直到我发现OpenClaw可以同时调用多个模型,形成自动化流水线。
传统方案要么用Whisper转写后人工整理,要么用大模型直接处理原始音频——前者效率低,后者成本高。而OpenClaw的独特价值在于:
- 模型分工:Whisper专注高精度语音转文本,Qwen3.5专注语义理解与结构化输出
- 本地化处理:敏感会议内容无需上传第三方服务
- 端到端自动化:从音频输入到Notion同步全流程无需人工干预
2. 环境准备与模型部署
2.1 基础环境配置
我的设备是M1 MacBook Pro(16GB内存),先通过Homebrew安装必要依赖:
brew install ffmpeg python@3.10
pip install openclaw whisper-cpp
特别注意:
- ffmpeg用于音频格式转换
- whisper-cpp是Whisper的C++移植版,比原版更省内存
- Python 3.10是OpenClaw的推荐版本
2.2 模型服务部署
在~/.openclaw/openclaw.json中配置双模型服务:
{
"models": {
"providers": {
"qwen-local": {
"baseUrl": "http://localhost:5000/v1",
"apiKey": "sk-no-key-required",
"api": "openai-completions",
"models": [
{
"id": "qwen3.5-9b",
"name": "Qwen3.5-9B Local",
"contextWindow": 32768
}
]
},
"whisper-local": {
"baseUrl": "http://localhost:9000",
"api": "whisper",
"models": [
{
"id": "whisper-medium",
"name": "Whisper Medium"
}
]
}
}
}
}
启动服务时遇到的两个坑:
- Whisper服务需要额外指定语言参数,否则会误判中文为英文
- Qwen3.5的API地址需要包含
/v1后缀才能兼容OpenAI协议
3. 构建自动化流水线
3.1 音频处理阶段
通过OpenClaw的audio-process技能处理录音文件:
openclaw run \
--model whisper-local \
--task "transcribe meeting.mp3 to text with timestamp" \
--params '{"language":"zh"}'
关键改进点:
- 添加
--output-format srt参数获取带时间戳的字幕 - 设置
temperature=0.2降低转写随机性 - 通过
initial_prompt参数提供参会者姓名列表提升识别准确率
3.2 文本分析阶段
将Whisper输出传给Qwen3.5进行结构化处理:
openclaw run \
--model qwen-local \
--task "extract action items from meeting transcript" \
--input-file transcript.json \
--params '{
"template": "notion",
"speaker_roles": {"张伟":"CTO","李娜":"PM"}
}'
特别设计的Prompt结构:
- 先让模型区分"事实记录"与"决策项"
- 对每个行动项强制要求包含[负责人][截止时间]
- 输出为Notion API兼容的Markdown格式
4. 与Notion的深度集成
4.1 凭证配置
在环境变量中设置Notion集成密钥:
export NOTION_TOKEN='secret_xxx'
export NOTION_DATABASE_ID='yyy'
4.2 自动同步实现
通过OpenClaw的notion-sync技能(社区版)实现一键同步:
// skills/notion-sync/index.js
module.exports = {
execute: async ({ transcript, actions }) => {
const { Client } = require('@notionhq/client');
const notion = new Client({ auth: process.env.NOTION_TOKEN });
await notion.pages.create({
parent: { database_id: process.env.NOTION_DATABASE_ID },
properties: {
'会议主题': { title: [{ text: { content: transcript.title }}] },
'日期': { date: { start: new Date().toISOString() } }
},
children: actions.map(item => ({
paragraph: {
rich_text: [{ text: { content: `@${item.owner} ${item.text}` }}]
}
}))
});
}
}
5. 实际效果与优化建议
经过两周的持续使用,这套方案:
- 平均处理时长从60分钟缩短到8分钟(含3分钟人工复核)
- 行动项遗漏率比人工记录降低42%(抽样检查20场会议)
- 团队成员对责任分工的清晰度显著提升
遇到的典型问题及解决方案:
- 长音频内存溢出 → 改用whisper.cpp的流式处理模式
- 专业术语误识别 → 在initial_prompt中添加术语表
- 时区不一致 → 在Notion同步代码中强制指定UTC+8
对于想尝试的开发者,我的建议是:
- 从小型会议(30分钟以内)开始验证流程
- 先单独测试每个模型的表现,再组合成流水线
- 一定要保留人工复核环节,特别是涉及跨部门承诺的事项
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐



所有评论(0)