Magic CLI est un utilitaire de ligne de commande qui utilise LLMS pour vous aider à utiliser la ligne de commande plus efficacement, inspirée de projets tels qu'Amazon Q (Terminal Fig) et GitHub Copilot pour CLI.
magic-cli s'appuie sur la bibliothèque Orch pour les interactions LLM (exécution, orchestration, alignement du modèle, etc.).
Lisez l'article de blog d'annonce.
Prudence
Ce projet est encore en début de développement.
Attendez-vous à des changements de rupture et à des bugs, et veuillez signaler les problèmes que vous rencontrez.
Merci!
Note
Pour plus d'options sur la façon d'installer Magic CLI, consultez la page des versions de la version que vous souhaitez installer.
curl -LsSf https://github.com/guywaldman/magic-cli/releases/download/0.0.6/magic-cli-installer.sh | shbrew install guywaldman/tap/magic-clipowershell - c " irm https://github.com/guywaldman/magic-cli/releases/download/0.0.6/magic-cli-installer.ps1 | iex "Voir la page des versions des binaires pour votre plateforme.
Ajoutez des fonctions à votre ~/.bashrc ou ~/.zshrc pour faciliter la mise en forme des invites dans le terminal (ne nécessitant pas de devis).
Par exemple:
function mcs {
model_prompt= " $* "
magic-cli suggest " $model_prompt "
}
function mcf {
model_prompt= " $* "
magic-cli search " $model_prompt "
}
function mca {
model_prompt= " $* "
magic-cli ask " $model_prompt "
} Fournissez une invite pour obtenir une suggestion à l'exécution de la commande.
Ceci est utile dans les scénarios où vous savez approximativement ce que vous voulez (et peut-être même l'outil) mais ne vous souvenez pas des arguments exacts ou de leur commande.
Ceci est particulièrement utile avec les outils CLI comme ffmpeg ou kubectl .

magic-cli suggest " Resize test_image.png to 300x300 with ffmpeg " Usage: magic-cli suggest <PROMPT>
Arguments:
<PROMPT> The prompt to suggest a command for (e.g., "Resize image to 300x300 with ffmpeg")
Recherchez une commande à travers l'historique de votre shell et obtenez une liste des principaux résultats.

magic-cli search " zellij attach " Usage: magic-cli search [OPTIONS] <PROMPT>
Arguments:
<PROMPT> The prompt to search for
Important
Word to the Wise: Si vous utilisez un LLM non local, méfiez-vous du coût des intérêts, en particulier pour les longues histoires de coquille.
Fournissez une invite avec une tâche que vous souhaitez que le modèle effectue et regardez-le essayer de suggérer une commande pour exécuter pour atteindre l'objectif. Cela peut vous inviter sur le chemin pour exécuter des commandes s'il a besoin de plus de contexte.
magic-cli ask " Set up the dev environment as described in the README " Usage: magic-cli ask <PROMPT>
Arguments:
<PROMPT> The prompt to ask for (e.g., "Set up the development environment")
Magic CLI prend en charge deux fournisseurs de LLM:
ollama : Ollama est un fournisseur LLM local. La commande s'attend à ce que Olllama soit installé et en cours d'exécution sur votre machine locale.openai : Openai est un fournisseur Cloud LLM. Vous configurez un jeton API et Magic CLI l'utilise avec les API OpenAI. Magic CLI stocke les configurations dans ~/.config/magic_cli/config.json .
Utilisez magic-cli config (pour voir les options, utilisez magic-cli config --help ) pour définir les options de configuration:
Usage: magic-cli config <COMMAND>
Commands:
set Set a value
get Get a value
list List the configurations
reset Reset the configurations to the default values
path Get the path to the configuration file
Les options de configuration actuellement supprimées sont:
llm : le LLM à utiliser pour générer des réponses. Valeurs prises en charge: "Olllama", "Openai"ollama.base_url : L'URL de base de l'API Olllama (par défaut: "http: // localhost: 11434")ollama.embedding_model : Le modèle à utiliser pour générer des intégres (par défaut: "Nomic-Embed-Text: Dernier")ollama.model : le modèle à utiliser pour générer des réponses (par défaut: "codestral: dernier")openai.api_key (secret): la clé de l'API pour l'API OpenAIopenai.embedding_model : le modèle à utiliser pour générer des intégres (par défaut: "Text-Embedding-Ada-002")openai.model : le modèle à utiliser pour générer des réponses (par défaut: "GPT-4O")suggest.add_to_history : s'il faut ajouter la commande suggérée à l'historique du shell (par défaut: false)suggest.mode : le mode à utiliser pour suggérer des commandes. Valeurs prises en charge: "Presse-tableRemarque:
unsafe-executionest nommée comme telle pour indiquer clairement que la CLI exécute la commande dans la session de shell actuelle. Veuillez être extrêmement prudent lorsque vous utilisez ce mode - Magic CLI n'est pas responsable de l'exécution des commandes suggérées.
Prise en charge de Windows (PowerShell est pris en charge, mais Windows n'a pas été testé correctement)
Support pour plus de fournisseurs de LLM (par exemple, anthropic)
Améliorer l'indice d'intégration locale (actuellement stocké naïvement en JSON, a examiné Sqllite avec des extensions vectorielles)
Plus de couverture de test
La sécurité est prise au sérieux et toutes les vulnérabilités seront traitées avec le plus grand soin et la priorité.
En termes de données stockées, les données sensibles actuellement gérées par Magic CLI sont:
~/.config/magic_cli ).Il est prévu de stocker ce jeton dans le stockage de clés sécurisé du système, mais cela n'est pas encore mis en œuvre.
magic-cli search , qui sont stockés dans la configuration dans le répertoire de l'utilisateur ( ~/.config/magic_cli ) et sont générés à l'aide du fournisseur LLM de choix.Veuillez consulter Security.md pour plus d'informations et des instructions sur la façon de signaler les vulnérabilités potentielles.
Les contributions sont les bienvenues!
Veuillez consulter contribution.md pour plus d'informations.
Ma seule demande est que les demandes de traction suivent un problème, de sorte que nous évitons les situations de votre travail acharné qui ne sont pas acceptés en raison d'un manque de contexte ou de nécessité.