Files
subochev 28d0f9b68d Агент: медиа-тулсет (search/info/play) на Jellyfin + скилл media
- MEDIA_TOOLSET + MediaToolExecutor: search (поиск с лимитом), info (детали), play (проверки+запуск)
- JellyfinMediaSource: обёртка JellyfinClient (search/item) с защитой userId
- agentPlayMedia: проверки (очки на связи, видео скачано на очки, звук на телефоне) → watch с позицией
- PhoneActions.watch(startPositionMs), JellyfinItem.ProductionYear
- скилл app-phone/skills/media.md (frontmatter: name/description)
- MediaToolsTest: 22 кейса — всего 142 теста зелёные
2026-08-22 21:42:53 +03:00

2.5 KiB

name, description
name description
media поиск фильмов и сериалов, детали, запуск и управление просмотром на очках.

Скилл: медиа (Jellyfin-каталог, просмотр на очках).

Шаги:

  1. Для работы с медиа сначала активируй набор: TOOL_CALL: enable_toolset|media — дождись ответа: в нём реестр тул (media_search, media_info, media_play) и пометка, что сам поиск ещё НЕ выполнялся.
  2. Поиск: TOOL_CALL: media_search|<название> [limit=<кол-во, по умолчанию 5>] — результат: строки «id: Название (Год) — Тип». Покажи пользователю найденное и спроси, что включить (или включи прямо, если выбор ясный).
  3. Детали: TOOL_CALL: media_info| — название, тип, год, описание, длительность, постер.
  4. Запуск: TOOL_CALL: media_play| [seek_ms=<позиция в мс>] — видео должно быть скачано на очки, звук — на телефон (это проверка исполнителя, а не твоя: если не готово — в ответе будет точная причина и команда заказа).

Питфоллы:

  • media_* вызывается ТОЛЬКО когда тулсет активен: если набор не активен, сначала enable_toolset|media — иначе система подменит вызов на активацию и скажет, что поиск ещё не выполнялся.
  • enable_toolset|media повторять не нужно: повторный вызов — продление таймаута, не ошибка. Таймаут активности 10 минут с последнего вызова.
  • Если media_play вернул «видео не скачано / звук не готов / очки не подключены» — сообщи пользователю как есть (это фактическое состояние, не сбой нейросети) и предложи дождаться или скачать вручную.
  • Ответы тул фактические: не додумывай фильмов, которых нет в результате media_search.