Magic CLI - это утилита командной строки, которая использует LLMS, чтобы помочь вам более эффективно использовать командную строку, вдохновленную такими проектами, как Amazon Q (Prov. Рис. Терминал) и GitHub Copilot для CLI.
magic-cli полагается на библиотеку Orch для взаимодействия LLM (выполнение, оркестровка, выравнивание модели и т. Д.).
Прочитайте сообщение в блоге.
Осторожность
Этот проект все еще находится в раннем развитии.
Ожидайте нарушения изменений и ошибок, и, пожалуйста, сообщите о любых проблемах, с которыми вы сталкиваетесь.
Спасибо!
Примечание
Для получения дополнительных параметров, как установить 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 "
} Предоставьте подсказку, чтобы получить предложение для выполнения команды.
Это полезно в сценариях, где вы знаете приблизительно то, что вы хотите (и, возможно, даже инструмент), но не помните точных аргументов или их порядка.
Это особенно полезно с такими инструментами CLI, как ffmpeg или 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")
Поиск по команде в истории своей оболочки и получите список лучших результатов.

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 поддерживает двух поставщиков LLM:
ollama : Оллама - местный поставщик LLM. Команда ожидает, что Ollama будет установлен и работает на вашей локальной машине.openai : OpenAI - это поставщик Cloud LLM. Вы настраиваете токен API, и Magic CLI использует его с API Openai. 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", "Openai"ollama.base_url : базовый URL API Ollama (по умолчанию: "http: // localhost: 11434")ollama.embedding_model : модель, которую можно использовать для генерации встроенных вступлений (по умолчанию: «Nomic-Embed-Text: последний»)ollama.model : модель для использования для генерации ответов (по умолчанию: «Codestral: последний»)openai.api_key (секрет): ключ API для API OpenAIopenai.embedding_model : модель, которую можно использовать для генерации встроений (по умолчанию: «Текст-эмбедический-ADA-002»)openai.model : модель для использования для генерации ответов (по умолчанию: «GPT-4O»)suggest.add_to_history : добавить предложенную команду в историю оболочки (по умолчанию: false)suggest.mode : режим для использования для предложения команд. Поддерживаемые значения: «буфер обмена» (команда копирования в буфер обмена), «Небезопасное выполнение» (выполнение в текущем сеансе оболочки) (по умолчанию: «Небезопасное выполнение»)ПРИМЕЧАНИЕ.
unsafe-executionназывается как таковая, чтобы прояснить, что CLI выполняет команду в текущем сеансе оболочки. Пожалуйста, будьте чрезвычайно осторожны при использовании этого режима - Magic CLI не несет ответственности за выполнение предлагаемых команд.
Поддержка Windows (PowerShell поддерживается, но Windows не была проверена должным образом)
Поддержка большего количества поставщиков LLM (например, антроп)
Улучшение локального индекса встраивания (в настоящее время хранится наивно как JSON, посмотрите на SQLLITE с векторными расширениями)
Больше тестового покрытия
Безопасность воспринимается всерьез, и все уязвимости будут обрабатываться с особой осторожностью и приоритетом.
С точки зрения хранимых данных, конфиденциальные данные, которые в настоящее время обрабатываются Magic CLI:
~/.config/magic_cli ).Есть планы хранить этот токен в безопасном хранилище ключей системы, но это еще не реализовано.
magic-cli search , которые хранятся в конфигурации в домашнем каталоге пользователя ( ~/.config/magic_cli ) и генерируются с использованием поставщика LLM.Пожалуйста, смотрите Security.md для получения дополнительной информации и инструкций о том, как сообщать о потенциальных уязвимости.
Взносы приветствуются!
Пожалуйста, смотрите Anforming.md для получения дополнительной информации.
Единственная моя просьба заключается в том, что запросы на притяжение следуют за проблемой, так что мы избегаем ситуаций вашей тяжелой работы, не принимающейся из -за отсутствия контекста или необходимости.