Zev : un outil CLI pour l'interrogation rapide des commandes de terminal en langage naturel
Introduction générale
Zev est un outil d'interface de ligne de commande (CLI) facile à utiliser qui permet aux utilisateurs d'interroger et de générer rapidement des commandes de terminal en langage naturel. Au lieu de mémoriser une syntaxe de commande complexe, Zev génère des commandes de terminal en décrivant les besoins en langage courant. Basé sur l'API OpenAI ou l'API native Ollama Zev prend en charge une variété de scénarios d'exploitation, tels que la gestion de fichiers, la visualisation de processus, l'inspection de réseaux et les opérations Git. Zev est conçu pour abaisser le seuil d'utilisation de la ligne de commande et convient aux développeurs et aux novices. Les utilisateurs doivent configurer une clé API OpenAI ou un environnement Ollama local pour l'utiliser. Le code de Zev est ouvert sur GitHub, ce qui permet aux utilisateurs de contribuer librement et de le personnaliser.

Liste des fonctions
- Générer des commandes de terminal en langage naturel, par exemple "afficher l'utilisation du disque du répertoire actuel".
- Il prend en charge un grand nombre de scénarios opérationnels, notamment la manipulation de fichiers, la gestion de processus, l'inspection de réseaux et les commandes Git.
- Intégration avec l'API OpenAI pour générer des commandes intelligentes.
- Prend en charge les modèles natifs d'Ollama, ce qui permet un fonctionnement hors ligne.
- Fournit une fonction de gestion des clés API pour que les utilisateurs puissent mettre à jour les paramètres.
- Code source ouvert, soutien aux contributions de la communauté et à l'extension des fonctionnalités.
Utiliser l'aide
Processus d'installation
Zev est un outil CLI développé en Python avec un processus d'installation et de configuration simple. Voici les étapes détaillées :
- entrepôt de clones
Ouvrez un terminal et exécutez la commande suivante pour cloner le dépôt GitHub de Zev :git clone https://github.com/dtnewman/zev.git
Une fois le clonage terminé, allez dans le répertoire du projet :
cd zev
- Installation des dépendances
Zev dépend d'un environnement Python 3.6+. Assurez-vous que Python est installé, puis installez les dépendances nécessaires :pip install -r requirements.txt
Les dépendances incluent les bibliothèques client Python d'OpenAI et d'autres, qui peuvent être trouvées dans le fichier
requirements.txt
Voir dans. - Configuration des clés API OpenAI
La première fois que vous lancez Zev, il vous sera demandé une clé API OpenAI. Les utilisateurs doivent ouvrir un compte sur le site web d'OpenAI et créer une clé. Exécutez la commande suivante pour lancer la configuration :python zev.py
Saisissez la clé comme demandé et la clé sera enregistrée dans le fichier de configuration local.
Si vous devez mettre à jour la clé, exécutez :zev --update-key
- (Facultatif) Configuration du modèle Ollama
Si vous souhaitez utiliser Zev localement, vous pouvez installer Ollama et configurer un modèle local :- Visitez le site web d'Ollama pour télécharger et installer Ollama.
- Lancez le service Ollama et sélectionnez le modèle, par exemple :
ollama run llama3
- Activez le mode Ollama dans la configuration Zev, exécutez :
zev --use-ollama
Cela permettra à Zev d'utiliser un modèle local, qui convient aux utilisateurs qui ne disposent pas d'un environnement en réseau ou qui sont soucieux de la protection de leur vie privée.
- Courir Zev
Une fois l'installation et la configuration terminées, lancez la commande suivante pour démarrer Zev :python zev.py
Principales fonctions
La fonction principale de Zev est de générer des commandes terminales en langage naturel. Voici comment cela fonctionne :
- Commandes du terminal d'interrogation
Dans le terminal, tapezzev
suivi d'une description en langage naturel. Par exemple, pour voir tous les processus Python en cours d'exécution :zev 'show all running python processes'
Zev renvoie quelque chose comme
ps aux | grep python
commandes. Les utilisateurs peuvent les copier directement pour les exécuter. - opération sur les fichiers
Rechercher les fichiers récemment modifiés, par exemple :zev 'find all .py files modified in the last 24 hours'
La commande de sortie peut être :
find . -type f -name "*.py" -mtime -1
- Demande d'informations sur le système
Voir l'utilisation du disque :zev 'show disk usage for current directory'
Les commandes de sortie telles que :
du -sh .
- vérification du réseau
Tester la connectivité du réseau, par exemple :zev 'check if google.com is reachable'
La commande de sortie peut être :
ping -c 4 google.com
- Opérations Git
Voir les changements non validés dans Git :zev 'show uncommitted changes in git'
Les commandes de sortie telles que :
git status
Fonction en vedette Fonctionnement
- Soutien local au modèle Ollama
L'exécution de Zev avec Ollama est complètement hors ligne et protège la confidentialité des données. Une fois configuré, Zev appelle automatiquement le modèle local pour générer des commandes sans avoir besoin d'une connexion internet.
Exemple :zev --use-ollama 'list all files in current directory'
Commande de sortie :
ls -la
- Gestion des clés API
Les utilisateurs peuvent mettre à jour leur clé OpenAI ou changer de modèle à tout moment. Exécuter :zev --update-key
Saisissez la nouvelle clé à l'invite et la configuration prend effet immédiatement.
Précautions de manipulation
- Assurez-vous que votre réseau est stable pour utiliser l'API OpenAI. Si vous utilisez Ollama, vous devez démarrer le service de modèle à l'avance.
- La description en langage naturel de l'entrée est aussi claire et spécifique que possible afin d'éviter toute ambiguïté. Par exemple, "liste de documents" peut générer
ls
et "Lister tous les fichiers cachés" génère l'optionls -a
. - Les commandes générées par Zev sont données à titre indicatif et il est recommandé de vérifier que les commandes répondent aux attentes avant de les exécuter.
Utilisation avancée
- Génération de commandes personnalisées
Les utilisateurs peuvent forker le dépôt GitHub de Zev pour modifier le code afin de prendre en charge des scénarios spécifiques. Par exemple, pour ajouter des modèles de commande personnalisés ou pour prendre en charge d'autres modèles d'IA. - fonctionnement par lots
Zev ne permet pas actuellement de générer des commandes par lots, mais les utilisateurs peuvent invoquer Zev par le biais de scripts, par exemple, en écrivant un script shell qui passe en boucle sur le fichierzev
pour gérer des tâches multiples.
scénario d'application
- Environnement de débogage du développeur
Pour les développeurs qui utilisent fréquemment des commandes de terminal lors du débogage du code, par exemple pour vérifier l'état d'un processus ou d'un fichier, Zev permet de gagner du temps en générant rapidement des commandes en langage naturel. Par exemple, si vous tapez "find processes on port 8080", Zev génère la commande suivantelsof -i :8080
. - Apprendre la ligne de commande en tant que novice
Les nouveaux venus à la ligne de commande sont souvent frustrés par leur incapacité à se souvenir d'une syntaxe complexe. Zev abaisse donc les barrières à l'apprentissage grâce à une saisie en langage naturel. Par exemple, tapez "afficher toutes les tailles de fichiers dans le dossier actuel" et Zev générerals -lh
Les utilisateurs peuvent ainsi se familiariser rapidement avec le système. - Maintenance quotidienne pour les administrateurs de système
Pour les administrateurs système qui ont besoin de vérifier l'état d'un serveur ou d'effectuer des diagnostics réseau, Zev permet de générer rapidement des commandes telles que "check disk space" pour générer une commande "check disk space".df -h
et améliorer l'efficacité.
QA
- Quels sont les systèmes d'exploitation supportés par Zev ?
Zev est compatible avec macOS, Linux et Windows (environnement Python requis). Certaines commandes peuvent devoir être ajustées manuellement en raison de différences entre les systèmes. - Dois-je utiliser l'API OpenAI ?
Zev prend en charge les modèles locaux d'Ollama pour ceux qui les utilisent hors ligne ou qui ne veulent pas dépendre des services en nuage. - Comment contribuer au code ?
entretienshttps://github.com/dtnewman/zev
Pour plus d'informations sur la manière de contribuer au référentiel, voir la page d'accueil du référentiel.CONTRIBUTING.md
. - Les commandes générées par Zev sont-elles sûres ?
Les commandes générées par Zev sont basées sur les données de l'utilisateur et sur le raisonnement du modèle. Il est recommandé de vérifier le contenu des commandes avant de les exécuter afin d'éviter les risques potentiels.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...