Постоянные индексы вместо извлечения: архитектура сервера MCP для YouTube

✍️ OpenClawRadar📅 Опубликовано: 15 апреля 2026 г.🔗 Source
Постоянные индексы вместо извлечения: архитектура сервера MCP для YouTube
Ad

Разработчик поделился подробными архитектурными заметками по созданию YouTube MCP-сервера, реализующего постоянные локальные индексы, в отличие от распространённого паттерна «извлечь и забыть», наблюдаемого в более чем 40 существующих серверах.

Архитектурные решения

  • Трёхуровневое резервирование для каждого инструмента: Используется YouTube Data API → yt-dlp → извлечение со страницы. Каждый ответ включает поле происхождения ({sourceTier, fallbackDepth, partial, fetchedAt, sourceNotes}) для предотвращения скрытой деградации. Исчерпание квоты на первом уровне приводит к деградированному ответу с чётким указанием происхождения вместо сбоя.
  • Модель персистентности: SQLite + sqlite-vec для локального векторного хранения в одном файле, без Docker или внешней базы данных. Эмбеддинги сохраняются между сессиями, позволяя накапливать знания — десятый запрос к проиндексированному плейлисту будет богаче и быстрее первого.
  • Абстракция провайдера эмбеддингов: Используется Gemini text-embedding-004 (768d) при наличии ключа Gemini, с резервным вариантом all-MiniLM-L6-v2 (384d) полностью офлайн через локальный вывод. Оба обрабатываются одной абстракцией, позволяя осуществлять семантический поиск без API-ключей с пониженным качеством или прозрачно улучшать его при добавлении ключа.
  • Визуальный поиск как отдельный индекс: Три независимых слоя: Apple Vision VNGenerateImageFeatureVectorRequest для векторных отпечатков признаков каждого кадра для поиска по сходству изображений, Gemini Vision для описания сцен на естественном языке для ключевых кадров, и Gemini text-embedding-004 для 768d эмбеддингов над OCR-текстом + описаниями для текстового→визуального поиска. Возвращает реальные пути к кадрам на диске + временные метки + обоснование совпадения, полностью отдельно от пайплайна транскрипции.
  • Эффективность токенов через строгие схемы вывода: Достигает на 75–87% меньших ответов по сравнению с сырым выводом YouTube API за счёт удаления миниатюр, eTags и раздувания локализации, а также использования нормализованных коэффициентов вовлечённости вместо сырых подсчётов.
Ad

Обнаруженные компромиссы

  • Использование диска растёт с персистентностью: Решено с помощью TTL-кэшей по категориям инструментов, диагностики mediaStoreHealth и инструментов очистки для каждой коллекции.
  • Визуальная индексация ресурсоёмка: Из-за извлечения ключевых кадров + компьютерного зрения + OCR + эмбеддингов. Сделана опциональной для каждого видео, а не автоматической при импорте.
  • Трёхуровневое резервирование добавляет задержку при сбое ранних уровней: Считается оправданным для надёжности, так как исчерпание квоты API — реальная проблема в продакшене, а yt-dlp/извлечение со страницы поддерживают работу.
  • Риск коллизии mcpName и npm имени: Реестр MCP использует io.github.<user>/<name>, а npm — плоский. Решено путём их явного разграничения.
  • Apple Vision привязывает слой поиска по сходству изображений к macOS: Принятый компромисс, так как слои на основе Gemini работают кроссплатформенно.

Код открыт, и разработчик открыт к дальнейшему обсуждению архитектурных решений, особенно по компромиссу персистентность vs извлечение или визуальному пайплайну.

📖 Read the full source: r/LocalLLaMA

Ad

👀 Смотрите также

Мозг: Постоянная система памяти ошибок для кода Claude через MCP
Инструменты

Мозг: Постоянная система памяти ошибок для кода Claude через MCP

Brain — это сервер MCP с открытым исходным кодом, который предоставляет Claude Code постоянную, межпроектную память об ошибках и их решениях. Он фиксирует контекст ошибок, предлагает проверенные исправления с оценкой уверенности и строит взвешенную синаптическую сеть, связывающую ошибки, решения и модули кода во всех проектах.

OpenClawRadar
OpenClaw интегрирует функции из утечки кода Claude
Инструменты

OpenClaw интегрирует функции из утечки кода Claude

Пользователь OpenClaw поручил своему боту проанализировать утекший код Claude (реализация на Rust от Instructkr) и выборочно перенес определенные архитектурные паттерны в свою систему OpenClaw. Интеграция сосредоточена на практических улучшениях, таких как автоматическое восстановление контекста при запуске, сжатие диалогов и фреймворк хуков до и после выполнения инструментов.

OpenClawRadar
ai-codex: Предварительно индексируйте свою кодовую базу, чтобы экономить токены Claude
Инструменты

ai-codex: Предварительно индексируйте свою кодовую базу, чтобы экономить токены Claude

ai-codex — это инструмент, который создаёт компактные markdown-индексы вашей кодовой базы, позволяя Claude Code пропустить начальную фазу исследования, которая обычно расходует 30–50 тыс. токенов за разговор. Он создаёт пять файлов, охватывающих маршруты, страницы, библиотеки, схемы и компоненты.

OpenClawRadar
Claude Code добавляет функцию удаленного управления для управления мобильными сессиями
Инструменты

Claude Code добавляет функцию удаленного управления для управления мобильными сессиями

Claude Code теперь позволяет разработчикам запускать задачи в терминале и продолжать управлять сессиями с мобильных устройств через приложение Claude или claude.ai/code, в то время как Claude работает локально на их машине.

OpenClawRadar