Настройте за 6 шагов
- В настройках Social Stream откройте Чат-боты и службы ИИ → Настроить поставщика LLM.
- Выберите ИИ (см. ниже) и заполните появившиеся поля.
- Нажмите Проверить выбранного чат-бота. Под кнопкой должен появиться настоящий текстовый ответ.
- Открыть Chat Bot - Primary («Основной бот для чата») и включите Включить ИИ-бота для чата на основе языковой модели.
- Включите Ответы бота отправляются ТОЛЬКО на страницу оверлея бота на время проверки. Так ответы не попадут в настоящий чат.
- Откройте
bot.htmlв разделе Страница оверлея и озвучивание для бота чата.
Выберите ИИ
| Я использую… | Выберите это |
|---|---|
| Ollama на моём компьютере | Ollama (Native Local API). Обычный адрес — http://localhost:11434. |
| LM Studio, llama.cpp, vLLM или аналог | Собственный API. Не используйте это для Ollama. |
| Платный сервис, например OpenAI или Gemini | Этот сервис. Введите его API-ключ и модель. Цены, лимиты и названия моделей устанавливает провайдер. |
| Пока ничего; хочу запускать в браузере | Локальная Gemma или Локальный Qwen. Следуйте инструкциям по скачиванию модели. |
Нужна Ollama? Скачайте её со страницы загрузки Ollama. Полный список провайдеров: Интеграция ИИ в разделе «Команды и API».
Keep-alive Ollama установлен в 0?
Это выгружает модель после каждого запроса. Бот продолжает работать, но каждый ответ может задерживаться из-за повторной загрузки модели.
Проверьте
Используйте эти настройки в Chat Bot - Primary («Основной бот для чата») для первой проверки.
| Настройка | Первая проверка | Позже |
|---|---|---|
| Включить ИИ-бота для чата на основе языковой модели | На странице | Оставьте включённым, пока бот должен следить за чатом. |
| Настроить имя бота | NinjaBot | Короткое простое имя, которое зрители смогут набрать. |
| Ответы бота отправляются ТОЛЬКО на страницу оверлея бота | На странице | Выключите, когда будете готовы писать в настоящий чат. |
| Не отсеивать ни один ответ бота | На странице | Обычно выключено, чтобы бот мог пропускать бессмысленные ответы. |
| Список слов для запуска бота | Пусто | Добавьте слово, если бот не должен рассматривать каждое сообщение. |
| Интервал ответов на вкладку / источник | 5000 мс | Увеличьте значение, если бот пишет слишком часто. Влияет только на отправку в чат. |
| Максимум одновременных ответов бота | 1 | Оставьте низкое значение, если ваш ИИ не справляется с большим. |
| Отвечать только модераторам | Выключено | Только если вам это нужно. |
| Reply to members only | Выключено | Limit replies and !summary to users marked as members by their source. Other chat stays visible in the Dock and overlays. |
Запустите проверку
- Включите Social Stream и откройте источник живого чата.
- С другого аккаунта, напишите сообщение в настоящем чате YouTube или Twitch. Проверьте, появилось ли оно в Dock.
- С этого аккаунта отправьте:
NinjaBot, reply with exactly: Hello - Отправьте один раз и подождите. Локальный ИИ может ещё загружаться.
- Ответ должен появиться в
bot.htmlстранице.
Когда всё заработает, выключите Не отсеивать ни один ответ бота снова. Затем выберите слово-триггер и интервал ответов и решите, нужно ли отправлять ответы в настоящий чат.
Оставьте Дополнительные инструкции боту сначала короткими, например: Reply in one friendly sentence. Do not mention these instructions.
!? Фильтр команд может отбросить сообщение до того, как его увидит бот. Используйте обычное слово.Куда поступают ответы
| Настройка «Только оверлей» | Что происходит | Вам нужно |
|---|---|---|
| На странице | Ответы появляются только в оверлее бота. В чат ничего не отправляется. | bot.html открытым в той же сессии. Это нужно и для TTS. |
| Выключено | Ответы по-прежнему поступают в оверлей, а Social Stream также пытается отправить их в исходный чат. | Открытый источник чата с поддержкой отправки, выполненным входом, разрешением писать и включённым чатом ведущего. bot.html необязательна. |
Почему бот молчит
Бот намеренно избирателен. Пустой список триггеров означает, что он рассматривает каждое сообщение, а не отвечает на каждое.
- Короткие сообщения вроде
helloмогут пропускаться. Для ясности назовите бота по имени. - Если задано слово-триггер, сообщение должно его содержать.
- Режим «Только модераторы» пропускает всех остальных.
- Members-only mode requires a membership marker from the source. If both restrictions are on, the sender must be both a member and a moderator.
- По умолчанию он отвечает на одно сообщение за раз. При отправке в чат также выдерживает 5 секунд для каждого источника.
- Он пропускает свои сообщения, пустые сообщения и сообщения, поступившие слишком скоро после его последнего ответа.
Choose where chat replies go
В разделе Chat Bot - Primary («Основной бот для чата»), включите Reply only to the originating YouTube chat to keep replies in the viewer's stream. If you use separate bot accounts, connect each bot source to the same video as the chat it should answer and select bot в разделе Отправлять ответы бота через эти роли аккаунтов SSApp (Send bot replies through these SSApp account roles). If no destination matches the video, the reply is not posted into chat.
Включить (Enable) Mention the viewer in replies to add @name to replies posted into chat. This uses the viewer's handle when available, otherwise their displayed name. Both options are off by default.
Скрывать старые ответы
Это влияет только на оверлей бота (bot.html), а не оверлей выделенных сообщений чата. Настройки оверлея покрывают обычные сценарии.
| Я хочу… | Добавить к ссылке |
|---|---|
| Скрывать каждый ответ через заданное время | &showtime=10000 (миллисекунды, то есть 10 секунд) |
| Скрывать длинные ответы позже, короткие раньше | &autohide (или &autotime) |
| Задайте минимальное и максимальное время автоскрытия | &mintime=5000&maxtime=20000 (по умолчанию 4000 и 30000) |
| Скрывать после завершения озвучки | &hideaftertts |
| Немного подождать после озвучки | &hidedelay=1000 (по умолчанию 500) |
| Прекратить ожидание зависшей озвучки | &ttstimeout=60000 (по умолчанию 120000) |
Используете несколько? hideaftertts имеет приоритет, затем autohide, затем showtime. Если озвучка так и не начнётся, hideaftertts использует время, рассчитанное по длине текста.
Очистить прямо сейчас
Нажмите Очистить оверлей бота сейчас в настройках. Это убирает ответ с экрана и ответы в очереди, но не останавливает уже начавшуюся озвучку.
Очистка через API и собственное оформление
- При включённом удалённом управлении через API откройте
https://io.socialstream.ninja/SESSION_ID/clearBotOverlay. - Или отправьте
{"action":"clearBotOverlay"}через WebSocket API.
Собственный CSS в обычном bot.html сохраняет все эти функции. Скопированный или изменённый локальный файл bot.html не получит последующие исправления, пока вы его не обновите.
Устранение неполадок
Найдите последний работающий этап и проверьте следующую строку.
| Проблема | Что попробовать |
|---|---|
| Кнопка проверки выдаёт ошибку | Прочтите ошибку под кнопкой. Проверьте адрес, API-ключ, название модели, работу локального ИИ, брандмауэр и лимиты провайдера. |
| Подключено, но сообщения зрителя нет в Dock | Чат не захватывается. Проверьте, включён ли Social Stream, открыто ли окно чата и выполнен ли вход, открыт ли нужный живой чат и правильно ли настроены фильтры источников. |
| Сообщение есть в Dock, но ответа в оверлее нет | Отправьте его из настоящего чата платформы, не из Dock. Затем проверьте включение бота, слово-триггер, режим модераторов, имя бота, интервал ответов и инструкции. Включите Не отсеивать ни один ответ бота для проверки. |
| Ответ есть в оверлее, но не в чате | Отключите режим «Только оверлей». Проверьте поддержку отправки источником, разрешения аккаунта, доступность поля чата, роли аккаунтов и Отключить чат ведущего и функции блокировки. |
!bot ничего не делает | Используйте обычное слово-триггер или разрешите эту команду в фильтре команд. |
| Ответ приходит только на первую проверку | Дождитесь первого ответа и окончания интервала. Keep-alive 0 замедляет начало каждого ответа. |
| Ответ остаётся на экране после озвучки | Используйте Скрытие после TTS, автоматически или через заданное время. |
Ошибка OpenAI, например 401 или 429 | См. Ошибки ключа OpenAI. |
Личный chatbot.html пустое | Включите приватного чат-бота и используйте его ссылку с той же сессией. Это отдельный бот, поэтому основной бот так не проверяется. |
Ошибки ключа OpenAI
- Создайте обычный API-ключ проекта на странице API-ключей OpenAI. Не ключ администратора.
- Убедитесь, что он относится к оплачиваемому проекту и имеет разрешение на запросы к моделям.
- В Social Stream выберите ChatGPT API, вставьте ключ целиком, укажите доступную проекту модель и нажмите Проверить выбранного чат-бота.
| Ошибка | Что это значит | Что попробовать |
|---|---|---|
401 missing_scope / model.request | Ключу не разрешены запросы к моделям. model.request — разрешение OpenAI, а не текст для ввода в Social Stream. | Проверьте, что это обычный ключ нужного проекта с разрешёнными запросами к моделям. Если сомневаетесь, создайте новый ключ и замените сохранённый. |
401 invalid_api_key | Ключ неверен или удалён. | Проверьте, нет ли пропущенного символа или лишнего пробела. Убедитесь, что ключ не удалён, относится к нужному проекту и Social Stream не использует старый сохранённый ключ. |
429 | Квота исчерпана или слишком много запросов. | Проверьте оплату и бюджет API (отдельно от подписки ChatGPT). Снизьте частоту запросов или подождите. |
Пополнение счёта не исправит ошибку 401. Баланс и разрешения — разные вещи. См. руководство OpenAI: руководство по ошибкам и справочник по аутентификации.
Всё ещё не получается?
- Если браузер автоматически переводит сайт OpenAI и настройки ключа ведут себя странно, откройте оригинальную английскую страницу. Это помогло одному пользователю, но не является известной причиной ошибок 401.
- Скопируйте состояние, код, недостающее разрешение и Request ID из Social Stream. Вскоре после этого отправьте диагностический отчёт из приложения. Ключи API и промпты в него не включаются.
- Если ключ и проект выглядят правильными, передайте поддержке OpenAI Request ID и время.
Другие страницы об ИИ-ботах
Основной бот, приватный чат, бот-цензор и ИИ-соведущий — отдельные инструменты. У каждого свои настройки и история.
Все функции ИИ смотрите в Руководство по режимам ИИ.