← Back to Skills Marketplace
pyzxs

jl-video-downloader

by pycoder · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
138
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install jl-video-downloader
Description
多平台视频下载和文案提取工具。支持抖音、快手、小红书、B站、YouTube等平台的视频下载和语音转文字功能。当用户需要下载视频、提取视频文案或批量处理视频时激活此技能。
README (SKILL.md)

JL Video Downloader OpenClaw Skill

多平台视频下载和文案提取工具,支持抖音、快手、小红书、B站、YouTube等主流视频平台。

快速开始

1. 环境检查

# 检查Python版本(需要 >= 3.12)
python --version

# 检查ffmpeg(必需)
ffmpeg --version

# 检查uv工具
uv --version

2. 安装工具

# 使用uv安装(推荐)
uv tool install jl-video-downloader

# 使用清华镜像源安装
uv tool install jl-video-downloader --index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 或使用阿里云镜像
uv tool install jl-video-downloader --index-url https://mirrors.aliyun.com/pypi/simple/

# 或使用中科大镜像
uv tool install jl-video-downloader --index-url https://pypi.mirrors.ustc.edu.cn/simple/

3. 配置环境变量

# API密钥配置(文案提取必需)
export SILI_FLOW_API_KEY="sk-your-siliflow-api-key"
export DEEPSEEK_API_KEY="sk-your-deepseek-api-key"

# 代理配置(可选,用于访问YouTube等)
export YOUTUBE_PROXY="http://127.0.0.1:7897"
export GLOBAL_PROXY="http://127.0.0.1:7897"

# 输出目录配置
export OUTPUT_DIR="$HOME/videos"

4. 使用封装脚本(推荐)

本技能提供了封装脚本,简化使用流程:

# 进入脚本目录
cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts

# 运行安装脚本(一键安装和配置)
./setup.sh install

# 使用封装脚本
./download.sh info \x3C视频URL>
./download.sh download \x3C视频URL>
./download.sh extract \x3C视频URL>
./download.sh process \x3C视频URL>

封装脚本提供以下优势:

  • 自动加载环境变量配置
  • 统一的命令行接口
  • 彩色日志输出和错误处理
  • 输出目录自动管理
  • 支持所有主要命令和选项

基本用法

使用封装脚本(推荐)

# 进入脚本目录
cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts

# 查看帮助
./download.sh help

# 获取视频信息
./download.sh info \x3C视频URL>

# 下载视频
./download.sh download \x3C视频URL>
./download.sh download \x3C视频URL> -o ./my_videos
./download.sh download \x3C视频URL> --proxy http://127.0.0.1:7897

# 提取文案
./download.sh extract \x3C视频URL>
./download.sh extract \x3C视频URL> --save-video
./download.sh extract \x3C视频URL> --no-segment
./download.sh extract \x3C视频URL> --api-key "sk-xxx" --deepseek-key "sk-yyy"

# 完整处理(下载+提取)
./download.sh process \x3C视频URL>

# 批量处理
echo "https://v.douyin.com/url1" > urls.txt
echo "https://www.bilibili.com/video/BV1xxx" >> urls.txt
./download.sh batch urls.txt

使用原生命令

# 查看帮助
uvx jl-video-downloader --help

# 获取视频信息
uvx jl-video-downloader info \x3C视频URL>

# 下载视频
uvx jl-video-downloader download \x3C视频URL>
uvx jl-video-downloader download \x3C视频URL> -o ./my_videos
uvx jl-video-downloader download \x3C视频URL> --proxy http://127.0.0.1:7897

# 提取文案
uvx jl-video-downloader extract \x3C视频URL>
uvx jl-video-downloader extract \x3C视频URL> --save-video
uvx jl-video-downloader extract \x3C视频URL> --no-segment
uvx jl-video-downloader extract \x3C视频URL> --api-key "sk-xxx" --deepseek-key "sk-yyy"

# 完整处理(下载+提取)
uvx jl-video-downloader process \x3C视频URL>

# 批量处理
uvx jl-video-downloader batch urls.txt

支持的平台

平台 支持状态 备注
抖音 (Douyin) ✅ 支持 需要处理反爬机制
快手 (Kuaishou) ✅ 支持
小红书 (Xiaohongshu) ✅ 支持
B站 (Bilibili) ✅ 支持 支持BV号、短链接等格式
YouTube ✅ 支持 可能需要代理
其他平台 ✅ 支持 通过yt-dlp支持

平台特定示例

使用封装脚本

# 进入脚本目录
cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts

# 抖音 (Douyin)
./download.sh process "https://v.douyin.com/xxxxx"
./download.sh process "https://www.douyin.com/video/7301234567890123456"

# B站 (Bilibili)
./download.sh process "https://www.bilibili.com/video/BV1GJ41187Q7"
./download.sh process "https://b23.tv/xxxxx"
./download.sh process "https://www.bilibili.com/video/BV1xxx?t=60"

# YouTube
./download.sh process "https://www.youtube.com/watch?v=dQw4w9WgXcQ" --proxy http://127.0.0.1:7897
./download.sh process "https://www.youtube.com/playlist?list=xxxx"

# 快手 (Kuaishou)
./download.sh process "https://v.kuaishou.com/xxxxx"

# 小红书 (Xiaohongshu)
./download.sh process "https://www.xiaohongshu.com/explore/xxxxx"

使用原生命令

# 抖音 (Douyin)
uvx jl-video-downloader process "https://v.douyin.com/xxxxx"
uvx jl-video-downloader process "https://www.douyin.com/video/7301234567890123456"

# B站 (Bilibili)
uvx jl-video-downloader process "https://www.bilibili.com/video/BV1GJ41187Q7"
uvx jl-video-downloader process "https://b23.tv/xxxxx"
uvx jl-video-downloader process "https://www.bilibili.com/video/BV1xxx?t=60"

# YouTube
uvx jl-video-downloader process "https://www.youtube.com/watch?v=dQw4w9WgXcQ" --proxy http://127.0.0.1:7897
uvx jl-video-downloader process "https://www.youtube.com/playlist?list=xxxx"

# 快手 (Kuaishou)
uvx jl-video-downloader process "https://v.kuaishou.com/xxxxx"

# 小红书 (Xiaohongshu)
uvx jl-video-downloader process "https://www.xiaohongshu.com/explore/xxxxx"

高级配置

脚本工具

本技能提供了完整的脚本工具集,位于 ~/.openclaw/workspace/skills/jl-video-downloader/scripts/ 目录:

文件 说明
download.sh 主封装脚本,提供统一的命令行接口
setup.sh 安装和配置脚本,一键安装工具和配置环境
env.example 环境变量配置示例文件
README.md 脚本使用说明文档

快速配置:

# 进入脚本目录
cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts

# 一键安装和配置
./setup.sh install

# 仅创建配置文件
./setup.sh config

# 测试安装
./setup.sh test

持久化环境变量

创建配置文件 ~/.jl-video-downloader/env

# API密钥
SILI_FLOW_API_KEY="sk-your-siliflow-key"
DEEPSEEK_API_KEY="sk-your-deepseek-key"

# 代理设置
YOUTUBE_PROXY="http://127.0.0.1:7897"
GLOBAL_PROXY="http://127.0.0.1:7897"

# 输出设置
OUTPUT_DIR="$HOME/Downloads/videos"
VIDEO_FILENAME_TEMPLATE="{platform}_{date}_{title}"

# 下载设置
DOWNLOAD_TIMEOUT=600
MAX_RETRIES=5
CONCURRENT_DOWNLOADS=3

# 日志设置
LOG_LEVEL="INFO"
LOG_FILE="$HOME/.jl-video-downloader/video-dl.log"

使用脚本自动配置:

# 复制示例配置文件
cp ~/.openclaw/workspace/skills/jl-video-downloader/scripts/env.example ~/.jl-video-downloader/env

# 编辑配置文件
nano ~/.jl-video-downloader/env

# 加载配置
source ~/.jl-video-downloader/load_env.sh

添加到shell配置

# 添加到 ~/.bashrc 或 ~/.zshrc
echo 'source ~/.jl-video-downloader/load_env.sh' >> ~/.bashrc

# 或使用脚本自动添加
cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts
./setup.sh config

故障排除

常见问题

1. "uv: command not found"

# 安装uv工具
curl -LsSf https://astral.sh/uv/install.sh | sh
# 或
pip install uv

2. "ffmpeg: command not found"

# Ubuntu/Debian
sudo apt-get install ffmpeg

# macOS
brew install ffmpeg

# CentOS/RHEL
sudo yum install ffmpeg

3. API密钥错误

# 检查环境变量
echo $SILI_FLOW_API_KEY
echo $DEEPSEEK_API_KEY

# 重新配置
echo 'export SILI_FLOW_API_KEY="sk-your-key"' >> ~/.jl-video-downloader/env
source ~/.jl-video-downloader/load_env.sh

4. 代理连接失败

# 测试代理
curl --proxy http://127.0.0.1:7897 https://www.google.com

# 更新代理配置
echo 'export YOUTUBE_PROXY="http://127.0.0.1:7897"' >> ~/.jl-video-downloader/env
source ~/.jl-video-downloader/load_env.sh

5. 下载速度慢

# 使用代理
uvx jl-video-downloader download \x3CURL> --proxy http://127.0.0.1:7897

# 调整超时时间
export DOWNLOAD_TIMEOUT=600

脚本相关故障

1. "download.sh: command not found"

# 确保在正确的目录
cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts

# 检查脚本权限
chmod +x download.sh setup.sh

# 或使用完整路径
~/.openclaw/workspace/skills/jl-video-downloader/scripts/download.sh help

2. 脚本执行权限问题

# 添加执行权限
chmod +x ~/.openclaw/workspace/skills/jl-video-downloader/scripts/*.sh

# 检查权限
ls -la ~/.openclaw/workspace/skills/jl-video-downloader/scripts/

3. 环境变量未加载

# 手动加载环境变量
source ~/.jl-video-downloader/load_env.sh

# 或重新运行安装脚本
cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts
./setup.sh config

调试模式

# 使用封装脚本的调试模式
cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts
export LOG_LEVEL="DEBUG"
./download.sh info \x3CURL>

# 查看详细日志
bash -x ./download.sh info \x3CURL>

# 查看原生命令的详细日志
export LOG_LEVEL="DEBUG"
uvx jl-video-downloader process \x3CURL>

# 查看Python错误
python -c "import main; main.main()" --help

在OpenClaw工作流中的使用

使用封装脚本的工作流

#!/bin/bash
# openclaw_video_workflow.sh

# 1. 设置脚本目录
SCRIPT_DIR="$HOME/.openclaw/workspace/skills/jl-video-downloader/scripts"

# 2. 检查并安装工具
if [[ -x "$SCRIPT_DIR/setup.sh" ]]; then
    "$SCRIPT_DIR/setup.sh" install
else
    echo "错误: 未找到setup.sh脚本"
    exit 1
fi

# 3. 处理视频
URL="$1"
OUTPUT_DIR="${2:-./output}"

echo "开始处理视频: $URL"
echo "输出目录: $OUTPUT_DIR"

# 4. 使用封装脚本进行完整处理
"$SCRIPT_DIR/download.sh" process "$URL" -o "$OUTPUT_DIR"

# 5. 输出结果
echo "视频处理完成"
echo "输出文件:"
ls -la "$OUTPUT_DIR/"

直接在OpenClaw中调用

# 使用封装脚本
exec "cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts && ./download.sh process \"https://www.douyin.com/video/7596260211384388904\""

# 获取视频信息
exec "cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts && ./download.sh info \"https://www.bilibili.com/video/BV1xxx\""

# 批量处理URL文件
exec "cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts && echo 'https://v.douyin.com/url1' > urls.txt && ./download.sh batch urls.txt"

与其他技能集成

# 在browser技能后使用封装脚本
browser extract "获取页面中的视频链接" | while read url; do
    cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts && ./download.sh download "$url" -o ./videos
done

# 与data-scraper技能结合
scraper extract "video_urls" > urls.txt
cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts && ./download.sh batch urls.txt

# 与crawl4ai技能集成
crawl4ai extract "video_links" | xargs -I {} cd ~/.openclaw/workspace/skills/jl-video-downloader/scripts && ./download.sh info "{}"

性能优化

并发下载

# 调整并发数
export CONCURRENT_DOWNLOADS=5

# 使用parallel工具进行批量并发
cat urls.txt | parallel -j 5 "uvx jl-video-downloader download {}"

缓存配置

# 设置缓存目录
export VIDEO_DOWNLOADER_CACHE_DIR="$HOME/.cache/jl-video-downloader"

# 清理缓存
rm -rf ~/.cache/jl-video-downloader/*

更新和维护

更新工具

# 更新uv
uv self update

# 更新jl-video-downloader
uv tool upgrade jl-video-downloader

重新安装

# 卸载
uv tool uninstall jl-video-downloader

# 重新安装
uv tool install jl-video-downloader

备份配置

# 备份配置
cp -r ~/.jl-video-downloader ~/.jl-video-downloader.backup

# 恢复配置
cp -r ~/.jl-video-downloader.backup ~/.jl-video-downloader

许可证

MIT License

脚本工具参考

download.sh 完整选项

# 基本语法
./download.sh \x3C命令> [选项] \x3C参数>

# 命令列表
./download.sh info      \x3C视频URL>    # 获取视频信息
./download.sh download  \x3C视频URL>    # 下载视频
./download.sh extract   \x3C视频URL>    # 提取文案
./download.sh process   \x3C视频URL>    # 完整处理
./download.sh batch     \x3C文件>       # 批量处理
./download.sh help                 # 显示帮助
./download.sh --version            # 显示版本

# 常用选项
-o, --output DIR      # 指定输出目录
-p, --proxy URL       # 指定代理服务器
--api-key KEY         # 设置SILI_FLOW_API_KEY
--deepseek-key KEY    # 设置DEEPSEEK_API_KEY
--no-segment          # 禁用语义分段
--save-video          # 提取文案时保存视频

setup.sh 功能

# 完整安装和配置
./setup.sh install

# 仅创建配置文件
./setup.sh config

# 测试安装
./setup.sh test

# 显示帮助
./setup.sh help

支持与反馈

如有问题或建议,请通过以下方式反馈:

  1. 项目GitHub Issues
  2. OpenClaw社区
  3. 开发者邮箱

使用提示:

  1. 首次使用前请确保配置好API密钥和ffmpeg工具
  2. 对于YouTube视频,可能需要配置代理服务器
  3. 推荐使用封装脚本 download.sh,提供更好的用户体验和错误处理
  4. 使用 setup.sh 可以一键完成安装和配置
Usage Guidance
This skill implements expected downloader/transcription functionality, but exercise caution before installing or running its scripts: (1) SKILL.md and the scripts require SILI_FLOW_API_KEY and DEEPSEEK_API_KEY (and optional platform cookies) even though the registry metadata lists no required env vars — treat those as sensitive secrets. (2) setup.sh will run a remote installer (curl https://astral.sh/uv/install.sh | sh) and then install packages via uv; remote install scripts execute arbitrary code — review the installer URL contents before running. (3) The installer and scripts will create ~/.jl-video-downloader and append a source line to your shell rc (persistent changes); back up ~/.bashrc/.zshrc before proceeding. Recommended steps: inspect setup.sh and the remote installer (download it first instead of piping to sh), verify the upstream jl-video-downloader package source, prefer installing dependencies manually from trusted package managers, and only provide API keys/cookies if you trust the upstream service and have reviewed the code. If you want lower risk, run the tool inside a disposable VM or container rather than on your primary account.
Capability Analysis
Type: OpenClaw Skill Name: jl-video-downloader Version: 1.0.1 The skill bundle performs high-risk system modifications, including modifying shell configuration files (~/.bashrc or ~/.zshrc) to source environment variables and using 'curl | sh' to install the 'uv' tool in 'scripts/setup.sh'. Additionally, 'scripts/download.sh' uses 'eval' to execute a constructed command string containing user-supplied URLs and arguments, which creates a shell injection vulnerability. While these actions are documented and support the tool's stated purpose of video downloading and transcription, the use of persistence mechanisms and unsafe execution patterns meets the threshold for a suspicious classification.
Capability Assessment
Purpose & Capability
The declared purpose (download videos and extract text) matches the scripts' behavior (wrapping uvx jl-video-downloader, calling ffmpeg, using transcription APIs). However the registry metadata claims no required environment variables or credentials while SKILL.md and scripts clearly require SILI_FLOW_API_KEY, DEEPSEEK_API_KEY and optionally cookies for some platforms. That metadata / documentation mismatch is an incoherence.
Instruction Scope
SKILL.md and the included scripts instruct the agent/user to run installation and wrapper scripts, load persistent env files (~/.jl-video-downloader/env), source load_env.sh from shell rc, and execute uvx commands. The instructions will create files in the user's home, modify shell startup files, and execute external installers — all within the tool's scope but outside a purely ephemeral skill action and therefore broader than the metadata suggests.
Install Mechanism
setup.sh will install the 'uv' tool by running curl -LsSf https://astral.sh/uv/install.sh | sh if uv is missing, then uses uv tool install/upgrade to fetch jl-video-downloader. Executing a remote installer via curl|sh is a high-risk pattern (arbitrary remote code executed locally). The skill package itself lacks a registry install spec but contains scripts that perform network installs at runtime.
Credentials
The skill expects several sensitive environment variables (SILI_FLOW_API_KEY, DEEPSEEK_API_KEY) and may ask for cookies (BILIBILI_COOKIES, DOUYIN_COOKIES) for anti-scraping workarounds. Those variables are reasonable for transcription and anti-crawl access, but they are not declared in the skill's metadata (requires.env is empty), which is an important mismatch and increases risk of accidental credential exposure.
Persistence & Privilege
The setup script writes files under ~/.jl-video-downloader, creates a load_env.sh, and appends source lines to ~/.bashrc or ~/.zshrc — persistent changes to the user's shell environment. always is false, but the skill instructs persistent modification of user config, which the user should be aware of and explicitly approve.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install jl-video-downloader
  3. After installation, invoke the skill by name or use /jl-video-downloader
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
## jl-video-downloader 1.0.1 - 新增 `scripts/download.sh`、`scripts/setup.sh`:提供一键安装与主命令封装脚本,简化使用流程。 - 新增 `scripts/env.example`:示例环境变量配置文件,便于快速上手和环境管理。 - 新增 `scripts/README.md`:详细说明脚本工具的安装与用法。 - 文档大幅更新,增加推荐使用脚本工具的说明与高级配置、故障排查、自动加载环境等内容。
v1.0.0
Initial release of jl-video-downloader. - Multi-platform video download support for Douyin, Kuaishou, Xiaohongshu, Bilibili, YouTube, and more. - Automatic extraction of video speech-to-text captions and document content. - Batch processing and integration with OpenClaw workflow tools. - Environment configuration, proxy, and API key setup instructions included. - Troubleshooting and advanced performance tuning guidance provided.
Metadata
Slug jl-video-downloader
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is jl-video-downloader?

多平台视频下载和文案提取工具。支持抖音、快手、小红书、B站、YouTube等平台的视频下载和语音转文字功能。当用户需要下载视频、提取视频文案或批量处理视频时激活此技能。 It is an AI Agent Skill for Claude Code / OpenClaw, with 138 downloads so far.

How do I install jl-video-downloader?

Run "/install jl-video-downloader" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is jl-video-downloader free?

Yes, jl-video-downloader is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does jl-video-downloader support?

jl-video-downloader is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created jl-video-downloader?

It is built and maintained by pycoder (@pyzxs); the current version is v1.0.1.

💬 Comments