Passer au contenu principal

Level CLI (lvl) : Démarrage

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

Level CLI, ou lvl, vous permet de gérer votre compte Level depuis un terminal. Vous pouvez inspecter les appareils, les mises à jour, les fichiers, les moniteurs, les alertes, les scripts, les automatisations et l'historique d'exécution sans avoir à basculer vers l'application web Level.

Vous pouvez également installer la compétence Level pour un agent de codage. La compétence apprend aux agents compatibles comment utiliser les commandes et la sortie JSON fournies par votre version installée de lvl. Vous fournissez l'agent de codage, le modèle et les jetons.

ℹ️ REMARQUE : Le lvl CLI gère votre compte Level. Il est distinct de l'agent Level installé sur les appareils gérés.

Avant de commencer

Vous avez besoin :

  • D'un compte Level avec l'accès CLI activé pour votre rôle sous Espace de travail → Autorisations. Les administrateurs ont toujours accès à la CLI.

  • D'un ordinateur compatible fonctionnant sous Windows, macOS ou Linux avec un processeur AMD64 ou ARM64.

  • D'un navigateur que vous pouvez utiliser pour approuver la connexion à la CLI.

ℹ️ REMARQUE : Si l'accès CLI est désactivé pour votre rôle, les nouvelles connexions et les renouvellements de session sont rejetés avec Your role does not allow CLI access. Un jeton d'accès déjà émis peut rester valide jusqu'à son expiration, pendant une durée maximale d'une heure.

Si vous prévoyez d'utiliser lvl avec un agent de codage, installez cet agent séparément. Level n'héberge pas le modèle et ne fournit pas ses jetons.

Installer la CLI

Exécutez la commande correspondant à votre système d'exploitation.

macOS ou Linux :

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

Ceci installe lvl vers ~/.local/bin/lvl. Si ce répertoire ne figure pas déjà dans votre PATH, le programme d'installation l'ajoute au fichier de démarrage de votre shell. Redémarrez votre shell ou suivez la commande affichée par le programme d'installation avant de continuer.

Windows (PowerShell) :

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

Ceci installe lvl.exe vers %LOCALAPPDATA%\Programs\lvl et ajoute ce répertoire à votre PATH. Ouvrez un nouveau terminal si votre terminal actuel ne trouve pas lvl après l'installation.

Le programme d'installation détecte l'architecture de votre processeur et vérifie l'archive téléchargée ainsi que l'exécutable par rapport aux valeurs SHA-256 publiées.

Vérifiez que la CLI est disponible :

lvl --help

Se connecter

Exécutez :

lvl auth login

La CLI affiche un code à usage unique et une URL de vérification, puis tente d'ouvrir l'URL dans votre navigateur.

  1. Connectez-vous à Level dans le navigateur. Vos exigences habituelles en matière de SSO et d'AMF s'appliquent toujours.

  2. Vérifiez que le navigateur affiche le même code à usage unique que votre terminal.

  3. Approuver l'accès.

  4. Retournez au terminal. La CLI détecte l'approbation et finalise la connexion.

Si le navigateur ne s'ouvre pas, copiez l'URL affichée dans un navigateur sur n'importe quel ordinateur.

Vérifiez la session active :

lvl auth status

Déconnectez-vous et supprimez la session locale :

lvl auth logout

Maintenir la CLI à jour

Par défaut, lvl vérifie en arrière-plan l'existence d'une version plus récente lorsque vous exécutez une commande, au maximum une fois par heure. Si une mise à jour est disponible, votre prochaine commande l'installe et continue sur la nouvelle version.

Vérifiez et installez immédiatement une mise à jour :

lvl self-update

Exécutez vos premières commandes

Lister les appareils :

lvl device list

Lister les mises à jour logicielles disponibles :

lvl update list

Lister les fichiers du dépôt :

lvl file list

Lister les moniteurs et les politiques de moniteur :

lvl monitor list
lvl monitor policy list

Lister les alertes actives :

lvl alert list

Utilisez un identifiant d'appareil dans la mesure du possible. Vous pouvez également faire référence à un appareil par son nom d'hôte, son nom, son surnom ou un nom d'hôte qualifié par groupe tel que Servers/web-01. Si un nom correspond à plus d'un enregistrement, lvl s'arrête et demande une référence plus précise au lieu d'en choisir une.

Choisir un format de sortie

La plupart des commandes affichent un tableau par défaut. Utilisez JSON lorsqu'un autre programme doit lire le résultat :

lvl device list -o json

Utilisez le filtre jq intégré pour sélectionner une partie du résultat JSON :

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

Les commandes de liste retournent jusqu'à 100 résultats par défaut. Utilisez --limit pour modifier le nombre, ou récupérez toutes les pages :

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

Exportez les ressources compatibles en CSV en redirigeant la sortie standard vers un fichier :

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

⚠️ AVERTISSEMENT : La sortie JSON des commandes de clé d'accès peut contenir le jeton complet. Protégez les données exportées et les journaux d'intégration continue, et ne commitez pas les identifiants dans le contrôle de version.

Exécuter des scripts

Exécutez un script enregistré sur un appareil :

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

Exécutez une commande sans enregistrer préalablement un script :

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

Vous pouvez cibler plusieurs appareils avec des drapeaux répétés --device drapeaux, ou ciblez un groupe d'appareils avec --group.

Sans --wait, la commande renvoie les nouveaux identifiants d'exécution après que Level a accepté la demande. Utilisez les commandes d'exécution pour vérifier la progression et les résultats :

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

Pour plus de détails sur les scripts enregistrés, les shells, les délais d'expiration, les variables, la sortie et les codes de sortie, consultez Présentation des scripts.

Gérer les automatisations sous forme de spécifications

Exportez une automatisation en YAML :

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

Prévisualisez les modifications avant d'appliquer le fichier :

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

Appliquez la spécification :

lvl automation apply -f patch-servers.yaml

Le fichier décrit le nom de l'automatisation, les déclencheurs, les actions et les variables. Vous pouvez conserver le fichier dans le contrôle de version, examiner un diff et l'appliquer à nouveau après avoir effectué des modifications.

⚠️ AVERTISSEMENT : L'application d'une spécification d'automatisation réconcilie l'automatisation en cours avec le fichier. Les déclencheurs ou actions existants absents du fichier peuvent être supprimés. Les modifications sont appliquées en séquence, et non comme une transaction unique ; une erreur peut donc laisser en place les modifications antérieures. Exécutez toujours --dry-run, examinez le plan et conservez une exportation à jour avant d'appliquer les modifications.

Les spécifications d'automatisation font référence aux ressources du compte telles que les scripts, les groupes, les balises, les fichiers et les champs personnalisés par identifiant. Traitez une spécification exportée comme un instantané pour le même compte Level.

Pour les concepts d'automatisation et l'éditeur web, consultez Présentation des automatisations et Créer des automatisations.

Utiliser lvl avec un agent de codage

Installez la compétence générée par votre lvl version :

lvl skill install

La commande installe un SKILL.md fichier où les agents de codage compatibles peuvent la découvrir. Les exemples incluent Cursor, Claude Code, Codex, Gemini, Hermes et OpenClaw.

Après l'installation, vous pouvez demander à votre agent de codage d'inspecter votre parc via lvl, rédiger un script ou rédiger une spécification d'automatisation. Examinez chaque commande et chaque fichier proposés avant de les exécuter ou de les appliquer.

La compétence utilisateur par défaut est actualisée automatiquement au fur et à mesure que vous exécutez des lvl commandes, y compris après la mise à niveau de la CLI. Il n'est pas nécessaire de la réinstaller après une mise à niveau.

Affichez la compétence générée sans l'installer :

lvl skill show

Inspectez les drapeaux actuels et la structure de sortie JSON d'une commande :

lvl skill describe device list
lvl skill describe automation action add

ℹ️ REMARQUE : L'installation de la compétence n'installe pas d'agent de codage et ne connecte pas Level à un fournisseur LLM. Vous choisissez et configurez vous-même l'agent de codage, le modèle et les jetons.

Confirmer les modifications et vérifier l'achèvement

Les commandes qui suppriment définitivement des ressources prennent en charge --yes. Dans un terminal interactif, lvl demande une confirmation avant ces modifications. Dans une session non interactive, comme l'intégration continue, les commandes nécessitant une confirmation échouent sauf si vous fournissez --yes.

Certaines commandes demandent un travail asynchrone et se terminent avant que l'appareil ne l'ait achevé. Cela inclut le redémarrage, l'arrêt, les vérifications de mise à jour, l'installation de mise à jour, les scripts et les automatisations. Utilisez lvl run get <run-id> --wait, l'historique d'exécution, les journaux de mise à jour ou l'application web Level pour confirmer le résultat final.

⚠️ AVERTISSEMENT : Traitez les clés d'installation, les jetons d'accès à l'interface de programmation, l'inventaire exporté, la sortie des scripts et les fichiers d'automatisation comme des données sensibles. Évitez de les afficher dans des terminaux partagés ou dans des journaux d'intégration continue.

Obtenir de l'aide sur les commandes

Affichez la liste des commandes de niveau supérieur :

lvl --help

Affichez l'aide pour un groupe de commandes ou une commande :

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

La CLI installée est la source de vérité pour ses drapeaux de commandes actuels et ses structures de sortie. Utilisez lvl skill describe lorsque vous avez besoin d'une référence de commande lisible par machine.

Avez-vous trouvé la réponse à votre question ?