>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Java

Automatiser la vente de produits numériques avec XianYuAssistant

La vente de clés numériques, de codes d'accès et de petits objets d'occasion sur les places de marché se transforme rapidement en routine monotone. L'acheteur a payé le produit à trois heures du matin, attendant une livraison instantanée, mais vous dormez. Résultat : la note du magasin chute et le client se tourne vers la concurrence.

L'auteur du dépôt open source XianYuAssistant a décidé de résoudre ce problème pour la plateforme chinoise Xianyu (le marché secondaire d'Alibaba). Il a créé une solution complète auto-hébergée capable de détecter les messages entrants en temps réel, de répondre aux acheteurs via l'IA et de livrer automatiquement des codes promotionnels ou des fichiers depuis l'inventaire.

Pourquoi les développeurs devraient s'y intéresse

Même si vous ne vendez rien sur Xianyu, le projet est intéressant pour son implémentation technique. Il s'agit d'une stack récente basée sur Java 21 et Spring Boot 3.5.7, où la recherche vectorielle intégrée pour les réseaux de neurones, l'automatisation de navigateur et la communication WebSocket ont été mises en production réelle dans des conditions anti-fraude agressives.

Le site web de la plateforme se défend activement contre les bots. Pour contourner les restrictions, l'auteur a appliqué une approche complète :

  • Connexion par code QR via un navigateur headless avec Playwright.
  • Simulation de délais réalistes entre les requêtes et les renouvellements de tokens.
  • Intégration d'une base de données SQLite locale avec stockage vectoriel dans un seul fichier.
  • Répondeur automatique intelligent basé sur Spring AI et le modèle Tongyi Qwen avec recherche dans une base de connaissances (RAG).

Automatisation des messages et livraison des clés

Le flux de travail principal repose sur la surveillance continue du canal WebSocket. Dès qu'un acheteur effectue le paiement d'un article, le service détecte instantanément le statut « Payé » et récupère la clé correspondante dans l'inventaire interne de biens virtuels.

Lorsque les acheteurs posent des questions courantes comme « Comment activer ceci ? » ou « Est-ce que ça fonctionne en Russie ? », le service n'envoie pas simplement des modèles. Vous pouvez configurer des règles basées sur des expressions régulières ou connecter un modèle de langage. Chaque produit dispose d'une base de données vectorielle avec des descriptions et des instructions. Le réseau de neurones extrait le fragment de texte pertinent et génère une réponse naturelle.

Combattre les blocages et les curseurs Captcha

L'aspect le plus difficile de ces projets est d'empêcher la plateforme de bannir le compte pour utilisation de l'automatisation. XianYuAssistant implémente un mécanisme intéressant de rotation de session :

  1. Les cookies se renouvellent via un appel d'endpoint en arrière-plan toutes les 30 minutes.
  2. Le token _m_h5_tk se réinitialise avec un intervalle flottant entre 1,5 et 2,5 heures.
  3. Le token WebSocket change toutes les 10 à 14 heures.
  4. Une pause de 2 à 5 secondes est maintenue entre les actions de plusieurs comptes.

Si la plateforme déclenche un captcha avec curseur, le système enregistre cet événement et affiche une invite dans le panneau de contrôle. L'utilisateur peut compléter manuellement la vérification via le navigateur et injecter des cookies frais sans redémarrer entièrement le bot.

Architecture et stack technique

Le projet se compose d'un backend monolithique et d'un frontend Vue 3.5 avec Element Plus. Tout s'exécute dans un seul conteneur Docker, éliminant le besoin d'une base de données séparée — SQLite est embarqué dans la directive de montage.

Les composants notables du backend incluent :

  • Playwright Java : utilisé pour le rendu de la page de connexion et la lecture des codes QR.
  • Spring AI 1.1.4 : gère l'intégration avec les LLM et le stockage vectoriel sans services tiers comme Pinecone ou Qdrant.
  • ZXing et MessagePack : utilisés pour le traitement des codes-barres et le décodage des messages du protocole binaire.

L'interface est responsive, donc répondre aux messages ou consulter les journaux de livraison est pratique même depuis un téléphone.

Cela vaut-il la peine d'être installé

XianYuAssistant est un outil spécialisé pour ceux qui commercent sur le marché asiatique. Cependant, le code source du dépôt sert d'excellent tutoriel pour écrire des bots en Java 21 avec Spring Boot moderne et Vue 3.

Si vous êtes intéressé de voir comment organiser une recherche RAG sur un fichier SQLite local, gérer des messages WebSocket binaires ou configurer une rotation de session pour éviter les blocages, ce projet mérite définitivement un examen plus approfondi.

Projets similaires