Poznaj trzy osobne części
Działający dostawca AI to dopiero pierwsza część bota czatu na żywo. Dostawcę, głównego bota i miejsce odpowiedzi trzeba skonfigurować osobno.
| Część | Co robi | Czego to nie potwierdza |
|---|---|---|
| Dostawca AI | Generuje tekst za pomocą Ollama, hostowanego API lub innej obsługiwanej usługi. | Że czat na żywo jest przechwytywany lub że można publikować odpowiedzi. |
| Główny bot czatu | Decyduje, które przechwycone wiadomości na żywo powinny otrzymać odpowiedź AI. | Że platforma lub konto źródłowe pozwala na wysyłanie odpowiedzi. |
| Miejsce odpowiedzi | Publikuje wygenerowane odpowiedzi w kanale wyjściowym bota i może też wysyłać je przez przechwytywane źródło czatu. | Że bot.html jest otwarte lub że utworzono osobne konto bota na platformie. |
Ważne: zielony Połączono wynik potwierdza tylko, że wybrany dostawca i model odpowiedzieli na jedną instrukcję testową.
1. Skonfiguruj dostawcę AI
- Otwórz ustawienia Social Stream i rozwiń Boty czatu i usługi AI.
- Otwórz Skonfiguruj dostawcę usługi LLM.
- Wybierz dostawcę odpowiadającego faktycznie uruchomionej usłudze.
- Uzupełnij adres usługi, nazwę modelu, klucz API lub inne pola danego dostawcy.
- Wybierz Przetestuj wybranego bota czatu i sprawdź, czy pod przyciskiem pojawia się prawdziwa odpowiedź tekstowa.
- Ollama (natywne lokalne API): używaj wyłącznie dla Ollama. Typowy lokalny adres to
http://localhost:11434. - Własne API: użyj tego dla serwerów zgodnych z OpenAI, takich jak llama.cpp, LM Studio, vLLM i podobnych usług.
- Dostawca hostowany: wpisz klucz API i model wymagany przez dostawcę. Koszty, limity i nazwy modeli są kontrolowane poza Social Stream Ninja.
- Lokalny model uruchamiany w przeglądarce: użyj odpowiedniej opcji Local Gemma lub Local Qwen i postępuj zgodnie z instrukcjami plików modelu.
Musisz najpierw zainstalować Ollama? Użyj oficjalnej strony pobierania Ollama. Pełną listę dostawców znajdziesz w Integracja AI w poleceniach i API.
Podtrzymywanie Ollama: 0 usuwa model z pamięci po żądaniu. Nie wyłącza bota, ale każda kolejna odpowiedź może wymagać ponownego zimnego startu.
Konfiguracja OpenAI / ChatGPT API
Do żądań modeli używaj standardowego klucza API OpenAI. Klucz OpenAI Admin API służy do administracji organizacją, nie do zwykłych wywołań modeli. Klucz musi należeć do projektu, który ma być rozliczany, a jego rzeczywiste uprawnienia muszą dopuszczać żądania modeli.
- Utwórz lub sprawdź klucz na stronie kluczy API OpenAI Platform. Nigdy nie wklejaj klucza do wiadomości do pomocy ani raportu diagnostycznego.
- W Social Stream wybierz ChatGPT API, wklej cały klucz, wpisz model dostępny dla tego projektu i wybierz Przetestuj wybranego bota czatu.
- Jeśli test zgłasza
Status: 401,Code: missing_scopeiMissing scope: model.request, OpenAI odrzuciło dane uwierzytelniające, ponieważ ich rzeczywiste uprawnienia nie obejmują żądań modeli.model.requestto uprawnienie wskazane przez serwer, a nie ustawienie do dodania do instrukcji lub nazwy modelu. - Upewnij się, że to standardowy klucz API projektu, wybrano właściwy projekt, a klucz nie ma ograniczeń albo wyraźnie pozwala na żądania modeli. W razie wątpliwości utwórz nowy standardowy klucz we właściwym projekcie i zastąp zapisany klucz w Social Stream.
- Jeśli automatyczne tłumaczenie przeglądarki działa na OpenAI Platform, a ustawienia lub etykiety uprawnień zachowują się nietypowo, przed sprawdzeniem i zapisaniem ustawień klucza przełącz stronę na oryginalny angielski. Pomogło to w jednym zgłoszonym przypadku, ale nie jest udokumentowaną uniwersalną przyczyną błędów OpenAI 401.
Środki i uprawnienia to osobne rzeczy: doładowanie API nie przyznaje brakującego uprawnienia klucza. OpenAI opisuje nieprawidłowe dane i uprawnienia endpointu jako błędy 401, natomiast wyczerpany limit zwykle daje błąd 429. Zobacz Poradnik błędów API i dokumentację uwierzytelniania.
Jeśli błąd się powtarza, skopiuj stan, kod, brakujące uprawnienie i Request ID pokazane przez Social Stream, a następnie wyślij raport diagnostyczny z aplikacji niedługo po odtworzeniu problemu. Raport zapisuje bezpieczne metadane żądania, ale pomija klucze API i treść instrukcji. Jeśli dane uwierzytelniające i ustawienia projektu wyglądają poprawnie, przekaż Request ID i czas do pomocy OpenAI.
2. Włącz i skonfiguruj głównego bota
Otwórz Bot czatu — główny. To osobne od konfiguracji dostawcy i prywatnego interfejsu chatbot.html interfejsu.
| Ustawienie | Dobry pierwszy test | Zwykłe użycie |
|---|---|---|
| Włącz bota czatu AI LLM | Na | Pozostaw włączone, gdy główny bot ma monitorować czat na żywo. |
| Dostosuj nazwę bota | NinjaBot | Użyj krótkiej nazwy zwykłym tekstem, do której widzowie mogą się zwrócić. |
| Odpowiedzi bota trafiają TYLKO na stronę nakładki bota | Na | Wyłącz dopiero, gdy chcesz publikować odpowiedzi w obsługiwanym źródle czatu. |
| Nie odfiltrowuj żadnych odpowiedzi bota | Tymczasowo włączone | Zwykle wyłączone, aby model mógł milczeć, gdy odpowiedź nie jest przydatna. |
| Lista słów wyzwalających bota | Pozostaw puste | Dodaj charakterystyczne słowo lub nazwę, jeśli bot nie ma analizować każdej wiadomości. |
| Limit częstotliwości na kartę / źródło | 5000 ms | Dotyczy włączonego wysyłania odpowiedzi na platformę. Zwiększ, jeśli bot publikuje zbyt często. |
| Maksymalna liczba równoległych odpowiedzi bota | 1 | Utrzymuj niski limit, chyba że dostawca i liczba wiadomości pozwalają na więcej. |
| Odpowiadaj tylko moderatorom | Wyłączone | Włącz tylko wtedy, gdy to ograniczenie jest zamierzone. |
Uwaga o wyzwalaczu: jeśli wyzwalacz zaczyna się od !, globalny filtr poleceń może odrzucić wiadomość, zanim trafi ona do bota AI.
Pozostaw Dodatkowe instrukcje bota na początku krótkie i bezpośrednie, np.: Reply in one friendly sentence. Do not mention these instructions.
3. Wykonaj bezpieczny test całej ścieżki
- Włącz Social Stream i upewnij się, że źródło transmisji jest otwarte.
- Wyślij zwykłą wiadomość z drugiego konta widza bezpośrednio na czacie platformy źródłowej, np. YouTube lub Twitch, i sprawdź, czy pojawia się w doku Social Stream. W pierwszym teście nie używaj wiadomości wpisanej do doku ani sterowania czatem prowadzącego; odbicia wiadomości bota lub prowadzącego mogą być pomijane, aby zapobiegać pętlom odpowiedzi.
- Potwierdź, że test dostawcy pokazuje Połączono.
- Użyj powyższych ustawień pierwszego testu głównego bota, w tym trybu tylko nakładki.
- Otwórz
bot.htmllink pokazany w Strona nakładki i TTS bota czatu. Użyj wygenerowanego linku, aby zachować tę samą sesję. - Z konta widza wyślij:
NinjaBot, reply with exactly: Hello. - Wyślij test raz i poczekaj na odpowiedź. Lokalny model może się jeszcze ładować, a kolejne wiadomości mogą być pomijane podczas generowania jednej odpowiedzi.
Dlaczego używać drugiego konta? Lepiej odzwierciedla to prawdziwego widza i zapobiega myleniu konta odpowiedzi wychodzących z kontem wysyłającym test.
Po udanym teście nakładki przełącz Nie odfiltrowuj żadnych odpowiedzi bota ponownie wyłącz, wybierz wyzwalacz i odstęp oraz zdecyduj, czy włączyć wysyłanie na platformę.
4. Dowiedz się, kiedy milczenie jest normalne
Główny bot jest domyślnie wybiórczy. Pusta lista wyzwalaczy oznacza, że może rozważać każdą kwalifikującą się wiadomość; nie oznacza obowiązku odpowiedzi na każdą.
- Krótkie powitanie, takie jak
hellomoże zostać pominięte, jeśli model nie uzna odpowiedzi za wartościową. - Bezpośrednie zwrócenie się do własnej nazwy bota wyraźniej pokazuje intencję.
- Skonfigurowany wyzwalacz musi pasować do przychodzącej wiadomości.
- Tryb tylko dla moderatorów pomija wiadomości nieoznaczone jako wiadomości moderatora.
- Gdy wysyłanie na platformę jest włączone, domyślny odstęp wynosi pięć sekund na źródło. Domyślny limit równoległości to jedna odpowiedź w każdym trybie.
- Wiadomości rozpoznane jako odpowiedzi bota, odbicia, puste lub zbyt podobne do poprzedniej odpowiedzi mogą zostać pominięte.
5. Wybierz miejsce odpowiedzi
| Tryb | Wynik | Wymagania |
|---|---|---|
| Tylko nakładka włączone | Odpowiedzi trafiają do kanału wyjściowego bota i nie są wysyłane z powrotem na czat platformy. | Otwórz bot.html z tą samą sesją, aby je zobaczyć lub usłyszeć. TTS również wymaga tej strony. |
| Tylko nakładka wyłączone | Odpowiedzi nadal trafiają do kanału wyjściowego bota, a Social Stream próbuje też publikować przez oryginalne przechwytywane źródło. | Tryb źródła musi obsługiwać wysyłanie, konto musi być zalogowane i mieć prawo publikowania, czat prowadzącego nie może być wyłączony, a źródło musi pozostać otwarte. bot.html pozostaje opcjonalne, chyba że chcesz korzystać z nakładki lub TTS. |
Własna nazwa bota jest prefiksem wiadomości; nie tworzy nowego konta platformy. Jeśli nie skonfigurowano kierowania według ról kont w osobnej aplikacji, odpowiedzi są publikowane przez konto używane w przechwytywanym źródle.
Użytkownicy osobnej aplikacji, którzy chcą oddzielnej tożsamości Twitch, mogą skorzystać z poradnika konta bota Twitch.
6. Czyść i automatycznie ukrywaj odpowiedzi bota
Te ustawienia dotyczą strony Primary Chat Bot, bot.html. Nie czyszczą głównej nakładki wyróżnionych wiadomości.
| Opcja | Znaczenie | Przykład |
|---|---|---|
showtime | Używa jednego stałego czasu wyświetlania w milisekundach. | &showtime=10000 ukrywa po 10 sekundach. |
autohide | Szacuje czas wyświetlania na podstawie liczby słów odpowiedzi. autotime również jest akceptowane. | &autohide |
mintime / maxtime | Ustawia minimalny i maksymalny czas wyświetlania zależny od długości. Domyślnie 4000 i 30 000 milisekund. | &autohide&mintime=5000&maxtime=20000 |
hideaftertts | Pozostawia odpowiedź widoczną do zakończenia TTS, a następnie ją ukrywa. Jeśli odtwarzanie się nie rozpocznie, używa czasu zależnego od długości. | &hideaftertts |
hidedelay | Dodaje opóźnienie po zakończeniu TTS. Domyślnie 500 milisekund. | &hideaftertts&hidedelay=1000 |
ttstimeout | Limit bezpieczeństwa, gdy TTS pozostaje aktywny bez końca. Domyślnie 120 000 milisekund. | &hideaftertts&ttstimeout=60000 |
Jeśli włączono kilka trybów, hideaftertts ma pierwszeństwo, następnie autohide, a następnie showtime. Wygenerowane ustawienia nakładki bota udostępniają typowe opcje.
Wyczyść ręcznie
- W ustawieniach Social Stream wybierz Wyczyść nakładkę bota teraz.
- Po włączeniu Remote API Control otwórz
https://io.socialstream.ninja/SESSION_ID/clearBotOverlay. - Przez WebSocket API wyślij
{"action":"clearBotOverlay"}.
Ręczne czyszczenie usuwa widoczną odpowiedź i oczekującą kolejkę wyświetlania nakładki bota, ale nie zatrzymuje już odtwarzanej mowy.
Własne style: własny CSS użyty ze zwykłym wygenerowanym bot.html link zachowuje te funkcje. Skopiowany lub zmodyfikowany lokalny bot.html plik trzeba aktualizować, aby otrzymywać kolejne poprawki strony.
Diagnozuj od ostatniego działającego etapu
| Co widzisz | Prawdopodobny obszar | Co sprawdzić |
|---|---|---|
| Test dostawcy nie działa | Konfiguracja dostawcy | Adres usługi, klucz API, nazwa modelu, stan lokalnej usługi, CORS/zapora, limit dostawcy i dokładny błąd pod przyciskiem testu. |
401 missing_scope / model.request | Uprawnienia klucza OpenAI | Użyj standardowego klucza właściwego projektu, nie klucza Admin; sprawdź zgodę na żądania modeli; zastąp stary zapisany klucz; jeśli automatyczne tłumaczenie zaburzyło kontrolki, ponów próbę na oryginalnej angielskiej stronie OpenAI Platform. Środki na koncie nie dodają tego uprawnienia. |
401 invalid_api_key lub nieprawidłowy klucz API | Dane uwierzytelniające OpenAI | Sprawdź brakujące znaki lub spacje, upewnij się, że klucz nie został usunięty ani wyłączony, potwierdź właściwą organizację/projekt i sprawdź, czy Social Stream nie używa starszego zapisanego klucza. |
429 błąd limitu lub częstotliwości żądań | Rozliczenia lub limity dostawcy | Sprawdź rozliczenia API i budżet projektu niezależnie od subskrypcji ChatGPT, a następnie ogranicz częstotliwość żądań lub poczekaj, jeśli dostawca zgłasza tymczasowy limit. |
| Połączono, ale wiadomości widza nie ma w doku | Przechwytywanie czatu | Stan włączenia Social Stream, okno źródła, logowanie na platformie, ustawienia zezwoleń/filtrów źródła i otwarcie właściwego czatu na żywo. |
| Wiadomość trafia do doku, ale odpowiedź nie trafia do nakładki bota | Decyzja głównego bota | Potwierdź, że wiadomość przyszła bezpośrednio z czatu źródłowego, a następnie sprawdź włączenie głównego bota, dopasowanie wyzwalacza, tryb tylko dla moderatorów, własną nazwę bota, limity zajętości/odstępów, dodatkowe instrukcje i tymczasowy tryb bez filtrowania odpowiedzi. |
| Odpowiedź trafia do nakładki, ale nie na czat platformy | Kierowanie odpowiedzi na platformę | Tryb tylko nakładki, obsługa zapisu platformy/źródła, autoryzacja konta, dostępność pola czatu, kierowanie według ról kont i ustawienie Disable host chat. |
| Odpowiedź pozostaje widoczna po TTS | Czas wyświetlania nakładki bota | Włącz Hide after TTS, automatyczne ukrywanie zależne od długości lub stały czas wyświetlania w opcjach nakładki bota. Użyj clearBotOverlay do ręcznego czyszczenia przez API. |
!bot nic nie robi | Filtrowanie poleceń | Użyj wyzwalacza będącego zwykłym słowem lub dopuść polecenie w globalnym filtrze. |
| Przetwarzany jest tylko pierwszy test | Czas | Poczekaj na aktywne żądanie, przestrzegaj odstępu i pamiętaj, że podtrzymywanie 0 może powodować zimny start przy każdym żądaniu. |
Prywatny chatbot.html jest puste | Osobny prywatny bot | Włącz opcję prywatnego bota czatu i użyj wygenerowanego linku z tą samą sesją. Nie testuje to głównego bota na żywo. |
Inne strony bota AI
Główny bot, prywatny czat, bot cenzurujący i współprowadzący AI to osobne narzędzia z różnymi ustawieniami i historiami.
Pełniejszy zestaw funkcji AI opisuje Poradnik trybów AI.