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