Automatyzacja sprzedaży produktów cyfrowych za pomocą XianYuAssistant
Sprzedaż kluczy cyfrowych, kodów dostępu i małych używanych przedmiotów na marketplace'ach szybko zamienia się w monotonną rutynę. Kupujący zapłacił za produkt o trzeciej w nocy, oczekując natychmiastowej dostawy, ale Ty śpisz. W rezultacie ocena sklepu spada, a klient przechodzi do konkurencji.
Autor repozytorium open-source XianYuAssistant postanowił rozwiązać ten problem dla chińskiej platformy Xianyu (wtórny marketplace Alibaba). Stworzył pełnowartościowe samodzielnie hostowane rozwiązanie, które może błyskawicznie odbierać przychodzące wiadomości, odpowiadać kupującym za pomocą AI oraz automatycznie dostarczać kody promocyjne lub pliki z magazynu.

Dlaczego programiści powinni na to spojrzeć
Nawet jeśli nic nie sprzedajesz na Xianyu, projekt jest interesujący ze względu na swoją implementację techniczną. To świeży stack oparty na Javie 21 i Spring Boot 3.5.7, gdzie wbudowane wyszukiwanie wektorowe dla sieci neuronowych, automatyzacja przeglądarki i komunikacja WebSocket zostały wdrożone w prawdziwej produkcji w warunkach agresywnej ochrony przed oszustwami.
Strona platformy aktywnie broni się przed botami. Aby ominąć ograniczenia, autor zastosował kompleksowe podejście:
- Logowanie przez kod QR przy użyciu przeglądarki headless z Playwright.
- Symulowanie realistycznych opóźnień między żądaniami i odświeżaniami tokenów.
- Integracja lokalnej bazy danych SQLite z magazynem wektorowym w jednym pliku.
- Inteligentny automatyczny odpowiednik oparty na Spring AI i modelu Tongyi Qwen z wyszukiwaniem w bazie wiedzy (RAG).

Automatyzacja wiadomości i dostarczania kluczy
Główny przepływ pracy opiera się na ciągłym monitorowaniu kanału WebSocket. Gdy tylko kupujący dokona płatności za przedmiot, usługa natychmiast wykrywa status „Opłacone" i pobiera odpowiedni klucz z wewnętrznego magazynu towarów wirtualnych.

Gdy kupujący zadają rutynowe pytania, takie jak „Jak to aktywować?" lub „Czy to działa w Rosji?", usługa nie wysyła tylko szablonów. Możesz skonfigurować reguły oparte na wyrażeniach regularnych lub podłączyć model językowy. Każdy produkt ma swoją bazę wektorową z opisami i instrukcjami. Sieć neuronowa pobiera odpowiedni fragment tekstu i generuje naturalną odpowiedź.

Walka z blokadami i suwakami captcha
Najtrudniejszym aspektem takich projektów jest zapobieganie zablokowaniu konta przez platformę za korzystanie z automatyzacji. XianYuAssistant implementuje interesujący mechanizm rotacji sesji:
- Pliki cookie odświeżają się poprzez wywołanie endpointu w tle co 30 minut.
- Token
_m_h5_tkresetuje się z pływającym interwałem między 1,5 a 2,5 godziny. - Token WebSocket zmienia się co 10–14 godzin.
- Między działaniami wielu kont utrzymywana jest pauza wynosząca 2–5 sekund.

Jeśli platforma wyzwoli suwak captcha, system rejestruje to zdarzenie i wyświetla monit w panelu sterowania. Użytkownik może ręcznie zakończyć weryfikację przez przeglądarkę i wstrzyknąć świeże pliki cookie bez całkowitego restartu bota.
Architektura i stos technologii
Projekt składa się z monolitycznego backendu i frontendu Vue 3.5 z Element Plus. Wszystko działa w jednym kontenerze Docker, eliminując potrzebę oddzielnej bazy danych — SQLite jest osadzony w dyrektywie mount.
docker run -d \
--name xianyu-assistant \
-p 12400:12400 \
-v $(pwd)/data/dbdata:/app/dbdata \
-v $(pwd)/data/logs:/app/logs \
--restart unless-stopped \
iamlzy/xianyuassistant:latest
Godne uwagi komponenty backendu obejmują:
- Playwright Java: używany do renderowania strony logowania i skanowania kodów QR.
- Spring AI 1.1.4: obsługuje integrację z LLM i magazynem wektorowym bez usług zewnętrznych, takich jak Pinecone czy Qdrant.
- ZXing i MessagePack: używane do obsługi kodów kreskowych i dekodowania wiadomości w protokole binarnym.
Interfejs jest responsywny, więc odpowiadanie na wiadomości lub przeglądanie logów dostaw jest wygodne nawet z telefonu.
Czy warto to zainstalować
XianYuAssistant to wyspecjalizowane narzędzie dla osób handlujących na azjatyckim rynku. Jednak kod źródłowy repozytorium służy jako doskonały samouczek do pisania botów w Javie 21 z nowoczesnym Spring Boot i Vue 3.
Jeśli interesuje Cię, jak zorganizować wyszukiwanie RAG w lokalnym pliku SQLite, obsługiwać binarne wiadomości WebSocket lub skonfigurować rotację sesji, aby uniknąć blokad, ten projekt zdecydowanie zasługuje na bliższe spojrzenie.
Powiązane projekty