From legal-skills
使用阿里云通义听悟进行云端音频/视频转录。本技能应在用户需要云端语音转文字、长音频转录、本地 FunASR 不可用或需要更高精度时使用。不适用于无网络环境或需要完全离线的场景。
npx claudepluginhub cat-xierluo/legal-skills --plugin minimax-image-understandThis skill uses the workspace's default tool permissions.
通过逆向封装通义听悟网页端内部 REST API,实现云端音频/视频文件转录,输出与 `funasr-transcribe` 兼容的 Markdown 格式。
使用本地 FunASR 服务将音频或视频文件转录为带时间戳的 Markdown 文件,支持 mp4、mov、mp3、wav、m4a 等常见格式。本技能应在用户需要语音转文字、会议记录、视频字幕、播客转录时使用。
Transcribes audio/video files to Markdown documentation with LLM summaries, speaker diarization, timestamps, metadata, and SRT/VTT subtitles using Faster-Whisper or Whisper.
Transcribes audio/video to Markdown docs with LLM summaries, speaker diarization, timestamps, metadata using Faster-Whisper/Whisper. For meetings, interviews, lectures.
Share bugs, ideas, or general feedback.
通过逆向封装通义听悟网页端内部 REST API,实现云端音频/视频文件转录,输出与 funasr-transcribe 兼容的 Markdown 格式。
summary.py 注入 AI 总结requests (必须) — HTTP 请求oss2 (必须) — 阿里云 OSS SDK(STS 直传)安装:
pip3 install -r skills/tingwu-asr/config/requirements.txt
登录需要 Agent 使用 MCP Playwright 浏览器工具完成:
https://tingwu.aliyun.com/homebrowser_evaluate 提取 cookie:
() => document.cookie
python3 skills/tingwu-asr/scripts/login.py --save-cookies '{"cna":"xxx","login_aliyunid_ticket":"xxx",...}'
账号密码可预配置在 config/.env 文件中(从 config/.env.example 复制)。
每天登录听悟网页可领取 2 小时免费转录额度。Agent 签到流程:
https://tingwu.aliyun.com/home(触发每日额度)python3 skills/tingwu-asr/scripts/daily_checkin.py
可在 OpenClaw 中配置定时任务,让 Agent 每天自动执行此流程。
当用户要求转录音频/视频文件时,执行以下步骤:
python3 skills/tingwu-asr/scripts/check_auth.py
如果返回"无效",先运行 login.py。
# 单文件转录
python3 skills/tingwu-asr/scripts/transcribe.py /path/to/audio.mp3 --lang cn --speakers 4
# 多文件并行转录(自动保存到文件所在目录 + archive 目录)
python3 skills/tingwu-asr/scripts/transcribe.py /path/to/audio1.mp3 /path/to/audio2.mp3 /path/to/video.mp4
# 批量转录目录下所有文件(并行)
python3 skills/tingwu-asr/scripts/transcribe.py /path/to/media_folder/ --batch
# 指定并行数(默认3)
python3 skills/tingwu-asr/scripts/transcribe.py /path/to/audio1.mp3 /path/to/audio2.mp3 --parallel 5
参数说明:
paths 音频/视频文件路径(支持多个文件并行转录)--lang cn 语言: cn(中文,默认) / en(英文) / ja(日文) / cant(粤语) / cn_en(中英混合)--speakers 2 说话人: 0(不区分) / 1(单人) / 2(两人,默认) / 4(多人)--batch 批量转录目录下所有文件--parallel N 并行转录的最大文件数 (默认: 3)--force 强制重新上传,即使该文件已有转录结果(默认会跳过已转录的文件)-o output.md 指定输出路径(单文件模式)--no-archive 不保存归档--no-lab 不获取智能分析(关键词/议程/重点等)--ppt 下载 PPT 幻灯片图片并嵌入 Markdown(仅视频有效)转录结果会同时保存到两个位置:
/path/to/audio.mp3 → /path/to/audio.mdarchive/YYYYMMDD_HHMMSS_audio/audio.md这样做的好处是:
PPT 幻灯片: 视频文件会自动提取 PPT 幻灯片,图片保存在 {文件名}_slides/ 子目录中(每个文件独立目录,避免同目录下多视频冲突)。
转录完成后,复用 funasr-transcribe 的 summary 模块:
python3 skills/funasr-transcribe/scripts/summary.py inject transcript.md summary.json
python3 skills/funasr-transcribe/scripts/summary.py verify transcript.md
skills/tingwu-asr/
SKILL.md ← 本文件
scripts/
tingwu.py ← 核心 API 客户端
transcribe.py ← CLI 入口
format_output.py ← 听悟 JSON → Markdown 转换
login.py ← Cookie 保存工具
daily_checkin.py ← 额度检查 + 记录
check_auth.py ← 认证检查
config/
.env ← 账号密码凭证(gitignore,不提交)
.env.example ← 账号密码模板
cookies.json ← 登录 Cookie(gitignore,不提交)
cookie.example.json ← Cookie 文件模板
quota_history.jsonl ← 额度变更记录(gitignore,不提交)
requirements.txt ← Python 依赖
references/ ← API 文档和决策记录
archive/ ← 转录结果归档
对于 1 小时以上的长视频,转录可能需要 20-30 分钟。使用异步模式上传后立即返回,后台自动轮询。
python3 skills/tingwu-asr/scripts/transcribe.py /path/to/video.mp4 --async --speakers 2
上传完成后立即返回任务 ID,任务信息保存到 config/pending_tasks.json。
提交后,用 Bash 工具的 run_in_background 启动后台监控:
command: "python3 skills/tingwu-asr/scripts/poll_tasks.py --monitor --timeout 3600 --interval 120"
run_in_background: true
timeout: 600000
注意:timeout 必须设为 600000(10 分钟),否则默认 2 分钟会超时。
监控完成后会自动收到通知,此时展示转录结果路径给用户。
# 检查所有待处理任务的状态
python3 skills/tingwu-asr/scripts/poll_tasks.py
# 阻塞式监控
python3 skills/tingwu-asr/scripts/poll_tasks.py --monitor
login.py