Rozwiązywanie problemów
Ta strona zbiera problemy, które widzimy najczęściej i sposoby ich rozwiązania. Do głębszej diagnostyki — każde wywołanie AI jest zapisane w logu API (AI Assistant → API logs) z pełnym żądaniem, odpowiedzią, tokenami, czasem trwania i błędem.
Menu “AI Assistant” nie pojawia się po instalacji
Dział zatytułowany „Menu “AI Assistant” nie pojawia się po instalacji”- Potwierdź, że plugin jest aktywowany w Extensions → My extensions.
- Wyczyść cache admina:
bin/console cache:clear. - Wymuś przeładowanie admina (Ctrl+Shift+R), aby przeglądarka pobrała nowy bundle.
- Jeśli budujesz administrację samodzielnie, uruchom ponownie
bin/build-administration.sh. - Sprawdź, czy twoja rola użytkownika ma dostęp do nowych kluczy ACL.
”Invalid API key” podczas testowania połączenia
Dział zatytułowany „”Invalid API key” podczas testowania połączenia”- Skopiuj klucz ponownie z dashboardu OpenAI. Większość niepowodzeń to ciche białe znaki na końcu.
- Jeśli proxujesz OpenAI przez gateway, sprawdź podwójnie base URL oraz to, czy twój gateway przekazuje nagłówek
Authorization.
Joby utknięte w “running”
Dział zatytułowany „Joby utknięte w “running””- Sprawdź, czy
bin/console messenger:consume asyncfaktycznie działa i nie jest w pętli crashów. - Jeśli worker umarł w trakcie joba, plugin ponownie kolejkuje takie joby automatycznie co kilka minut. Poczekaj jeden cykl i sprawdź ponownie.
- Jeśli job ciągle się odzyskuje, ale nigdy się nie kończy, otwórz log API przefiltrowany po ID tego joba — prawdziwy błąd jest ponawiany.
Joby w statusie “suspended”
Dział zatytułowany „Joby w statusie “suspended””Joby suspended nie są zawieszone — zostały wstrzymane, ponieważ dostawca zwrócił odzyskiwalny błąd (najczęściej: quota exceeded, payment required, rate limit). Job pamięta następną nieprzetworzoną pozycję, więc nie tracisz postępu.
- Otwórz wpis logu API na jobie, aby zobaczyć dokładny komunikat dostawcy.
- Doładuj konto AI, podnieś limit lub przełącz joba na inne AI connection.
- Kliknij Resume na jobie. Worker podejmuje pracę od miejsca zatrzymania.
Edycje inline lub joby produkują pusty output
Dział zatytułowany „Edycje inline lub joby produkują pusty output”- Otwórz wpis logu API dla danego wywołania. Pełne ciało odpowiedzi tam jest.
- Częsta przyczyna: prompt prosił o strukturę JSON, ale model zwrócił prozę. Edytuj user-prompt promptu, aby przypomnieć modelowi schemat (i uruchom test na produkcie przed zapisem).
- Inna częsta przyczyna: pole źródłowe (description, name) jest puste. Model nie ma z czym pracować.
”URL fetch failed” w describe_from_url
Dział zatytułowany „”URL fetch failed” w describe_from_url”- URL musi być osiągalny z sieci wychodzącej hosta Shopware.
- Plugin wyciąga zawartość tylko, jeśli istnieje pasujące fetch domain config dla hosta URL. Aby je utworzyć:
- Uruchom akcję inline
Suggest fetch domain configna URL — model proponuje selektory CSS. - Zapisz propozycję w AI Assistant → Fetch domain config.
- Uruchom ponownie oryginalną akcję.
- Uruchom akcję inline
Cache pokazuje nieaktualną treść promptu
Dział zatytułowany „Cache pokazuje nieaktualną treść promptu”Rozwiązane szablony promptów są buforowane per proces workera. Po edycji promptu:
- Poczekaj na TTL cache, albo
- Zrestartuj workerów:
bin/console messenger:stop-workersi pozwól supervisorowi je uruchomić ponownie, albo - Kliknij Test on product — ścieżka testu pomija cache dla tego szablonu.
Nie da się zastosować sugestii / “version conflict”
Dział zatytułowany „Nie da się zastosować sugestii / “version conflict””- Produkt został edytowany (lub została utworzona nowa wersja) między wywołaniem AI a zastosowaniem. Otwórz ponownie produkt, odśwież i zastosuj jeszcze raz.
Rozrost logu API / zużycie dysku
Dział zatytułowany „Rozrost logu API / zużycie dysku”Każde wywołanie AI jest logowane z pełnym żądaniem i odpowiedzią, więc log rośnie szybko w zajętych sklepach. Plugin automatycznie przycina starsze wpisy raz dziennie, aby utrzymać go w ryzach. Jeśli widzisz niekontrolowany wzrost, sprawdź, czy w Shopware jest włączony runner zadań zaplanowanych — bez niego ani automatyczne czyszczenie logu, ani odzyskiwanie zawieszonych jobów się nie uruchomi.
Gdzie szukać najpierw
Dział zatytułowany „Gdzie szukać najpierw”- API logs — każde wywołanie z pełnym payloadem i wynikiem. Filtruj po dacie, typie lub połączeniu.
- Strona szczegółów joba — przy problemach wsadowych status per-pozycja mówi, który krok zawiódł.
- Wykres kosztu — nieoczekiwane skoki kosztu zwykle wskazują na niezamierzone włączenie funkcji.
Jeśli nadal nie możesz znaleźć przyczyny, wiersz logu API dla nieudanego wywołania to artefakt do udostępnienia wsparciu.