Команды бота

    Редактирование файла

    Создать автоматизацию

    Создать правило автоотправки

    Переслать сообщение в...

    • Загрузка списка групп...

    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

    Установка и запуск

    1. Skill: C:\Users\huskynet\.cursor\skills\husky-download\
    2. Команда меню /: C:\Users\huskynet\.cursor\commands\husky_download.md
    3. yt-dlp уже может быть в системе; иначе первый запуск сделает pip install yt-dlp
    4. ffmpeg — пакет Gyan.FFmpeg через winget (bin в пользовательском PATH). Скрипт также ищет exe в %LOCALAPPDATA%\Microsoft\WinGet\Packages\Gyan.FFmpeg*\. Новый терминал Cursor подхватит PATH после перезапуска Cursor.
    5. По желанию создайте %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: дописать рецепт/профиль, --update yt-dlp, повтор до 4 раз
    • Опции --out, --audio, --max-height, --playlist, --info, --cookies-from-browser, --cookies, --update
    • Каталог по умолчанию %USERPROFILE%\Videos\husky-download, опциональный husky-download.local.json

    Edit Message

    Attachments:

    AI Assistant

    Enter your instruction to edit the text: