CLI de Wave
Instala el comando wave, inicia sesión desde tu navegador y lista, busca, exporta y organiza tus grabaciones desde la terminal.
La CLI de Wave pone tus grabaciones en la terminal. Es un paquete de npm llamado @waveai/cli que instala un comando wave, con el que puedes listar sesiones, buscarlas, imprimir una transcripción, descargar audio o canalizar cualquiera de estos datos hacia un script. Todo comando que devuelve datos acepta --json, lo que facilita combinarlo con otras herramientas.
Es gratis en todos los planes de Wave y requiere Node.js 20 o superior. Funciona en macOS, Linux y Windows.
Instalación
npm install -g @waveai/cliPara probarlo sin instalar nada:
npx @waveai/cli sessions listIniciar sesión
Ejecuta:
wave loginTu navegador abrirá una página Authorize Wave CLI ("Autorizar Wave CLI") que muestra la cuenta con la que iniciaste sesión y qué podrá hacer la CLI. Haz clic en Authorize CLI ("Autorizar CLI"), y la página confirmará con You can close this tab and return to your terminal. ("Puedes cerrar esta pestaña y volver a tu terminal."). La terminal detectará la credencial e informará cuántas sesiones tienes.
Iniciar sesión de esta forma crea un token de API llamado Wave CLI con todos los permisos que admite tu cuenta, incluyendo la eliminación permanente de sesiones. Si prefieres algo más restringido, evita el flujo del navegador: crea un token con solo los permisos que necesites en la página Developer API y ejecuta wave login --token wave_api_... en su lugar.
Otras dos formas de autenticarte:
wave login --token wave_api_...: pega un token que hayas creado tú mismo. Ideal para CI y máquinas sin interfaz.- Configura una variable de entorno
WAVE_API_KEY. Tiene prioridad sobre lo que haya guardadowave login, lo que facilita ejecutar un comando con una cuenta distinta.
wave whoami muestra la cuenta, el estado de la suscripción y el número de sesiones. wave logout borra la credencial guardada en esta máquina.
Para bloquear el acceso de una máquina que ya no controlas, revoca el token llamado Wave CLI en la aplicación web de Wave, en la pestaña Integrations ("Integraciones"), luego Developer API. Eso lo anula en todos los lugares donde se usó.
Los comandos
Sesiones
wave sessions list: admite--limit,--since(acepta7d,2w,1m),--type,--folder,--tag(repetible) y--tag-mode.wave sessions get <id>: metadatos, resumen, notas, etiquetas y detalles de llamadas telefónicas de una sesión.wave sessions update <id>: establece--title,--notes,--tags,--favorite/--no-favorite.wave sessions add-folder <session_id> <folder_id>ywave sessions remove-folder: las carpetas no son excluyentes, así que agregar una no elimina otra.wave sessions action-items get <session_id>ywave sessions action-items update <session_id>: lee los elementos de acción con su versión y vuelve a escribirlos desde un archivo o stdin, opcionalmente protegido con--if-matchpara que una edición simultánea en la app sea rechazada en vez de sobrescrita.wave sessions delete <id>: permanente, y pide confirmación a menos que uses--force.
Contenido
wave search "tu consulta": búsqueda semántica, con filtros--limity--tag.wave transcript <id>: imprime una transcripción.--formataceptatext(el valor predeterminado),srtosegments;--speakerscambia a un formato con etiquetas de interlocutor, y--jsondevuelve la respuesta sin procesar.wave media urls <id>: URLs firmadas de audio y video.wave media download <id>: guarda el audio; agrega--videopara obtener MP4 o--outputpara especificar una ruta.wave bulk [ids...]: exporta hasta 50 sesiones a la vez, con--summaryy--transcript.wave stats: recuentos y duraciones desglosados por tipo y plataforma.
Compartir
wave shared list: sesiones que otros usuarios de Wave compartieron contigo, con--limity--cursor.wave shared get <owner_id> <session_id>,wave shared transcript,wave shared action-itemsywave shared media: consulta una sesión compartida.transcriptadmite las mismas opciones--formaty--speakersquewave transcript.wave sessions list --include-shared: mezcla sesiones compartidas en tu lista, cada una marcada con quién la compartió.wave sessions share <id>: imprime un enlace de invitación. Agrega--email a@x.com,b@y.com(hasta 10) y opcionalmente--messagepara enviar invitaciones por correo.wave sessions access <id>: quién tiene acceso, además de las invitaciones por correo pendientes.wave sessions unshare <id>con--recipient <user_id>,--email <address>o--everyone: quita a una persona, cancela una invitación pendiente o restablece el enlace y quita a todos.wave sessions share reset <id>restablece el enlace; agrega--remove-everyonepara quitar también el acceso de todos.
Las sesiones compartidas son de solo lectura, y wave search solo abarca las tuyas. Más información en Compartir sesiones desde Claude, ChatGPT, la API y la CLI.
Carpetas
wave folders list: nombres, ids y número de sesiones.wave folders create "Customer research" --color "#6D28D9": se puede ejecutar de nuevo sin problema; un nombre coincidente devuelve la carpeta ya existente.
Eventos y webhooks
wave events list --ack,wave events ack <cursor>ywave events tail --interval 3 --ack --json: consume sesiones nuevas sin necesidad de hospedar un receptor de webhooks. Wave recuerda tu posición por token.wave webhooks list / create / update / test / rotate-secret / delete: gestiona la entrega push, incluido el envío de un evento de prueba y la rotación de un secreto de firma.
Configuración
wave config get, wave config set <key> <value> y wave config path gestionan api_key, api_url y default_format en el directorio de configuración de tu sistema operativo. wave config path imprime la ruta exacta del archivo, útil cuando quieres borrar credenciales manualmente.
Un par de cosas que vale la pena automatizar
Respaldar las grabaciones de la última semana, transcripción incluida:
wave sessions list --since 7d --limit 50 --json \
| jq -r '.sessions[].id' \
| xargs wave bulk --summary --transcript --json > backup.jsonVigilar nuevas sesiones y actuar sobre cada una en cuanto llega:
wave events tail --interval 3 --ack --jsonLos comandos se corresponden uno a uno con la Wave Developer API, así que todo lo que hace la CLI también lo puedes hacer desde tu propio código; la CLI es una forma rápida de ver cómo luce una respuesta antes de escribir nada.
Preguntas frecuentes
api.wave.co/cli enumera todos los comandos con ejemplos, y wave --help (o --help en cualquier subcomando) imprime lo mismo localmente. El paquete en sí está en npmjs.com/package/@waveai/cli.
El inicio de sesión se cancela después de aproximadamente un minuto. Asegúrate de completarlo en el perfil del navegador donde tienes la sesión iniciada en Wave, luego ejecuta wave login de nuevo. En una máquina sin navegador, usa wave login --token wave_api_....
Los tokens de API caducan un año después de crearse. Ejecuta wave login de nuevo para generar uno nuevo.
Sí: configura WAVE_API_KEY solo para ese comando. Anula la credencial guardada sin modificarla.
¿Te resultó útil este artículo?
¿Necesitas más ayuda?