Посібник зі співведучого на базі ШІ

Як разом працюють керування з дока, приватний чат-бот і сценічний оверлей ШІ.

Що це робить

Є два сценарії роботи зі співведучим: постійний голосовий супутник у cohost.html, а також ручні дії в доку, що надсилають схвалені репліки до cohost-overlay.html.

Керування з дока

Коли сценічний оверлей підключено, клацніть повідомлення чату в доку правою кнопкою та виберіть Співведучий. Док може прочитати повідомлення, попросити ШІ відповісти або створити чернетку легкого жарту.

Сценічний оверлей ШІ

Оверлей показує аватар, бульбашку мовлення та необов’язкове браузерне озвучення тексту. Саме це джерело браузера потрібно додати в OBS.

Приватний чат-бот

Answer і Light Roast використовують налаштованого постачальника LLM через міст 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. Для відповідей ШІ налаштуйте постачальника LLM у спливному вікні. Для швидкої перевірки виберіть Розміщена пробна LLM SSN, що використовує llm.socialstream.ninja.
  4. Увімкнути Чат-боти та сервіси ШІ > Чат-бот — приватний інтерфейс > Увімкнути приватний чат-бот.
  5. Клацніть повідомлення в доку правою кнопкою та виберіть Співведучий. Меню приховано, доки не виявлено сценічний оверлей. Контекстне меню рядків повідомлень у доку поки недоступне з клавіатури; користувачі клавіатури можуть скористатися полем введення повідомлення або голосовими засобами керування на cohost.html.
Сторінка керування cohost.html із медіапристроями, налаштуваннями постачальника ШІ, системними інструкціями та станом живого чату
Цей cohost.html сторінку керування: виберіть камеру й мікрофон, постачальника ШІ, задайте системні інструкції та стежте за панеллю стану Live Chat.

Порада: Використовуйте те саме значення session для дока та оверлею співведучого. &tts застосовується до сценаріїв із текстовим оверлеєм. Коли власне аудіо контролера активне, SSN приглушує повторне озвучення оверлею; &forcetts навмисно перевизначає цей захист.

Простий варіант ШІ

llm.socialstream.ninja доступне через Розміщена пробна LLM SSN як простий безкоштовний варіант перевірки, поки пробний сервіс доступний.

  • Відкрити Чат-боти та сервіси ШІ > Налаштувати постачальника сервісу LLM.
  • Виберіть Розміщена пробна LLM SSN (експериментально).
  • Для типового пробного налаштування залиште кінцеву точку, токен і модель порожніми.
  • Для тривалого використання застосовуйте власний токен або локального постачальника, якщо пробний сервіс вимкнено або обмежено за частотою запитів.

Підтримка голосової розмови

  • OpenAI Realtime: Передає потік із мікрофона, вибраного на cohost.html безпосередньо до OpenAI для однієї власної розмови «мовлення — мовлення». Голосова розмова й контекст живого чату залишаються в одній сесії співведучого.
  • Настільний SSN: Використовує локальний Whisper із мікрофоном, вибраним на cohost.html. Під час першого використання завантажується приблизно 42 МБ; подальше розпізнавання працює офлайн.
  • Посилання для Chrome / розширення Chrome: Розширення відкриває розміщену сторінку співведучого у вкладці Chrome. OpenAI Realtime використовує WebRTC із короткочасним клієнтським секретом; постачальники текстових відповідей використовують розпізнавання мовлення Chrome і можуть потребувати інтернету.
  • Інші браузери: Розпізнавання голосу не гарантується. Текстовий чат зі співведучим, вхідні дані живого чату, камери/екрана та відповіді налаштованої LLM можуть працювати й без розпізнавання мовлення.

З OpenAI Realtime у Diagnostics має відображатися Слухає (OpenAI WebRTC). З Desktop Whisper має відображатися Слухає (Desktop Whisper) а потім розпізнаний текст у Почуто.

Приватність: вибраний мікрофон, усі явно вибрані кадри камери/екрана та повідомлення глядачів, які передає вибраний режим 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. Явно виберіть мікрофон, у який говорите, залиште Голосова відповідь вибраним, і натисніть Запустити співведучого.
  5. Необов’язково: залиште Video source у режимі Без відео (типово) або явно виберіть Демонстрація екрана або камеру. 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 здається швидшим, але може перервати природну паузу.
  • Діагностика: Latency показує час від завершення репліки до першого тексту або аудіо та за можливості окремо вказує затримку моделі. Стан мережі й навантаження постачальника можуть відрізнятися навіть для подібних запитів.

Необов’язкове керування трансляцією

OpenAI Realtime підтримує наведені нижче інструменти Spotify, сцен OBS і вибраного чату. SSN Configured LLM наразі підтримує лише Spotify; інші постачальники співведучого поки не надають цих інструментів.

  1. У спливному вікні SSN увімкніть лише потрібні інструменти співведучого: Spotify, сцени OBS або вибраний чат.
  2. Для OBS введіть точні дозволені назви сцен через кому та залиште actions.html підключений до OBS, або використовуйте джерело браузера OBS із Full Permissions.
  3. На cohost.html, відкрийте Керування трансляцією через співведучого і активуйте ті самі інструменти для цього контролера.
  4. Попросіть прямо, наприклад: «перемкни на BRB», «вибери останнє повідомлення» або «очисть вибраний чат». Повідомлення глядачів не можуть дозволяти використання інструментів, а на один прямий запит стримера виконується лише один інструмент, який змінює трансляцію.

Доступ до інструментів обмежений списком дозволених, а не загальним доступом до API. OBS може вибирати лише сцени, названі в налаштуваннях SSN. Запити вибору використовують нещодавно захоплене повідомлення чату й потребують дока Streaming Chat; відповіді інструментів підтверджують доставку, а не виконання дії в OBS або оверлеї.

Як сторінки взаємодіють

Док і оверлей використовують наявний міст сесії Social Stream. Повідомлення надсилаються як overlayNinja з адресацією за міткою.

Прочитати через співведучого: док надсилає вибране повідомлення чату безпосередньо до cohost-overlay.html.

Відповідь / легкий жарт: док надсилає приватний запит чат-боту до фонової служби SSN, показує чернетку ШІ в доку й надсилає її в оверлей лише після натискання стримером Speak.

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

Доступні дії

Дія Потребує Результат
Прочитати через співведучого Підключено cohost-overlay.html Читає вибране повідомлення чату в оверлеї.
Відповідь Приватний чат-бот + налаштована LLM або розміщена пробна LLM Створює коротку чернетку відповіді для схвалення стримером.
Легкий жарт Приватний чат-бот + налаштована LLM або розміщена пробна LLM Створює коротку жартівливу чернетку без дорослого вмісту для схвалення стримером.
Озвучити Чернетка на панелі схвалення Надсилає схвалений текст до сценічного оверлею ШІ.
Копіювати Чернетка на панелі схвалення Копіює чернетку без надсилання в оверлей.

Стан і усунення несправностей

  • Якщо меню Co-host відсутнє, оверлей співведучого не виявлено в тій самій сесії.
  • Якщо Answer або Light Roast недоступні, міст SSN або Private Chat Bot недоступний.
  • Перемикач оверлею основного чат-бота необов’язковий і не вмикає дії співведучого з контекстного меню дока.
  • Якщо cohost.html не бачить чат, переконайтеся, що URL містить те саме значення session що й у спливному вікні, а Live Chat має режим Context, Questions або All.
  • Лише контекст наразі передає чат ШІ лише для OpenAI Realtime. Інші постачальники стежать за потоком, не додаючи його до моделі.
  • Вимкнути мікрофон зупиняє надсилання аудіо співведучому. Вимкнути голос співведучого, повзунок гучності, вибір вихідного пристрою та Припинити мовлення керують відтворенням. Вимкнути спільне системне аудіо є окремим і з’являється для постачальників, що підтримують екран.
  • Якщо інструмент керування трансляцією недоступний, увімкніть його і в спливному вікні SSN, і на Керування трансляцією через співведучого. Для OBS також потрібно додати принаймні одну точну назву сцени до списку дозволених.
  • Використовуйте Перевірити оверлей щоб надіслати нешкідливий видимий тестовий рядок, а потім переконайтеся, що він з’явився в AI Stage Overlay в OBS.
  • Якщо співведучий знає чат, але мовчить, це очікувано в режимі Лише контекст: запитайте, що пишуть у чаті. Режими Questions або All автоматично озвучують відповіді зі сторінки співведучого; вони не публікують ці відповіді в чаті YouTube, Twitch або Kick.
  • Якщо настільний застосунок показує Слухає (Desktop Whisper) але ніколи не заповнює Почуто, переконайтеся, що вибраний мікрофон не вимкнено, і дочекайтеся завершення першого завантаження моделі.
  • Якщо Chrome ніколи не заповнює Почуто, надайте дозвіл на мікрофон, перевірте типовий мікрофон операційної системи, підтвердьте доступ до інтернету та переконайтеся, що розпізнавання мовлення Chrome доступне.
  • Якщо текст OpenAI Realtime з’являється, але аудіо не відтворюється, перевірте Голосова відповідь, дозволи браузера на аудіо та захоплення аудіо браузера/застосунку в OBS. Використовуйте &tts лише для окремого сценарію з текстовим оверлеєм.
  • Якщо OpenAI Realtime відповідає повільно, спробуйте Mini, Low reasoning і Fast turn-taking, а потім порівняйте рядок Latency у Diagnostics. Вищий рівень міркування та Patient turn-taking навмисно обмінюють швидкість на глибину відповіді або довші паузи.
  • Якщо OpenAI Realtime від’єднається, залиште співведучого запущеним, поки він повторює спроби. Diagnostics визначає збій даних, пірингового з’єднання, постачальника або перевірки працездатності. Відновлена сесія зберігає вибрані системні інструкції та параметри продуктивності, але не може відновити попередню голосову розмову.
  • Якщо запит Answer, Light Roast або SSN Configured LLM перевищує час очікування, перевірте, чи ввімкнено Social Stream, чи збігається сесія, чи ввімкнено Private Chat Bot і чи доступний вибраний постачальник LLM. Для OpenAI Realtime Private Chat Bot не потрібен.
  • Якщо Local Gemma не може завантажити файли моделі з типового хостингу ресурсів, укажіть як хостинг власне дзеркало папки Gemma.
  • Якщо розміщений пробний ШІ перестає відповідати, його могли вимкнути або обмежити за частотою запитів; перейдіть на власний токен, Ollama або Custom API.
  • Якщо відкрито кілька оверлеїв, переконайтеся, що мітка оверлею збігається з цільовою міткою дока. Типова мітка — cohost-overlay.

Корисні параметри URL

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

Примітки щодо реалізації

  • У сценаріях із доком/ручним текстом оверлей є джерелом зображення та необов’язкового озвучення. Для власного голосу OpenAI захоплюйте cohost.html аудіо окремо; сценічний оверлей не відтворює повторно це саме аудіо WebRTC.
  • Док є панеллю керування, тому схвалення стримером залишається поза трансляцією.
  • Згенеровані відповіді не озвучуються автоматично; стример має спочатку їх схвалити.
  • Нестандартні подробиці команд містяться в meta, завдяки чому дані залишаються передбачуваними для оверлеїв та автоматизацій.