Wave CLI
Installez la commande wave, connectez-vous depuis votre navigateur, puis listez, recherchez, exportez et organisez vos enregistrements depuis le terminal.
Le Wave CLI amène vos enregistrements dans le terminal. C'est un paquet npm appelé @waveai/cli qui installe une commande wave : vous pouvez ainsi lister vos sessions, les rechercher, afficher une transcription, télécharger l'audio, ou faire transiter tout ça dans un script via un pipe. Chaque commande qui renvoie des données accepte --json, ce qui facilite la composition avec d'autres outils.
C'est gratuit sur tous les plans Wave, et il faut Node.js 20 ou plus récent. Ça fonctionne sur macOS, Linux et Windows.
Installation
npm install -g @waveai/cliPour l'essayer sans rien installer :
npx @waveai/cli sessions listConnexion
Lancez :
wave loginVotre navigateur ouvre une page Authorize Wave CLI ("Autoriser Wave CLI") qui affiche le compte sur lequel vous êtes connecté et ce que le CLI pourra faire. Cliquez sur Authorize CLI ("Autoriser le CLI") ; la page confirme avec You can close this tab and return to your terminal. ("Vous pouvez fermer cet onglet et revenir à votre terminal."). Le terminal récupère alors l'identifiant et indique le nombre de sessions dont vous disposez.
Se connecter de cette façon crée un jeton API nommé Wave CLI avec toutes les permissions que votre compte autorise — y compris la suppression définitive de sessions. Si vous voulez quelque chose de plus restreint, sautez le passage par le navigateur : créez un jeton avec uniquement les permissions dont vous avez besoin sur la page Developer API, puis exécutez wave login --token wave_api_....
Deux autres façons de s'authentifier :
wave login --token wave_api_...— collez un jeton que vous avez créé vous-même. Pratique pour la CI et les machines sans interface.- Définissez une variable d'environnement
WAVE_API_KEY. Elle prend le pas sur ce quewave logina enregistré, ce qui permet facilement d'exécuter une commande sous un autre compte.
wave whoami affiche le compte, l'état de l'abonnement et le nombre de sessions. wave logout efface l'identifiant enregistré sur cette machine.
Pour couper l'accès d'une machine que vous ne contrôlez plus, révoquez le jeton nommé Wave CLI dans l'application web Wave, sous l'onglet Integrations ("Intégrations"), puis Developer API. Cela le désactive partout où il était utilisé.
Les commandes
Sessions
wave sessions list— avec--limit,--since(accepte7d,2w,1m),--type,--folder,--tag(répétable) et--tag-mode.wave sessions get <id>— métadonnées, résumé, notes, tags et détails d'appel téléphonique pour une session.wave sessions update <id>— définit--title,--notes,--tags,--favorite/--no-favorite.wave sessions add-folder <session_id> <folder_id>etwave sessions remove-folder— les dossiers ne sont pas exclusifs, donc en ajouter un ne retire pas les autres.wave sessions action-items get <session_id>etwave sessions action-items update <session_id>— lisez les actions à mener avec leur version, puis réécrivez-les depuis un fichier ou stdin, éventuellement protégées par--if-matchpour qu'une modification concurrente dans l'application soit rejetée plutôt qu'écrasée.wave sessions delete <id>— définitif, et demande confirmation sauf si vous passez--force.
Contenu
wave search "votre requête"— recherche sémantique, avec les filtres--limitet--tag.wave transcript <id>— affiche une transcription.--formatacceptetext(par défaut),srtousegments;--speakersbascule vers une sortie avec identification des locuteurs, et--jsonrenvoie la réponse brute.wave media urls <id>— URL signées pour l'audio et la vidéo.wave media download <id>— enregistre l'audio ; ajoutez--videopour du MP4 ou--outputpour un chemin précis.wave bulk [ids...]— exporte jusqu'à 50 sessions à la fois, avec--summaryet--transcript.wave stats— nombres et durées répartis par type et par plateforme.
Dossiers
wave folders list— noms, identifiants et nombre de sessions.wave folders create "Customer research" --color "#6D28D9"— peut être relancé sans risque ; un nom correspondant renvoie le dossier existant.
Événements et webhooks
wave events list --ack,wave events ack <cursor>etwave events tail --interval 3 --ack --json— récupérez les nouvelles sessions sans avoir à héberger un récepteur de webhook. Wave mémorise votre position par jeton.wave webhooks list / create / update / test / rotate-secret / delete— gérez la livraison push, y compris l'envoi d'un événement de test et la rotation d'un secret de signature.
Configuration
wave config get, wave config set <key> <value> et wave config path gèrent api_key, api_url et default_format dans le répertoire de configuration de votre système. wave config path affiche le fichier exact, pratique quand vous devez effacer des identifiants à la main.
Quelques idées de scripts
Sauvegarder les enregistrements de la dernière semaine, transcription incluse :
wave sessions list --since 7d --limit 50 --json \
| jq -r '.sessions[].id' \
| xargs wave bulk --summary --transcript --json > backup.jsonSurveiller l'arrivée de nouvelles sessions et agir sur chacune dès qu'elle arrive :
wave events tail --interval 3 --ack --jsonLes commandes correspondent une à une aux endpoints de la Wave Developer API : tout ce que fait le CLI, vous pouvez aussi le faire depuis votre propre code — et le CLI est un moyen rapide de voir à quoi ressemble une réponse avant même d'écrire quoi que ce soit.
FAQ
api.wave.co/cli liste toutes les commandes avec des exemples, et wave --help (ou --help sur n'importe quelle sous-commande) affiche la même chose localement. Le paquet lui-même se trouve sur npmjs.com/package/@waveai/cli.
La connexion abandonne au bout d'environ une minute. Assurez-vous de la terminer dans le profil de navigateur où vous êtes connecté à Wave, puis relancez wave login. Sur une machine sans navigateur, utilisez wave login --token wave_api_....
Les jetons API expirent un an après leur création. Relancez wave login pour en générer un nouveau.
Oui — définissez WAVE_API_KEY pour cette seule commande. Cela remplace l'identifiant enregistré sans le modifier.
Cet article vous a-t-il été utile ?
Besoin d'aide supplémentaire ?