Magic CLI ist ein Befehlszeilen -Dienstprogramm, das LLMs verwendet, um die Befehlszeile effizienter zu verwenden, inspiriert von Projekten wie Amazon Q (Prev. Fig. Terminal) und Github Copilot für CLI.
magic-cli verlässt sich auf die Orch-Bibliothek für LLM-Interaktionen (Ausführung, Orchestrierung, Modellausrichtung usw.).
Lesen Sie den Ankündigungsblog -Beitrag.
Vorsicht
Dieses Projekt befindet sich noch in der frühen Entwicklung.
Erwarten Sie Brechen von Änderungen und Fehler und melden Sie Ihre Probleme, denen Sie begegnen.
Danke schön!
Notiz
Weitere Optionen zur Installation von Magic CLI finden Sie in der Seite "Releases" für die Version, die Sie installieren möchten.
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 "Weitere Binärdateien für Ihre Plattform finden Sie auf der Seite "Veröffentlichungen".
Fügen Sie Ihrem ~/.bashrc oder ~/.zshrc Funktionen hinzu, um die Eingabeaufforderungen im Terminal zu vereinfachen (keine Anführungszeichen erforderlich).
Zum Beispiel:
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 "
} Geben Sie eine Eingabeaufforderung an, um einen Vorschlag für den Befehl zu erhalten.
Dies ist nützlich in Szenarien, in denen Sie ungefähr wissen, was Sie wollen (und vielleicht sogar an das Werkzeug), sich jedoch nicht an die genauen Argumente oder ihre Bestellung erinnern.
Dies ist besonders nützlich bei CLI -Tools wie ffmpeg oder 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")
Suchen Sie einen Befehl in Ihrem Shell -Verlauf und erhalten Sie eine Liste der Top -Ergebnisse.

magic-cli search " zellij attach " Usage: magic-cli search [OPTIONS] <PROMPT>
Arguments:
<PROMPT> The prompt to search for
Wichtig
Word to the Wise: Wenn Sie ein nicht lokales LLM verwenden, seien Sie vorsichtig mit den Kosten der Einbettungen, insbesondere für lange Schalengeschichten.
Stellen Sie eine Eingabeaufforderung mit einer Aufgabe an, die das Modell ausführen soll, und beobachten Sie, wie Sie versuchen, einen Befehl vorzuschlagen, um das Ziel zu erreichen. Es kann Sie auf dem Weg zum Ausführen von Befehlen auffordern, wenn es mehr Kontext benötigt.
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 unterstützt zwei LLM -Anbieter:
ollama : Ollama ist ein lokaler LLM -Anbieter. Der Befehl erwartet, dass Ollama installiert und auf Ihrem lokalen Computer ausgeführt wird.openai : OpenAI ist ein Cloud LLM -Anbieter. Sie konfigurieren ein API -Token, und Magic CLI verwendet es mit den OpenAI -APIs. Magic CLI speichert Konfigurationen in ~/.config/magic_cli/config.json .
Verwenden Sie magic-cli config (um die Optionen anzuzeigen, verwenden Sie magic-cli config --help ), um die Konfigurationsoptionen festzulegen:
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
Die derzeit unterdrückten Konfigurationsoptionen sind:
llm : Die LLM, die zur Erzeugung von Antworten verwendet werden muss. Unterstützte Werte: "Ollama", "Openai"ollama.base_url : Die Basis -URL der OLLAMA -API (Standard: "http: // localhost: 11434")ollama.embedding_model : Das Modell, das zum Generieren von Einbettungen verwendet werden soll (Standard: "Nomic-embed-Text: neuest")ollama.model : Das Modell, das zum Generieren von Antworten verwendet werden soll (Standard: "Codestral: Last")openai.api_key (Geheimnis): Der API -Schlüssel für die OpenAI -APIopenai.embedding_model : Das Modell zum Generieren von Einbettungen (Standard: "Text-Embedding-ada-ad-002")openai.model : Das Modell, das für die Generierung von Antworten verwendet werden soll (Standard: "GPT-4O")suggest.add_to_history .suggest.mode : Der Modus, der zum Vorschlag von Befehlen verwendet werden soll. Unterstützte Werte: "Clipboard" (Befehl kopieren in die Zwischenablage), "unsicher-execution" (Ausführung in der aktuellen Shell-Sitzung) (Standard: "Unsichere Exezution"))HINWEIS:
unsafe-executionwird als solche benannt, um klar zu machen, dass die CLI den Befehl in der aktuellen Shell-Sitzung ausführt. Bitte seien Sie äußerst vorsichtig, wenn Sie diesen Modus verwenden - Magic CLI ist nicht für die Ausführung der vorgeschlagenen Befehle verantwortlich.
Windows -Unterstützung (PowerShell wird unterstützt, aber Windows wurde nicht ordnungsgemäß getestet)
Unterstützung für mehr LLM -Anbieter (z. B. anthropisch)
Verbesserung des lokalen Einbettungsindex (derzeit naiv als JSON gespeichert, untersucht SQLLite mit Vektorerweiterungen)
Weitere Testabdeckung
Die Sicherheit wird ernst genommen und alle Schwachstellen werden mit äußerster Sorgfalt und Priorität behandelt.
In Bezug auf die gespeicherten Daten sind die sensiblen Daten, die derzeit von Magic CLI behandelt werden,:
~/.config/magic_cli ) gespeichert ist.Es ist geplant, dieses Token im sicheren Schlüsselspeicher des Systems zu speichern, dies wird jedoch noch nicht implementiert.
magic-cli search , die in der Konfiguration im Benutzer-Home-Verzeichnis ( ~/.config/magic_cli ) gespeichert sind und mit dem LLM-Anbieter der Wahl generiert werden.Weitere Informationen und Anweisungen zur Berichterstattung über potenzielle Sicherheitslücken finden Sie unter Security.md.
Beiträge sind willkommen!
Weitere Informationen finden Sie unter Mitarbeit.md.
Meine einzige Anfrage ist, dass Pull -Anfragen einem Problem folgen, sodass wir aufgrund eines Mangels an Kontext oder Notwendigkeit nicht akzeptiert werden, dass Ihre harte Arbeit nicht akzeptiert wird.