Magic CLI

Консольная утилита на Rust: подсказывает команды оболочки по описанию, ищет по истории терминала и решает задачи через локальную или облачную модель

  • 745 ★ репозитория
  • Последний коммит
  • MIT
CLI

Широкий доступ

Почему такой уровень

  • Режим `unsafe-execution` выполняет предложенную моделью команду в текущей оболочке, а команда `ask` может просить запустить другие команды
  • При облачной модели описание задачи и фрагменты истории оболочки уходят к ее поставщику
  • Ключ OpenAI хранится в обычном файле настроек, а не в защищенном хранилище системы
Все причины и проверки

guywaldman/magic-cli

Установка

Ручная установка

brew install guywaldman/tap/magic-cli

Другие способы: скрипт и PowerShell-установщик со страницы релизов, а также готовые бинарники.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Режим `unsafe-execution` выполняет предложенную моделью команду в текущей оболочке, а команда `ask` может просить запустить другие команды
  • При облачной модели описание задачи и фрагменты истории оболочки уходят к ее поставщику
  • Ключ OpenAI хранится в обычном файле настроек, а не в защищенном хранилище системы

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Magic CLI — консольная утилита на Rust, которая обращается к языковой модели, чтобы вы реже заглядывали в справку по командам. Команда `magic-cli suggest` принимает описание задачи, например «изменить размер картинки до 300×300 через `ffmpeg`», и предлагает готовую команду с пояснением. Полезна для утилит с длинными аргументами вроде `ffmpeg` и `kubectl`, когда вы примерно знаете, что нужно, но не помните порядок параметров. В зависимости от настройки команда копируется в буфер обмена или выполняется в текущей оболочке. Команда `magic-cli search` ищет по истории оболочки по смыслу: она строит векторные представления команд и возвращает лучшие совпадения. Команда `magic-cli ask` предназначена для задач вроде «настроить окружение, как описано в README»: модель предлагает команды и по ходу может задавать вопросы и просить выполнить команды, чтобы собрать контекст. Обе команды автор называет экспериментальными. Модель выбирается настройкой: локальная `ollama` или облачная OpenAI. Параметры лежат в файле ~/.config/magic_cli/config.json и меняются командой `magic-cli config`. Для запросов без кавычек в описании предлагается завести в ~/.bashrc или ~/.zshrc короткие функции-обертки, например `mcs` для `suggest`.

Для кого. Для разработчиков и администраторов, которые много работают в терминале и хотят получать команды по описанию на своем компьютере, в том числе с локальной моделью без передачи данных наружу.

Подходит, если

  • Нужно вспомнить порядок аргументов для `ffmpeg`, `kubectl` или другой утилиты с длинным синтаксисом
  • Надо найти в истории терминала команду, которую вы запускали давно, но не помните слов
  • Хочется получать подсказки команд от локальной модели через `ollama` без облачного ключа
  • Нужен небольшой единый бинарник, который ставится одной командой или через Homebrew
  • Задача по настройке окружения описана в тексте, и модель должна предложить команды шаг за шагом

Не подходит, если

  • Нужен терминальный помощник со многими провайдерами моделей, REPL-чатом и RAG: в каталоге для такого есть AIChat
  • Вам нужен агент, который сам правит файлы проекта и ведет большие задачи: Magic CLI только предлагает команды и сам кода не пишет
  • Вы работаете на Windows и нужна проверенная поддержка: PowerShell-установщик есть, но Windows автор как следует не проверял
  • Команды нельзя исполнять без тщательной проверки человеком, а режим выполнения включен: тогда задайте копирование в буфер

Пример запроса к агенту

Запусти `magic-cli suggest` с описанием «изменить размер test_image.png до 300×300 через `ffmpeg`» и покажи предложенную команду, не выполняя ее

Ограничения

Проект в ранней разработке, версия 0.0.6: автор предупреждает о возможных поломках при обновлениях и просит сообщать об ошибках. Лицензия MIT.

Два режима работы команды `suggest` называются `clipboard` и `unsafe-execution`. Описание проекта называет режимом по умолчанию выполнение, а в коде значением по умолчанию стоит копирование в буфер, поэтому проверьте настройку и задайте ее явно.

Ключ OpenAI хранится в файле настроек в вашей домашней папке, перенос в защищенное хранилище системы только планируется. Векторные представления истории команд тоже лежат в этой папке, как простой JSON, и их построение у облачной модели стоит денег, особенно при длинной истории.

В списке настроек заявлены `ollama` и OpenAI, а Anthropic в описании возможностей упомянут, но в планах значится как будущая поддержка. Модели по умолчанию: `codestral` для `ollama` и `gpt-4o` для OpenAI.

Как отключить. Удалите бинарник: `brew uninstall magic-cli` при установке через Homebrew или файл magic-cli из папки, куда его положил установщик. Затем удалите ~/.config/magic_cli, там лежат настройки, ключ OpenAI и индекс истории. Строки с функциями-обертками уберите из ~/.bashrc или ~/.zshrc, если добавляли.

Частые вопросы

Как поставить Magic CLI?

Командой `brew install guywaldman/tap/magic-cli`, скриптом установки из релиза (`curl` с адресом magic-cli-installer.sh на странице релизов) или скачав бинарник под свою платформу. Для PowerShell есть magic-cli-installer.ps1.

Какие модели поддерживает Magic CLI?

В настройках можно выбрать локальную `ollama` или облачную OpenAI. По умолчанию для `ollama` указана модель `codestral`, адрес http://localhost:11434 и `nomic-embed-text` для векторных представлений, для OpenAI модель `gpt-4o` и `text-embedding-ada-002`.

Чем `suggest` отличается от `ask`?

Suggest отвечает одной командой с пояснением по короткому описанию. Ask решает задачу целиком: модель может запрашивать контекст и просить запустить команды по ходу. Ask автор называет экспериментальным.

Как искать команды по смыслу в истории оболочки?

Командой `magic-cli search` с описанием, например `magic-cli search "zellij attach"`. Она сопоставляет запрос с векторными представлениями команд из вашей истории и выдает лучшие результаты.

Где Magic CLI хранит настройки?

В файле ~/.config/magic_cli/config.json. Менять параметры можно командой `magic-cli config` с подкомандами `set`, `get`, `list`, `reset` и `path`.

Зачем нужны функции `mcs`, `mcf` и `mca`?

Это обертки, которые автор советует добавить в ~/.bashrc или ~/.zshrc: они вызывают `suggest`, `search` и `ask` и позволяют писать запрос без кавычек.

Обсуждение

Вопросов и отзывов пока нет.

CLI на Rust, который собирает кодовую базу в один промпт с деревом файлов, шаблонами и оценкой токенов

CLIРасширенный доступ7,7 тыс.Звезды репозитория

Rust-бинарник для агентов и терминала: через tree-sitter находит определение символа, его вызовы и зависимости файла

MCP-серверМинимальный доступ357Звезды репозитория

CLI на Rust для работы с более чем 20 провайдерами LLM: командный режим, REPL-чат, RAG и вызов инструментов из терминала

CLIРасширенный доступ10,5 тыс.Звезды репозитория

Две команды для терминала на Rust: qq отвечает на быстрый вопрос по командной строке, а qa делает один шаг с файлами и командами

CLIШирокий доступ629Звезды репозитория

MCP сервер структурного поиска по коду для агентов: находит нужный файл по смыслу запроса и работает локально

MCP-серверРасширенный доступ554Звезды репозитория
Официальный

MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов

MCP-серверРасширенный доступ956Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
Magic CLI (эта запись)нет745
AIChatнет10 533CLI на Rust для работы с более чем 20 провайдерами моделей, с REPL-чатом и RAG
ShellGPTнет12 296команда sgpt пишет команды оболочки и код, читает вывод из пайпа и ведет диалоги

Коротко о README

Описание начинается с предупреждения о ранней стадии и ссылки на пост автора. Затем идут возможности, четыре способа установки (скрипт, Homebrew, PowerShell, бинарники), совет по оберткам для оболочки и по разделам три команды с примерами и снимками экрана. Отдельно разобраны выбор модели, список настроек с значениями по умолчанию, дорожная карта и раздел о безопасности, где названы хранимые данные: ключ OpenAI и векторные представления истории. В репозитории есть исходный код на Rust, тесты и руководство для участников.

Бейдж для README

Сообщить о проблеме

Foxx AIMagic CLI
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.