Communitygithub.com

southernspark-nfxh/aliexpress-auto-listing-skill

Automatisez la publication de produits AliExpress — de la collecte sur 1688 à la publication via Dianxiaomi ERP et AliExpress. Automatisation IA pour le commerce transfrontalier. 速卖通自动上架工作流:1688采集→店小秘→速卖通发布.

Qu'est-ce que aliexpress-auto-listing-skill ?

Cette compétence (skill) pour agent IA permet d'automatiser entièrement le flux de travail de listing de produits sur AliExpress pour le commerce électronique transfrontalier (cross-border e-commerce). Elle couvre la collecte de produits sur 1688 (plateforme B2B chinoise), leur gestion via Dianxiaomi ERP (店小秘), et la publication finale sur AliExpress (速卖通). L'architecture repose sur un navigateur Chrome exécuté sous Windows avec un port de débogage distant (9222), un relais Relay2 pour exposer ce port via le réseau local, et un script Python (chrome_relay.py) sous WSL qui établit un pont entre Windows et WSL. L'agent utilise Playwright avec connexion CDP pour piloter le navigateur sans ouvrir de nouvelles fenêtres, ce qui permet de conserver les sessions et données en cours. La compétence inclut des procédures de vérification de connexion pour Dianxiaomi et 1688 (avec une gestion spécifique des codes QR), ainsi qu'une stratégie de récupération robuste en cas de déconnexion : plutôt que de naviguer vers une URL, elle liste d'abord tous les onglets ouverts, identifie celui contenant les données remplies, puis l'active. Cette compétence est conçue pour être exécutée avec Claude Code, Cursor ou tout agent compatible avec Playwright et le protocole CDP de Chrome. Elle est maintenue par SouthernSpark (南方星火), spécialiste en automatisation IA pour le commerce transfrontalier.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add southernspark-nfxh/aliexpress-auto-listing-skill

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Module de démarrage : Chrome + Relay + Playwright

Architecture

Windows Chrome (--remote-debugging-port=9222)
  ↕ Relay2.exe (0.0.0.0:9255 → 127.0.0.1:9222)
Adresse IP Windows (172.24.48.1:9255)
  ↕ WSL chrome_relay.py (127.0.0.1:19223 → 172.24.48.1:9255)
  ↕ Playwright connect_over_cdp('http://127.0.0.1:19223')

Étape A : Démarrer Chrome (Windows)

# D'abord, tuer les processus Chrome existants
taskkill /F /IM chrome.exe

# Démarrer Chrome avec le port de débogage
cmd.exe /c start "" "C:\Program Files\Google\Chrome\Application\chrome.exe" \
  --remote-debugging-port=9222 \
  --user-data-dir="C:\Users\[Votre nom d'utilisateur Windows]\Desktop\chrome-debug"

⚠️ Vous devez utiliser un --user-data-dir dédié (comme chrome-debug) ; le profil par défaut ne peut pas être lié au port 9222.

Étape B : Démarrer Relay2 (Windows)

Relay2.exe doit s'exécuter automatiquement au démarrage de Windows : C:\Users\[Votre nom d'utilisateur Windows]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\hermes-gateway.vbs

Pour un démarrage manuel : double-cliquez sur Relay2.exe.

Étape C : Démarrer le relais WSL

cd ~/.hermes/scripts && python3 chrome_relay.py &

Étape D : Vérifier la chaîne

# Vérifier le relais WSL
curl -s http://127.0.0.1:19223/json | head -5

# Doit renvoyer une liste JSON des onglets Chrome

Étape E : Connexion Playwright

from playwright.async_api import async_playwright

async with async_playwright() as p:
    browser = await p.chromium.connect_over_cdp('http://127.0.0.1:19223')
    pages = browser.contexts[0].pages
    # Vérifier les onglets déjà ouverts

Vérification de la connexion

Connexion à Dianxiaomi (店小秘)

Naviguez vers Dianxiaomi → Vérifiez si vous êtes connecté (cherchez le nom d'utilisateur [Votre nom d'utilisateur Dianxiaomi] sur la page) :

document.body.innerText.includes('[Votre nom d'utilisateur Dianxiaomi]')

Si non connecté, utilisez la connexion par QR code : en haut à droite de Dianxiaomi → scanner le code.

Connexion à 1688

Vérifiez l'état de connexion à 1688 : ouvrez n'importe quelle page produit 1688 → regardez s'il y a un bouton "Connexion".

document.body.innerText.includes('Connexion')

Si non connecté, connectez-vous manuellement (le captcha de 1688 ne peut pas être automatisé).

Récupération en cas de panne

Règle impérative après une déconnexion de la passerelle

Erreur fatale : appeler directement browser_navigate créera un nouvel onglet, perdant les données déjà remplies.

Étapes correctes :

1. browser_cdp → Target.getTargets     # Lister tous les onglets
2. Trouver la page d'édition Dianxiaomi (title="店小秘--编辑速卖通产品")
3. Runtime.evaluate pour lire l'état de la page (titre, hash, bodyText)
4. Confirmer quel onglet contient les données remplies
5. Target.closeTarget pour fermer les onglets vides/dupliqués
6. Target.activateTarget pour activer l'onglet correct
7. Maintenant browser_snapshot devrait afficher les données remplies

Toute la chaîne est en panne

# Côté WSL
pkill -f chrome_relay.py
cd ~/.hermes/scripts && python3 chrome_relay.py &

# Côté Windows (manuellement ou depuis WSL)
taskkill /F /IM chrome.exe
# Redémarrer Chrome (Étape A)

Auteur : SouthernSpark (南方星火) | Xiaohongshu @南方星火 SouthernSpark | Workflow expert en automatisation IA

Skills associés