Wonda CLI
Wonda CLI est une boîte à outils de création de contenu pour les agents en terminal. Utilisez-la pour générer des images, des vidéos, de la musique et de l'audio ; éditer et composer des médias ; publier sur les réseaux sociaux ; et effectuer des recherches/automatisations sur LinkedIn, Reddit et X/Twitter.
Installation
Si wonda n'est pas trouvé dans le PATH, installez-le d'abord :
# npm
npm i -g @degausai/wonda
# Homebrew
brew tap degausai/tap && brew install wonda
Configuration
- Authentification :
wonda auth login(ouvre le navigateur, recommandé) ou définissez la variable d'environnementWONDA_API_KEY - Vérification :
wonda auth check
Authentification du connecteur OAuth
Les connecteurs Claude web et Cowork utilisent le flux OAuth 2.1 de Wonda au lieu d'un champ de clé API en CLI. Le connecteur se connecte via Wonda dans le navigateur, accorde l'accès au compte demandé et reçoit des jetons OAuth liés à la ressource API Wonda. Le serveur échange ces jetons contre la clé API interne du compte uniquement à l'intérieur de Wonda, de sorte que les agents et les hôtes de connecteurs ne voient jamais la clé sk_.... Pour la CLI et le chemin MCP stdio local, continuez à utiliser wonda auth login ou WONDA_API_KEY.
Relais local Claude Cowork
Claude Cowork (l'application de bureau) exécute des serveurs MCP locaux sur l'hôte, il peut donc charger le bundle .mcpb ou une configuration wonda-mcp stdio locale directement, y compris les écritures WAB (vérifié le 2026-07-07). Claude web ne le peut pas. Le relais local Wonda est le chemin alternatif : il permet au connecteur DISTANT (web ou Cowork) d'exécuter des actions sur le propre Mac de l'utilisateur et son IP résidentielle sans aucune configuration MCP locale :
- Ouvrez
https://wonda.sh/downloadconnecté et installez le package Mac notarié. - Appairez le relais avec
wonda relay pairou le transfert initial par navigateur. Cela utilise le fluxcli-authexistant avec un identifiantwrelay_...délimité au relais stocké dans le Trousseau macOS. Ne demandez pas à l'utilisateur de coller une clé API ou un code d'appareil. - Ouvrez
https://wonda.sh/setup, connectez LinkedIn, X et Reddit via le WAB local headful, puis approuvez le connecteur Wonda une fois dans Claude.
La politique du moteur est auto | my_machine | cloud. auto utilise le relais local lorsqu'il est en ligne et le cloud sinon. my_machine ne doit pas silencieusement basculer : si le relais est hors ligne, demandez si l'on souhaite passer au cloud.
Organisations & contexte de dépense
Les organisations Wondercat sont des portefeuilles partagés avec leurs propres sièges et facturation. Les membres peuvent dépenser à partir du portefeuille de l'organisation (au lieu de leurs crédits personnels) en changeant de contexte :
wonda organizations list(alias :wonda orgs list,wonda org list) — voir chaque organisation à laquelle vous appartenez avec votre rôle et votre plan de siège.wonda use --org <slug>— contexte d'organisation persistant pour cette machine. DéfinitX-Wonda-Orgsur chaque requête ; les frais, les débits etwonda balancetransitent par le portefeuille de l'organisation.wonda use --personal— retour au personnel.wonda usage— résumé d'utilisation des dépenses uniquement (total + ventilation par modèle + par projet) pour une période (--month 2026-05, ou--from/--to; par défaut le mois en cours, UTC).--project <name>limite le rapport à un projet. En contexte d'organisation, il rapporte l'utilisation à l'échelle de l'organisation avec une ventilation par membre — rôle admin/propriétaire requis. Les administrateurs peuvent également télécharger un rapport Excel complet depuis la page d'organisation sur le web.
Projets (étiquetage des dépenses)
Les projets attribuent les dépenses à un flux de travail nommé pour le suivi. Les agents doivent vérifier le projet actif au début de la tâche (wonda use l'affiche) et en définir un par tâche lorsque l'opérateur surveille les dépenses par projet :
wonda use --project <nom>— persistant : chaque frais ultérieur porte le projet (danswonda usage, l'API et le rapport Excel de l'org).wonda use --no-projectarrête l'étiquetage ; le changement de contexte org/personnel efface automatiquement le projet (les projets sont par périmètre).--project <nom>sur toute commande — remplacement ponctuel pour cette invocation.wonda project list|create|delete— gérer le registre dans le périmètre actif. Les projets d'organisation sont créés uniquement par les administrateurs/propriétaires ; les projets personnels sont en libre-service. L'étiquetage avec un nom qui n'existe pas échoue avecunknown_project(pas de nouveaux buckets silencieux, donc les fautes de frappe ne peuvent pas diviser les données de suivi).
wonda topup recharge toujours votre portefeuille personnel, quel que soit le contexte. Recharger le portefeuille de l'organisation (et configurer le rechargement automatique) est réservé aux administrateurs et se fait sur le web à /organizations/<slug>. Si un membre manque de crédits d'organisation, l'erreur lui demande de contacter un administrateur ou de revenir à son compte personnel — il ne peut pas recharger le portefeuille de l'organisation depuis la CLI.
Les rôles au sein d'une organisation sont distincts du plan de siège :
- Propriétaire : le créateur original. Ne peut pas être rétrogradé ou expulsé. Peut transférer la propriété à un autre membre depuis la page de l'organisation (rare).
- Administrateur : peut inviter (individuellement ou en masse par collage), expulser, changer les rôles, changer les sièges, recharger, configurer le rechargement automatique, modifier les limites mensuelles.
- Utilisateur : peut uniquement dépenser dans le portefeuille de l'organisation (sous réserve d'une limite mensuelle par membre si l'administrateur en a défini une).
Un siège d'organisation payant (WONDA / WONDA_PREMIUM) accorde le même accès aux fonctionnalités payantes (compétences, etc.) qu'un plan personnel payant, mais uniquement en contexte d'organisation. wonda use --personal revient au plan de compte personnel de l'utilisateur.
Niveaux d'accès
Wonda est payant uniquement : chaque surface produit (génération, médias, publication, scraping, analyse, compétences, jumeau cloud) nécessite un plan payant. Les nouveaux comptes n'ont aucun crédit et aucun accès aux produits jusqu'à ce qu'ils s'abonnent.
| Niveau | Accès |
|---|---|
| Anonyme (compte temporaire, sans connexion) | Aucun accès au produit. La CLI crée un compte temporaire à la première exécution, mais il n'atteint que les commandes locales ci-dessous plus les points de terminaison d'authentification/facturation. Exécutez wonda auth login, puis abonnez-vous. |
| Gratuit (connecté, sans plan payant) | Aucun accès au produit. Abonnez-vous sur https://wonda.sh/account pour utiliser le produit. |
WONDA (19,99 $/mois, "Pro") | Tout sauf le jumeau cloud : génération (image/generate, video/generate, ...), téléchargement/téléversement de médias, publication, scraping, analyses, analyse vidéo, compétences (wonda skill install/list/get), transitions, clipping, email, création de compte reddit/linkedin, styles, marque. |
WONDA_PREMIUM (49,99 $/mois, "Premium") | Tout dans WONDA, plus jumeau cloud (wonda twin : provisionnement, exécutions planifiées, connexion diffusée) avec protection anti-détection / shadowban, sans limites, et création de comptes US. |
| Marqué (kill-switches PostHog par compte) | Inclus dans le plan payant mais toujours verrouillable par un indicateur par compte : wonda reddit signup (redditAccountCreationEnabled), wonda email (emailServerApiEnabled), enrichissement de profil LinkedIn public (linkedinProfileEnrichmentEnabled). |
| Local (pas d'appel API, pas de crédit, pas de plan) | Fonctionnent entièrement sur votre machine, donc sans plan : wonda brand extract <url> (sans --save), wonda compose motion/wonda compose text, wonda wab record <url>, wonda edit ... transformations ffmpeg primitives sur fichiers locaux, et wonda doctor. Ceux basés sur Chromium nécessitent une installation unique wonda wab install. |
Si une commande renvoie un 403 (paid_plan_required), abonnez-vous sur https://wonda.sh/account.
Clonage vocal
Clonez une voix à partir d'un clip audio de 10 s+ et utilisez-la dans un TTS. Limite stricte : 20 voix clonées par compte. Coût : 1,50 $ par clone.
# Cloner à partir d'un fichier local (téléverse automatiquement dans la médiathèque d'abord)
wonda voice create "Andu" --file ./sample.mp3 --description "Ma voix"
# Cloner à partir d'un média wonda existant
wonda voice create "Marque" --media-id <uuid>
# Prétraitement audio source facultatif
wonda voice create "Propre" --file ./raw.wav --noise-reduction --normalize-volume
# Lister les voix clonées (chaque ligne signale isExpired et expiresInDays)
wonda voice list
# Une voix
wonda voice get <voice-id>
# Renommer / re-décrire (local uniquement, pas d'appel au fournisseur)
wonda voice update <voice-id> --name "Nouveau nom" --description "..."
# Supprimer
wonda voice delete <voice-id>
Utiliser une voix clonée dans un TTS en passant le providerVoiceId de voice get comme voiceId à /audio/speech :
wonda audio speech "Bonjour le monde" \
--model minimax-speech-2-8-hd \
--params '{"voiceId":"<providerVoiceId>"}'
Expiration à 7 jours : les voix clonées qui n'ont pas été utilisées dans un TTS pendant 7 jours expirent automatiquement. Exécuter TTS avec une voix clonée rafraîchit automatiquement son expiration. Les voix inactives qui expirent doivent être reclonées (à nouveau 1,50 $).
Coffre d'identifiants
Conservez les connexions créées sur les plateformes externes (Instagram, TikTok, Twitter, etc.) pour pouvoir les réutiliser lors de la prochaine exécution. Les mots de passe sont chiffrés AES-256-GCM avec une clé côté serveur et ne sont déchiffrés qu'au get.
# Créer
wonda credentials create --website instagram.com --username monpseudo \
--email [email protected] --password-stdin <<< "hunter2" \
--metadata '{"signup_source":"wonda-email"}'
# Lister (mots de passe omis)
wonda credentials list --website instagram.com
# Obtenir l'enregistrement complet incluant le mot de passe déchiffré
wonda credentials get <id>
# Mettre à jour n'importe quel champ (utiliser --password-stdin pour faire pivoter ; --username "" pour effacer)
wonda credentials update <id> --username nouveaupseudo
# Supprimer
wonda credentials delete <id>
# Récupérer + enregistrer la raison pour laquelle vous l'utilisez en un seul appel — POST, pas GET, car
# il écrit un événement 'utilisé' avec la raison. Préférez ceci à `get` chaque fois que
# vous pouvez articuler la raison.
wonda credentials use <id> --reason "flux d'inscription instagram"
# Voir les événements récents (créé / utilisé / pivoté / mis à jour) pour audit
wonda credentials events <id>
Champs : website (obligatoire — une saisie comme insta est canonisée en instagram.com), username, email, password (obligatoire), metadata (JSON arbitraire). Au moins username ou email doit être présent. Plusieurs enregistrements par (website, username) sont autorisés — dédupliquez de votre côté si nécessaire.
Journal d'événements : chaque credentials get/use, create, rotation de mot de passe et autres mises à jour sont enregistrées comme événements sur l'identifiant (acteur : cli | web | system). Utilisez credentials events <id> ou l'icône d'historique de l'interface web pour auditer. Le journal d'événements est en ajout seul et cascade lors de la suppression de l'identifiant.
Indicateurs de sortie globaux
Toutes les commandes prennent en charge ces indicateurs de contrôle de sortie :
--json— Forcer la sortie JSON (activée automatiquement lorsque stdout est redirigé)--quiet— Sortie uniquement de l'identifiant principal (ID de tâche, ID de média, etc.) — idéal pour les scripts-o <path>— Télécharger la sortie dans un fichier (implique--wait)--fields status,outputs— Sélectionner des champs JSON spécifiques--jq '.outputs[0].media.url'— Filtrer la sortie JSON avec une expression jq
Annonces CLI & avertissements de dépréciation
Sur chaque commande, la CLI interroge GET /api/v1/updates (anonyme, cache d'1h dans ~/.wonda/state.json) pour les annonces actives : avis de dépréciation, alertes d'incidents, invites de mise à niveau. Les messages sont imprimés sur stderr uniquement, donc stdout/JSON reste propre pour la tuyauterie.
Les indications de dépréciation par requête arrivent sous la forme de l'en-tête HTTP standard Warning: 299 - "<message>" et sont affichées sur stderr par le client HTTP de la CLI sous la forme [deprecated METHOD /path] <message>.
Faites taire les deux canaux avec WONDA_QUIET=1 (variable d'env) ou --quiet (indicateur). Désactivez seulement les vérifications réseau avec WONDA_NO_UPDATE_CHECK=1.
WAB / Wonda Automation Browser (wonda wab)
Le Wonda Automation Browser (WAB) est un navigateur anti-détection furtif premium, durci pour que les plateformes ne puissent pas l'identifier comme de l'automatisation. wonda wab est la commande unique pour la pile Chromium anti-détection (un fork Playwright non détecté). Il a deux faces :
- Sessions authentifiées. Un Chromium headful persistant par persona qui contient des sessions connectées pour LinkedIn, X, Reddit et amis. La CLI le lance à la demande, le laisse inactif et achemine les lectures/écritures de la plateforme via lui lorsqu'une commande est exécutée avec
--via wab. Les cookies vivent dans le profil Chromium du persona, pas dans~/.wonda/config.json. - Capture anonyme.
wonda wab record <url>(etwonda brand extract) pilotent un Chromium éphémère avec une nouvelle empreinte digitale, sans persona, sans cookies. Voir le blocrecordci-dessous.
Le modèle mental : vous avez des comptes (une identité par plateforme). Chaque commande de plateforme achemine vers les cookies de ce compte via soit le magasin JSON plat (--via cookies, rapide, sans Chromium) soit le persona du compte (--via wab, Chromium anti-détection en direct). Un persona est l'enveloppe Chromium qui peut contenir plusieurs comptes sous une seule empreinte digitale. Dans presque tous les cas, le persona est créé automatiquement lors de la première utilisation de --via wab, nommé d'après le compte, donc vous ne tapez jamais un nom de persona.
L'extension de bureau locale wonda.mcpb utilise ce même chemin WAB local depuis Claude Desktop ou Claude Code : les cookies de la plateforme restent sur l'appareil, les lectures utilisent les cookies locaux et les écritures utilisent le WAB local. Claude web et Cowork ont besoin du connecteur MCP distant à la place.
**Connexion natio…