Automatisering van digitale productverkopen met XianYuAssistant
Het verkopen van digitale sleutels, toegangscodes en kleine tweedehands artikelen op marktplaatsen verandert snel in een eentonige routine. De koper heeft het product om drie uur 's nachts betaald, verwacht directe levering, maar je slaapt. Als gevolg hiervan daalt de winkelbeoordeling en gaat de klant naar concurrenten.
De auteur van de open-source repository XianYuAssistant besloot dit probleem op te lossen voor het Chinese platform Xianyu (Alibaba's secundaire marktplaats). Ze creëerden een volledig uitgeruste zelfgehoste combinatie die inkomende berichten direct kan oppikken, kopers via AI kan beantwoorden en promotiecodes of bestanden uit de voorraad automatisch kan leveren.

Waarom ontwikkelaars hier naar moeten kijken
Zelfs als je niets verkoopt op Xianyu, is het project interessant voor zijn technische implementatie. Het is een nieuwe stack op Java 21 en Spring Boot 3.5.7, waar ingebouwde vectorzoektocht voor neurale netwerken, browserautomatisering en WebSocket-werk in echte productie werden gebracht onder agressieve antifrauduleuze omstandigheden.
De platformwebsite verdedigt actief tegen bots. Om beperkingen te omzeilen, paste de auteur een uitgebreide aanpak toe:
- QR-codelogin met een headless browser met Playwright.
- Simuleren van realistische vertragingen tussen verzoeken en tokenvernieuwingen.
- Integreren van een lokale SQLite-database met vectoropslag in één bestand.
- Slimme auto-responder op basis van Spring AI en het Tongyi Qwen-model met kennisbankzoekopdracht (RAG).

Automatisering van berichten en sleutellevering
De hoofdwerkstroom is gebaseerd op continue WebSocket-kanaalmonitoring. Zodra een koper betaling overmaakt voor een artikel, detecteert de service onmiddellijk de 'Betaald'-status en haalt de bijbehorende sleutel op uit de interne inventaris van virtuele goederen.

Wanneer kopers routinevragen stellen zoals 'Hoe activeer ik dit?' of 'Werkt het in Rusland?', stuurt de service niet alleen sjablonen. Je kunt regex-gebaseerde regels configureren of een taalmodel aansluiten. Elk product krijgt een vectordatabase met beschrijvingen en instructies. Het neurale netwerk haalt het relevante tekstfragment op en genereert een natuurlijke reactie.

Bestrijding van blokkades en captcha-schuifregelaars
Het meest uitdagende aspect van deze projecten is voorkomen dat het platform het account verbant voor het gebruik van automatisering. XianYuAssistant implementeert een interessant sessierotatiemechanisme:
- Cookies vernieuwen via een achtergrond-eindpuntoproep elke 30 minuten.
- Token
_m_h5_tkwordt gereset met een variabel interval tussen 1,5 en 2,5 uur. - WebSocket-token wijzigt elke 10–14 uur.
- Een pauze van 2–5 seconden wordt aangehouden tussen acties van meerdere accounts.

Als het platform een schuifregelaar-captcha activeert, logt het systeem deze gebeurtenis en toont een prompt in het bedieningspaneel. De gebruiker kan de verificatie handmatig via de browser voltooien en verse cookies injecteren zonder de bot volledig opnieuw op te starten.
Architectuur en tech stack
Het project bestaat uit een monolithische backend en een Vue 3.5-frontend met Element Plus. Alles draait in één Docker-container, waardoor een aparte database overbodig is—SQLite is ingebed in de mount-richtlijn.
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
Opvallende backend-componenten zijn onder andere:
- Playwright Java: gebruikt voor het renderen van de inlogpagina en het scannen van QR-codes.
- Spring AI 1.1.4: beheert integratie met LLM en vectoropslag zonder diensten van derden zoals Pinecone of Qdrant.
- ZXing en MessagePack: gebruikt voor streepjescodeverwerking en decodering van binaire protocolberichten.
De interface is responsief, dus reageren op berichten of bekijken van leveringslogboeken is handig, zelfs vanaf een telefoon.
Is het de moeite waard om te installeren
XianYuAssistant is een gespecialiseerd hulpmiddel voor degenen die handelen in de Aziatische markt. De broncode van de repository dient echter als een uitstekende tutorial voor het schrijven van bots in Java 21 met moderne Spring Boot en Vue 3.
Als je geïnteresseerd bent in het zien van hoe je RAG-zoekopdrachten organiseert op een lokaal SQLite-bestand, binaire WebSocket-berichten verwerkt, of sessierotatie instelt om blokkades te voorkomen, verdient dit project zeker een nadere blik.
Gerelateerde projecten