将音频/视频转换为 MP3,将语音转录为逐字文本和会议纪要,解析 `.tty` 终端录制文件为文本,然后生成结构化输出……
OpenClaw 媒体转写与龙虾研判是一项面向实际任务的技能,主要用于本 skill 指导将 音视频 或 .tty 转为可用文本,生成 原文 与 纪要 ,并以固定结构交给 OpenClaw(龙虾) 做类型与内容判断;适用范围与触发;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
本 skill 指导将音视频或 .tty 转为可用文本,生成原文与纪要,并以固定结构交给 OpenClaw(龙虾) 做类型与内容判断。
mp3、wav、m4a、aac、flac、ogg、mp4、mkv、webm、mov 等常见音视频,或扩展名为 .tty 的文件。识别输入类型
.tty → 走 .tty 分支。取得原文
--model base)或从 .tty 提取的可读文本,尽量保留说话人切换线索(若模型支持说话人分离则标注 说话人 A/B)。转写质量判断(仅 Whisper 本地转写时必做)
base 转写后,按 转写质量判断与模型升级建议 自检;问题多则提示用户改用 small / medium 重跑,通过前不写定稿纪要;问题少再进入下一步。 .tty 文本路径不做 Whisper 质检,直接进入纪要。生成纪要
交给龙虾判断
可选:保存文件(下载文件夹)
.tty 等路径:完成原文、纪要、交付块之后。询问用户是否保存,以及保存格式(Markdown 或 Word);若同意,按 保存文件(下载文件夹) 写入。优先使用 ffmpeg(需已安装并在 PATH 中)。
ffmpeg -y -i "INPUT" -vn -acodec libmp3lame -q:a 2 "OUTPUT.mp3"
INPUT:任意 ffmpeg 可读音视频路径。-vn:去掉视频轨,只保留音频。libmp3lame 不可用,可改用:-acodec aac -b:a 192k "OUTPUT.m4a",并在后续转写步骤中改用该中间文件(仍按本 skill 的「原文 + 纪要 + 龙虾块」交付)。按环境选择其一(默认优先本地,避免泄露):
| 方式 | 说明 |
|---|---|
| Whisper 系 CLI | 如 whisper、faster-whisper 等,对 OUTPUT.mp3 跑转写,保存为 txt/srt/vtt。 |
| WhisperX | 在 Whisper 类转写之上做 词级对齐与可选 说话人分离(diarization);见 WhisperX(说话人分离)。 |
| 云端 ASR | 若用户明确要求或本地不可用,使用用户指定的 API;须注意隐私与合规。 |
pip install openai-whisper 会安装 PyTorch 等依赖,磁盘占用常见为数百 MB 量级,CUDA 版可达约 1GB+(随平台与是否 GPU 版变化);Whisper 包本身相对较小。--model 单独下载权重:本 skill 默认 base(体积常见为 约百 MB 量级,以官方缓存为准);tiny 约 72MB 级;turbo 约 1.5GB 量级,下载与加载都更重,弱配置上易 OOM 或极慢。在中文区域设置的 Windows 上,直接运行 whisper --help 或转写时,Python 可能用 GBK 写 stdout,触发 UnicodeEncodeError: 'gbk' codec ...。在同一 PowerShell 会话内先设置再调用 Whisper:
$env:PYTHONIOENCODING = "utf-8" whisper --help
转写示例(会话内已设好 PYTHONIOENCODING);默认模型为 base:
whisper "OUTPUT.mp3" --model base --language Chinese
--model base 做首次转写,再进入 转写质量判断与模型升级建议。当用户需要 分说话人 的原文(如会议多角色),可选用 WhisperX(Python 库,非 openai-whisper 自带 CLI)。
安装
pip install whisperx
仍依赖 PyTorch 等,整体磁盘与首次下载体积与 Whisper 路线同量级,且对齐 / diarization 会再拉取额外权重。
中文对齐(ZH)
whisperx.load_align_model(language_code="zh", ...) 时,会自动下载中文 forced alignment 所用模型(首次需联网与足够磁盘);无需手动另选「ZH 对齐包」路径,但要在 notes_for_openclaw 中注明是否已首次拉取成功。Diarization(说话人分离)与 HuggingFace
huggingface-cli login 或环境变量 HF_TOKEN),否则无法拉取门控模型。use_auth_token=False 传给 API(或通过环境变量/封装参数,以当前 WhisperX 版本文档为准)。注意:部分模型在无 token 时不可用或行为异常,若采用此方式,须在交付备注中写明「未使用 HF 门控模型 / 可能降级」。pyannote/speaker-diarization-3.1(或同类 pyannote 门控模型):必须先在 HuggingFace 网站对该模型访问条款点击同意,再在本地配置 token 后下载权重;否则拉取会失败。启用 WhisperX 且带 diarization 时,原文中应显式标注说话人分段(如 SPEAKER_00 / 说话人 A 等与用户对齐的命名);后续仍执行 转写质量判断与模型升级建议(针对合并可读文本与分段合理性),再走纪要、交付块与可选落盘。
在 openai-whisper 默认 base 模型产出原文后,agent 必须对照下列质量指标做一次快速审查(结合音频时长与领域常识,不必过度纠结单次口误)。若已按建议改用 small / medium 重跑,则对最后一次转写结果重复本审查。
| 指标 | 说明(出现则计为问题) |
|---|---|
| 错译 / 同音错字成片 | 专有名词、数字、单位、人名地名等明显不合理或与音频常识不符 |
| 乱码与异常符号 | 不可读片段、大量无意义符号、编码异常痕迹 |
| 无意义重复 | 同一短语/句子异常堆叠,疑似解码或切片错误 |
| 句意断裂 | 大量不成句碎片、缺主谓宾导致无法理解叙述脉络 |
| 语言/段落错配 | 明显中英混排错误、段落顺序颠倒、长时间静音被填成幻觉句(若可判断) |
分支:
small → medium(资源允许再考虑 large / turbo)。重跑后再次做本表自检。.tty 纯文本路径不适用 Whisper 模型升级;若文本来自终端抽取且噪声大,在 notes_for_openclaw 中说明即可。
转写要求:
在取得原文、且 Whisper 路径已通过 转写质量判断与模型升级建议(或 .tty 等无需 Whisper 质检)之后,由当前 agent 基于原文生成纪要(不得编造未出现的信息)。模板见下节。
.tty(终端录屏 / 会话日志).tty 并非单一国际标准格式,可能是纯文本、script/typescript 文本、或 ttyrec 类二进制。按顺序处理:
探测
file(Linux/macOS)或读取文件头若干字节判断是否为文本。sed/脚本剥离 x1b[...m)。script 会话
Script started on / Script done on 等典型标记,可保留命令与输出;纪要中总结执行了哪些命令、关键输出、错误信息。二进制 ttyrec
ttyplay / termplay / ttyrec 配套工具,或小型解析脚本将帧解码为文本流,再整理为原文。strings 提取可打印片段,并在交付块中 诚实标注「部分为 strings 抽取,可能不完整」。纪要
与音视频相同:基于提取出的文本生成纪要,并进入 OpenClaw 交付块。
## 纪要 ### 主题(一句话) [用一句话概括] ### 要点 - [要点 1] - [要点 2] ### 行动项(若有) - [ ] 负责人/角色未明则写「待确认」— [事项] — 截止时间未明则写「待定」 ### 风险与待澄清 - [若有]
agent 可根据内容给出 1–3 个候选类型 与简短理由;最终类型以龙虾判断为准。
示例维度(可按项目扩展):
| 代码 | 含义(示例) |
|---|---|
meeting |
会议/讨论 |
interview |
访谈/面试 |
lecture |
课程/演讲 |
support |
客服/技术支持 |
terminal_session |
终端操作/排障录屏 |
personal |
个人备忘/闲聊 |
other |
其他(需在理由中说明) |
完成转写与纪要后,必须附加以下结构化块(便于龙虾解析与路由):
---OPENCLAW_ASR_DELIVERY--- version: 1 source_kind: audio_video | tty source_path: "<原始文件路径或用户提供的标识>" intermediate_mp3: "<若适用,MP3 路径;tty 则填 null>" language_guess: "<如 zh | en | mixed | unknown>" type_candidates: - code: "" confidence: <0.0-1.0> reason: "<一句理由>" verbatim_text: | <原文全文,或说明见附件路径> summary_markdown: | <纪要全文,使用上文「纪要模板」> notes_for_openclaw: | <给龙虾的备注:不确定性、敏感提示、需人工复核的点等> ---END_OPENCLAW_ASR_DELIVERY---
说明:
verbatim_text 过长时,可写 见: ,但需在 notes_for_openclaw 说明编码与换行是否保留。在已完成原文 + 纪要 + 交付块的组装后:Whisper 路径须已通过 转写质量判断与模型升级建议;.tty 等路径无 Whisper 质检要求。随后:
%USERPROFILE%Downloads(资源管理器中显示为「下载」)。~/Downloads。~/Downloads(若不存在可先创建或改用用户指定路径并说明)。文件命名(避免文件名非法字符,不要使用冒号):
ASR_转写_YYYY-MM-DD_HHmmss.md
示例:ASR_转写_2026-05-07_143052.md。日期与时间取保存时刻的本地时间。
文件内容须按顺序包含以下三部分(可用二级标题分隔):
---OPENCLAW_ASR_DELIVERY--- … ---END_OPENCLAW_ASR_DELIVERY---,与对话中交付给龙虾的块一致)。使用 huo15-openclaw-office-doc 技能(位于 skills/huo15-openclaw-office-doc/)将纪要部分生成为格式规范的 。docx 文件。
依赖安装(如未安装):
pip install python-docx reportlab pygments
如果系统有多个 Python 版本(如 MSYS2 Python 与官方 Python 并存),请确认
pip安装的目标 Python 与执行脚本的 Python 保持一致。可通过python -c "import sys; print(sys.executable)"确认。
文件命名:
ASR_纪要_YYYY-MM-DD_HHmmss.docx
示例:ASR_纪要_2026-05-07_143052.docx。
操作步骤:
$env:TEMPmeeting_summary_.md )。注意:内容为执行本 skill 时已生成的 summary_markdown 字段,不含交付块。create-word-doc.py 生成 Word:python/skills/huo15-openclaw-office-doc/scripts/create-word-doc.py ` --output "<下载目录>ASR_纪要_YYYY-MM-DD_HHmmss.docx" ` --title "会议纪要 - YYYY-MM-DD" ` --content @"<临时 markdown 文件路径>" ` --doc-format 会议纪要 ` --company-name "会议纪要" ` --no-title-block
为本 skill 所在 OpenClaw 工作区根目录(即~/.openclaw/workspace-hanser)。因本机环境python指向 MSYS2 的 Python,需要显式使用官方 Python 路径:D:UsersGrunrayAppDataLocalProgramsPythonPython313python.exe(可通过python -c "import sys; print(sys.executable)"确认正确的路径)。
参数说明:
| 参数 | 值 | 说明 |
|---|---|---|
--output |
下载目录下的 。docx 路径 |
输出文件 |
--title |
会议纪要 - YYYY-MM-DD |
文档标题 |
--content @ |
@ 开头表示读取文件 |
纪要正文(Markdown 格式) |
--doc-format 会议纪要 |
指定为会议纪要规范 | 自动匹配页眉/正文样式 |
--company-name 会议纪要 |
占位公司名 | 避免因缺公司信息报错 |
--no-title-block |
不额外渲染标题块 | 标题已在正文中 |
注意:当前使用占位公司名「会议纪要」,header 区域可能显示占位名称。如希望定制公司信息,可使用
--company-name "<公司名>"和--logo-path ",或参照 office-doc 技能的本地公司信息工作流配置持久化信息。"
PYTHONIOENCODING=utf-8(或等价方式),避免 GBK 编码崩溃。base 转写,并已按质量指标完成判断;问题多时已建议 small / medium 重跑。use_auth_token=False 尝试 等实际情况,且原文已带说话人分段标注。.tty 已按文本 / script / ttyrec 路径处理,不确定处已标注。OPENCLAW_ASR_DELIVERY 块供龙虾判断。.tty 等路径在完成交付块后)已询问是否保存,以及保存格式(Markdown 或 Word)。ASR_转写_YYYY-MM-DD_HHmmss.md,含 原文 + 纪要 + 交付块。huo15-openclaw-office-doc 技能的 create-word-doc.py 生成 。docx 文件到 下载 文件夹(仅含纪要部分)。.tty 辅助:见 scripts/README.md相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.7万人学习
共49课时 | 82.4万人学习