🎬 video-stt — 视频音频提取与语音转文本
v1.0.0从视频 URL 中提取音频并使用语音转文本(STT)技术进行转录。支持本地 Whisper 模型和多云 API(OpenAI、Azure、Google)。可输出为纯文本、SRT、VTT 或 JSON 格式。
0· 288·1 当前·1 累计
安全扫描
OpenClaw
可疑
medium confidence该技能基本如宣传所述进行视频→音频下载和本地 Whisper 转录,但存在不一致和风险模式(文档与元数据不匹配、隐式安装行为、不安全的 shell 嵌入),安装或运行前需谨慎。
评估建议
该技能大致如宣称所做(下载视频音频并运行本地 Whisper 转录),但有几个红旗需考虑:
- 云 API 支持宣传与脚本实现不符,环境变量名在 README 中显示但脚本未实现云转录。
- 脚本在运行时安装依赖(Homebrew 和 pip),可能在非 macOS 系统上失败或不受欢迎。
- bash 脚本构建的 Python 一行式嵌入变量(MODEL、FORMAT、OUTPUT_FILE、AUDIO_PATH)没有强壮的逃逸,存在 shell 命令注入风险。
- 该技能会下载任意 URL 提供的内容,仅在信任内容和 URL 时运行,建议在沙盒中运行。...详细分析 ▾
⚠ 用途与能力
技能名称/描述与包含的脚本匹配(下载音频 + 转录)。然而,注册元数据声明没有必需的二进制文件或环境变量,而 SKILL.md 和脚本明确需要 yt-dlp、ffmpeg、Python/uv 和可选的云 API 密钥。SKILL.md 广告云 API(OpenAI/Azure/Google),但提供的脚本仅实现本地 Whisper;当使用 --api 时,shell 脚本以“云 API 模式未实现”退出。文档/描述与实际代码之间的不匹配是矛盾的。
⚠ 指令范围
运行时指令告诉代理/用户运行捆绑的 shell 脚本,该脚本将下载任意 URL 并运行本地转录。脚本将尝试安装缺失的工具(见 stt.py 中的 check_dependencies -> brew install,以及两个脚本中的 uv pip install whisper)。bash 脚本直接将 shell 变量注入到 python -c 一行式中(MODEL、FORMAT、OUTPUT_FILE、AUDIO_PATH)而不进行逃逸;如果传递不受信任的值,这可能导致命令/参数注入。脚本不向外部端点泄露数据,但它们下载远程视频内容并可能调用 PyPI/brew 安装包。
ℹ 安装机制
没有正式的安装规范(仅指令),这降低了系统安装风险。然而,代码将在运行时触发包安装:Python 脚本可能调用 'brew install' 安装缺失的系统二进制文件,两个脚本使用 'uv pip install' 安装 Python 包。这些是标准包安装(Homebrew/PyPI)——不是从任意 URL 下载——但在没有平台检查或同意的情况下调用 'brew' 是脆弱的,并可能在非 macOS 系统上引起混乱。
⚠ 凭证需求
SKILL.md 文档记录了用于云使用的可选环境变量(OPENAI_API_KEY、SILICONFLOW_API_KEY),但包含的脚本不实现云 API 流(shell 脚本拒绝 --api)。注册元数据声明没有必需的环境变量;因此,文档请求 API 密钥是不一致的。在没有使用它们的代码的情况下要求用户在文档中设置 API 密钥是混乱的,并可能导致如果用户设置秘密以期待云支持而导致的意外凭据暴露。
✓ 持久化与权限
该技能不请求持久或平台范围的权限(始终:false)。它在技能脚本目录下创建本地目录(audio/ 和 output/)并可能创建本地虚拟环境 (.venv)。它不修改其他技能或全局代理设置。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/3/8
视频 STT 技能首次发布。提取视频 URL 的音频并转换为文本。支持本地 Whisper 模型和多云 API。提供纯文本、SRT、VTT 或 JSON 输出格式。包含命令行和 Python 使用指南及环境设置指导。
● 可疑
安装命令 点击复制
官方npx clawhub@latest install video-stt
镜像加速npx clawhub@latest install video-stt --registry https://cn.clawhub-mirror.com
技能文档
从视频 URL 提取音频并转换为文字 (Speech-to-Text)
环境要求
- yt-dlp - 下载视频/音频
- ffmpeg - 提取音频
- Python - 使用 uv 虚拟环境
快速开始
# 进入脚本目录
cd ~/.openclaw/workspace/skills/video-stt/scripts
# 运行转录
bash stt.sh "视频URL"
使用方法
# 基本用法
bash stt.sh "https://youtube.com/watch?v=xxx"
# 指定输出文件
bash stt.sh "https://youtube.com/watch?v=xxx" -o output.txt
# 使用本地 Whisper 模型
bash stt.sh "https://youtube.com/watch?v=xxx" --local
# 使用云端 API
bash stt.sh "https://youtube.com/watch?v=xxx" --api openai
支持的模型
本地 (免费)
- tiny - 最快,质量一般
- base - 平衡
- small - 较好
- medium - 很好
- large - 最佳(需要更多内存)
云端 API
- OpenAI Whisper API
- Azure Speech
- Google Speech
输出格式
默认输出纯文本,可选:.txt- 纯文本.srt- 字幕格式.vtt- WebVTT 字幕.json- 带时间戳的 JSON
环境变量
# OpenAI (如果使用云端)
export OPENAI_API_KEY="sk-xxx"
# 或者使用硅基流动 (更便宜)
export SILICONFLOW_API_KEY="xxx"
示例
# 转录 YouTube 视频
bash stt.sh "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# 指定模型
bash stt.sh "https://youtube.com/watch?v=xxx" --model medium
# 保存为 SRT
bash stt.sh "https://youtube.com/watch?v=xxx" --format srt
Python 依赖
使用 uv 管理 Python 环境:# 创建虚拟环境
uv venv
uv pip install yt-dlp whisper ffmpeg-python
# 运行
uv run python stt.py "视频URL"
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制