全流程会议助理。核心:录音转写→提炼待办并分配。业务价值:闭环待办直达协作软件,防止任务遗漏。激活:用户上传音频(mp3/m4a/opus/wav/flac等),需转写、生成纪要、提炼待办、分配任务。触发词:转写录音、会议纪要、会议记录、提炼待办、会议总结...
全流程会议助理虾是一项面向实际任务的技能,主要用于录音转写 → 会议纪要 → 提炼待办 → 飞书消息分发,一站式闭环;必须安装:;
模型缓存(首次自。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
录音转写 → 会议纪要 → 提炼待办 → 飞书消息分发,一站式闭环。
必须安装:
~/.openclaw/venvs/sensevoice/funasr、modelscope、onnxruntime、torch~/.cache/modelscope/hub/models/iic/SenseVoiceSmall/FEISHU_APP_ID、FEISHU_APP_SECRET飞书应用权限:
im:message:send_as_bot — 以机器人身份发送消息contact:contact.base:readonly — 读取通讯录(按姓名查找用户 open_id)im:chat — 读取/创建会话收到用户发送的音频文件后,按以下顺序执行:
使用 SenseVoice-Small 模型(FunASR)进行本地语音转写。
执行转写(Python 脚本):
~/.openclaw/venvs/sensevoice/bin/python3 -c "
from funasr import AutoModel
from funasr.utils.postprocess_utils import rich_transcription_postprocess
from datetime import datetime, timedelta
import re, sys
wav = '<音频文件路径>'
out = '<输出路径>.txt'
# 尝试从文件名解析录音开始时间
m = re.search(r'(d{8})_(d{6})', wav)
start_dt = datetime.strptime(m.group(1)+m.group(2), '%Y%m%d%H%M%S') if m else None
vad_model = AutoModel(model='fsmn-vad', disable_update=True)
model = AutoModel(model='iic/SenseVoiceSmall', vad_model='fsmn-vad',
vad_kwargs={'max_single_segment_time': 30000}, device='cpu')
vad_segs = vad_model.generate(input=wav)[0].get('value', [])
res = model.generate(input=wav, cache={}, language='zh', use_itn=True,
batch_size_s=60, merge_vad=True)
texts = [rich_transcription_postprocess(s).strip()
for s in re.split(r'<|zh|>', res[0]['text']) if s.strip()]
texts = [s for s in texts if len(s) > 1]
# 情绪标签是模型产物,转写结果中需清理
emoji_pat = re.compile(r'[U0001F600-U0001F64FU0001F300-U0001F5FFU0001F680-U0001F6FFU0001F700-U0001F77FU0001F780-U0001F7FFU0001F800-U0001F8FFU0001F900-U0001F9FFU0001FA00-U0001FA6FU0001FA70-U0001FAFFU00002702-U000027B0U0000FE00-U0000FE0FU0000200D]+')
ratio = len(vad_segs) / len(texts) if texts else 1
lines = []
if start_dt:
lines.append(f'[录音开始: {start_dt.strftime("%H:%M:%S")}]')
for i, t in enumerate(texts):
t = emoji_pat.sub('', t).strip()
if not t:
continue
vi = min(int(i * ratio), len(vad_segs)-1)
ts = (start_dt + timedelta(milliseconds=vad_segs[vi][0])).strftime('%H:%M:%S') if start_dt else f'{vad_segs[vi][0]//1000:.0f}s'
lines.append(f'[{ts}] {t}')
with open(out, 'w', encoding='utf-8') as f:
f.write('n'.join(lines))
print(f'Done: {len(texts)} segments -> {out}')
"
转写特点:
[HH:MM:SS] 文字,带 VAD 时间戳~/.cache/modelscope/hub/models/iic/(首次自动下载,后续直接读取)将 SenseVoice 输出的完整转写文本保存到本地文件:
./transcripts/-<会议主题或文件名>-full.txt
文件内容顶部加元信息:
【会议纪要】 日期:YYYY-MM-DD 来源:<音频文件名> 转写模型:SenseVoice-Small (FunASR) --- <完整转写文本>
阅读完整转写文本,执行以下分析:
结构化总结 — 生成会议摘要(3-5 条核心结论/决议)
待办提取 — 逐条提取所有待办事项,每条包含:
负责人识别规则:
输出格式:
📋 会议总结 ━━━━━━━━━━━━━━━━ 1. 结论一 2. 结论二 ✅ 待办清单(共 N 项) ━━━━━━━━━━━━━━━━ 1. [待办内容] → 👤 张三 | ⏰ 3月30日前 2. [待办内容] → 👤 李四 | ⏰ 未定 3. [待办内容] → 👤 待确认 ⚠️ 未识别负责人的待办(X 项): - ...
对已识别负责人的待办,通过飞书 IM 发送给对应人员。
展示分发预览,等待用户确认后再执行:
即将发送以下待办通知: ━━━━━━━━━━━━━━━━ → 张三(2 项待办) 1. 完成 XX 方案 2. 联系 YY 确认排期 → 李四(1 项待办) 1. 提交测试报告 ⏰ 3月28日 确认发送?(Y/N)
在执行分发前,按以下优先级检测可用的飞书发送方式:
优先级 1:OpenClaw + openclaw-lark 插件(推荐)
检查 openclaw-lark 插件是否已安装:
ls ~/.openclaw/extensions/openclaw-lark/ 2>/dev/null && echo "INSTALLED" || echo "NOT_INSTALLED"
feishu_search_user 工具,按姓名搜索获取 open_idmessage 工具,channel=feishu,target=user:⚠️ 未检测到飞书插件 openclaw-lark,建议安装以获得更好的消息发送体验: 安装方法:将 openclaw-lark 插件放置到 ~/.openclaw/extensions/openclaw-lark/ 暂时不安装?将使用飞书 Message API(curl)直接发送。等待用户选择。
优先级 2:飞书 Message API(curl 直接调用)
仅当 openclaw-lark 插件不可用且用户选择不安装时使用。
TOKEN=$(curl -s -X POST https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal
-H "Content-Type: application/json"
-d '{"app_id":"'"$FEISHU_APP_ID"'","app_secret":"'"$FEISHU_APP_SECRET"'"}'
| jq -r '.tenant_access_token')
curl -s -X GET "https://open.feishu.cn/open-apis/contact/v3/users/find_by_department?department_id=0&page_size=50&user_id_type=open_id" -H "Authorization: Bearer $TOKEN" | jq -r '.data.items[] | select(.name=="张三") | .open_id'
curl -s -X POST "https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id"
-H "Authorization: Bearer $TOKEN"
-H "Content-Type: application/json"
-d '{
"receive_id": "",
"msg_type": "interactive",
"content": "<飞书卡片 JSON>"
}'
Message API 方式需要手动管理 token 和格式化,且不支持飞书卡片模板。
无论使用哪种发送方式,消息内容建议使用以下飞书卡片格式:
{
"config": {"wide_screen_mode": true},
"header": {
"title": {"tag": "plain_text", "content": "📋 会议待办通知"},
"template": "blue"
},
"elements": [
{"tag": "div", "text": {"tag": "lark_md", "content": "**来源:** XX会议 (3月26日)n**待办:** 完成 XX 方案n**截止:** 3月30日前"}},
{"tag": "action", "actions": [{"tag": "button", "text": {"tag": "plain_text", "content": "查看完整纪要"}, "type": "primary", "url": "<纪要链接>"}]}
]
}
如果不知道用户 open_id 或搜索不到,跳过该用户并向用户报告。
全部完成后向用户汇报结果:
✅ 会议纪要处理完成 ━━━━━━━━━━━━━━━━ 📄 完整纪要:./transcripts/2026-03-26-产品评审-full.txt 📋 待办总计:5 项 📨 已分发:3 项(张三 2 项、李四 1 项) ⚠️ 待确认:2 项 - [待确认] XX 功能的技术方案选型 - [待确认] YY 项目的预算审批
./transcripts/ 目录详见 references/feishu-message-api.md。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习
最新文章