genspark-chat
Automatise la navigation vers Genspark.ai, sélectionne l'agent Chat IA, choisit un modèle IA (Claude Opus 4.8 par défaut), soumet une requête et retourne les résultats formatés. USE WHEN: (1) l'utilisateur mentionne Genspark explicitement, (2) DEBUG — quand une erreur technique complexe survient (échec API, config obscure, dépendance manquante), utiliser Genspark/Claude Opus 4.8 pour la résolution au lieu de brûler des tokens DeepSeek sur du raisonnement coûteux, (3) recherche nécessitant raisonnement approfondi avec accès web. NO-TRIGGER: erreur simple déjà en mémoire ou résolvable par web_search DDGS (token gratuit, plus rapide).
Quand l'utiliser (Trigger)
Déclenchement standard selon le contexte de l'écosystème Hermès.
Mode d'emploi (Usage)
Mode d'emploi standard via l'agent Hermès. Genspark Chat IA — Recherche Automatisée
Vue d’ensemble
Ce skill automatise le workflow complet de recherche sur Genspark.ai : navigation → sélection Chat IA → choix du modèle → soumission de la requête → récupération et formatage des résultats.
Site cible : https://www.genspark.ai Modèle par défaut : Claude Opus 4.8
🧑🦱 COMPORTEMENT HUMAIN DANS LE NAVIGATEUR (règle n°1)
Ne JAMAIS cliquer ou interagir trop vite. Entre chaque action :
- Observer l’état de la page (
browser_snapshot()oubrowser_vision()) - Si la page charge ou traite quelque chose, attendre (un humain lit d’abord)
- Ne pas soumettre plusieurs actions à la suite sans vérifier l’état
Un humain regarde l’écran, réfléchit, puis agit. Faire pareil.
🎯 Objectif : Économiser les tokens
Genspark = abonnement annuel, tokens illimités sur le chat. DeepSeek API = pay-per-token ($0.11/M input, $0.22/M output). Donc :
Déléguer à Genspark (gratuit en tokens) :
- Toute recherche qui nécessite >2K tokens de raisonnement DeepSeek
- Analyse comparative, recherche avec sources web
- Debugging d’erreurs complexes/obscures
- Tout sujet où tu sens que ça va brûler beaucoup d’appels DeepSeek sans résultat clair
Faire directement avec DeepSeek (payant) :
- Questions factuelles simples (1-2 appels web_search suffisent)
- Actions exécutables (écrire du code, lancer des commandes)
- Réponses courtes, peu de raisonnement
- Ce qui peut être fait en < 500 tokens de raisonnement
Faire directement avec web_search DDGS (gratuit) :
- Recherche de documentation
- Vérification rapide de syntaxe
- Prix/produit/recherche factuelle
- Tout ce qui prend < 30s
🔍 Délégation préemptive
Si dès le début de la requête je vois que le sujet va consommer trop d’appels sans résultat clair, je délègue direct à Genspark (recherche/raisonnement) ou Manus (production de livrable). Pas besoin d’essayer d’abord et d’échouer — reconnaître un puits à tokens et sauter l’étape.
Exemple : “Analyse ce sujet complexe avec sources” → Genspark direct. “Debug cette erreur obscure” → Genspark direct.
🆘 Notification de blocage (et seulement de blocage)
Règle : Pendant une analyse Genspark, ne jamais envoyer de notification intermédiaire à l’utilisateur. Attendre la fin complète.
Exceptions (ENVOYER immédiatement) :
- Authentification — 2FA Google, OAuth, modal Workspace nécessitant validation
- Intervention manuelle — action que je ne peux pas effectuer (clic hors reach, CAPTCHA)
- Erreur fatale — timeout persistant, crash, blocage définitif
- Credential manquant — besoin du mot de passe/API key pour continuer
Ne PAS envoyer :
- Progression de la recherche
- Snapshots ou extraits partiels
- Confirmation de chaque étape
⚠️ Règle d’or : COMPORTEMENT HUMAIN (applicable à toutes les étapes)
- NE PAS cliquer trop vite — un humain lit d’abord, réfléchit, puis agit
- Entre chaque action, OBSERVER l’état de la page (snapshot ou vision)
- Si un modèle répond (streaming), attendre la fin avant de snapshotter
- Ne pas soumettre plusieurs requêtes à la suite — laisser Claude finir
- Après chaque action, attendre au moins 2-3 secondes avant la suivante
🔄 Comportement attendu : Recherches parallèles multiples
Claude Opus 4.8 sur Genspark ne répond pas immédiatement. Il suit typiquement ce pattern :
- Vague 1 (5 recherches parallèles) — exploration large du sujet
- Analyse intermédiaire : “Bonne base. Je vais creuser…”
- Vague 2 (5 recherches parallèles) — approfondissement sur les points clés
- Analyse : “Excellentes informations. Je vais récupérer quelques pages clés…”
- Vague 3 (recherches ciblées + lectures d’articles) — vérification des sources
- Synthèse : “J’ai désormais toutes les données nécessaires. Je rédige maintenant l’analyse complète.”
- Rédaction — écrit la réponse complète (peut prendre 30-90s pour une analyse détaillée)
Implications pour le monitoring :
- Chaque vague prend ~15-30s à compléter
- Ne pas s’alarmer des snapshots “gelés” pendant une vague de recherche
- Surveiller les indicateurs : “Parallel Search”, “Read”, “View crawler result”
- Le nombre de lignes tronquées (
[... X more lines truncated...]) est un bon indicateur de progression - Attendre que le champ de saisie (textbox) revienne à “Ask anything, create anything” avant de considérer la réponse comme terminée
⚠️ Règle d’or : LA QUESTION DOIT ÊTRE AUTOSUFFISANTE
Genspark ne conserve PAS l’historique de conversation entre les appels. Chaque requête part d’une page blanche.
Conséquence : Si tu te bases sur une réponse précédente de Genspark (ex: une solution déjà donnée que tu appliques et qui échoue), tu DOIS inclure TOUT le contexte dans la nouvelle question :
Exemple — MAUVAIS ❌ :
"Ça n'a pas marché, corrige"
Exemple — BON ✅ :
"I applied this solution to make Camofox auto-start with the gateway:
[commande 1]
[commande 2]
[commande 3]
When I run 'systemctl restart hermes-gateway', I get this error:
[ERREUR EXACTE]
My environment: Linux 5.15, systemd 249, Node 22
Give me the exact fix commands."
Même principe si tu changes de chat : ne présuppose JAMAIS que Claude se souvient de la question d’avant. Tout doit tenir dans un seul message.
Rappel technique : le snapshot et innerText ne montrent que la réponse encours/récente — l’historique complet n’est pas garanti.
Mode Dépannage (/gsolve)
Quand une erreur technique survient (config, déploiement, API), utiliser ce workflow pour déléguer la résolution à Claude Opus 4.8 via Genspark :
- Copier l’erreur exacte (message + contexte) + les solutions déjà tentées
- Aller sur Genspark AI Chat avec Claude Opus 4.8
- Soumettre une REQUÊTE AUTOSUFFISANTE : “I have this error: [ERREUR]. Context: [CONTEXTE + solutions déjà tentées]. Environment: Linux, [OS details]. Give me the exact commands to fix it.”
- Attendre la réponse complète
- Extraire les commandes de la réponse
- Les exécuter
- Vérifier que l’erreur est résolue
Quand utiliser /gsolve :
- Erreurs de configuration complexes
- Problèmes d’API/auth
- Dépendances manquantes
- Erreurs système obscures
- Tout problème nécessitant une recherche web + raisonnement
Quand NE PAS utiliser /gsolve (préférer web_search DDGS) :
- Questions factuelles simples
- Recherche de documentation
- Vérification rapide de syntaxe
- Tout ce qui prend < 30s à chercher
- Solutions connues déjà en mémoire
Stockage sécurisé des credentials
Les mots de passe et tokens ne doivent JAMAIS être stockés dans la mémoire (MEMORY.md / USER.md) — celle-ci est injectée dans chaque tour et pourrait fuiter.
Pattern sécurisé :
- Créer un dossier
~/.hermes/credentials/avec permissions 700 - Sauvegarder le credential dans un fichier
.envavec permissions 600 - Stocker uniquement le chemin du fichier en mémoire (pas la valeur)
- Lire avec
read_file()quand nécessaire
mkdir -p ~/.hermes/credentials && chmod 700 ~/.hermes/credentials
chmod 600 ~/.hermes/credentials/nom-du-service.env
Exemple : ~/.hermes/credentials/google-genspark.env contient :
GOOGLE_EMAIL=user@gmail.com
GOOGLE_APP_PASSWORD=xxxx
⚠️ Toujours demander au user avant la première sauvegarde. Si le user approuve explicitement, utiliser ce pattern.
⚠️ Règle : ne JAMAIS afficher le credential en clair dans la conversation
Quand tu lis un credential depuis le fichier sécurisé pour l’utiliser (ex: browser_type), la valeur apparaît dans ton message. C’est interdit.
- Lire le fichier silencieusement (sans afficher le contenu dans ta réponse)
- Utiliser la valeur sans la mentionner
- Si le user remarque le credential dans l’historique, supprimer immédiatement de la vue
- Stocker le chemin du fichier en mémoire, jamais la valeur
Prérequis
- Browser Hermes fonctionnel — soit agent-browser (Chromium local), soit Camofox (Camoufox)
- Fallback Playwright + Camoufox (quand Camofox server est HS) — voir section dédiée ci-dessous
- Compte Genspark connecté — via Camofox (session persistante), cookies exportés, ou connexion directe Google OAuth
- Pour la connexion Google OAuth : mot de passe d’application Google stocké dans
~/.hermes/credentials/google-genspark.env(pas de 2FA automatisable — l’utilisateur doit approuver la notification sur son téléphone)
Outils Hermes utilisés
| Outil MCP (Claude in Chrome) | Équivalent Hermes |
|---|---|
navigate | browser_navigate(url) |
find | browser_snapshot() → ref @eX |
computer (click) | browser_click(ref) |
javascript_tool | browser_console(expression=...) |
get_page_text | browser_vision() ou browser_console(document.body.innerText) |
tabs_context_mcp | Non nécessaire (onglet unique) |
tabs_create_mcp | Non nécessaire |
Fallback Playwright + Camoufox (quand Camofox server indisponible)
Quand le serveur Camofox (localhost:9377) n’est pas joignable (package non installé, dépendance manquante), utiliser Playwright avec le binaire Camoufox directement.
Installation
pip3 install playwright
playwright install firefox # ou chromium (Camoufox est Firefox-based)
Le binaire Camoufox se trouve à : /home/bf/.cache/camoufox/camoufox-bin
Connexion Playwright
from playwright.async_api import async_playwright
async with async_playwright() as p:
browser = await p.firefox.launch(
headless=True,
executable_path="/home/bf/.cache/camoufox/camoufox-bin"
)
page = await browser.new_page()
await page.goto("https://www.genspark.ai/...")
Avantages
- Bypasse Cloudflare — Camoufox a des fingerprints anti-détection intégrés (User-Agent Firefox 135, canvas spoofing, WebGL spoofing)
- Fonctionne en headless
- Pas de serveur à maintenir
Limitations
- Playwright s’installe côté système (
pip3 install), pas dans le venv Hermes - Utiliser
/usr/bin/python3pour exécuter les scripts Playwright si le venv Hermes n’a pas le package - Les sessions Playwright sont éphémères (pas de persistence cookies entre runs)
Workflow type
- Lancer Camoufox via Playwright
- Naviguer vers Genspark
- Accepter les terms → attendre auto-redirect vers
login.genspark.ai - Cliquer
#GoogleExchangesur la page Azure AD - Remplir email Google + mot de passe
- Attendre 2FA (approbation téléphone)
- Récupérer le contenu après redirection vers Genspark
Genspark utilise Microsoft Azure AD B2C pour l’authentification sociale. La page de login est hébergée sur login.genspark.ai.
Options de connexion disponibles
| Méthode | Type | Ref (snapshot) | ID bouton (DOM réel) |
|---|---|---|---|
| OAuth | e2 | GoogleExchange | |
| Microsoft | OAuth | e3 | MicrosoftAccountExchange |
| Apple | OAuth | e4 | AppleManagedExchange |
| Email + Mot de passe | Direct | e5/e7 | loginWithEmailWrapper |
| SSO (Team/Enterprise) | SAML | e10 | loginWithSSOWrapper |
⚠️ Important : En Playwright, utiliser page.locator("#GoogleExchange") plutôt que les refs snapshot (qui varient). Les IDs DOM sont stables.
Workflow de connexion (flux réel 2026-05-29)
- Naviguer vers
https://www.genspark.ai/agents?id=...(ou n’importe quelle page) - La page charge → bannière “YES, I AGREE” / “OUI, JE SUIS D’ACCORD”
- Cliquer la bannière → auto-redirect vers
login.genspark.ai/.../authorize?...(Azure AD B2C) - Sur la page Azure AD, 5 options : Google, Microsoft, Apple, Email, SSO
- Cliquer
#GoogleExchange→ redirigé versaccounts.google.com/signin/identifier?... - Remplir email (
input[type='email']) → Enter → page password - Remplir password (
input[type='password']) → Enter - ⚠️ Page 2FA Google — URL
/signin/challenge/dp?TL=...— “Validation en deux étapes”- L’utilisateur doit approuver sur téléphone (notification Gmail)
- Case “Ne plus me demander sur cet appareil” cochée par défaut
- Après 2FA → auto-redirect vers Genspark (consent OAuth puis page cible)
- La session est valide jusqu’au prochain restart du gateway
⚠️ Détection de la page 2FA : Chercher "challenge" dans l’URL, ou le texte “Validation en deux étapes” / “2-Step Verification” dans le body.
⚠️ Attente 2FA : Boucler 18×5s (90s max) en vérifiant si l’URL revient sur genspark.ai.
Piège : Ne PAS cliquer avec div:has-text('Google') — ce sélecteur large peut cliquer un div englobant qui contient TOUS les providers et tomber sur Apple (comme observé). Toujours utiliser #GoogleExchange exact.
Session Camofox perdue (restart gateway)
managed_persistence: true ne persiste PAS les cookies OAuth Google.
Les sessions Google sont en mémoire et perdues à chaque restart du gateway.
Recovery après restart :
- Naviguer vers
https://www.genspark.aivia Camofox - VNC :
http://<vps>:6080pour voir le browser - Se connecter manuellement avec Google (email → password → approuver 2FA sur téléphone)
- Cocher “Don’t ask again on this device” → prochain restart nécessite uniquement login, pas 2FA
C’est une étape manuelle one-time par restart. Le flux automatisé fonctionne entre les restarts.
Étapes d’exécution
Étape 1 — Naviguer vers Genspark.ai
browser_navigate("https://www.genspark.ai")
Accepter les cookies si nécessaire (snapshot → trouver “YES, I AGREE” → click).
Étape 2 — Naviguer vers AI Chat
browser_click("@e28") # ou ref équivalente pour "AI Chat" sur la page d'accueil
# ou directement :
browser_navigate("https://www.genspark.ai/agents?type=ai_chat")
# Note: cette URL charge vide si non connecté
Étape 3 — Vérifier/sélectionner le modèle
Le modèle actuel est affiché sous forme d’image avec l’alt text du nom (ex: img "Claude Haiku 4.5"). Le sélecteur est un div.model-selection-button dans le DOM Vue.js.
Pour ouvrir le sélecteur de modèle :
# Via JavaScript (le snapshot peut ne pas montrer de ref cliquable)
browser_console(expression="document.querySelector('div.model-selection-button')?.click()")
# Ou via snapshot si le modèle affiche une ref
browser_click("@eX") # ref du bouton modèle
Modèles disponibles (liste exhaustive testée le 2026-05-19) :
| Modèle | Type | Ref (dropdown ouvert) |
|---|---|---|
| Mixture-of-Agents | Auto-mix | e2 |
| Claude Sonnet 4.6 | Anthropic | e11 |
| Claude Opus 4.8 | Anthropic (recommandé) | e12 |
| Claude Opus 4.6 | Anthropic | e13 |
| Claude Haiku 4.5 | Anthropic | e14 [checked] |
| Gemini 3 Flash Preview | e15 | |
| Gemini 3.1 Pro Preview | e16 | |
| DeepSeek V4 Pro | DeepSeek | e18 |
| Grok 4.20 Reasoning | xAI | e22 |
| (liste complète dans le snapshot — ~23 modèles) |
Sélection :
browser_click("@e12") # pour Claude Opus 4.8
⚠️ Piège : “You need to start a new chat to switch models” Après avoir changé de modèle, Genspark affiche un message demandant de démarrer un nouveau chat. Cliquer sur “New Chat” ou envoyer une nouvelle requête dans le champ pour que le changement prenne effet.
Étape 4 — Saisir et soumettre la requête (comme un humain)
browser_snapshot()pour trouver le champ de saisie (@eX)- Méthode préférée :
browser_console(expression)pour remplir le champ via JavaScript :
(Siconst el = document.querySelector('[contenteditable]') || document.querySelector('textarea'); el.textContent = 'requête complète et autosuffisante...'; el.dispatchEvent(new Event('input', {bubbles: true}));browser_typeéchoue avec 500, cette méthode de contournement fonctionne toujours) - Soumettre la requête :
browser_press("Enter")— généralement ça fonctionne- Si Enter ne soumet pas (modal bloquant, ou interface spécifique), chercher le bouton d’envoi dans le snapshot et cliquer dessus
- ⏱️ Attendre la réponse — voir le pattern en 3+ vagues ci-dessus. Surveiller avec
browser_snapshot()toutes les 10-15s.- Délai total estimé : 45-120 secondes pour une analyse complète avec recherches
- NE PAS cliquer frénétiquement — laisser Claude travailler
- Indicateur de progression : “Thinking…”, “Parallel Search…”, “Read”, nombre de lignes tronquées qui augmente
Étape 5 — Récupérer les résultats
La réponse de Claude apparaît progressivement (streaming). Le snapshot ne montre qu’un résumé tronqué. Trois méthodes d’extraction :
Méthode A — Snapshot simple (réponses courtes < 30 lignes) :
# Attendre la fin du streaming
browser_snapshot()
Méthode B — Console JavaScript (réponses longues, recommandée) :
# Quand la réponse dépasse la limite d'affichage du snapshot
# (indicateur : "[... X more lines truncated...]" avec X > 20)
browser_console(expression="document.body.innerText")
Le résultat dans innerText inclut la requête, la réflexion intermédiaire et la réponse finale.
Méthode C — Extraction ciblée (quand innerText est trop volumineux) :
# Pour extraire uniquement la réponse rédigée (après la section "Analyse comparative...")
browser_console(expression="""Array.from(document.querySelectorAll('h1,h2,h3,p,strong,li,pre,code,table,th,tr,td')).map(el=>el.tagName+'|'+el.innerText.substring(0,300)).join('\\n===\\n')""")
Indicateurs de fin de réponse :
- Le champ de saisie est revenu à “Ask anything, create anything”
- Le curseur clignotant (▊) a disparu
- Plus aucun bouton “Thinking…” ou “Stop” visible
- Le snapshot ne change plus entre deux vérifications consécutives
Workflow complet testé (session 2026-05-19)
browser_navigate("https://www.genspark.ai")browser_snapshot()→ trouver “YES, I AGREE” puisbrowser_click("@e83")browser_navigate("https://www.genspark.ai/login")→ page Azure AD B2C- Cliquer “Google” →
browser_click("@e2") - Sur Google : taper email →
browser_type("@e2", "email@gmail.com")→browser_click("@e4") - Sur Google password : taper mot de passe d’application →
browser_type("@e1", "password")→browser_click("@e3") - ⚠️ Google 2-Step Verification apparaît → l’utilisateur doit approuver sur son téléphone
- Après 2FA → redirigé vers Genspark connecté (l’interface montre “New”, “Home”, “Workflows”, “Teams”, “Drive”)
browser_navigate("https://www.genspark.ai/agents?type=ai_chat")- Ouvrir sélecteur de modèle →
browser_console(...click model-selection-button...) - Cliquer Claude Opus 4.8 →
browser_click("@e12") - ⚠️ Message “You need to start a new chat” → cliquer dans le champ et envoyer une requête
- Type requête →
browser_type("@e6", "query...")+browser_press("Enter") - Surveillance périodique →
browser_snapshot()jusqu’à réponse complète - Récupération →
browser_console(expression="document.body.innerText")
🔔 Notification et livraison des résultats
Règle utilisateur : Ne PAS envoyer de notifications intermédiaires pendant que l’analyse Genspark est en cours. Attendre la fin complète de la réponse avant de livrer le résultat à l’utilisateur.
Exceptions (blocages uniquement) : Envoyer immédiatement si :
- Authentification nécessaire (2FA Google, OAuth, modal Workspace)
- Intervention manuelle requise (cliquer un bouton que je ne peux pas atteindre, accepter des CGU non automatisables)
- Erreur fatale qui empêche de continuer (timeout persistant, 500, CAPTCHA)
Workflow de monitoring sans notification :
- Soumettre la requête →
browser_press("Enter") - Surveiller en silence avec
browser_snapshot()toutes les 15-20s - Indicateurs de progression :
- “Thinking…▊” → Claude réfléchit, ne pas interrompre
- “Parallel Search…” → vague de recherche en cours
- Lignes tronquées qui augmentent (
[... X more lines...]) → réponse se construit
- Ne livrer le résultat qu’à la fin complète (voir indicateurs de fin ci-dessus)
- Ne pas envoyer “Je vérifie la progression…” ou “La réponse se construit…” — silence jusqu’au résultat final
HITL (Human In The Loop)
Policy : Ne pas demander de confirmation intermédiaire — livrer le résultat final directement à l’utilisateur.
À envoyer immédiatement (blocages uniquement) :
- Authentification requise (2FA, OAuth Google)
- Intervention manuelle nécessaire
- Erreur fatale empêchant la progression
Ne pas envoyer :
- Snapshots de progression (“la réponse se construit…”)
- Statut “je vérifie…”
- Comptes rendus de vagues de recherche
Pour bloquer par manque de credentials : Voir section “Stockage sécurisé des credentials” ci-dessus. Si le credential n’est pas stocké, demander au user et proposer de le sauvegarder.
Gestion des erreurs
| Situation | Action |
|---|---|
| Page ne charge pas | Attendre 5s, réessayer |
| Chat IA introuvable | Inspecter avec browser_snapshot(full=true) |
| Modèle non disponible | Choisir le modèle Claude le plus proche |
| CAPTCHA détecté | Informer l’utilisateur, ne pas contourner |
| Pas de compte connecté | Demander à l’utilisateur de se connecter |
| Google OAuth 2FA | Demander un mot de passe d’application Google |
| Page Azure AD vide | Login complexe (iframes) — essayer browser_snapshot(full=true) |
| Timeout > 60s | Proposer de simplifier la requête |
Testé — Session du 2026-05-19 + 2026-06-11
Navigateur testé : agent-browser (Chrome 148) puis Camofox (Camoufox v135).
2026-05-19 : navigation, cookies, page login Azure AD, AI Chat URL, tous les providers sociaux présents.
2026-06-11 : session persistante après 2FA (Genspark), sélection Claude Opus 4.8 via clic programmatique, workaround browser_console validé pour remplacer browser_type.
Pitfalls
❌ Browser timeout au premier lancement
agent-browser install
Voir references/agent-browser-recovery.md dans hermes-agent.
❌ browser_type échoue (500) sur Camofox
Ne pas insister. Utiliser le workaround browser_console pour remplir les champs via JavaScript :
const el = document.querySelector('[contenteditable]');
el.textContent = 'texte...';
el.dispatchEvent(new Event('input', {bubbles: true}));
❌ Clic long timeout (>30s) sur Camofox
Utiliser browser_console pour cliquer programmatiquement au lieu de browser_click :
for (const b of document.querySelectorAll('button')) {
if (b.textContent.includes('cible')) { b.click(); break; }
}
❌ Genspark multi-scope OAuth — Second 2FA pour Workspace AI Chat
Genspark a deux scopes OAuth distincts qui déclenchent chacun leur propre 2FA Google :
- Scope 1 : le site principal (
genspark.ai— page d’accueil, login) - Scope 2 : le Workspace AI Chat (
agents?type=ai_chatou pages Workspace)
Ce qui se passe : Même si tu es déjà connecté à Genspark, la première navigation vers AI Chat ouvre un modal “Sign in or sign up for Workspace”. Cliquer “Continue with Google” déclenche un NOUVEAU flow OAuth complet → email → mot de passe → notification 2FA sur l’iPhone.
Solution :
- Se connecter d’abord sur la page d’accueil → OK
- Naviguer vers AI Chat → modal Workspace apparaît
- Cliquer “Continue with Google” → accepter la 2FA (l’utilisateur valide)
- ✅ Cocher “Don’t ask again” — après cette validation, plus de 2FA pour Genspark sur ce device
- Chaque restart du gateway nécessite de refaire la connexion, mais si “Don’t ask again” est coché, seul le premier OAuth Workspace nécessite 2FA à nouveau
⚠️ Attention : Si un modal “Get started with Workspace” bloque l’affichage du chat, le fermer ou cliquer “Continue with Google” selon le cas.
❌ Enter ne soumet pas le message
Sur Genspark AI Chat, Enter peut ne pas soumettre le message (surtout après un modal de connexion). Solutions :
- Vérifier qu’aucun modal ne bloque l’écran (sign-in, promo)
- Fermer les modals d’abord (cliquer sur X ou Escape)
- Utiliser
browser_consolepour trouver et cliquer le bouton d’envoi
❌ Popup $19.9 “Unlock Unlimited” récurrent
Genspark affiche constamment une bannière “Unlock Unlimited Usage from $19.9”. La fermer via son bouton “Close” est nécessaire avant d’interagir avec le chat, mais elle peut réapparaître après une navigation.
L’URL agents?type=ai_chat ne montre que des éléments génériques si pas connecté.
❌ Camofox perd les sessions OAuth au restart
Les cookies OAuth sont en mémoire — un gateway restart les efface. L’utilisateur doit se reconnecter (2FA nécessaire une fois, puis “Don’t ask again”).
❌ “You need to start a new chat to switch models”
Après sélection d’un nouveau modèle, ce message apparaît. Le champ de saisie est toujours accessible — envoyer une nouvelle requête pour lancer le chat avec le nouveau modèle.
❌ Google 2FA à la reconnexion
Google demande une notification push sur l’iPhone. La case “Don’t ask again on this device” est cochée par défaut — après validation, la session persiste. Demander à l’utilisateur de valider.
Exemple concret : Analyse comparative multi-sources (session 2026-06-11)
Ce pattern est idéal pour les requêtes complexes nécessitant données chiffrées, avis utilisateurs et comparaisons :
Requête type
Analyse comparative détaillée de [sujet]. Contexte : [contexte complet].
Questions à analyser en profondeur :
1. [Question économique/chiffrée]
2. [Question de performance/vitesse]
3. [Question de qualité/comparaison]
4. [Stratégie recommandée]
5. [Avis utilisateurs et données probantes]
Merci de fournir UN TABLEAU COMPARATIF synthétique avec [critères].
Comportement observé
- Claude lit la requête → “Je vais faire des recherches actualisées”
- Vague 1 : 5 recherches parallèles sur les aspects larges
- “Bonne base. Je vais creuser [points spécifiques]”
- Vague 2 : 5 recherches parallèles ciblées
- “Excellentes informations. Je vais récupérer quelques pages clés”
- Lecture d’articles crawlé (2-3 articles)
- Rédaction : introduction → 5 sections → tableau comparatif → verdict
- Durée totale : ~90-150s, résultat très complet avec sources
Exemple de sujet adapté
- Comparaison de coûts entre services (API vs abonnement)
- Analyse de benchmarks entre modèles
- Stratégie d’optimisation multi-critères
Ce que ce skill ne fait PAS
- Ne gère pas la connexion/authentification à Genspark
- Ne contourne pas les CAPTCHAs ou Google 2FA
- Ne modifie pas les paramètres du compte
- Ne soumet pas de requêtes en rafale
Références
references/mcp-to-hermes-tool-mapping.md— Correspondance des outils MCP → Hermesreferences/delegation-cost-strategy.md— Stratégie complète de délégation (DeepSeek vs Genspark vs Manus vs web_search) avec coûtsreferences/credential-storage.md— Pattern de stockage sécurisé des mots de passe/tokensreferences/playwright-camoufox-login.md— Scripts Playwright, sélecteurs Azure AD, flux 2FA (validé 2026-05-29)templates/result-template.md— Template pour formater les résultats Genspark
Absorbed: Manus Chat
references/manus-chat.md — Automate navigation to Manus.im, Google OAuth authentication, query submission, and result extraction. Previously a standalone skill (manus-chat).
references/google-gsi-iframe-pitfall.md— Pitfall with Google GSI iframe login flow (from manus-chat).
Absorbed: Genspark Knowledge Pipeline
references/genspark-knowledge-pipeline.md — Pipeline Genspark → second cerveau: IA query → structured Obsidian note → git commit → auto-available RAG. Previously a standalone skill (genspark-knowledge).
- scripts/genspark-to-brain.py — Script that runs the full Genspark-to-Obsidian pipeline.