↓ Перейти к основному содержимому

Прокачиваем Podsync: веб-админка, Catppuccin, поддержка VK Видео и MCP для ИИ-агентов

logo

Зачем это нужно
#

Оригинальный Podsync — отличная утилита, которая исправно забирает ролики с YouTube и заворачивает их в стандартный аудио-подкаст (RSS-фид). Но проект практически замер, а потребности для меня за последнее время сильно изменились:

  • Есть контент в VK Видео, а поддержки этой платформы в апстриме не было.
  • YouTube всё агрессивнее блокирует серверные IP и требует авторизацию ботов (Sign in to confirm you're not a bot).
  • Любое добавление нового канала требовало ручной правки config.toml и перезапуска демона.
  • Хотелось управлять библиотекой с любого устройства — быстро скопировать RSS, или попросить AI-агента в OpenCode добавить подписку.

Поэтому я собрал собственный форк Podsync, куда навайбкодил всё, чего не хватало.

Что нового в форке
#

1. Встроенная веб-админка (/admin)
#

В бинарник вшита адаптивная панель управления без внешних Node.js-зависимостей:

  • Карточки каналов: обложки, счетчики эпизодов, занятое место на диске.
  • Быстрая подписка: кнопка копирования RSS в буфер, генератор QR-кода для камеры смартфона и прямые deep-link кнопки в Apple Podcasts, Pocket Casts и Overcast.
  • Управление фидами: добавление новых каналов и плейлистов на лету (автоматически пишутся в config.toml и встают в очередь загрузки), ручной запуск обновления и удаление с очисткой файлов.
  • Контроль ошибок: просмотр статусов эпизодов и кнопка Retry для повторного скачивания упавших выпусков.
  • Системные метрики: мониторинг памяти, свободного места в папке data и проверка доступности yt-dlp и ffmpeg.
  • Темы оформления: палитра Catppuccin Mocha и Latte с переключением.

2. Поддержка VK Видео
#

Теперь можно превращать в подкасты каналы, сообщества, страницы авторов и плейлисты из VK Видео (vkvideo.ru, vk.com, vk.ru). Достаточно один раз указать API-токен через веб-интерфейс или переменную окружения PODSYNC_VKVIDEO_API_KEY.

3. Управление cookies и yt-dlp
#

Для борьбы с проверками YouTube в веб-интерфейс вынесен раздел Downloader & Cookies:

  • Вставка и сохранение cookies.txt (Netscape формат) прямо из браузера.
  • Настройка прокси для yt-dlp и встроенный тестер URL для проверки скачивания перед сохранением.

4. Нативный MCP-сервер для ИИ-агентов
#

Встроен сервер Model Context Protocol (MCP). Теперь любой LLM-ассистент (OpenCode v2, Claude Desktop, Cursor, Antigravity) умеет управлять вашей медиатекой:

  • Смотреть список фидов и занятое место (list_feeds, get_system_stats).
  • Добавлять новые каналы прямо по ссылке из чата (add_feed).
  • Перезапускать упавшие загрузки (retry_episode).
  • Работать как локально через stdio (podsync --mcp), так и удаленно по SSE (/mcp/sse).

Быстрый запуск
#

Запустить обновленный Podsync можно бинарником или в Docker.

Вариант 1. Сборка из исходников
#

Вам понадобятся go, ffmpeg и yt-dlp:

git clone https://github.com/tatarinovms/podsync.git
cd podsync
make

Вариант 2. Docker Compose
#

services:
  podsync:
    image: tatarinovms/podsync:latest
    container_name: podsync
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      - PODSYNC_ADMIN_ENABLED=true
      - PODSYNC_ADMIN_USERNAME=admin
      - PODSYNC_ADMIN_PASSWORD=your-secure-password
      - PODSYNC_VKVIDEO_API_KEY=your-vk-token
    volumes:
      - ./config.toml:/app/config.toml
      - ./data:/app/data
      - ./db:/app/db

В config.toml включаем админку:

[server]
port = 8080
hostname = "http://192.168.1.100:8080"

[server.admin]
enabled = true
username = "admin"
password = "your-secure-password"

Переходим в браузере по адресу http://<ip>:8080/admin/ и всё готово к работе.

Подключение к OpenCode v2 через MCP
#

Чтобы агент в OpenCode мог управлять подкастами, пропишите сервер в opencode.json (или ~/.config/opencode/opencode.json):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "podsync": {
        "type": "local",
        "command": [
          "/usr/local/bin/podsync",
          "--config",
          "/etc/podsync/config.toml",
          "--mcp"
        ],
        "enabled": true
      }
    }
  }
}

Проверяем список серверов:

opencode mcp list

Теперь достаточно написать агенту: «Добавь этот плейлист из VK Видео в Podsync и скачай свежие выпуски» — и он сделает всё сам.

Итог
#

Podsync превратился из фонового скрипта в полноценный self-hosted медиакомбайн с удобным интерфейсом и интеграцией в современный AI-стек.

Related