Руководство по ИИ-соведущему

Как вместе работают элементы управления док-панели, приватный чат-бот и сценический оверлей ИИ.

Что это делает

Есть два способа работы с соведущим: непрерывное голосовое общение в cohost.html, а также ручные действия док-панели, которые отправляют одобренные реплики в cohost-overlay.html.

Управление из док-панели

Когда сценический оверлей подключён, нажмите сообщение чата в док-панели правой кнопкой мыши и выберите Соведущий (Co-host). Док-панель может озвучить сообщение, запросить ответ ИИ или создать черновик лёгкой подколки.

Сценический оверлей ИИ

Оверлей показывает аватар и текстовый пузырь и при необходимости озвучивает текст средствами браузера. Именно этот источник «Браузер» нужно добавить в OBS.

Приватный чат-бот (Private Chat Bot)

Answer и Light Roast используют настроенного провайдера языковой модели через мост Private Chat Bot. Для действия Read ИИ не нужен.

Мультимодальный соведущий

cohost.html подключается к потоку чата SSN, если открыт с тем же значением session. В режиме по умолчанию «только контекст» ИИ запоминает последние сообщения зрителей и обсуждает их, когда стример попросит.

Настройка соведущего через контекстное меню док-панели

  1. Откройте док-панель Streaming Chat со своей сессией: dock.html?session=YOUR_SESSION_ID.
  2. Добавьте сценический оверлей ИИ в OBS: cohost-overlay.html?session=YOUR_SESSION_ID. Добавьте &tts только при работе с текстовыми ответами.
  3. Для ответов ИИ настройте провайдера языковой модели во всплывающем меню. Для быстрой проверки выберите Пробная размещённая модель SSN (SSN Hosted Trial LLM), который использует llm.socialstream.ninja.
  4. Включить (Enable) Chat Bots and AI services > Chat Bot - Private Interface > Enable private chat bot option.
  5. Нажмите сообщение в док-панели правой кнопкой мыши и выберите Соведущий (Co-host). Меню скрыто, пока не обнаружен сценический оверлей. Контекстное меню строк сообщений в док-панели пока недоступно с клавиатуры; вместо него можно использовать поле ввода текста или голосовое управление на cohost.html.
Страница управления cohost.html с устройствами мультимедиа, настройками провайдера ИИ, системными инструкциями и состоянием чата трансляции
Это cohost.html — страница управления: выберите камеру и микрофон, провайдера ИИ, задайте системные инструкции и следите за панелью состояния Live Chat.

Совет: Используйте то же значение session для док-панели и оверлея соведущего. &tts применяется к работе с текстовым оверлеем. Когда контроллер воспроизводит собственный звук, SSN подавляет дублирующее озвучивание TTS в оверлее; &forcetts намеренно отключает эту защиту.

Простой вариант использования ИИ

llm.socialstream.ninja доступен через Пробная размещённая модель SSN (SSN Hosted Trial LLM) как простой бесплатный вариант для проверки, пока доступен пробный сервис.

  • Открыть Chat Bots and AI services > Configure LLM Service Provider.
  • Выберите Пробная размещённая модель SSN (SSN Hosted Trial LLM, экспериментальная).
  • Для пробной конфигурации по умолчанию оставьте адрес API, токен и модель пустыми.
  • Для длительного использования укажите собственный токен или локального провайдера, если пробный сервис отключён или ограничивает частоту запросов.

Поддержка голосового общения

  • OpenAI Realtime: Передаёт звук микрофона, выбранного на cohost.html напрямую в OpenAI для единого голосового разговора. Голосовое общение и контекст чата трансляции остаются в одной сессии соведущего.
  • Настольное приложение SSN: Использует локальный Whisper с микрофоном, выбранным на cohost.html. При первом использовании загружается около 42 МБ; затем распознавание речи работает без интернета.
  • Ссылка для Chrome или расширения Chrome: Расширение открывает размещённую страницу соведущего во вкладке Chrome. OpenAI Realtime использует WebRTC с краткосрочным клиентским секретом; провайдеры текстовых ответов используют распознавание речи Chrome, которому может требоваться интернет.
  • Другие браузеры: Распознавание речи не гарантируется. Текстовый чат с соведущим, сообщения трансляции, ввод с камеры или экрана и ответы настроенной языковой модели могут работать и без него.

При использовании OpenAI Realtime в Diagnostics должно отображаться Слушаю (OpenAI WebRTC). При использовании Desktop Whisper должно отображаться Слушаю (Desktop Whisper) , а затем распознанный текст в разделе Распознано (Heard).

Конфиденциальность: звук выбранного микрофона, явно выбранные кадры камеры или экрана и сообщения зрителей, разрешённые выбранным режимом Live Chat, отправляются этому провайдеру ИИ. Сообщения зрителей считаются недоверенным контекстом и не могут разрешать инструменты соведущего. Открывайте созданную ссылку контроллера соведущего из всплывающего меню и храните её в тайне: её приватный токен доступа действует 12 часов, ограничен текущей сессией SSN и удаляется из адресной строки после загрузки страницы.

Настройка OpenAI Realtime

  1. Во всплывающем меню SSN выберите ChatGPT API, добавьте ключ API своего проекта OpenAI и используйте Проверить выбранного чат-бота.
  2. Откройте созданную ссылку cohost.html?session=YOUR_SESSION_ID из всплывающего меню. Её приватный временный токен доступа соведущего разрешает Realtime без включения отдельного параметра Private Chat Bot.
  3. Выберите OpenAI Realtime. Обычный ключ остаётся в фоновой части расширения или настольного приложения SSN; страница соведущего получает только краткосрочный клиентский секрет Realtime.
  4. Явно выберите микрофон, в который говорите, оставьте Голосовой ответ (Audio Response) выбранным и нажмите Запустить соведущего (Start Co-host).
  5. По желанию оставьте для Video source значение Без видео (No Video) (по умолчанию) или явно выберите Демонстрация экрана (Screen Share) или камеру. OpenAI получает один текущий кадр с каждым прямым голосовым или текстовым запросом, а не непрерывное видео. Это может увеличить стоимость API и задержку.
  6. Оставьте для Live Chat значение Только контекст — отвечать по запросу. Спросите «Что пишут в чате?», чтобы тот же голосовой ИИ обсудил последние сообщения зрителей.
  7. Захватывайте в OBS звук браузера или приложения с соведущим. Встроенный голос OpenAI воспроизводится только из cohost.html; cohost-overlay.html получает аватар и текст, но не тот же аудиопоток. Если поддерживается, выберите виртуальный аудиокабель в Вывод соведущего для отдельной маршрутизации звука в OBS.
  8. Оставьте видимым текстовый пузырь сценического оверлея или добавьте субтитры, чтобы ответ ИИ был доступен не только на слух.

Этот режим оплачивается через OpenAI API и создаёт один разговор SSN Realtime по WebRTC, отдельно от chatgpt.com. Ответ ограничен 512 выходными токенами; раздел Diagnostics показывает суммарное использование токенов и измеренную задержку до первого вывода. Когда стример перебивает, OpenAI автоматически отбрасывает ещё не воспроизведённую часть аудио. SSN хранит не более 20 последних сообщений чата до 90 секунд вместе с контекстом платной поддержки, подписок, модераторов, событий и исходного канала, а затем удаляет этот временный контекст. SSN проверяет неактивные сессии, восстанавливает соединения после сбоев транспорта и обновляет сессии до достижения 60-минутного лимита. После восстановления повторно применяются системные инструкции и настройки производительности, но прежний голосовой разговор не сохраняется.

OpenAI: скорость, качество и стоимость

  • Модель: Mini обычно быстрее и дешевле. Full quality даёт больше возможностей и стоит дороже.
  • Уровень рассуждений: Minimal или Low обычно уменьшают задержку ответа и оплачиваемый объём вывода. High или Extra high могут улучшить сложные ответы, но отвечают медленнее и стоят дороже. Настройки применяются и во время подключения.
  • Скорость смены реплик: Fast ждёт окончания мысли примерно до 2 секунд, Balanced — около 4 секунд, Patient — около 8 секунд. Fast быстрее реагирует, но может принять естественную паузу за конец реплики.
  • Диагностика (Diagnostics): Latency показывает время от окончания реплики до первого текста или звука и по возможности отдельно указывает задержку модели. Состояние сети и нагрузка провайдера могут различаться даже для похожих запросов.

Необязательное управление трансляцией

OpenAI Realtime поддерживает перечисленные ниже инструменты Spotify, сцен OBS и выделенного чата. SSN Configured LLM пока поддерживает только Spotify; у других провайдеров соведущего эти инструменты ещё недоступны.

  1. Во всплывающем меню SSN включите только нужные инструменты соведущего: Spotify, сцены OBS или выделенный чат.
  2. Для OBS укажите точные разрешённые названия сцен через запятую и оставьте actions.html , подключённый к OBS, либо используйте источник «Браузер» OBS с полными разрешениями (Full Permissions).
  3. На странице cohost.html, откройте Управление трансляцией через соведущего (Co-host Stream Controls) и разрешите те же инструменты для этого контроллера.
  4. Попросите напрямую, например: «переключись на BRB», «выдели последнее сообщение» или «очисти выделенный чат». Сообщения зрителей не дают разрешения на использование инструментов; на каждый прямой запрос стримера выполняется только один инструмент, изменяющий трансляцию.

Доступ разрешён только к инструментам из списка, а не ко всему API. OBS может выбирать только сцены, перечисленные в настройках SSN. Запросы на выделение используют недавно полученное сообщение чата и требуют док-панель Streaming Chat. Ответ инструмента подтверждает доставку команды, но не доказывает, что OBS или оверлей её выполнили.

Как страницы взаимодействуют

Док-панель и оверлей используют существующий мост сессии Social Stream. Сообщения отправляются как overlayNinja с адресацией по метке.

Озвучить через соведущего (Read on Co-host): док-панель отправляет выбранное сообщение чата напрямую в cohost-overlay.html.

Ответить / Лёгкая подколка (Answer / Light Roast): док-панель отправляет приватный запрос чат-бота фоновой службе SSN, показывает черновик ИИ и передаёт его в оверлей только после нажатия стримером Speak.

{
  "action": "cohostOverlay",
  "target": "cohost-overlay",
  "meta": {
    "command": "say",
    "text": "The line the avatar should say",
    "speak": true,
    "emotion": "happy"
  }
}

Доступные действия

Действие Требуется Результат
Озвучить через соведущего (Read on Co-host) Подключено (Connected) cohost-overlay.html Озвучивает выбранное сообщение чата в оверлее.
Ответить (Answer) Private Chat Bot + настроенная языковая модель или Hosted Trial LLM Создаёт короткий черновик ответа для одобрения стримером.
Лёгкая подколка (Light Roast) Private Chat Bot + настроенная языковая модель или Hosted Trial LLM Создаёт короткий добродушный шуточный черновик без взрослого содержания для одобрения стримером.
Озвучить (Speak) Черновик на панели подтверждения Отправляет одобренный текст в сценический оверлей ИИ.
Копировать Черновик на панели подтверждения Копирует черновик, не отправляя его в оверлей.

Состояние и устранение неполадок

  • Если меню Co-host отсутствует, оверлей соведущего не обнаружен в той же сессии.
  • Если Answer или Light Roast недоступны, нет соединения с мостом SSN или Private Chat Bot.
  • Переключатель основного оверлея чат-бота необязателен и не включает действия соведущего в контекстном меню док-панели.
  • Если cohost.html не видит чат, убедитесь, что в URL указано то же значение session , что и во всплывающем меню, а для Live Chat выбрано Context, Questions или All.
  • Только контекст (Context only) пока передаёт чат ИИ только при использовании OpenAI Realtime. Другие провайдеры наблюдают за потоком сообщений, не добавляя их в контекст модели.
  • Выключить микрофон прекращает передачу звука соведущему. Выключить голос соведущего, ползунок громкости, выбор устройства вывода и Остановить озвучивание управляют воспроизведением. Выключить передаваемый системный звук является отдельной настройкой и появляется у провайдеров с поддержкой экрана.
  • Если инструмент управления трансляцией недоступен, включите его и во всплывающем меню SSN, и в Управление трансляцией через соведущего (Co-host Stream Controls). Для OBS также нужно указать в списке разрешённых хотя бы одно точное название сцены.
  • Используйте Проверить оверлей (Test overlay) , чтобы отправить безопасную видимую тестовую строку, а затем убедитесь, что она появилась в сценическом оверлее ИИ в OBS.
  • Если соведущий знает содержимое чата, но молчит, это нормально для режима Только контекст (Context only): спросите, что пишут в чате. Режимы Questions и All озвучивают автоматические ответы на странице соведущего, но не отправляют их в чаты YouTube, Twitch или Kick.
  • Если настольное приложение показывает Слушаю (Desktop Whisper) , но так и не заполняет Распознано (Heard), убедитесь, что выбранный микрофон не выключен, и дождитесь первой загрузки модели.
  • Если Chrome так и не заполняет Распознано (Heard), разрешите доступ к микрофону, проверьте микрофон по умолчанию в операционной системе, подключение к интернету и доступность распознавания речи Chrome.
  • Если текст OpenAI Realtime появляется, но звук не воспроизводится, проверьте Голосовой ответ (Audio Response), разрешения браузера на воспроизведение звука и захват звука браузера или приложения в OBS. Используйте &tts только для отдельного сценария с текстовым оверлеем.
  • Если OpenAI Realtime отвечает медленно, попробуйте Mini, уровень рассуждений Low и режим очередности реплик Fast, затем сравните строку Latency в Diagnostics. Более высокий уровень рассуждений и режим Patient намеренно увеличивают время ответа ради более глубоких ответов или длинных пауз.
  • Если OpenAI Realtime отключается, оставьте соведущего запущенным, пока он повторяет подключение. Diagnostics показывает, связан ли сбой с данными, одноранговым соединением, провайдером или проверкой работоспособности. После восстановления сохраняются выбранные системные инструкции и настройки производительности, но прежний голосовой разговор восстановить нельзя.
  • Если истекает время ожидания запроса Answer, Light Roast или SSN Configured LLM, проверьте, что Social Stream включён, сессии совпадают, Private Chat Bot активирован и выбранный провайдер языковой модели доступен. Для OpenAI Realtime Private Chat Bot не нужен.
  • Если Local Gemma не может загрузить файлы модели с сервера ресурсов по умолчанию, укажите свой сервер с зеркальной копией папки Gemma.
  • Если размещённый пробный ИИ перестал отвечать, он может быть отключён или ограничивать частоту запросов. Переключитесь на собственный токен, Ollama или Custom API.
  • Если открыто несколько оверлеев, убедитесь, что метка нужного оверлея совпадает с целевой меткой док-панели. Метка по умолчанию: cohost-overlay.

Полезные параметры URL

  • session=YOUR_SESSION_ID — требуется, чтобы док-панель и оверлей находились в одной комнате.
  • tts или speak=1 — позволяет оверлею озвучивать текст средствами браузера.
  • forcetts — разрешает озвучивание TTS в оверлее, даже если контроллер соведущего уже воспроизводит звук; это намеренно создаёт второй голос.
  • label=cohost-overlay — задаёт целевую метку оверлея.
  • name=NinjaBot — задаёт отображаемое имя на оверлее.
  • avatar=https://... — задаёт собственное изображение аватара.
  • position=bottom-right — управляет расположением на сцене.
  • scale=1.2 — задаёт масштаб оверлея.
  • status — показывает на оверлее текст состояния подключения.

Примечания по устройству

  • При работе с док-панелью или ручным вводом текста оверлей отвечает за отображение и необязательное озвучивание TTS. Для встроенного голоса OpenAI захватывайте звук cohost.html отдельно: сценический оверлей не воспроизводит повторно тот же звук WebRTC.
  • Док-панель служит панелью управления, поэтому процесс одобрения стримером не попадает в эфир.
  • Созданные ответы не озвучиваются автоматически: сначала их должен одобрить стример.
  • Нестандартные сведения о команде находятся внутри meta, сохраняя предсказуемую структуру данных для оверлеев и автоматизации.