tingwu-asr
使用阿里云通义听悟进行云端音频/视频转录。本技能应在用户需要云端语音转文字、长音频转录、本地 FunASR 不可用或需要更高精度时使用。不适用于无网络环境或需要完全离线的场景。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
使用阿里云通义听悟进行云端音频/视频转录。本技能应在用户需要云端语音转文字、长音频转录、本地 FunASR 不可用或需要更高精度时使用。不适用于无网络环境或需要完全离线的场景。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
将本地开发的 Skills 批量同步到 ClawHub 与腾讯 SkillHub 两个平台。支持智能 .gitignore 过滤、白名单控制、增量同步、单个 skill 同步、双平台分流发布。本技能应在用户需要将本地 skills 发布到 ClawHub/SkillHub、批量同步技能、检查发布状态时使用。
跨平台 Agent 任务协调枢纽。本技能应在多个不同平台的 Agent 需要围绕项目任务源分配任务、标记归属、能力路由和交接上下文时使用。不要用于单一平台内的本地并行执行,或 Git 分支、提交、PR、merge 安全规则。
输入各类视频网站/播客平台链接后,自动下载对应媒体文件并交付给用户。优先使用 yt-dlp 覆盖抖音(Douyin)、B站(Bilibili)、YouTube 等常见视频网站,也可用于可直接暴露音频地址的播客平台(如小宇宙单集链接)。当遇到 403/登录/年龄或地区限制时,支持使用 cookies.txt 重试;对于可能存在 DRM/加密或条款限制的平台(例如部分 Spotify 内容),应提示用户仅下载其有权保存的内容,并在不可下载时建议改用官方离线/导出渠道或提供原始 RSS/直链。抖音视频在 yt-dlp 撞签名墙("Fresh cookies needed")时会自动 fallback 到无登录直连 aweme.snssdk.com/v1/play(仅需 video_id,不需要 cookie/a_bogus 签名);抖音图文笔记暂不支持自动下载,需手动处理。
元典法条与案例检索。本技能应在需要查询中国法律法规条文、检索相关案例、为法律分析提供数据支撑时使用。
PDF 处理工具,支持扫描件预处理、OCR 双层 PDF、页码添加、PDF 合并、解密、水印去除和压缩。本技能应在用户需要一键处理、优化或整理 PDF 文档时使用。不要用于:纯文本 PDF 内容编辑、PDF 阅读与批注、电子签名、非压缩目的的格式转换。
面向中国发明和实用新型专利的结构化初步分析工具。本技能应在用户需要拆解或解释权利要求、比较专利保护范围、进行产品侵权比对、等同分析、稳定性与无效风险分析、FTO、规避设计、专利价值评估或制作专利分析图表时使用。不要用于:代替专利律师或专利代理师出具正式意见、仅下载/OCR专利、撰写专利申请文件,或在未确认法域与有效权利要求时给出确定性结论;外观设计近似判断需另行采用专门方法并人工复核。
| name | tingwu-asr |
| homepage | https://github.com/cat-xierluo/legal-skills |
| author | 杨卫薪律师(微信ywxlaw) |
| version | 0.1.0 |
| license | MIT |
| description | 使用阿里云通义听悟进行云端音频/视频转录。本技能应在用户需要云端语音转文字、长音频转录、本地 FunASR 不可用或需要更高精度时使用。不适用于无网络环境或需要完全离线的场景。 |
通过逆向封装通义听悟网页端内部 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。
# 直接给链接(自动 yt-dlp 下载,默认多人分离):小宇宙/YouTube/B站等
python3 skills/tingwu-asr/scripts/transcribe.py "https://www.xiaoyuzhoufm.com/episode/xxx"
# 单文件转录(默认多人分离)
python3 skills/tingwu-asr/scripts/transcribe.py /path/to/audio.mp3 --lang cn
# 多文件并行转录(自动保存到文件所在目录 + 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 音频/视频文件路径或链接(http(s) 开头自动用 yt-dlp 下载到临时目录;支持小宇宙/YouTube/B站等;支持多个混用)--lang cn 语言: cn(中文,默认) / en(英文) / ja(日文) / cant(粤语) / cn_en(中英混合)--speakers 说话人分离: 2=区分发言人(默认,实测唯一有效值,分 2 人) / 0=不区分 / 1=单人。注:3 与 4 实测均无效(不分离),原"4=多人"为误注--batch 批量转录目录下所有文件--parallel N 并行转录的最大文件数 (默认: 3)--force 强制重新上传,即使该文件已有转录结果(默认会跳过已转录的文件)-o output.md 指定输出路径(单文件模式)--no-archive 不保存归档--no-lab 不获取智能分析(关键词/议程/重点等)--ppt 下载 PPT 幻灯片图片并嵌入 Markdown(仅视频有效)关于「给链接转写」与说话人分离(重要设计取舍):传入链接时,skill 走「yt-dlp 下载 → 本地上传」路径,以保证说话人分离生效。听悟网页端的「播客链接转写」(底层 net_source 网络源通道)虽能省本地带宽,但实测其「区分发言人」选项不生效(提交时 roleSplitNum 被强制为 0,不做分离)。此外经实测,听悟 roleSplitNum 仅 2 为有效分离值(分 2 人),0/1/3/4 均不分离(原 skill 注释"4=多人"为误注,已更正)。故 skill 默认 --speakers 2 走本地上传通道,换取可靠的 2 人分离,代价是下载+上传的带宽。如只需纯文字稿不在乎分离,可自行调用听悟网页端播客链接转写。
转录结果会同时保存到两个位置:
/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