Przejdź do głównej zawartości

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.

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.
  • 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.
  • Sprawdź, czy bin/console messenger:consume async faktycznie 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 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.
  • 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 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ć:
    1. Uruchom akcję inline Suggest fetch domain config na URL — model proponuje selektory CSS.
    2. Zapisz propozycję w AI Assistant → Fetch domain config.
    3. Uruchom ponownie oryginalną akcję.

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-workers i 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.

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.

  • 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.