Ir al contenido principal

Level CLI (lvl): Primeros pasos

Install and sign in to the Level CLI, manage your fleet from a terminal, and connect lvl to a coding agent.

Level CLI, o lvl, te permite trabajar con tu cuenta de Level desde una terminal. Puedes inspeccionar dispositivos, actualizaciones, archivos, monitores, alertas, scripts, automatizaciones e historial de ejecución sin cambiar a la aplicación web de Level.

También puedes instalar la habilidad de Level para un agente de codificación. La habilidad enseña a los agentes compatibles cómo usar los comandos y la salida JSON proporcionada por tu versión instalada de lvl. Tú proporcionas el agente de codificación, el modelo y los tokens.

ℹ️ NOTA: El lvl CLI administra tu cuenta de Level. Es independiente del agente de Level instalado en los dispositivos administrados.

Antes de comenzar

Necesitas:

  • Una cuenta de Level con acceso a la CLI habilitado para tu rol en Espacio de trabajo → Permisos. Los administradores siempre tienen acceso a la CLI.

  • Un equipo compatible que ejecute Windows, macOS o Linux en un procesador AMD64 o ARM64.

  • Un navegador que puedas usar para aprobar el inicio de sesión de la CLI.

ℹ️ NOTA: Si el acceso a la CLI está deshabilitado para tu rol, los nuevos inicios de sesión y las actualizaciones de sesión se rechazan con Your role does not allow CLI access. Un token de acceso que ya fue emitido puede seguir siendo válido hasta que expire, por hasta una hora.

Si planeas usar lvl con un agente de codificación, instala ese agente por separado. Level no aloja el modelo ni proporciona sus tokens.

Instalar la CLI

Ejecuta el comando correspondiente a tu sistema operativo.

macOS o Linux:

curl -fsSL https://downloads.level.io/cli/install.sh | sh

Esto instala lvl a ~/.local/bin/lvl. Si ese directorio no está ya en tu PATH, el instalador lo agrega al archivo de inicio de tu shell. Reinicia tu shell o sigue el comando impreso por el instalador antes de continuar.

Windows (PowerShell):

irm https://downloads.level.io/cli/install.ps1 | iex

Esto instala lvl.exe a %LOCALAPPDATA%\Programs\lvl y agrega ese directorio a tu PATH. Abre una nueva terminal si tu terminal actual no puede encontrar lvl después de la instalación.

El instalador detecta la arquitectura de tu procesador y verifica el archivo descargado y el ejecutable con los valores SHA-256 publicados.

Confirma que la CLI está disponible:

lvl --help

Iniciar sesión

Ejecuta:

lvl auth login

La CLI imprime un código de un solo uso y una URL de verificación, luego intenta abrir la URL en tu navegador.

  1. Inicia sesión en Level en el navegador. Los requisitos normales de SSO y MFA siguen aplicándose.

  2. Confirma que el navegador muestra el mismo código de un solo uso que tu terminal.

  3. Aprueba el acceso.

  4. Regresa a la terminal. La CLI detecta la aprobación y completa el inicio de sesión.

Si el navegador no se abre, copia la URL impresa en un navegador en cualquier equipo.

Verifica la sesión activa:

lvl auth status

Cierra sesión y elimina la sesión local:

lvl auth logout

Mantener la CLI actualizada

De forma predeterminada, lvl busca una versión más nueva en segundo plano cuando ejecutas un comando, como máximo una vez por hora. Si hay una actualización disponible, el siguiente comando la instala y continúa con la nueva versión.

Busca e instala una actualización de inmediato:

lvl self-update

Ejecuta tus primeros comandos

Lista de dispositivos:

lvl device list

Lista de actualizaciones de software disponibles:

lvl update list

Lista de archivos del repositorio:

lvl file list

Lista de monitores y políticas de monitor:

lvl monitor list
lvl monitor policy list

Lista de alertas activas:

lvl alert list

Usa un ID de dispositivo siempre que sea posible. También puedes hacer referencia a un dispositivo por nombre de host, nombre, apodo o un nombre de host calificado por grupo, como Servers/web-01. Si un nombre coincide con más de un registro, lvl se detiene y solicita una referencia más específica en lugar de elegir una.

Elegir un formato de salida

La mayoría de los comandos muestran una tabla de forma predeterminada. Usa JSON cuando otro programa necesite leer el resultado:

lvl device list -o json

Usa el filtro jq integrado para seleccionar parte del resultado JSON:

lvl device list --jq '.list[] | .name'

Los comandos de lista devuelven hasta 100 resultados de forma predeterminada. Usa --limit para cambiar el número, o recupera todas las páginas:

lvl device list --limit 250
lvl device list --limit all

Exporta los recursos compatibles como CSV redirigiendo la salida estándar a un archivo:

lvl device export > devices.csv
lvl alert export --status resolved > resolved-alerts.csv
lvl run export --status error > failed-runs.csv

⚠️ ADVERTENCIA: La salida JSON de los comandos de clave de API puede contener el token completo. Protege los datos exportados y los registros de CI, y no confirmes credenciales en el control de código fuente.

Ejecutar scripts

Ejecuta un script guardado en un dispositivo:

lvl script run "Check disk space" --device web-01 --wait

Ejecuta un comando sin guardar un script primero:

lvl script run --device web-01 --command 'hostname' --wait

Puedes apuntar a más de un dispositivo con --device flags, o apunta a un grupo de dispositivos con --group.

Sin --wait, el comando devuelve los nuevos ID de ejecución después de que Level acepta la solicitud. Usa los comandos de ejecución para verificar el progreso y los resultados:

lvl run list
lvl run get <run-id> --wait

Para obtener detalles sobre scripts guardados, shells, tiempos de espera, variables, salida y códigos de salida, consulta Descripción general de scripts.

Administrar automatizaciones como especificaciones

Exporta una automatización como YAML:

lvl automation spec "Patch Servers" --format yaml > patch-servers.yaml

Previsualiza los cambios antes de aplicar el archivo:

lvl automation apply -f patch-servers.yaml --dry-run

Aplica la especificación:

lvl automation apply -f patch-servers.yaml

El archivo describe el nombre de la automatización, los desencadenadores, las acciones y las variables. Puedes mantener el archivo en control de código fuente, revisar una diferencia y aplicarlo nuevamente después de realizar cambios.

⚠️ ADVERTENCIA: Aplicar una especificación de automatización reconcilia la automatización activa con el archivo. Los desencadenadores o acciones existentes que faltan en el archivo pueden eliminarse. Los cambios se aplican en secuencia, no como una sola transacción, por lo que un error puede dejar cambios anteriores en su lugar. Siempre ejecuta --dry-run, revisa el plan y mantén una exportación actualizada antes de aplicar cambios.

Las especificaciones de automatización hacen referencia a recursos de la cuenta, como scripts, grupos, etiquetas, archivos y campos personalizados, mediante ID. Trata una especificación exportada como una instantánea para la misma cuenta de Level.

Para conocer los conceptos de automatización y el editor web, consulta Descripción general de automatizaciones y Crear automatizaciones.

Usar lvl con un agente de codificación

Instala la habilidad generada por tu lvl versión:

lvl skill install

El comando instala un archivo SKILL.md donde los agentes de codificación compatibles puedan descubrirla. Los ejemplos incluyen Cursor, Claude Code, Codex, Gemini, Hermes y OpenClaw.

Después de la instalación, puedes pedirle a tu agente de codificación que inspeccione tu flota a través de lvl, redactar un script o redactar una especificación de automatización. Revisa cada comando y archivo propuesto antes de ejecutarlo o aplicarlo.

La habilidad de usuario predeterminada se actualiza automáticamente a medida que ejecutas lvl comandos, incluso después de que la CLI se actualice. No es necesario reinstalarla después de actualizar.

Muestra la habilidad generada sin instalarla:

lvl skill show

Inspecciona los flags actuales y la estructura de salida JSON de un comando:

lvl skill describe device list
lvl skill describe automation action add

ℹ️ NOTA: Instalar la habilidad no instala un agente de codificación ni conecta Level a un proveedor de LLM. Tú eliges y configuras el agente de codificación, el modelo y los tokens.

Confirmar cambios y verificar la finalización

Los comandos que eliminan recursos de forma permanente admiten --yes. En una terminal interactiva, lvl solicita confirmación antes de estos cambios. En una sesión no interactiva, como CI, los comandos que requieren confirmación fallan a menos que proporciones --yes.

Algunos comandos solicitan trabajo asíncrono y regresan antes de que el dispositivo lo complete. Estos incluyen reinicio, apagado, verificaciones de actualización, instalación de actualizaciones, scripts y automatizaciones. Usa lvl run get <run-id> --wait, el historial de ejecución, los registros de actualización o la aplicación web de Level para confirmar el resultado final.

⚠️ ADVERTENCIA: Trata las claves de instalación, los tokens de API, el inventario exportado, la salida de scripts y los archivos de automatización como información confidencial. Evita imprimirlos en terminales compartidas o registros de CI.

Obtener ayuda sobre comandos

Muestra la lista de comandos de nivel superior:

lvl --help

Muestra la ayuda para un grupo de comandos o un comando:

lvl device --help
lvl script run --help
lvl automation apply --help

La CLI instalada es la fuente de verdad para sus flags de comandos actuales y estructuras de salida. Usa lvl skill describe cuando necesites una referencia de comandos legible por máquina.

¿Ha quedado contestada tu pregunta?