Kowal AI Product Feed dla OpenAI Vector Store i LLMS
Kowal AI Product Feed to moduł Magento 2 do budowy warstwy danych dla AI, który przygotowuje treści sklepu w formie gotowej do wykorzystania przez OpenAI Vector Store, asystentów AI, wyszukiwarki semantyczne, pipeline'y RAG oraz publiczne mechanizmy odkrywania treści takie jak llms.txt i feedy NDJSON.
To nie jest zwykły eksport katalogu produktów. Moduł porządkuje, normalizuje i publikuje wiedzę sklepu w sposób, który pozwala bezpiecznie zasilać nią systemy AI, zachowując kontrolę nad aktualnością danych, zakresem treści i strukturą dokumentów.
Dzięki temu Magento może stać się realnym źródłem wiedzy dla:
- chatbotów i copilotów produktowych,
- inteligentnej obsługi klienta,
- semantycznej wyszukiwarki,
- odpowiedzi generowanych przez AI,
- automatyzacji contentu,
- zewnętrznych integracji AI opartych o feedy publiczne lub prywatne.
Co moduł robi w praktyce
Moduł pobiera dane z Magento i buduje z nich ustrukturyzowane dokumenty wiedzy. Obsługuje nie tylko treści produktowe, ale również dodatkowe kanały contentowe, które są istotne z perspektywy AI i sprzedaży.
Aktualnie może pracować na treściach takich jak:
product.core- podstawowe dane produktu, opisy, URL, atrybuty i kategorie,product.faq- pytania i odpowiedzi produktowe,product.docs- dokumentacja i pliki Markdown,blog.article- wpisy blogowe,category.content- treści kategorii,cms.page- strony CMS.
Każdy dokument jest zapisywany lokalnie, porównywany po checksumie i synchronizowany tylko wtedy, gdy rzeczywiście uległ zmianie. To ogranicza nadmiarowe uploady, stabilizuje proces synchronizacji i daje większą kontrolę nad kosztami oraz jakością danych.
Publiczne endpointy AI i LLM
W nowej wersji moduł może także publikować dane pod publicznymi endpointami frontendowymi:
/llms.txt/ai-feed/{storeCode}/index.json/ai-feed/{storeCode}/{contentType}.ndjson
To oznacza, że sklep może nie tylko synchronizować dane do OpenAI Vector Store, ale też udostępniać kontrolowaną warstwę treści dla zewnętrznych agentów AI, crawlerów i narzędzi integracyjnych.
Moduł może dodatkowo:
- dodać sygnał do
headstrony przez link dollms.txt, - opcjonalnie wyświetlić link do
llms.txtw stopce, - publikować feedy per store view i per język,
- zachować spójność pomiędzy treściami sklepu, warstwą AI i publiczną warstwą odkrywania treści.
Dlaczego to jest ważne biznesowo
W wielu sklepach dane potrzebne do wdrożenia AI są rozproszone: część jest w opisach produktów, część w FAQ, część w blogu, a część w osobnych materiałach technicznych. Bez warstwy integracyjnej trudno zbudować na tym stabilne rozwiązania AI.
Kowal AI Product Feed rozwiązuje ten problem, ponieważ:
- centralizuje wiedzę sklepu w jednej architekturze eksportu i synchronizacji,
- porządkuje dane pod użycie przez modele językowe,
- redukuje koszt budowy kolejnych integracji AI,
- skraca czas wdrożenia chatów, asystentów i wyszukiwarek semantycznych,
- pozwala rozwijać strategię
AI SEO,AEOiLLM discoverability, - daje podstawę pod wielojęzyczne wdrożenia AI w Magento 2.
To oznacza szybsze uruchamianie nowych funkcji, większą spójność odpowiedzi generowanych przez AI i lepsze wykorzystanie treści, które sklep już posiada.
Dla kogo jest ten moduł
Moduł jest przeznaczony dla:
- sklepów Magento 2 wdrażających AI chat lub AI assistant,
- firm budujących wyszukiwarki semantyczne i RAG na danych e-commerce,
- zespołów technicznych integrujących Magento z
OpenAI, - sklepów rozwijających wielojęzyczne bazy wiedzy produktowej,
- agencji i software house'ów wdrażających AI w Magento,
- marek, które chcą przygotować sklep pod przyszłe kanały odkrywania treści przez LLM.
Jak korzystają z niego inne moduły
Inne moduły mogą wykorzystywać Kowal AI Product Feed jako centralne źródło wiedzy i warstwę integracyjną zamiast budować osobne eksporty, własne serializacje danych i własne procesy synchronizacji.
Przykładowe zastosowania:
- moduł AI chat może zadawać pytania do
Vector Storei odpowiadać na podstawie bieżącej wiedzy o produktach, - moduł FAQ może wzbogacać wspólną bazę wiedzy o dodatkowe pytania i odpowiedzi,
- moduł dokumentacji może zasilać AI treściami instruktażowymi i technicznymi,
- moduł obsługi klienta może wykorzystywać te same dane do odpowiedzi kontekstowych,
- moduł rekomendacji może korzystać z uporządkowanych treści do lepszego dopasowania produktów,
- moduły contentowe mogą rozszerzać warstwę wiedzy o blog, CMS i kolejne typy dokumentów.
Najważniejsze jest to, że inne moduły nie muszą znać technicznych szczegółów synchronizacji, checksum, eksportu plików czy uploadu do OpenAI. Otrzymują gotową, spójną i rozwijalną warstwę danych.
Najważniejsze korzyści
- gotowa warstwa danych AI dla Magento 2,
- wsparcie dla
OpenAI Vector Store, - publiczne
llms.txti feedyNDJSON, - synchronizacja tylko zmienionych treści,
- obsługa wielu kanałów contentowych,
- przygotowanie pod
AI SEO,AEOi integracje LLM, - zgodność z architekturą store view i wersji językowych Magento,
- solidna baza pod dalszy rozwój automatyzacji AI w sklepie.
Kowal AI Product Feed - instalacja i konfiguracja
Cel dokumentu
Ten dokument opisuje pełny proces instalacji, uruchomienia i konfiguracji modułu Kowal_AiProductFeed w Magento 2. Został przygotowany tak, aby można było przejść od wdrożenia technicznego do pierwszego działającego eksportu oraz publikacji llms.txt.
Zakres funkcjonalny modułu
Moduł umożliwia:
- eksport treści sklepu do plików
JSONiJSONL, - synchronizację danych do
OpenAI Vector Store, - obsługę wielu kanałów treści, takich jak produkt, blog, kategoria i CMS,
- publikację publicznych endpointów:
/llms.txt/ai-feed/{storeCode}/index.json/ai-feed/{storeCode}/{contentType}.ndjson
- dodanie linku do
llms.txtw sekcjihead, - opcjonalne dodanie linku do
llms.txtw stopce sklepu.
llms.txt działa per aktualny Store View. Oznacza to, że każda wersja językowa może zwracać własny manifest i własne linki do feedów.
Wymagania wstępne
Przed instalacją upewnij się, że:
- Magento 2 działa poprawnie,
- masz dostęp SSH do katalogu głównego Magento,
Composerjest dostępny w środowisku,- proces PHP ma możliwość zapisu do katalogu
var/, - masz aktywny klucz
OpenAI API Key, jeśli chcesz korzystać z synchronizacji doOpenAI Vector Store.
Instalacja modułu
1. Dodanie repozytorium Composer
Jeżeli moduł jest instalowany z repozytorium Git:
composer config repositories.ai.product.feed vcs https://github.com/kowalco/module-ai-product-feed
Jeżeli repozytorium jest prywatne:
composer config --global --auth github-oauth.github.com <YOUR_TOKEN>
2. Instalacja pakietu
composer require kowal/module-ai-product-feed
3. Włączenie modułu
bin/magento module:enable Kowal_AiProductFeed
4. Aktualizacja Magento
bin/magento setup:upgrade
5. Kompilacja i cache
W środowisku produkcyjnym wykonaj dodatkowo:
bin/magento setup:di:compile
bin/magento cache:flush
W środowisku developerskim zwykle wystarczy:
bin/magento cache:flush
Jeżeli przed Magento działa dodatkowa warstwa cache, wykonaj również purge po stronie:
VarnishCloudflareNginx fastcgi/proxy cache- innego reverse proxy lub CDN
6. Potwierdzenie statusu modułu
bin/magento module:status Kowal_AiProductFeed
Lokalizacja konfiguracji
Konfiguracja modułu jest dostępna w panelu:
Stores -> Configuration -> General -> Kowal AI Feed
Zalecany model konfiguracji
Najlepszą praktyką jest konfiguracja na poziomie Store View, szczególnie jeśli sklep działa w wielu językach.
Zalecenie:
- jeden
Store View= jeden język, - jeden
Store View= jedenVector Store ID, - jeden
Store View= osobna publiczna warstwa feedów AI.
Przykład:
PLstore view -> polskiVector Store IDENstore view -> angielskiVector Store ID
Konfiguracja pól
Enable Module
Włącza moduł dla wybranego zakresu.
Zalecenie:
- ustaw
Yesna tychStore View, które mają generować dane AI
OpenAI API Key
Globalny klucz API wykorzystywany do komunikacji z OpenAI.
Wymagany, jeśli:
- chcesz synchronizować pliki do
OpenAI Vector Store
Nie jest wymagany, jeśli:
- chcesz korzystać tylko z lokalnych eksportów,
- chcesz korzystać tylko z
llms.txti publicznych feedów.
Vector Store ID
Identyfikator OpenAI Vector Store dla konkretnego Store View.
Zalecenie:
- konfigurować na poziomie
Store View, - ustawić osobny identyfikator dla każdego języka.
Feed Location
Ścieżka względna do katalogu, w którym będą zapisywane pliki eksportu.
Domyślna wartość:
var/ai-feeds
Zalecenie:
- pozostawić katalog w
var/, - nie wystawiać tego katalogu bezpośrednio przez webserver.
Enable Public AI Feed
Włącza publiczne endpointy:
/llms.txt/ai-feed/{storeCode}/index.json/ai-feed/{storeCode}/{contentType}.ndjson
Włącz tę opcję tylko dla tych widoków sklepu, których treści mogą być publicznie dostępne.
Ważne:
/llms.txtnie jest globalnym indeksem wszystkich sklepów- każda wersja językowa sklepu zwraca własny manifest
- sam
/llms.txtnie wymaga istnienia wygenerowanych plików, aby odpowiedzieć poprawnie
Show LLMs.txt Link in Footer
Dodaje widoczny link do /llms.txt w stopce sklepu.
Zalecenie:
Nodomyślnie,Yes, jeśli chcesz jawnie komunikować dostępność warstwy AI dla partnerów, integratorów lub botów.
Docs Location
Ścieżka względna do katalogu z dokumentacją produktową Markdown dla product.docs.
Przykłady:
var/ai-docsvar/ai-docs/pl
Obsługiwane są m.in. pliki:
{docsLocation}/{SKU}.md{docsLocation}/{SKU}.markdown{docsLocation}/{storeCode}/{SKU}.md{docsLocation}/{storeCode}/{SKU}.markdown{docsLocation}/{SKU}/*.md{docsLocation}/{SKU}/*.markdown{docsLocation}/{storeCode}/{SKU}/*.md{docsLocation}/{storeCode}/{SKU}/*.markdown
Max Products Per Batch
Rozmiar paczki dla eksportu produktów.
Wartość startowa:
500
Zmniejsz wartość, jeżeli:
- katalog jest bardzo duży,
- środowisko ma ograniczoną pamięć,
- dodatkowe operacje AI zwiększają obciążenie.
Sync Product Core
Włącza typ treści product.core.
Zalecenie:
Yes
Sync Product FAQ
Włącza product.faq.
Użyj, jeśli sklep posiada dane w tabeli kowal_zapytajoprodukt_pytania.
Sync Product Docs
Włącza product.docs.
Użyj, jeśli dokumentacja Markdown jest już przygotowana.
Sync Blog Content
Włącza kanał blog i typ blog.article.
Sync Category Content
Włącza kanał category i typ category.content.
Sync CMS Pages
Włącza kanał cms_page i typ cms.page.
Max Retries
Maksymalna liczba prób operacji API.
Domyślnie:
3
Polling Timeout
Maksymalny czas oczekiwania na zakończenie przetwarzania pliku po stronie OpenAI.
Domyślnie:
600
Polling Interval
Interwał pomiędzy kolejnymi sprawdzeniami statusu.
Domyślnie:
5
HTTP Timeout
Maksymalny czas pojedynczego requestu HTTP do OpenAI.
Domyślnie:
60
Zalecana kolejność konfiguracji
Po instalacji skonfiguruj moduł w tej kolejności:
- Włącz moduł dla docelowego
Store View. - Dodaj
OpenAI API Key, jeśli planujesz synchronizację zOpenAI. - Ustaw
Vector Store IDdla każdego języka. - Zweryfikuj
Feed Location. - Ustaw
Docs Location, jeśli używasz dokumentacji Markdown. - Włącz potrzebne typy treści i kanały.
- Włącz
Enable Public AI Feed, jeśli endpointy mają być dostępne publicznie. - Opcjonalnie włącz
Show LLMs.txt Link in Footer. - Wyczyść cache Magento.
bin/magento cache:flush
Pierwsze uruchomienie
Dry run
Najpierw wykonaj suchy test dla jednego Store View:
bin/magento kowal:ai-export:sync --channel=product --store=1 --dry-run
Realny eksport
Następnie uruchom synchronizację właściwą:
bin/magento kowal:ai-export:sync --channel=product --store=1
Sprawdzenie statusu
bin/magento kowal:ai-export:status --store=1
Weryfikacja publicznych endpointów
Jeżeli Enable Public AI Feed jest włączone, sprawdź:
curl -i https://twoja-domena.pl/llms.txt
curl -i https://twoja-domena.pl/ai-feed/pl/index.json
curl -i https://twoja-domena.pl/ai-feed/pl/product.core.ndjson
Jeżeli sklep ma osobne wersje językowe w URL, sprawdź również:
curl -i https://twoja-domena.pl/en/llms.txt
curl -i https://twoja-domena.pl/de/llms.txt
Oczekiwane zachowanie:
/llms.txtzwraca manifest tylko dla bieżącegoStore View/llms.txtdziała nawet wtedy, gdy nie ma jeszcze wygenerowanych plików feedu/ai-feed/{storeCode}/index.jsonpokazuje tylko istniejące feedy dla danego sklepu/ai-feed/{storeCode}/{contentType}.ndjsondziała dopiero wtedy, gdy istnieją odpowiednie pliki źródłowe
Weryfikacja nagłówków cache:
curl -I https://twoja-domena.pl/llms.txt
curl -I https://twoja-domena.pl/ai-feed/pl/index.json
Powinieneś zobaczyć:
- dla
/llms.txtnagłówki praktycznie wyłączające cache, - dla
index.jsonkrótki czas życia cache i wymuszoną rewalidację.
Weryfikacja HTML:
- w źródle strony powinien pojawić się link w
headdo/llms.txt, - jeżeli aktywowałeś opcję stopki, w footerze powinien pojawić się link
LLMs.txt.
Komendy CLI
Synchronizacja
bin/magento kowal:ai-export:sync --channel=product
bin/magento kowal:ai-export:sync --channel=product --store=1
bin/magento kowal:ai-export:sync --channel=product --store=1 --content-type=product.core --identifier=example-sku --dry-run
bin/magento kowal:ai-export:sync --channel=blog --store=1 --source=amasty_blog
bin/magento kowal:ai-export:sync --channel=category --store=1
bin/magento kowal:ai-export:sync --channel=cms_page --store=1
Status
bin/magento kowal:ai-export:status
bin/magento kowal:ai-export:status --store=1
bin/magento kowal:ai-export:status --channel=blog --store=1
bin/magento kowal:ai-export:status --channel=blog --store=1 --source=amasty_blog
Import źródeł bloga
bin/magento kowal:ai-blog-source:import --source=amasty_blog --store=1
Stary alias produktowy
Wciąż dostępny dla zgodności wstecznej:
bin/magento kowal:ai-feed:generate
bin/magento kowal:ai-feed:generate --store=1 --content-type=product.core --sku=example-sku --dry-run
Cron
Moduł korzysta z trzech zadań cron:
kowal_ai_blog_source_importkowal_ai_feed_generatekowal_ai_feed_cleanup
Upewnij się, że cron Magento działa poprawnie w środowisku.
Najczęstsze problemy
/llms.txt zwraca 404
Sprawdź:
- czy wdrożona jest aktualna wersja modułu z frontend routingiem,
- czy wykonałeś
bin/magento setup:upgrade, - czy w production mode wykonałeś
bin/magento setup:di:compile, - czy wykonałeś standardowy deploy static content zgodnie z procesem projektu,
- czy wyczyściłeś cache,
- czy wykonałeś purge warstwy CDN / reverse proxy,
- czy
Enable Public AI Feedjest włączone.
Jeżeli https://twoja-domena.pl/llms.txt?v=123 działa, a https://twoja-domena.pl/llms.txt nie, to zwykle oznacza, że po drodze nadal działa stary cache współdzielony.
/llms.txt działa, ale feedy są puste
To oznacza zwykle, że:
- nie wykonano jeszcze eksportu,
- brak aktywnych treści dla danego kanału,
- odpowiednie flagi synchronizacji są wyłączone.
To zachowanie jest poprawne. Sam manifest może działać wcześniej niż właściwe feedy.
Brak plików w var/ai-feeds
Sprawdź:
- czy moduł jest aktywny na właściwym
Store View, - czy są włączone wymagane typy treści,
- czy Magento ma prawa zapisu do
var/, - czy proces synchronizacji został uruchomiony.
Problemy z synchronizacją do OpenAI
Sprawdź:
- poprawność
OpenAI API Key, - poprawność
Vector Store ID, - dostępność połączeń wychodzących HTTP,
- wartości timeoutów i retry.
Podsumowanie
Po poprawnej instalacji i konfiguracji moduł daje Magento 2 gotową warstwę danych dla AI:
- lokalną,
- wielojęzyczną,
- możliwą do synchronizacji z
OpenAI, - gotową do publikacji przez
llms.txti feedyNDJSON, - rozwijalną pod kolejne integracje i moduły AI.



















