OpenClaw技能扩展实战:用Gemma-3-12b-it构建会议纪要生成器
OpenClaw技能扩展实战用Gemma-3-12b-it构建会议纪要生成器1. 为什么需要自动化会议纪要每次开完会最头疼的事情是什么对我来说就是整理会议纪要。作为团队里经常主持会议的人我试过各种方法手动记录关键词、用录音笔事后回听、甚至让同事轮流做纪要。但这些方法要么漏掉关键信息要么耗费大量时间。直到上个月在调试OpenClaw的音频处理功能时我突然想到能不能让AI自动完成录音转写、信息提取和格式整理的全流程经过两周的折腾终于用Gemma-3-12b-it模型搭建出一套可用的自动化方案。现在每次会议结束后5分钟内飞书群里就会自动出现结构化会议纪要的草稿。2. 技术方案设计思路2.1 核心组件选型这个方案需要三个关键组件协同工作音频采集模块使用ClawHub社区的audio-transcriber技能包支持实时录音和语音转文字信息处理模块调用本地部署的Gemma-3-12b-it模型从转写文本中提取结构化信息输出交付模块通过飞书机器人将生成的Markdown纪要推送到指定群聊选择Gemma-3-12b-it是因为它的指令微调特性。在测试中发现相比基础版模型它对提取关键决议、识别待办事项这类任务的理解更精准且12B参数量的模型在我的开发机上RTX 3090能流畅运行。2.2 工作流设计整个自动化流程分为四个阶段会议录音阶段通过audio-transcriber技能持续录制会议音频文本转写阶段会议结束后自动调用Whisper模型进行语音转文字信息提取阶段将转写文本发送给Gemma模型提取以下结构化信息会议主题关键讨论点达成的决议待办事项含负责人和截止时间格式整理与推送将模型输出转换为Markdown格式通过飞书机器人发送3. 具体实现步骤3.1 基础环境准备首先确保已部署好OpenClaw核心服务并配置了飞书通道。我的环境是Ubuntu 22.04 OpenClaw v1.3.2飞书机器人采用WebSocket连接方式。# 检查OpenClaw版本 openclaw --version # 查看已安装插件 openclaw plugins list3.2 安装音频处理技能通过ClawHub安装audio-transcriber技能包clawhub install audio-transcriber # 安装后需要重启网关 openclaw gateway restart这个技能包依赖PyAudio和Whisper模型。安装过程中会自动下载约1.4GB的模型文件建议保持网络畅通。3.3 配置Gemma模型接入在~/.openclaw/openclaw.json中添加Gemma模型配置{ models: { providers: { local-gemma: { baseUrl: http://localhost:5000/v1, apiKey: sk-no-key-required, api: openai-completions, models: [ { id: gemma-3-12b-it, name: Gemma 3 12B Instruct, contextWindow: 8192, maxTokens: 4096 } ] } } } }这里假设Gemma模型服务运行在本地5000端口。我使用的是星图平台的Gemma镜像启动命令如下docker run -p 5000:5000 --gpus all gemma-3-12b-it-webui --api --model gemma-3-12b-it3.4 创建自动化任务脚本在OpenClaw的工作目录下创建meeting_miner.pyfrom openclaw.skills.audio_transcriber import MeetingRecorder from openclaw.utils import markdown_formatter def process_meeting(): # 1. 录制会议 recorder MeetingRecorder() audio_file recorder.record(duration_minutes60) # 2. 语音转文字 transcript recorder.transcribe(audio_file) # 3. 调用Gemma提取关键信息 prompt f请从以下会议记录中提取 1. 会议主题单行总结 2. 3-5个关键讨论点带序号列表 3. 达成的决议每个决议包含执行人和截止时间 4. 待办事项格式[负责人] 任务内容 截止时间 会议记录{transcript} analysis openclaw.models.complete( modelgemma-3-12b-it, promptprompt, max_tokens1024 ) # 4. 格式化为Markdown md_content markdown_formatter(analysis) # 5. 通过飞书发送 openclaw.channels.feishu.send_markdown( title会议纪要草稿, contentmd_content, group_idyour_chat_id )3.5 设置触发方式有两种方式可以触发这个自动化流程手动触发在OpenClaw控制台直接运行Python脚本自动触发通过飞书机器人命令比如发送开始记录会议我选择了第二种方式需要在飞书开放平台配置自定义指令{ commands: [ { name: record_meeting, description: 开始记录会议并生成纪要, handler: meeting_miner.process_meeting } ] }4. 实际效果与优化4.1 生成示例上周三的产品评审会测试了这套系统生成的Markdown纪要包含# 产品V2.3版本评审会 ## 关键讨论点 1. 用户反馈新界面学习成本较高 2. 导出PDF功能性能瓶颈 3. 移动端适配进度滞后 ## 决议事项 - [前端组] 增加新手引导流程 2024-05-30 - [后端组] 优化PDF生成算法 2024-05-25 ## 待办事项 - [设计师] 提供简化版界面方案 2024-05-20 - [测试] 完成移动端回归测试 2024-05-224.2 遇到的坑与解决方案问题1转写文本分段混乱初期直接使用原始转写文本时Gemma经常把不同人的发言内容混淆。解决方案是在发送给模型前先用简单的正则表达式按时间戳分段# 在process_meeting()中添加 segments re.split(r\[\d{2}:\d{2}\], transcript) clean_transcript \n.join([f发言{i}: {s.strip()} for i,s in enumerate(segments)])问题2待办事项识别不准Gemma有时会把普通讨论误判为待办项。通过改进prompt engineering解决prompt f...前略... 待办事项识别规则 - 必须包含明确的责任人在方括号内 - 必须包含具体可执行的动作 - 必须有明确的截止时间开头 5. 方案适用边界经过一个月的使用我发现这个方案最适合以下场景5-8人规模的团队会议60分钟以内的会议时长有明确议程的结构化讨论而对于以下情况效果会打折扣多人同时发言的头脑风暴涉及大量专业术语的技术评审需要保留完整发言记录的法律会议获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。