wonda-cli
Présentation
Utilisez l'interface en ligne de commande Wonda pour générer des images, vidéos, musique et audio depuis le terminal — plus la recherche et l'automatisation sur LinkedIn, Reddit et X/Twitter.
Workflow
name: wonda-cli description: Utilisation de l'interface en ligne de commande Wonda pour générer des images, vidéos, musique et audio depuis le terminal — plus la recherche et l'automatisation sur LinkedIn, Reddit et X/Twitter.
Wonda CLI
Wonda CLI est une boîte à outils de création de contenu pour les agents basés en terminal. Utilisez-la pour générer des images, vidéos, musique et audio ; éditer et composer des médias ; publier sur les réseaux sociaux ; et rechercher/automatiser des tâches 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 dans Wonda, de sorte que les agents et les hôtes de connecteurs ne voient jamais la clé sk_.... Pour le 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 stdio locale wonda-mcp directement, y compris les enregistrements 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/downloadtout en étant connecté et installez le package Mac notarié. - Appairez le relais avec
wonda relay pairou la première exécution via navigateur. Cela utilise le fluxcli-authexistant avec un identifiantwrelay_...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 complet, 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 basculer silencieusement : si le relais est hors ligne, demandez s'il faut passer au cloud.
Organisations et contexte de dépenses
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 opérations de conservation, de facturation etwonda balancepassent par le portefeuille de l'organisation.wonda use --personal— retour au personnel.wonda usage— résumé d'utilisation des dépenses uniquement (total + par modèle + par projet) pour une période (--month 2026-05, ou--from/--to; par défaut le mois en cours, UTC).--project <nom>restreint le rapport à un seul projet. En contexte d'organisation, il rapporte l'utilisation à l'échelle de l'organisation, y compris une répartition par membre — nécessite un rôle administrateur/propriétaire. Les administrateurs peuvent également télécharger un rapport Excel complet depuis la page de l'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 suit les dépenses par projet :
wonda use --project <nom>— persistant : chaque facture ultérieure porte le projet (danswonda usage, l'API et le rapport Excel de l'organisation).wonda use --no-projectarrête l'étiquetage ; le changement de contexte organisation/personnel efface automatiquement le projet (les projets sont par portée).--project <nom>sur n'importe quelle commande — remplacement ponctuel pour cette invocation.wonda project list|create|delete— gérer le registre dans la portée active. Les projets d'organisation sont créés uniquement par les administrateurs/propriétaires d'organisation ; les projets personnels sont en libre-service. L'étiquetage contre un nom inexistant é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 repasser en personnel — il ne peut pas recharger le portefeuille de l'organisation depuis le 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 (unique ou en masse via collage), expulser, changer les rôles, changer les sièges, recharger, configurer le rechargement automatique, changer les limites mensuelles.
- Utilisateur : ne peut que dépenser dans le portefeuille de l'organisation (soumis à 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 seulement en contexte d'organisation. wonda use --personal revient au plan du compte personnel de l'utilisateur.
Niveaux d'accès
Wonda est uniquement payant : 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 aux produits. Le CLI crée un compte temporaire à la première exécution, mais il n'atteint que les commandes locales ci-dessous plus les points d'accès d'authentification/facturation. Exécutez wonda auth login, puis abonnez-vous. |
| Gratuit (connecté, sans plan payant) | Aucun accès aux produits. Abonnez-vous sur https://wonda.sh/account pour utiliser le produit. |
WONDA (19,99 $/mo, "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, découpage, email, création de comptes Reddit/LinkedIn, styles, marque. |
WONDA_PREMIUM (49,99 $/mo, "Premium") | Tout dans WONDA, plus le jumeau cloud (wonda twin : provisionnement, exécutions planifiées, connexion en streaming) avec protection anti-détection / shadowban, sans limites, et création de comptes US. |
| Signalé (interrupteurs d'arrêt par compte PostHog) | 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 (sans appel API, sans crédit, sans plan) | S'exécute entièrement sur votre machine, donc fonctionne sans plan : wonda brand extract <url> (sans --save), wonda compose motion/wonda compose text, wonda wab record <url>, wonda edit ... transformations primitives ffmpeg sur des fichiers locaux, et wonda doctor. Ceux basés sur Chromium nécessitent une installation unique wonda wab install. |
Si une commande retourne une erreur 403 (paid_plan_required), abonnez-vous sur https://wonda.sh/account.
Clonage vocal
Clonez une voix à partir d'un clip audio de 10 secondes ou plus et utilisez-la dans la TTS. Limite stricte : 20 voix clonées par compte. Coût : 1,50 $ par clone.
# Cloner à partir d'un fichier local (téléversement automatique vers la médiathèque d'abord)
wonda voice create "Andu" --file ./sample.mp3 --description "Ma voix"
# Cloner à partir d'un média existant de Wonda
wonda voice create "Marque" --media-id <uuid>
# Prétraitement optionnel de l'audio source
wonda voice create "Propre" --file ./raw.wav --noise-reduction --normalize-volume
# Lister les voix clonées (chaque ligne indique isExpired et expiresInDays)
wonda voice list
# Une voix
wonda voice get <voice-id>
# Renommer / redécrire (local uniquement, sans appel fournisseur)
wonda voice update <voice-id> --name "Nouveau Nom" --description "..."
# Supprimer
wonda voice delete <voice-id>
Utiliser une voix clonée dans la TTS en passant le providerVoiceId de voice get comme voiceId dans /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 la TTS pendant 7 jours expirent automatiquement. Exécuter une TTS avec une voix clonée rafraîchit automatiquement son expiration. Les voix inactives qui expirent doivent être re-clonées (1,50 $ à nouveau).
Coffre-fort d'identifiants
Persistez les connexions créées sur des plateformes externes (Instagram, TikTok, Twitter, etc.) pour pouvoir les réutiliser lors de la prochaine exécution. Les mots de passe sont chiffrés avec AES-256-GCM à l'aide d'une clé côté serveur et ne sont déchiffrés que lors de la récupération (get).
# Créer
wonda credentials create --website instagram.com --username monpseudo \
--email [email protected] --password-stdin <<< "hunter2" \
--metadata '{"signup_source":"wonda-email"}'
# Lister (les mots de passe sont omis)
wonda credentials list --website instagram.com
# Obtenir l'enregistrement complet, y compris le mot de passe déchiffré
wonda credentials get <id>
# Mettre à jour n'importe quel champ (utilisez --password-stdin pour faire tourner ; --username "" pour effacer)
wonda credentials update <id> --username nouveaupseudo
# Supprimer
wonda credentials delete <id>
# Récupérer + enregistrer la raison de son utilisation en un seul appel — POST, pas GET, car
# il écrit un événement 'used' avec la raison. Préférez cela à `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é / tourné / mis à jour) pour audit
wonda credentials events <id>
Champs : website (obligatoire — une entrée typée comme insta est canonisée en instagram.com), username, email, password (obligatoire), metadata (JSON arbitraire). Au moins l'un de username / email doit être présent. Plusieurs enregistrements par (website, username) sont autorisés — dédupliquez de votre côté si nécessaire.
Journal des événements : chaque credentials get/use, create, rotation de mot de passe et autres mises à jour sont enregistrés 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 des événements est en ajout seulement et se propage en 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é automatiquement lorsque stdout est redirigé)--quiet— Sortir uniquement l'identifiant principal (ID de tâche, ID de média, etc.) — idéal pour les scripts-o <chemin>— Télécharger la sortie vers 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 et avertissements de dépréciation
Sur chaque commande, le CLI interroge GET /api/v1/updates (anonyme, cache de 1 h dans ~/.wonda/state.json) pour les annonces actives : avis de dépréciation, alertes d'incident, invites de mise à niveau. Les messages sont imprimés uniquement sur stderr, donc stdout/JSON reste propre pour le piping.
Les indices de dépréciation par requête arrivent sous forme d'en-tête HTTP standard Warning: 299 - "<message>" et sont affichés sur stderr par le client HTTP du CLI comme [deprecated METHOD /path] <message>.
Silencez les deux canaux avec WONDA_QUIET=1 (variable d'environnement) ou --quiet (indicateur). Désactivez uniquement les vérifications réseau avec WONDA_NO_UPDATE_CHECK=1.
WAB / Navigateur d'automatisation Wonda (wonda wab)
Le Navigateur d'automatisation Wonda (WAB) est un navigateur furtif premium anti-détection, renforcé pour que les plateformes ne puissent pas le reconnaître comme une automatisation. wonda wab est la commande unique pour la pile Chromium anti-détection (un fork de Playwright non détecté). Il a deux facettes :
- Sessions authentifiées. Un Chromium plein écran persistant par persona qui contient des sessions connectées pour LinkedIn, X, Reddit et autres. Le CLI le lance à la demande, le laisse en veille, et achemine les lectures/écritures de la plateforme à travers lui lorsqu'une commande est exécutée avec
--via wab. Les cookies vivent dans le profil Chromium de la persona, pas dans~/.wonda/config.json. - Capture anonyme.
wonda wab record <url>(etwonda brand extract) pilotent un Chromium éphémère avec une empreinte fraîche, 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 stockage JSON plat (--via cookies, rapide, sans Chromium) soit la persona du compte (--via wab, Chromium anti-détection en direct). Une persona est l'enveloppe Chromium qui peut contenir plusieurs comptes sous une seule empreinte. Dans presque tous les cas, la persona est au
…
[tronqué pour la traduction]