Opencode - додаємо плагін для розшифровки ютуб - youtube-transcript-mcp - 2026

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2026
Перейти к:навигация, поиск

Published: 2026-09-04


opencode — це CLI-агент для розробки, який вміє підключати зовнішні інструменти через MCP-сервери. Одним із найзручніших для контент-роботи є youtube-transcript-mcp від Eli-xir: кидаєш посилання на YouTube — отримуєш повну розшифровку з таймстемпами. Спершу сервер бере готові субтитри, а якщо їх немає — локально розпізнає аудіо моделлю faster-whisper. Розкажу, як усе це підключити.

Навіщо це потрібно

  • Розшифровка будь-якого відео одним посиланням: субтитри (youtube_manual / youtube_auto) або whisper-фолбек.
  • Пошук по тексту з клікабельними таймстемпами.
  • Підсумки, теми, ключові моменти, розділи.
  • Кеш у SQLite — повторно те саме відео не транскрибується.
  • 12 інструментів MCP, усе локально, без API-ключів.

Крок 1. Що потрібно

  1. Python 3.10–3.13 (ctranslate2 не має збірок під 3.14).
  2. git, pip (або uv / conda).
  3. Інтернет для YouTube; перший запуск whisper завантажує модель з Hugging Face (tiny ~75 МБ, small ~460 МБ, large-v3 ~1.5 ГБ).
  4. Windows / macOS / Linux; GPU не обов'язковий (CPU з int8 працює).

Крок 2. Клонування та встановлення

git clone https://github.com/Eli-xir/youtube-transcript-mcp
cd youtube-transcript-mcp

Швидкий варіант з uv:

uv venv --python 3.12 .venv
uv pip install --python .venv/bin/python -e .

Класичний варіант з pip (або conda):

python3.12 -m venv .venv
source .venv/bin/activate
pip install -e .

Крок 3. Налаштування .env

cp .env.example .env

Основні змінні (значення за замовчуванням уже розумні):

Змінна За замовчуванням Призначення
TRANSCRIPTION_PROVIDER faster-whisper провайдер розпізнавання (faster-whisper / openai-compatible / none)
WHISPER_MODEL small tiny / base / small / medium / large-v3
PREFER_CAPTIONS true спершу брати готові субтитри YouTube
DEVICE auto auto / cpu — якщо CUDA не працює, ставимо cpu
CACHE_DIR ./data/cache каталог кешу SQLite

Крок 4. Перевірка

Запускаємо вбудований клієнт і дивимось, чи сервер реально віддає розшифровку:

.venv/bin/python scripts/smoke_client.py "https://www.youtube.com/watch?v=VIDEO_ID"

Якщо все гаразд — у виводі буде «Connected. 12 tools: …» і сам текст відео.

Крок 5. Підключення до opencode

Глобальний конфіг (~/.config/opencode/opencode.json) або проєктний opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "youtube-transcript": {
      "type": "local",
      "command": ["/Users/username/youtube-transcript-mcp/.venv/bin/youtube-transcript-mcp"],
      "cwd": "/Users/username/youtube-transcript-mcp",
      "environment": {
        "TRANSCRIPTION_PROVIDER": "faster-whisper",
        "WHISPER_MODEL": "small",
        "CACHE_DIR": "/Users/username/youtube-transcript-mcp/data/cache"
      },
      "enabled": true
    }
  }
}

Пам'ятайте: command — масив рядків, type обов'язковий, environment задає змінні середовища. Якщо пакет встановлено глобально (pip install без -e), cwd можна прибрати.

Крок 6. Перезапуск і використання

opencode читає конфіг лише під час старту, тому після редагування треба перезапустити програму. Далі просто кидаєте посилання в чат і просите розшифровку. Корисні інструменти:

  • youtube_transcribe — головна точка входу (мова, модель, формат srt/vtt, таймстемпи).
  • youtube_get_transcript / youtube_get_segment — текст або точний інтервал.
  • youtube_search_transcript — пошук з контекстом і посиланнями на момент.
  • youtube_generate_summary — підсумки (executive, bullets, chapters, quotes).
  • youtube_video_metadata — назва, канал, тривалість, мови субтитрів.

Крок 7. Типові проблеми

  • DOWNLOAD_FAILED / HTTP 403 — YouTube троттлить IP після частих завантажень; зачекати кілька хвилин (шлях з субтитрами не страждає).
  • MODEL_LOAD_FAILED — модель не завантажилась: перевірити інтернет або поставити WHISPER_MODEL=tiny.
  • Помилки CUDA (cublas64_12.dll) — встановити пакети nvidia-*-cu12 або DEVICE=cpu.
  • BOT_CHECK / AGE_RESTRICTED — YouTube вимагає куки; yt-dlp підтримує конфіг кук, але він вимкнений за замовчуванням.
  • Лайв-стріми не підтримуються; діаризація (розпізнавання спікерів) не підключена.

Офіційні джерела

×
Реклама
← В главную
ИКС 88x31 - Visitor counter