Pierwsze kroki
Czym jest AI Chat Widget?
AI Chat Widget to asystent czatu, który uruchamiasz na własnym serwerze i umieszczasz na dowolnej stronie jedną linijką kodu. Odpowiada na pytania odwiedzających za pomocą wybranego przez Ciebie dostawcy AI, na podstawie podanych przez Ciebie faktów, a gdy nie potrafi pomóc, zbiera zapytania kontaktowe.
Wszystko działa na Twoim hostingu: panel administracyjny, rozmowy, baza wiedzy i klucze AI. Nic nie jest wysyłane do nas. Jedyny ruch na zewnątrz odbywa się między Twoim serwerem a wybraną usługą AI oraz między przeglądarką odwiedzającego a Twoim serwerem.
Co możesz z nim zrobić
- Podłącz dowolnego dostawcę AI: OpenAI, Anthropic, Google Gemini, Mistral, Groq, Perplexity, OpenRouter, xAI, Together AI, Azure OpenAI, Cohere, LM Studio, Ollama lub dowolną usługę, którą opiszesz sam w kilku polach.
- Utwórz kilka botów, każdy z własnym tematem, wyglądem, tekstami, zasadami i listą stron.
- Naucz bota z bazy wiedzy: wklejonego tekstu, list pytań i odpowiedzi, plików TXT, Markdown, CSV, HTML, PDF i Word, stron internetowych oraz całych map witryn.
- Pozwól odwiedzającym zostawić dane kontaktowe, gdy bot nie umie odpowiedzieć, i otrzymuj e-mail o każdym zapytaniu.
- Czytaj i eksportuj rozmowy, oceniaj odpowiedzi i obserwuj statystyki, żeby zobaczyć, o co naprawdę pytają odwiedzający.
- Zabezpiecz wszystko weryfikacją dwuetapową, pełnym dziennikiem audytu, listami dozwolonych stron, limitami zapytań i dziennymi budżetami tokenów.
- Pracuj w sześciu językach: angielskim, polskim, niemieckim, francuskim, włoskim i hiszpańskim, zarówno w panelu, jak i w widgecie.

Jak to działa
Cztery elementy, które konfigurujesz w tej kolejności: dostawca, bot, kod osadzenia, a potem to, co naprawdę mówią odwiedzający.
- 1Dostawca AI. Zapisane połączenie z usługą AI: jej adres, sposób logowania (Twój klucz API) i sposób odczytu odpowiedzi. Wbudowane profile obejmują popularne usługi, a możesz dodać własne.
- 2Bot. Jeden asystent czatu. Ma dostawcę i model, opis zadania (temat, zakres, ton), wygląd, teksty i zasady. Możesz uruchomić tyle botów, na ile pozwala Twoja licencja, dla różnych stron lub celów.
- 3Kod osadzenia. Jedna linijka
<script>, która umieszcza czat na stronie (lub mała wtyczka WordPress, która robi to za Ciebie). - 4Rozmowy. Każda wiadomość odwiedzającego trafia najpierw na Twój serwer. Serwer sprawdza zasady, buduje instrukcje dla AI, pyta dostawcę i odsyła odpowiedź. Klucz AI nigdy nie trafia do przeglądarki odwiedzającego.
Co się dzieje, gdy odwiedzający wyśle wiadomość
- 1Widget wysyła wiadomość do
api.phpna Twoim serwerze. - 2Serwer sprawdza, czy strona jest na liście dozwolonych stron bota, stosuje limit zapytań, zablokowane słowa i dzienny budżet tokenów.
- 3Wyszukuje pasujące fragmenty w bazie wiedzy (jeśli bot z niej korzysta) i buduje instrukcje: temat, zakres, ton, informacje o firmie, fragmenty oraz zawsze włączone zasady bezpieczeństwa.
- 4Pyta dostawcę AI (a jeśli pierwszy zawiedzie, dostawcę zapasowego).
- 5Zapisuje rozmowę zgodnie z trybem zapisu bota i zwraca odpowiedź, wraz z linkami do źródeł, jeśli model je poda.
Wymagania systemowe
| Wymaganie | Szczegóły |
|---|---|
| PHP | 8.1 lub nowszy |
| Wymagane rozszerzenia PHP | pdo_mysql, openssl, mbstring |
| Zdecydowanie zalecane | curl (połączenia z dostawcami AI i import stron), sodium (weryfikacja licencji), dom i libxml (odczyt stron i plików Word), zlib i iconv (pliki PDF) |
| Opcjonalne | zip (wtyczka WordPress jako plik .zip; pliki Word są czytane wbudowanym czytnikiem bez niego) |
| Baza danych | MySQL 5.7+ lub MariaDB 10.3+ (baza wiedzy korzysta z indeksu pełnotekstowego InnoDB) |
| Serwer WWW | Apache 2.4 (reguły dostępu są dostarczane jako .htaccess) lub Nginx (równoważne reguły znajdziesz w rozdziale Konserwacja) |
| Przeglądarka do panelu | Dowolna aktualna Chrome, Edge, Firefox lub Safari |
| Połączenia wychodzące | HTTPS do Twoich dostawców AI; SMTP do serwera poczty, jeśli używasz funkcji e-mail |
Instalacja
Instalacja trwa kilka minut i działa na zwykłym hostingu współdzielonym, VPS-ie lub serwerze dedykowanym. Na serwerze nie potrzebujesz Composera ani wiersza poleceń.
- 1Skopiuj pliki. Wgraj cały folder
ai-chat-widgetdo katalogu głównego serwera WWW lub do dowolnego podfolderu. Adres jest wykrywany automatycznie, więc nazwa folderu nie ma znaczenia. - 2Utwórz pustą bazę danych MySQL w panelu swojego hostingu (np. cPanel lub DirectAdmin: „Bazy danych MySQL") razem z użytkownikiem bazy, który ma do niej pełne uprawnienia. Zapisz host (najczęściej
localhost), nazwę bazy, użytkownika i hasło; podasz je w instalatorze. - 3Otwórz instalator. Przejdź pod adres
https://your-site/ai-chat-widget/install/i wybierz język instalatora (angielski, polski, niemiecki, francuski, włoski lub hiszpański). - 4Wypełnij formularz. Host bazy danych, nazwa, użytkownik i hasło, prefiks tabel (domyślny
acw_jest w porządku) oraz Twój pierwszy administrator: imię, e-mail i hasło co najmniej 12-znakowe. - 5Zakończ. Instalator tworzy tabele, zapisuje
config/config.phporaz plik blokady i pokazuje link do strony logowania. - 6**Usuń folder
install/** z serwera, gdy instalator o to poprosi.

config/config.php.** Zawiera klucz aplikacji, który szyfruje Twoje klucze AI, hasło SMTP i sekrety weryfikacji dwuetapowej. Mając kopię bazy danych, ale bez tego pliku, nie odczytasz już tych wartości. Przechowuj kopię w bezpiecznym miejscu, poza katalogiem głównym serwera WWW.Aktualizacja
Wgraj nowe pliki na stare (zachowaj config/ i storage/), zaloguj się i otwórz Informacje o systemie. Jeśli baza danych wymaga zmian, strona je wyświetli; kliknij raz Zastosuj aktualizacje. Pełną procedurę znajdziesz w rozdziale "Konserwacja".
Pierwsze logowanie i pulpit
Zaloguj się e-mailem i hasłem ustawionym podczas instalacji. Panel zapamiętuje Twój język i działa tak samo na telefonie.
Menu po lewej jest pogrupowane według zadań:
| Grupa | Pozycje |
|---|---|
| Pulpit | Przegląd i szybkie kontrole |
| Konfiguracja | Boty, Dostawcy AI, Baza wiedzy |
| Rozmowy | Rozmowy, Zapytania kontaktowe, Statystyki |
| Administracja | Użytkownicy, Ustawienia, Dziennik audytu, Informacje o systemie, O programie |
Pulpit pokazuje plan licencji, informację, czy weryfikacja dwuetapowa jest włączona, liczbę użytkowników i botów oraz ostrzeżenia: oczekujące aktualizacje bazy danych, brakujące rozszerzenie PHP lub komunikaty "2FA required". Górny pasek zawiera menu profilu (profil, weryfikacja dwuetapowa, wylogowanie); strzałka na dole menu zwija je do ikon.
Małe ikony "?"
Każde pole formularza ma ikonę "?", która otwiera krótkie wyjaśnienie. Możesz je wyłączyć dla wszystkich w Ustawienia > Ogólne albo tylko dla siebie w Mój profil.
Szybki start: pierwszy bot w 8 krokach
Od pustej instalacji do czatu na Twojej stronie, krok po kroku.
- 1Dodaj dostawcę AI. Przejdź do Dostawcy AI, otwórz gotowy profil (na przykład OpenAI) i wklej swój klucz API. Link "Zdobądź klucz API" pod polem otwiera stronę dostawcy, na której klucz się tworzy.
- 2Przetestuj połączenie. W tym samym edytorze kliknij Pobierz modele, a potem użyj konsoli testowej: wybierz model, wyślij wiadomość i sprawdź, czy przychodzi odpowiedź. Popraw klucz tutaj, zanim zaczniesz budować bota.
- 3Utwórz bota. Przejdź do Boty > Dodaj bota. Nadaj nazwę, wybierz dostawcę i model, a na karcie Temat i prompt opisz, o czym bot ma rozmawiać: Twoja firma, ton, na co nie wolno mu odpowiadać.
- 4Ustaw wygląd i teksty. Karty Wygląd, Zachowanie, Teksty i Branding: kolory, pozycja, powitanie i sugerowane pytania. Karta Czat testowy i "Podgląd końcowego promptu" pozwalają rozmawiać z botem prosto w panelu.
- 5Zezwól swojej stronie. Na karcie Bezpieczeństwo dodaj swoją stronę do Dozwolone strony (na przykład
example.comlub*.example.com). Czat ładuje się tylko na stronach z listy. - 6Osadź czat. Otwórz kartę Osadzanie, skopiuj jednoliniowy skrypt i wklej go przed
</body>na swoich stronach. W WordPress pobierz zamiast tego małą wtyczkę z tej samej karty. - 7Opcjonalnie: dodaj wiedzę i zapytania kontaktowe. Dodaj dokumenty w Baza wiedzy albo włącz Zapytania kontaktowe w ustawieniach bota (najpierw skonfiguruj Ustawienia > E-mail).
- 8Obserwuj i dopracowuj. Porozmawiaj z botem na swojej stronie. Później przeglądaj Rozmowy i Statystyki, zdecyduj, co jest zapisywane (karta Prywatność) i popraw prompt tam, gdzie odpowiedzi nie były pomocne.
Instrukcja obsługi
Dostawcy AI
Profil dostawcy mówi aplikacji, jak rozmawiać z jedną usługą AI. Profile to dane, nie kod, więc nową lub nietypową usługę możesz dodać bez czekania na aktualizację.

Wbudowane profile
OpenAI, Anthropic (Claude), Google Gemini, Mistral, Groq, Perplexity, OpenRouter, xAI (Grok), Together AI, Azure OpenAI, Cohere, LM Studio i Ollama (oba lokalne) oraz ogólny profil OpenAI-compatible, który możesz skierować na dowolny zgodny serwer. Każdy jest gotowy do użycia: otwórz go, wklej klucz, zapisz.
Dodawanie klucza
Otwórz dostawcę i wypełnij Klucz API. Klucz jest zapisywany w postaci zaszyfrowanej i nigdy nie jest pokazywany ponownie (tylko ostatnie cztery znaki). Zielony komunikat potwierdza zapisanie klucza; przy kolejnych edycjach zostaw pole puste, aby go zachować. Link Zdobądź klucz API obok pola prowadzi na stronę, na której dostawca wydaje klucze.

Konsola testowa
Pod formularzem konsola wysyła prawdziwą wiadomość z profilem w takiej postaci, w jakiej jest aktualnie edytowany, zapisanym lub nie. Pokazuje odpowiedź, czas, liczby tokenów, a gdy coś zawiedzie, dokładne zapytanie i odpowiedź (z zamaskowanym kluczem). Używaj jej za każdym razem, gdy zmieniasz profil.
Edycja profilu
{{model}} (Google Gemini umieszcza model w adresie).{{model}}, {{messages}}, {{system}}, {{prompt}}, {{max_tokens}}, {{temperature}} i {{top_p}} są uzupełniane przy każdym wywołaniu. Puste wartości opcjonalne mogą być pomijane automatycznie.choices.0.message.content. * zbiera każdy element listy.id | etykieta). Pobierz modele wczytuje ją na żywo od dostawcy.Dodawanie usługi, której nie ma na liście
Zduplikuj profil OpenAI-compatible (wiele usług używa tego protokołu) albo zacznij od podobnego profilu i zmień adres, nagłówki i ścieżki. Konsola testowa podpowie, co poprawić. Profile można eksportować i importować jako pliki JSON, więc możesz udostępnić działający profil.
Wbudowane zabezpieczenia
Każde wywołanie przechodzi przez kontrolę adresu, która blokuje sieci prywatne, adresy link-local i adresy metadanych chmury (chyba że dla danego profilu zezwolisz na sieci prywatne), odrzuca przekierowania, ogranicza rozmiar odpowiedzi i czas oraz nigdy nie zapisuje Twojego klucza w logach ani komunikatach o błędach.
Boty
Bot to jeden asystent czatu. Jego edytor ma karty, a każde pole ma ikonę pomocy "?". Zapisz raz na końcu; niezapisane zmiany są oznaczane, jeśli opuścisz stronę.


Ogólne
Temat i prompt
Wypełniasz formularz zamiast pisać prompt. Aplikacja składa sprawdzony zestaw instrukcji wokół Twoich tekstów i zawsze dołącza zasady bezpieczeństwa, których nie da się usunąć.
{{site_name}}, {{current_date}} i {{page_title}}.Podgląd końcowego promptu pokazuje dokładnie to, co otrzyma model, łącznie z zasadami bezpieczeństwa.
Model
Wygląd
Kolor główny (kolor tekstu dopasowuje się automatycznie), motyw jasny, ciemny lub automatyczny, pozycja (lewa lub prawa), odstępy od krawędzi, rozmiar okna, zaokrąglenie rogów, ikona i etykieta przycisku, obrazek awatara oraz, dla zaawansowanych, własny CSS stosowany tylko wewnątrz okna czatu (licencje płatne).
Zachowanie
Zapytania kontaktowe
Zobacz rozdział "Zapytania kontaktowe".
Gdzie i kiedy
Pokazuj czat na każdej stronie, tylko na stronach pasujących do wzorców albo wszędzie poza nimi (wzorce używają *); na wszystkich urządzeniach, tylko na komputerach lub tylko na telefonach; tylko w godzinach działania, z komunikatem lub bez niczego poza nimi. Licencje płatne.
Teksty
Dla każdego języka: tytuł okna, powitanie, podpowiedź w polu wiadomości, sugerowane pytania (do pięciu przycisków), informacja o AI, komunikaty błędu i "poza godzinami", etykieta przycisku wysyłania oraz wstęp i podziękowanie formularza kontaktowego. Puste pola używają wbudowanych tłumaczeń, więc widget mówi językiem odwiedzającego, nawet jeśli nic nie wpiszesz.
Bezpieczeństwo
example.com lub *.example.com). Zapytania z każdej innej strony są odrzucane, co powstrzymuje innych przed używaniem Twojego bota i Twojego kredytu AI.Prywatność
Branding
Mała linijka "Powered by" na dole czatu. W licencji Free jest zawsze włączona; Single i Agency mogą ją ukryć; Agency może zmienić jej tekst i link (white label).
Osadzanie i Czat testowy
Karta Osadzanie zawiera skrypt, wtyczkę WordPress i gotową stronę testową. Czat testowy pozwala rozmawiać z botem w panelu bez zapisywania czegokolwiek.
Umieszczanie czatu na stronie
Jedna linijka kodu albo jedna mała wtyczka. Widget rysuje się wewnątrz Shadow DOM, więc style Twojej strony nie mogą go zepsuć, a on nie może zepsuć Twojej strony.
Dowolna strona
Otwórz bota, kartę Osadzanie, skopiuj skrypt i wklej go tuż przed zamykającym znacznikiem </body> na każdej stronie, na której czat ma się pojawić:
<script src="https://your-site/ai-chat-widget/assets/widget/loader.js"
data-bot="YOUR-BOT-ID" async></script>Następnie dodaj swoją stronę w Bezpieczeństwo > Dozwolone strony, w przeciwnym razie czat się tam nie załaduje.
WordPress
Karta Osadzanie oferuje małą wtyczkę (plik .zip lub pojedynczy plik .php, jeśli serwer nie ma rozszerzenia zip). Wgraj ją w Wtyczki > Dodaj nową > Wyślij wtyczkę na serwer, aktywuj, a czat pojawi się na każdej stronie. Wtyczka dodaje tylko linijkę skryptu z identyfikatorem Twojego bota; czat, klucze AI i rozmowy zostają na Twojej instalacji.
Opcjonalne atrybuty skryptu
| Atrybut | Znaczenie |
|---|---|
data-context-title | Tytuł strony wysyłany do bota (w przeciwnym razie tytuł dokumentu). |
data-context-url | Adres strony wysyłany do bota (w przeciwnym razie bieżący adres). |
data-lang | Wymuś język widgetu (w przeciwnym razie język strony lub przeglądarki odwiedzającego). |
data-api | Adres api.php, jeśli Twoja instalacja jest pod inną ścieżką. |
Sterowanie czatem ze swojej strony
AIChatWidget.open(); // open the window
AIChatWidget.close(); // close it
AIChatWidget.toggle(); // open or close
AIChatWidget.setContext({ title: 'Red city bike', url: location.href });Użyj tego, aby otworzyć czat własnym przyciskiem albo powiedzieć botowi, jaki produkt ogląda odwiedzający.
Co widzą odwiedzający
Okrągły przycisk w rogu; okno z nagłówkiem (tytuł, przycisk kontaktu, gdy jest włączony, restart, zamknięcie), rozmowa z formatowaniem Markdown, przyciski sugerowanych pytań, kciuki, linki do źródeł, informacja o AI i pole wpisywania. Na telefonach okno wypełnia ekran. Rozmowa przetrwa przeładowanie strony w ramach sesji przeglądarki.

Baza wiedzy
Baza wiedzy zawiera fakty, z których odpowiadają Twoje boty: ceny, zasady, FAQ, szczegóły produktów. Gdy odwiedzający o coś pyta, bot wyszukuje najlepiej pasujące fragmenty i odpowiada na ich podstawie, zamiast zgadywać.

Sposoby dodawania treści
# lub napisana wielkimi literami jest traktowana jako nagłówek, który zostaje z tekstem pod nim.Q: ... i A: ... (także Pytanie/Odpowiedź, Frage/Antwort, Question/Réponse, Domanda/Risposta, Pregunta/Respuesta). Każda para zostaje w całości, co daje najlepsze wyniki.
Który bot używa dokumentu
Każdy dokument należy do jednego bota albo do wszystkich botów. Użyj "wszystkich botów" dla faktów dotyczących całej firmy, takich jak wysyłka i zwroty. Dokument można wyłączyć bez usuwania. Zaimportowane strony można wczytać ponownie jednym kliknięciem, aby je odświeżyć.
Jak bot z niej korzysta
Na karcie bota Temat i prompt wybierz tryb:
- Używaj jej, a w razie braku korzystaj z wiedzy ogólnej (domyślnie). Pasujące fragmenty są dodawane do instrukcji. Bot może nadal korzystać z wiedzy ogólnej tam, gdzie fragmenty niczego nie mówią.
- Odpowiadaj tylko z bazy wiedzy. Gdy nic nie pasuje, AI w ogóle nie jest pytane: bot odpowiada tekstem "gdy nie potrafi odpowiedzieć", co nie kosztuje tokenów, zapobiega zmyślonym odpowiedziom i oznacza pytanie jako bez odpowiedzi.
- Nie używaj.
Bardzo krótkie pytanie uzupełniające, takie jak "a gwarancja?", jest wyszukiwane razem z poprzednim pytaniem. Dokumenty pochodzące z adresu internetowego dodają pod odpowiedzią link do źródła.
Wyszukiwanie
Wyszukiwanie nie wymaga zewnętrznej usługi. Tekst jest dzielony na fragmenty; słowa są sprowadzane do rdzeni (akcenty i końcówki nie mają znaczenia), indeks pełnotekstowy bazy danych wybiera kandydatów, a ranking trafności (BM25) wybiera najlepsze. Działa we wszystkich sześciu językach panelu. Pytanie w innym języku niż dokument nie zostanie dopasowane: pisz dokumenty w języku, którego używają Twoi odwiedzający.
Wypróbuj wyszukiwanie
Pole Wypróbuj wyszukiwanie na stronie Baza wiedzy pokazuje, jakie fragmenty otrzymałby bot dla danego pytania, wraz z oceną trafności. Użyj go po dodaniu dokumentów.
Domykanie pętli
W Statystyki przy każdym pytaniu bez odpowiedzi jest link Dodaj odpowiedź do bazy wiedzy. Otwiera on formularz pytania i odpowiedzi z już uzupełnionym pytaniem i botem. Wpisz odpowiedź i zapisz: następnym razem bot będzie ją znał.
Limity
| Plan | Dokumenty | Łączny rozmiar |
|---|---|---|
| Free | 5 | 100 KB |
| Single | 100 | 2 MB |
| Agency | Bez limitu | Bez limitu |
Zapytania kontaktowe
Gdy bot nie może pomóc, odwiedzający może zostawić swoje dane zamiast opuszczać stronę. Dostajesz e-mail o każdym zapytaniu oraz listę w panelu.

Włączanie
- 1Skonfiguruj pocztę wychodzącą w Ustawienia > E-mail i wyślij wiadomość testową.
- 2Otwórz bota, kartę Zapytania kontaktowe, zaznacz Zbieraj zapytania kontaktowe.
- 3Wybierz, kiedy formularz jest oferowany: przycisk w nagłówku czatu i/lub zaraz po odpowiedzi, której bot nie potrafił udzielić.
- 4Wybierz, które pola się pojawią (imię, telefon, wiadomość: ukryte, opcjonalne lub wymagane; adres e-mail jest zawsze wymagany), czy pytać o zgodę i kto otrzymuje powiadomienia.
Obsługa zapytań

Strona Zapytania kontaktowe wyświetla każde zapytanie z filtrami (wyszukiwanie, bot, status). Otwórz zapytanie, aby zobaczyć wiadomość, stronę, na której był odwiedzający, i rozmowę, z której pochodzi. Oznaczaj zapytania jako obsłużone, usuwaj je pojedynczo lub zbiorczo i eksportuj do CSV (licencje płatne). Aktywne filtry są wyróżnione i policzone obok "Wyczyść filtry".
Ochrona
Formularz działa także poza godzinami działania. Ma ukryte pole-pułapkę na boty, limit sześciu zapytań na odwiedzającego i trzech na adres e-mail w ciągu godziny oraz sprawdza każde pole po stronie serwera.
Rozmowy
Czytaj, o co pytali odwiedzający, oznaczaj to, co ważne, i utrzymuj porządek w bazie danych bez żadnego zadania cron.

Lista
Filtruj według bota, zakresu dat, szukanego tekstu i widoku: wszystkie, przypięte, bez odpowiedzi, ocenione jako niepomocne lub z błędami. Każdy wiersz pokazuje sygnały: oceny (kciuk), „bez odp." i błędy dostawcy. Otwórz rozmowę, aby przeczytać całą wymianę wraz z tokenami, czasem odpowiedzi i flagami.

Działania
Przypinaj rozmowy, które chcesz zachować, usuwaj jedną lub wiele albo usuń wszystkie rozmowy jednego bota. Eksport (CSV lub JSON, licencje płatne) uwzględnia Twoje filtry; komórki CSV, które mogłyby zostać uruchomione jako formuły arkusza, są neutralizowane.
Tryby zapisu
To, co jest przechowywane, zależy od ustawienia Zapis rozmów każdego bota: pełne teksty, tylko metadane (liczby, czasy, oceny) albo nic. Przy „Same metadane" lub „Wyłączony" historię na czas sesji przechowuje przeglądarka odwiedzającego.
Automatyczne czyszczenie
Stare rozmowy są usuwane według reguł: wieku, liczby i rozmiaru, osobno dla każdego bota (własne reguły lub domyślne) oraz dla całej bazy (łączna liczba i łączny rozmiar). Przypięte rozmowy nigdy nie są usuwane automatycznie. Nie ma zadania cron: czyszczenie uruchamia się samo podczas korzystania z aplikacji, najwyżej raz na minutę. Wyczyść teraz najpierw pokazuje podgląd (ile rozmów, ile kilobajtów i dlaczego) i prosi o potwierdzenie.
Statystyki
Liczniki są przechowywane jako anonimowe sumy dzienne, więc statystyki działają nawet dla botów, które nie zapisują rozmów.

Kafelki pokazują odpowiedzi, tokeny, błędy, pytania bez odpowiedzi, zablokowane wiadomości i oceny. Trzy wykresy pokazują odpowiedzi, tokeny i problemy w podziale na dni. Tabela porównuje Twoje boty. Z licencją płatną dwie listy pokazują najnowsze pytania, na które bot nie potrafił odpowiedzieć (każde z linkiem do dodania odpowiedzi do bazy wiedzy) oraz odpowiedzi ocenione jako niepomocne: to najszybszy sposób na ulepszenie bota.
Ustawienia
Opcje całej aplikacji, w zakładkach.
Strumieniowanie odpowiedzi
Przy włączonym strumieniowaniu odwiedzający widzą, jak odpowiedź pojawia się słowo po słowie. Wymaga to serwera, który nie wstrzymuje odpowiedzi, dlatego najpierw kliknij Testuj strumieniowanie: test wysyła sześć fragmentów co pół sekundy i pokazuje, czy docierają jeden po drugim. Jeśli test pokaże, że wszystko dotarło naraz, zostaw strumieniowanie wyłączone. Dostawcy, którzy nie obsługują strumieniowania, po prostu przesyłają całą odpowiedź naraz.
E-mail i powiadomienia
Poczta wychodząca służy do resetu hasła, kodów logowania i powiadomień o nowych zapytaniach kontaktowych. Jest opcjonalna; wszystko inne działa bez niej.

Konfiguracja
smtp.example.com, port 587 ze STARTTLS lub 465 z SSL/TLS.Kliknij Zapisz i wyślij e-mail testowy. Jeśli wiadomość dotrze, wszystko działa.
Teksty e-maili

W Ustawienia > Teksty e-maili wybierz e-mail (link do resetu hasła, powiadomienie o zmianie hasła, kod logowania, nowe zapytanie kontaktowe, potwierdzenie dla odwiedzającego, testowy) i język, a następnie edytuj temat i treść. {placeholders}, takie jak {name}, {link} czy {code}, są uzupełniane w chwili wysyłania e-maila. Przywróć tekst wbudowany wraca do ustawień domyślnych. E-maile do osób są pisane w języku wybranym w ich profilu.
Konta, logowanie dwuetapowe i dziennik audytu
Każdy użytkownik jest administratorem; nie ma ról do skonfigurowania. Dostępu strzegą hasła, opcjonalne logowanie dwuetapowe i pełny ślad audytu.
Użytkownicy
W Użytkownicy dodawaj lub usuwaj administratorów (ich liczba zależy od licencji), zresetuj kolegom weryfikację dwuetapową, jeśli zgubili urządzenie, i sprawdzaj, kto i kiedy się logował.
Logowanie dwuetapowe

Otwórz Mój profil > Weryfikacja dwuetapowa i wybierz jeden:
- Aplikacja uwierzytelniająca. Zeskanuj lub wpisz klucz w aplikacji, takiej jak Google Authenticator, Microsoft Authenticator lub Aegis, a następnie wpisz 6-cyfrowy kod, aby potwierdzić.
- Kod e-mailem. 6-cyfrowy kod jest wysyłany e-mailem przy każdym logowaniu (ważny dziesięć minut, pięć prób). Wymaga działającej poczty wychodzącej. Potwierdzasz, wpisując kod wysłany na Twój adres.
W obu przypadkach jednorazowo otrzymasz kody odzyskiwania. Przechowuj je w bezpiecznym miejscu: każdy działa tylko raz, gdy nie możesz użyć zwykłego drugiego kroku. Ustawienia > Ogólne > Wymagaj weryfikacji dwuetapowej od wszystkich użytkowników czyni ją obowiązkową dla wszystkich.
Nie pamiętasz hasła
Gdy poczta wychodząca jest skonfigurowana, strona logowania pokazuje Nie pamiętasz hasła?. Na e-mail wysyłany jest jednorazowy link ważny 60 minut; ta sama odpowiedź jest pokazywana niezależnie od tego, czy adres istnieje. Ustawienie nowego hasła zdejmuje blokadę konta i wysyła powiadomienie. Bez poczty inny administrator ustawia dla Ciebie nowe hasło w Użytkownicy.
Blokady i limity
Pięć błędnych haseł blokuje konto na 15 minut; zbyt wiele nieudanych prób z jednego adresu jest ograniczanych. Sesje wygasają po czasie ustawionym w Ustawieniach.
Dziennik audytu

Każde ważne działanie jest zapisywane: logowania i niepowodzenia, zmiany ustawień, zmiany kluczy i licencji, zmiany użytkowników, eksporty, usunięcia. Dziennik nigdy nie przechowuje haseł, kluczy ani treści wiadomości. Stare wpisy są usuwane po liczbie dni ustawionej w Ustawieniach.
Informacje o systemie, aktualizacje i dane demo
Szczegóły techniczne i narzędzia na jedno kliknięcie.

Informacje o systemie pokazują wersje aplikacji i PHP, bazę danych, które rozszerzenia PHP są załadowane, uprawnienia plików oraz listę aktualizacji bazy danych (migracji). Gdy nowa wersja wprowadza zmiany w bazie danych, pulpit pokazuje komunikat; otwórz Informacje o systemie i kliknij Zastosuj aktualizacje. Aktualizacje są numerowane, uruchamiane jednorazowo i można je bezpiecznie powtórzyć.
Dane demo
Ustawienia > Dane demo wczytuje cztery przykładowe boty (sklep rowerowy, FAQ kancelarii prawnej, asystent sprzedaży SaaS, rekrutacja) z około stu rozmowami rozłożonymi na sześć miesięcy, w tym przypiętymi i ocenionymi, pytania bez odpowiedzi, zapytania kontaktowe i dokumenty bazy wiedzy. Automatyczne czyszczenie jest wstrzymane na czas ich wczytania (inaczej celowo stare rozmowy by zniknęły). Usuń dane demo usuwa dokładnie boty demo i ich dane oraz przywraca Twoje poprzednie ustawienie czyszczenia.
Licencje
Aplikacja jest bezpłatna do własnego użytku. Licencje płatne są przeznaczone do użytku komercyjnego i znoszą limity.
| Free | Single | Agency | |
|---|---|---|---|
| Zastosowanie | Własny użytek | Komercyjne, jedna domena instalacji | Komercyjne, wiele domen |
| Boty | 2 | 10 | Bez limitu |
| Dozwolone strony (wszystkie boty) | 2 | 10 | Bez limitu |
| Administratorzy | 1 | 5 | Bez limitu |
| Baza wiedzy | 5 dokumentów, 100 KB | 100 dokumentów, 2 MB | Bez limitu |
| Informacja „Powered by" | Zawsze widoczna | Można ukryć | Można ukryć i zastąpić (white label) |
| Dostawca zapasowy | - | Tak | Tak |
| Targetowanie, godziny otwarcia, automatyczne otwieranie, własny CSS | - | Tak | Tak |
| Listy w statystykach (bez odpowiedzi, niepomocne) | Tylko liczby | Tak | Tak |
| Eksport rozmów i zapytań kontaktowych | - | Tak | Tak |
| E-mail z potwierdzeniem dla odwiedzającego | - | Tak | Tak |
Aktywacja klucza
Przejdź do Ustawienia > Licencja, wklej klucz i zapisz. Klucz jest weryfikowany na Twoim serwerze za pomocą wbudowanego klucza publicznego i jest przypisany do Twojej domeny: żadne dane nie są nigdzie wysyłane. Jeśli klucz nie pasuje do domeny lub wygasł, aplikacja pozostaje w wersji Free; działające widgety nigdy nie są wyłączane, ograniczone jest tylko tworzenie nowych elementów.
Funkcje w skrócie
Wiele botów
Różne tematy, wygląd, teksty, reguły i listy stron, każdy z własnym dostawcą i modelem.
Dowolny dostawca AI
Czternaście gotowych profili plus Twoje własne, konfigurowane danymi, testowane na żywo, z dostawcą zapasowym.
Baza wiedzy
Tekst, Q&A, TXT, MD, CSV, HTML, PDF, DOCX, strony www i mapy witryn, przeszukiwane bez dodatkowych usług.
Zapytania kontaktowe
Formularz w czacie, powiadomienia e-mail, lista z eksportem i automatycznym usuwaniem.
Rozmowy
Wyszukiwanie, filtry, przypinanie, oceny, eksport i czyszczenie według wieku, liczby i rozmiaru.
Statystyki
Sumy dzienne, wykresy, pytania bez odpowiedzi i niepomocne odpowiedzi, z poprawkami jednym kliknięciem.
Strumieniowanie
Opcjonalne odpowiedzi słowo po słowie z wbudowanym testem Twojego serwera.
Sześć języków
Angielski, polski, niemiecki, francuski, włoski i hiszpański, w panelu i w widgecie.
Bezpieczeństwo od podstaw
Logowanie dwuetapowe, ochrona CSRF, szyfrowane klucze, dziennik audytu, listy dozwolonych stron, limity i budżety.
Reset hasła, kody logowania e-mailem i powiadomienia z edytowalnymi tekstami w każdym języku.
WordPress i dowolna strona
Jedna linijka skryptu lub mała wtyczka, z widgetem w Shadow DOM, który nigdy nie koliduje z Twoimi stylami.
Opcje prywatności
Pełny zapis, tylko metadane lub brak zapisu, skracane adresy IP, informacja o AI, pole zgody, reguły przechowywania.
Dla zaawansowanych
Dla programistów: API widgetu
Widget komunikuje się z api.php na Twoim serwerze. Nie ma ciasteczek ani sesji: odwiedzający to losowy token przechowywany w przeglądarce.
| Żądanie | Cel |
|---|---|
GET api.php?a=config&bot=ID&lang=xx | Konfiguracja widgetu i teksty w języku odwiedzającego. |
POST api.php?a=message&bot=ID | Jedna wiadomość odwiedzającego (treść JSON). Dodaj &stream=1, aby otrzymać zdarzenia wysyłane przez serwer, gdy strumieniowanie jest włączone. |
POST api.php?a=rate&bot=ID | Kciuk w górę lub w dół dla odpowiedzi (podpisane odwołanie). |
POST api.php?a=lead&bot=ID | Zapytanie kontaktowe (treść JSON). |
GET api.php?a=test&bot=ID | Mała strona testowa z widgetem. |
Każde żądanie musi pochodzić z dozwolonej strony (nagłówek Origin jest sprawdzany względem listy bota). Odpowiedzi są w formacie JSON z polem ok, a w razie błędów z kodem error i przetłumaczonym message. Odpowiedzi strumieniowe używają zdarzeń delta (fragment tekstu), done (odpowiedź końcowa, rozmowa, podpis, źródła) i error.
AIChatWidget.Prywatność i uwagi o RODO
To Ty decydujesz, co jest przechowywane. Te przełączniki pomagają wypełnić Twoje obowiązki; nie są poradą prawną.
- Tryb zapisu dla każdego bota. Pełny, same metadane lub wyłączony. Wybierz to, czego naprawdę potrzebujesz.
- Adresy IP. Przechowywane w skróconej postaci (bez ostatniej części) lub wcale.
- Przechowywanie. Usuwaj rozmowy według wieku, liczby lub rozmiaru, a zapytania kontaktowe po określonej liczbie dni. Obie reguły działają automatycznie.
- Usuwanie na żądanie. Usuń rozmowy danej osoby z listy (wyszukaj tekst) oraz jej zapytanie kontaktowe w Zapytania kontaktowe.
- Informacja o AI. Krótkie zdanie w czacie, że odwiedzający rozmawia z AI; linki do Twojej polityki prywatności.
- Zgoda. Wymagane pole wyboru w formularzu kontaktowym.
- Dane w przesyłaniu. Wiadomości są wysyłane do wybranego dostawcy AI. Sprawdź jego warunki i umowę powierzenia przetwarzania danych oraz wspomnij o tym w swojej polityce prywatności. Wybierz dostawcę lub model zgodny z Twoimi obowiązkami albo model lokalny (Ollama, LM Studio), jeśli dane nie mogą opuszczać Twojego serwera.
- Twoje dane zostają u Ciebie. Sama aplikacja nie wysyła niczego do CreativAI.
Przegląd zabezpieczeń
Obrona wielowarstwowa, bez dodatkowych usług.
- Logowanie. Hasła przechowywane jako skróty, blokada po powtarzających się niepowodzeniach, opcjonalne logowanie dwuetapowe z kodami odzyskiwania, wygasające sesje.
- Formularze. Ochrona CSRF przy każdej zmianie; cała treść wyjściowa jest zabezpieczona; polityka bezpieczeństwa treści (CSP) z nonce.
- Sekrety. Klucze AI, hasło SMTP i sekrety weryfikacji dwuetapowej są szyfrowane algorytmem AES-256-GCM za pomocą klucza Twojej aplikacji.
- Publiczne identyfikatory. Boty, rozmowy i zapytania kontaktowe używają w adresach losowych UUID, nigdy kolejnych numerów.
- Widget. Zbudowany wyłącznie na wywołaniach DOM (bez surowego HTML z modelu), wewnątrz Shadow DOM; linki z odpowiedzi otwierają się z
rel="noopener noreferrer nofollow". - Limity nadużyć. Lista dozwolonych stron, limit zapytań, limity długości wiadomości i rozmowy, zablokowane słowa, dzienny budżet tokenów, ukryte pole-pułapka oraz limity na adres w formularzu kontaktowym.
- Żądania wychodzące. Wywołania AI i importy stron są sprawdzane pod kątem adresów prywatnych i metadanych chmury, przekierowania są weryfikowane na każdym kroku, a rozmiar i czas są ograniczone.
- Prompt injection. Tekst odwiedzającego, kontekst strony i fragmenty wiedzy są oznaczane jako dane niezaufane, a stałe reguły bezpieczeństwa są zawsze dołączane. Prompt ogranicza to ryzyko, ale go nie usuwa: zawężaj zakres bota i nigdy nie umieszczaj sekretów w instrukcjach bota ani w bazie wiedzy.
- Pliki. Przesyłane pliki są sprawdzane pod względem typu i rozmiaru oraz odczytywane jako tekst; dokumenty Word są przetwarzane z wyłączonymi encjami zewnętrznymi.
Konserwacja
Krótka rutyna, która utrzymuje instalację w dobrej kondycji.
Kopie zapasowe
Wykonuj kopię dwóch rzeczy: bazy danych i pliku **config/config.php** (zawiera klucz, który odszyfrowuje zapisane klucze AI). Przesłane dokumenty są przechowywane w bazie danych, więc zrzut bazy obejmuje także bazę wiedzy.
Aktualizacja
- 1Zrób kopię zapasową bazy danych.
- 2Wgraj nowe pliki na stare; zachowaj
config/istorage/. - 3Zaloguj się, otwórz Informacje o systemie i kliknij Zastosuj aktualizacje, jeśli na liście są aktualizacje.
- 4Naciśnij raz Ctrl+F5, aby odświeżyć arkusz stylów.
Logi
Błędy, których nie można pokazać odwiedzającym, są zapisywane w logu błędów PHP. Dziennik audytu w panelu rejestruje działania administracyjne.
Reguły Nginx
Pliki .htaccess chronią wewnętrzne foldery na Apache. W Nginx dodaj równoważne reguły, na przykład:
location ~ ^/ai-chat-widget/(app|config|database|language|storage|_devs|_idea)/ { deny all; }
location ~* \.(sql|md|lock|log|json)$ { deny all; }Przy strumieniowaniu za Nginx upewnij się, że proxy_buffering jest wyłączone dla api.php (aplikacja już wysyła X-Accel-Buffering: no).
Limity hostingu, które mają znaczenie
PHP upload_max_filesize i post_max_size ograniczają przesyłanie plików do bazy wiedzy. Duży plik PDF może wymagać memory_limit równego 256 MB lub więcej. Wychodzące połączenia HTTPS muszą być dozwolone dla wywołań AI i importu stron.
Pomoc i rozwiązywanie problemów
Częste problemy i rozwiązania
Zacznij od objawu.
| Objaw | Co sprawdzić |
|---|---|
| Widget się nie pojawia | Bot jest Aktywny; Twoja strona jest w Dozwolone strony; reguły z zakładki „Gdzie i kiedy" (wzorce, urządzenia, godziny otwarcia) dopuszczają tę stronę; polityka bezpieczeństwa treści Twojej witryny zezwala na skrypt; otwórz stronę testową bota z zakładki Osadzanie, aby porównać. |
| Czat pokazuje „origin not allowed" lub nic się nie ładuje | Dodaj dokładną domenę (bez https:// i www.) do Dozwolone strony. *.example.com obejmuje subdomeny. |
| „Sorry, something went wrong" | Dostawca zawiódł. Otwórz Dostawcy AI, uruchom konsolę testową i przeczytaj błąd: zły klucz (401), brak środków lub rozliczeń (402/429), zła nazwa modelu albo przekroczenie czasu. Włącz dostawcę zapasowego dla większej niezawodności. |
| Odpowiedzi ignorują moje dokumenty | Sprawdź za pomocą Wypróbuj wyszukiwanie. Pytanie i dokument powinny być w tym samym języku; używaj słów, których używają odwiedzający; sprawdź, czy dokument jest aktywny i przypisany do tego bota lub do wszystkich botów; sprawdź, czy tryb bota nie jest ustawiony na „Nie używaj". |
| PDF jest odrzucany | Prawdopodobnie to skan (bez zaznaczalnego tekstu) lub plik chroniony hasłem. Wyeksportuj PDF z tekstem lub wklej tekst. |
| Nie można zaimportować strony www | Użyj publicznego adresu https; stron za logowaniem nie da się odczytać; dla strony w intranecie włącz „Zezwól na adresy w sieci prywatnej" na stronie Baza wiedzy. |
| E-maile nie docierają | Wyślij wiadomość testową w Ustawienia > E-mail i przeczytaj błąd. Sprawdź port i szyfrowanie, czy adres nadawcy należy do Twojej domeny oraz folder spam. Dodaj rekordy SPF i DKIM dla swojej domeny. |
| Brak linku „Nie pamiętasz hasła?" | Poczta wychodząca nie jest skonfigurowana. Skonfiguruj Ustawienia > E-mail. |
| Zgubiłem drugi składnik | Użyj kodu odzyskiwania. W przeciwnym razie inny administrator zresetuje Twoją weryfikację dwuetapową w Użytkownicy. |
| Zablokowałem sobie dostęp | Poczekaj 15 minut. Mając dostęp do bazy danych, administrator może usunąć blokadę w tabeli users. |
| Strumieniowanie wygląda na zepsute | Uruchom Testuj strumieniowanie w Ustawieniach. Jeśli wszystko dociera naraz, serwer lub proxy buforuje odpowiedzi: zostaw strumieniowanie wyłączone lub napraw buforowanie (zobacz Konserwacja). |
| Przesyłanie plików nie działa | Zwiększ upload_max_filesize i post_max_size w PHP; limity to 600 KB dla plików tekstowych i 8 MB dla PDF i Word. |
| Baner informuje o oczekujących aktualizacjach bazy danych | Otwórz Informacje o systemie i kliknij Zastosuj aktualizacje. |
| Ekrany wyglądają bez stylów po aktualizacji | Naciśnij Ctrl+F5. |
| Biała strona lub błąd 500 | Sprawdź log błędów PHP oraz to, czy PHP ma wersję 8.1 lub nowszą i wymagane rozszerzenia (Informacje o systemie). |
Odczytywanie błędów dostawcy
| Komunikat | Zwykle oznacza |
|---|---|
| 401 / unauthorized | Klucz API jest brakujący, błędny lub dotyczy innej usługi. |
| 402 / insufficient credit | Na koncie nie ma środków lub nie skonfigurowano rozliczeń. |
| 404 / model not found | Nazwa modelu jest błędna lub model jest niedostępny dla Twojego konta. |
| 429 / rate limit | Zbyt wiele żądań lub wykorzystany limit; poczekaj albo zwiększ limit u dostawcy. |
| timeout | Dostawca był zbyt wolny; spróbuj ponownie lub zwiększ limit czasu w profilu. |
| private network | Profil wskazuje na adres lokalny: włącz „Zezwól na adresy sieci prywatnej" tylko dla tego profilu i tylko wtedy, gdy to model lokalny. |
Najczęściej zadawane pytania
Czy potrzebuję programisty, aby z tego korzystać?
Nie. Wszystko konfiguruje się w panelu, a każde pole ma ikonę pomocy. Programista jest potrzebny tylko przy nietypowych integracjach.
Gdzie są przechowywane moje klucze AI?
Zaszyfrowane w Twojej bazie danych. Nigdy nie są wysyłane do przeglądarki odwiedzającego ani zapisywane w logach.
Ile będzie mnie kosztować AI?
Dostawca rozlicza się z Tobą bezpośrednio za tokeny. Użyj dziennego budżetu tokenów, krótkiej długości odpowiedzi i trybu bazy wiedzy „Odpowiadaj tylko z bazy wiedzy", aby koszty były przewidywalne, i obserwuj tokeny na stronie Statystyki.
Czy mogę użyć modelu działającego na moim komputerze lub serwerze?
Tak. Użyj profilu Ollama lub LM Studio i włącz dla niego „Zezwól na adresy sieci prywatnej".
Czy jedna instalacja może obsługiwać kilka stron?
Tak. Dodaj każdą stronę do listy dozwolonych bota albo utwórz jednego bota na stronę. Liczba botów i stron zależy od licencji.
Co się stanie, gdy moja licencja wygaśnie?
Aplikacja wraca do limitów Free. Istniejące widgety nadal działają; zablokowane jest tylko tworzenie nowych botów, stron i dokumentów ponad limity Free.
Czy mogę zmienić treści widgetu?
Tak: zakładka Teksty, osobno dla każdego języka. Puste pola korzystają z wbudowanych tłumaczeń.
Czy działa z kreatorami stron i sklepami internetowymi?
Tak. To jedna linijka skryptu, więc działa wszędzie tam, gdzie możesz edytować stopkę strony lub dodać skrypt. W zestawie jest wtyczka WordPress.
Kontakt
Pytania, sugestie albo coś działa inaczej niż tu opisano? Napisz do autora.