Что это делает
Есть два способа работы с соведущим: непрерывное голосовое общение в cohost.html, а также ручные действия док-панели, которые отправляют одобренные реплики в cohost-overlay.html.
Управление из док-панели
Когда сценический оверлей подключён, нажмите сообщение чата в док-панели правой кнопкой мыши и выберите Соведущий (Co-host). Док-панель может озвучить сообщение, запросить ответ ИИ или создать черновик лёгкой подколки.
Сценический оверлей ИИ
Оверлей показывает аватар и текстовый пузырь и при необходимости озвучивает текст средствами браузера. Именно этот источник «Браузер» нужно добавить в OBS.
Приватный чат-бот (Private Chat Bot)
Answer и Light Roast используют настроенного провайдера языковой модели через мост Private Chat Bot. Для действия Read ИИ не нужен.
Мультимодальный соведущий
cohost.html подключается к потоку чата SSN, если открыт с тем же значением session. В режиме по умолчанию «только контекст» ИИ запоминает последние сообщения зрителей и обсуждает их, когда стример попросит.
Настройка соведущего через контекстное меню док-панели
- Откройте док-панель Streaming Chat со своей сессией:
dock.html?session=YOUR_SESSION_ID. - Добавьте сценический оверлей ИИ в OBS:
cohost-overlay.html?session=YOUR_SESSION_ID. Добавьте&ttsтолько при работе с текстовыми ответами. - Для ответов ИИ настройте провайдера языковой модели во всплывающем меню. Для быстрой проверки выберите Пробная размещённая модель SSN (SSN Hosted Trial LLM), который использует
llm.socialstream.ninja. - Включить (Enable) Chat Bots and AI services > Chat Bot - Private Interface > Enable private chat bot option.
- Нажмите сообщение в док-панели правой кнопкой мыши и выберите Соведущий (Co-host). Меню скрыто, пока не обнаружен сценический оверлей. Контекстное меню строк сообщений в док-панели пока недоступно с клавиатуры; вместо него можно использовать поле ввода текста или голосовое управление на
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
- Во всплывающем меню SSN выберите ChatGPT API, добавьте ключ API своего проекта OpenAI и используйте Проверить выбранного чат-бота.
- Откройте созданную ссылку
cohost.html?session=YOUR_SESSION_IDиз всплывающего меню. Её приватный временный токен доступа соведущего разрешает Realtime без включения отдельного параметра Private Chat Bot. - Выберите OpenAI Realtime. Обычный ключ остаётся в фоновой части расширения или настольного приложения SSN; страница соведущего получает только краткосрочный клиентский секрет Realtime.
- Явно выберите микрофон, в который говорите, оставьте Голосовой ответ (Audio Response) выбранным и нажмите Запустить соведущего (Start Co-host).
- По желанию оставьте для Video source значение Без видео (No Video) (по умолчанию) или явно выберите Демонстрация экрана (Screen Share) или камеру. OpenAI получает один текущий кадр с каждым прямым голосовым или текстовым запросом, а не непрерывное видео. Это может увеличить стоимость API и задержку.
- Оставьте для Live Chat значение Только контекст — отвечать по запросу. Спросите «Что пишут в чате?», чтобы тот же голосовой ИИ обсудил последние сообщения зрителей.
- Захватывайте в OBS звук браузера или приложения с соведущим. Встроенный голос OpenAI воспроизводится только из
cohost.html;cohost-overlay.htmlполучает аватар и текст, но не тот же аудиопоток. Если поддерживается, выберите виртуальный аудиокабель в Вывод соведущего для отдельной маршрутизации звука в OBS. - Оставьте видимым текстовый пузырь сценического оверлея или добавьте субтитры, чтобы ответ ИИ был доступен не только на слух.
Этот режим оплачивается через 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; у других провайдеров соведущего эти инструменты ещё недоступны.
- Во всплывающем меню SSN включите только нужные инструменты соведущего: Spotify, сцены OBS или выделенный чат.
- Для OBS укажите точные разрешённые названия сцен через запятую и оставьте
actions.html, подключённый к OBS, либо используйте источник «Браузер» OBS с полными разрешениями (Full Permissions). - На странице
cohost.html, откройте Управление трансляцией через соведущего (Co-host Stream Controls) и разрешите те же инструменты для этого контроллера. - Попросите напрямую, например: «переключись на 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, сохраняя предсказуемую структуру данных для оверлеев и автоматизации.