Wave CLI
Instala el comando wave, inicia sesión desde tu navegador, y lista, busca, exporta y organiza tus grabaciones desde la terminal.
El Wave CLI 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, buscar en ellas, 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 más reciente. Funciona en macOS, Linux y Windows.
Instalación
npm install -g @waveai/cliPara probarlo sin instalar nada:
npx @waveai/cli sessions listInicia sesión
Ejecuta:
wave loginTu navegador abre una página Authorize Wave CLI ("Autorizar Wave CLI") que muestra la cuenta con la que iniciaste sesión y lo que el CLI podrá hacer. Haz clic en Authorize CLI ("Autorizar CLI"), y la página confirma con You can close this tab and return to your terminal ("Puedes cerrar esta pestaña y volver a tu terminal"). La terminal detecta la credencial e indica cuántas sesiones tienes.
Iniciar sesión de esta manera crea un token de API llamado Wave CLI con todos los permisos que tu cuenta admite, incluida la eliminación permanente de sesiones. Si prefieres algo más limitado, omite el flujo del navegador: crea un token con solo los permisos que necesitas 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 como otra cuenta.
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 cortar 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 desactiva en todos los lugares donde se usó.
Los comandos
Sesiones
wave sessions list— con--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>— define--title,--notes,--tags,--favorite/--no-favorite.wave sessions add-folder <session_id> <folder_id>ywave sessions remove-folder— las carpetas no son exclusivas, así que agregar una no elimina otra.wave sessions action-items get <session_id>ywave sessions action-items update <session_id>— lee elementos de acción con su versión, y luego escríbelos de nuevo desde un archivo o desde stdin, opcionalmente protegidos 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 una salida con los hablantes identificados, 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 MP4 o--outputpara una ruta específica.wave bulk [ids...]— exporta hasta 50 sesiones a la vez, con--summaryy--transcript.wave stats— recuentos y duraciones desglosados por tipo y plataforma.
Carpetas
wave folders list— nombres, ids y número de sesiones.wave folders create "Customer research" --color "#6D28D9"— se puede volver a ejecutar sin problema; un nombre que coincida devuelve la carpeta existente.
Eventos y webhooks
wave events list --ack,wave events ack <cursor>, ywave events tail --interval 3 --ack --json— consume nuevas sesiones sin necesidad de alojar 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 el archivo exacto, útil cuando quieres borrar credenciales manualmente.
Un par de cosas que vale la pena automatizar
Respalda la última semana de grabaciones, transcripción incluida:
wave sessions list --since 7d --limit 50 --json \
| jq -r '.sessions[].id' \
| xargs wave bulk --summary --transcript --json > backup.jsonDetecta nuevas sesiones y actúa 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 el CLI también puedes hacerlo desde tu propio código, y el CLI es una forma rápida de ver cómo luce una respuesta antes de escribir nada.
Preguntas frecuentes
api.wave.co/cli lista todos los comandos con ejemplos, y wave --help (o --help en cualquier subcomando) muestra lo mismo localmente. El paquete en sí está en npmjs.com/package/@waveai/cli.
El inicio de sesión se cancela tras aproximadamente un minuto. Asegúrate de completarlo en el perfil del navegador donde tienes tu sesión de Wave iniciada, y vuelve a ejecutar wave login. En una máquina sin navegador, usa wave login --token wave_api_....
Los tokens de API caducan un año después de su creación. Ejecuta wave login de nuevo para generar uno nuevo.
Sí — configura WAVE_API_KEY para ese comando en concreto. Anula la credencial guardada sin modificarla.
¿Te resultó útil este artículo?
¿Necesitas más ayuda?