Husky Download · Скачивание видео из YouTube, Rutube, VK и Одноклассников
Команда Cursor /husky_download: ролики с четырёх площадок качаются через yt-dlp. Если экстрактор или формат ломаются, агент дополняет скрипт и повторяет попытку — без ручного перебора флагов каждый раз.
Работает на вашей машине (~/.cursor/), не внутри отдельного git-репозитория приложения.
Возможности
- Скачивание по URL с YouTube (включая Shorts), Rutube, ВКонтакте / VK Видео, Одноклассников
- Команда
/husky_downloadи хештег#husky_download— одно и то же - Несколько ссылок в одном сообщении
- Папка по умолчанию — «Видео», ограничение высоты 1080p, докачка оборванного файла
- После успешного скачивания папка открывается в проводнике (
--no-open— не открывать) - Только звук, другой каталог, весь плейлист, cookies браузера — флагами или фразой в чате
- Встроенные запасные профили по площадкам и рецепты ошибок (403, бот-проверка YouTube, нет ffmpeg, устаревший экстрактор)
- При новой ошибке агент дописывает
SITE_PROFILES/RECIPESв скрипт и повторяет загрузку
Требования
- Cursor с personal skills и commands (
~/.cursor/skills,~/.cursor/commands) - Python 3 (
pythonилиpy -3), пакетyt-dlp(ставится скриптом при отсутствии) - Сеть. Для склейки лучшего видео+аудио на YouTube —
ffmpegв PATH (сборка Gyan 9.0.1 ставится через winget) - Для закрытых роликов — cookies браузера (Edge / Chrome / Firefox) или файл Netscape
Установка и запуск
- Skill:
C:\Users\huskynet\.cursor\skills\husky-download\ - Команда меню
/:C:\Users\huskynet\.cursor\commands\husky_download.md yt-dlpуже может быть в системе; иначе первый запуск сделаетpip install yt-dlpffmpeg— пакет Gyan.FFmpeg через winget (binв пользовательском PATH). Скрипт также ищет exe в%LOCALAPPDATA%\Microsoft\WinGet\Packages\Gyan.FFmpeg*\. Новый терминал Cursor подхватит PATH после перезапуска Cursor.- По желанию создайте
%USERPROFILE%\.cursor\husky-download.local.json:
{
"out_dir": "C:\\Users\\huskynet\\Videos\\husky-download",
"max_height": 1080,
"cookies_from_browser": "edge",
"open_folder": true
}
Поле cookies_from_browser не обязательно. Файл с cookies не светите в чате.
Проверка скрипта без чата:
python "%USERPROFILE%\.cursor\skills\husky-download\scripts\download.py" --info "https://www.youtube.com/watch?v=jNQXAC9IVRw"
ffmpeg уже ставится winget-пакетом Gyan. Обновление: winget upgrade Gyan.FFmpeg. Если в старом терминале команда ffmpeg не находится — скрипт всё равно видит exe в папке WinGet.
Использование
Скачать ролик из чата
Вставьте ссылку и вызовите команду:
/husky_download https://www.youtube.com/watch?v=…
или хештег:
#husky_download https://rutube.ru/video/…
Несколько URL — в том же сообщении списком. Файл появится в %USERPROFILE%\Videos\husky-download\, имя: название ролика и id. После успеха папка открывается сама. Не открывать: /husky_download … не открывай папку или флаг --no-open.
Другая папка, качество, звук, плейлист
В том же сообщении обычной фразой, например: «в D:\Films, 720p, только звук». Агент передаст --out, --max-height, --audio, --playlist.
Закрытое или «подтвердите, что вы не бот»
Закройте браузер и попросите cookies, например: /husky_download … cookies из Edge. Либо положите Netscape cookies и укажите путь. Гео-блок скрипт сам не обходит — нужен VPN.
Когда ролик не качается
Агент читает ошибку, дополняет scripts/download.py (новый рецепт или профиль площадки), при необходимости обновляет yt-dlp (--update) и повторяет. Если после нескольких циклов всё ещё логин или гео — остановится и напишет, чего не хватает.
Ручной повтор после вашей правки скрипта — та же команда с тем же URL.
Структура проекта
~/.cursor/skills/husky-download/
├── SKILL.md # когда агент качает и чинит скрипт
├── README.md # этот файл
├── doc/
│ ├── ARCHITECTURE.md
│ ├── CHANGELOG.md
│ └── AI_RULES.md
└── scripts/
└── download.py # профили площадок, рецепты ошибок, yt-dlp
Рядом, не в skill:
~/.cursor/commands/husky_download.md— пункт меню/~/.cursor/husky-download.local.json— опционально папка, высота, браузер для cookies
Технологии
- Cursor Commands — вызов
/husky_downloadиз чата - Cursor Agent Skills — процедура запуска, цикл починки, обновление changelog
- yt-dlp — экстракторы YouTube, Rutube, VK, Одноклассников
- Python 3 — обёртка: определение площадки, запасные попытки, JSON-итог
- ffmpeg — склейка дорожек, извлечение mp3 (если установлен)
Настройка
Конфиг (все поля необязательны): out_dir, max_height, cookies_from_browser (edge / chrome / firefox / opera), cookies_file, open_folder (по умолчанию папка открывается).
Без конфига: каталог Videos\husky-download, 1080p, без cookies.
Не печатайте содержимое cookies-файла в чат.
История изменений
Формат — Keep a Changelog.
[Unreleased]
Added
- После успешного скачивания открывается папка с файлами; флаг
--no-openи поле конфигаopen_folder - Поиск ffmpeg в пакете WinGet (
Gyan.FFmpeg) и%LOCALAPPDATA%\ffmpeg\bin
Changed
- ffmpeg 9.0.1 (Gyan) установлен через winget,
binв пользовательском PATH
[1.0.0] — 2026-08-31
Added
- Команда
/husky_downloadи хештег#husky_download - Скрипт
scripts/download.py: YouTube, Rutube, VK / VK Видео, Одноклассники - Профили площадок с fallback и рецепты ошибок (бот YouTube, 403/429, формат, ffmpeg, устаревший экстрактор, логин, гео)
- Цикл починки в SKILL.md: дописать рецепт/профиль,
--updateyt-dlp, повтор до 4 раз - Опции
--out,--audio,--max-height,--playlist,--info,--cookies-from-browser,--cookies,--update - Каталог по умолчанию
%USERPROFILE%\Videos\husky-download, опциональныйhusky-download.local.json



