Magic CLIは、LLMSを使用して、CLI用のAmazon Q(Prev。Figターミナル)やGithub Copilotなどのプロジェクトに触発されたコマンドラインをより効率的に使用するのに役立つコマンドラインユーティリティです。
magic-cli LLM相互作用(実行、オーケストレーション、モデルアライメントなど)のためにOrch Libraryに依存しています。
発表ブログ投稿を読んでください。
注意
このプロジェクトはまだ早期開発中です。
変化や虫を壊すことを期待してください。遭遇した問題を報告してください。
ありがとう!
注記
Magic CLIをインストールする方法の詳細については、インストールするバージョンの[リリース]ページを参照してください。
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 "プラットフォームのバイナリのリリースページを参照してください。
~/.bashrcまたは~/.zshrcに関数を追加して、端末のプロンプトを簡単にフォーマットします(引用符は必要ありません)。
例えば:
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 "
}コマンドを実行するための提案を取得するためのプロンプトを提供します。
これは、あなたが望むもの(そしておそらくツールでさえ)を知っているが、正確な引数やその順序を覚えていないシナリオで役立ちます。
これは、 ffmpegやkubectlなどのCLIツールで特に役立ちます。

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")
シェル履歴全体でコマンドを検索し、上位の結果のリストを取得します。

magic-cli search " zellij attach " Usage: magic-cli search [OPTIONS] <PROMPT>
Arguments:
<PROMPT> The prompt to search for
重要
賢者への言葉:非ローカルLLMを使用している場合は、特に長いシェルの歴史について、埋め込みのコストについて注意してください。
モデルに実行するタスクをプロンプトに提供し、目標を達成するために実行するコマンドを提案しようとするのを見てください。より多くのコンテキストが必要な場合、コマンドを実行するための道に沿って促進する場合があります。
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は2つのLLMプロバイダーをサポートしています。
ollama :Ollamaは地元のLLMプロバイダーです。コマンドは、オラマがインストールされ、ローカルマシンで実行されることを期待しています。openai :OpenaiはクラウドLLMプロバイダーです。 APIトークンを構成し、Magic CliはOpenai APIで使用します。 Magic CLIは~/.config/magic_cli/config.jsonで構成を保存します。
magic-cli config (オプションを表示するには、 magic-cli config --helpを使用して)を使用して構成オプションを設定します。
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
現在サポートされている構成オプションは次のとおりです。
llm :応答を生成するために使用するLLM。サポートされている値:「オラマ」、「オープン」ollama.base_url :Ollama APIのベースURL(デフォルト: "http:// localhost:11434")ollama.embedding_model :埋め込みの生成に使用するモデル(デフォルト: "nomic-membed-text:latest")ollama.model :応答の生成に使用するモデル(デフォルト: "Codestral:最新"))openai.api_key (secret):Openai APIのAPIキーopenai.embedding_model :埋め込みの生成に使用するモデル(デフォルト: "text-madding-aad-002"))openai.model :応答の生成に使用するモデル(デフォルト: "gpt-4o")suggest.add_to_history :提案されたコマンドをシェル履歴に追加するかどうか(デフォルト:false)suggest.mode :コマンドを提案するために使用するモード。サポート値:「クリップボード」(クリップボードへのコピーコマンド)、「Unsafe-Execution」(現在のシェルセッションで実行)(デフォルト:「Unsafe-Execution」)注:
unsafe-executionCLIが現在のシェルセッションでコマンドを実行することを明確にするために名前が付けられています。このモードを使用する場合は、非常に注意してください - マジックCLIは、提案されたコマンドの実行について責任を負いません。
Windowsサポート(PowerShellがサポートされていますが、Windowsは適切にテストされていません)
より多くのLLMプロバイダーのサポート(例えば、人類)
ローカル埋め込みインデックスを改善します(現在はJSONとして素朴に保存されており、ベクトル拡張機能を備えたsqlliteを調べます)
より多くのテストカバレッジ
セキュリティは真剣に受け止められており、すべての脆弱性は最大限の注意と優先順位をもって処理されます。
保存されているデータに関しては、Magic CLIによって現在処理されている機密データは次のとおりです。
~/.config/magic_cli )。このトークンをシステムの安全なキーストレージに保存する計画がありますが、これはまだ実装されていません。
magic-cli searchコマンドのシェル履歴の埋め込み。ユーザーホームディレクトリ内の構成( ~/.config/magic_cli )内の構成に保存され、選択したLLMプロバイダーを使用して生成されます。詳細については、潜在的な脆弱性を報告する方法については、security.mdを参照してください。
貢献は大歓迎です!
詳細については、Converting.mdをご覧ください。
私の唯一の要求は、プルリクエストが問題に従っていることです。そのため、コンテキストや必要性の欠如のためにあなたのハードワークが受け入れられない状況を避けることです。