Минималистичный настраиваемый кроссшелльный промпт на Rust, показывающий важную информацию о проекте и окружении.
cantino/mcfly
Поиск по истории команд в shell на Rust: замена Ctrl-R на полноэкранный поиск с учётом контекста и ранжированием нейросетью.
- Звёзды
- 7,810
- Форки
- 203
- Открытые issues
- 136
- Последний коммит
- 2 месяца назад
Что это?
McFly заменяет стандартный поиск по истории команд Ctrl-R в shell на полноэкранный поиск, который ранжирует результаты с учётом рабочей директории и недавно выполненных команд. Ранжирование в реальном времени выполняет небольшая нейросеть, поэтому нужная команда должна оказаться ближе к началу списка.
McFly сохраняет код завершения, время и директорию выполнения каждой команды в базе SQLite и при этом продолжает вести обычный файл истории shell. Команды можно удалять из обоих хранилищ, а подкоманда dump экспортирует историю в JSON или CSV с необязательными фильтрами по времени и регулярному выражению.
Инструмент поддерживает Zsh, Bash 3+, Fish и PowerShell 7+; его можно установить через Homebrew, MacPorts, WinGet, Zinit или Cargo. Такие параметры, как светлая тема, клавиши Vim, нечеткий поиск и шаблон исключения, настраиваются через переменные окружения.
Ключевые возможности
- 01Заменяет Ctrl-R на полноэкранный поиск по истории, где результаты ранжирует небольшая нейросеть.
- 02Учитывает рабочую директорию, предыдущие команды, частоту и давность выполнения, а также коды завершения прошлых запусков.
- 03Сохраняет код завершения, время и директорию в SQLite, не прекращая вести обычный файл истории shell.
- 04Позволяет удалить команду и из базы McFly, и из файлов истории shell.
- 05Экспортирует историю в JSON или CSV с фильтрами по времени и регулярному выражению.
Сценарии использования
- Поиск длинной или сложной команды, которую вы ранее запускали в той же директории проекта.
- Предотвращение повторного запуска старых команд с ошибками за счёт учёта кода завершения при ранжировании.
- Экспорт истории shell для аудита или анализа с фильтрами по регулярному выражению и дате.
- Удаление случайно введённых секретов из истории shell.
Быстрый старт
- 1
Установите mcfly с помощью Homebrew
brew install mcfly - 2
Добавьте строку init в конец файла конфигурации оболочки (показан пример для Bash; варианты для Zsh и Fish приведены в README)
eval "$(mcfly init bash)" - 3
Перезагрузите конфигурацию оболочки или перезапустите терминал
. ~/.bashrc
Что важно знать
- Мейнтейнер сообщает, что у него нет времени поддерживать проект, и ищет со-мейнтейнеров.
- Скрипт установки WinGet не поддерживается проектом, поэтому проект не может гарантировать его точность или безопасность.
Темы
Частые вопросы
- Что такое mcfly?
- Поиск по истории команд в shell на Rust: замена Ctrl-R на полноэкранный поиск с учётом контекста и ранжированием нейросетью. McFly заменяет стандартный поиск по истории команд Ctrl-R в shell на полноэкранный поиск, который ранжирует результаты с учётом рабочей директории и недавно выполненных команд. Ранжирование в реальном времени выполняет небольшая нейросеть, поэтому нужная команда должна оказаться ближе к началу списка.
- mcfly можно использовать бесплатно? Какая у него лицензия?
- mcfly распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- mcfly всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в mcfly — 1 сент. 2026 г..
- Для чего можно использовать mcfly?
- Поиск длинной или сложной команды, которую вы ранее запускали в той же директории проекта. Предотвращение повторного запуска старых команд с ошибками за счёт учёта кода завершения при ранжировании. Экспорт истории shell для аудита или анализа с фильтрами по регулярному выражению и дате. Удаление случайно введённых секретов из истории shell.
- Как установить mcfly?
- Установите mcfly с помощью Homebrew: brew install mcfly Добавьте строку init в конец файла конфигурации оболочки (показан пример для Bash; варианты для Zsh и Fish приведены в README): eval "$(mcfly init bash)" Перезагрузите конфигурацию оболочки или перезапустите терминал: . ~/.bashrc
- Где скачать mcfly?
- Исходный код и инструкции по установке — на GitHub: https://github.com/cantino/mcfly
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Универсальный CLI-инструмент для нечёткого поиска по любому списку: фильтрует ввод и превращает shell-скрипты в интерактивные терминальные селекторы.
POSIX-совместимый bash-скрипт для установки и переключения между несколькими версиями Node.js для каждого пользователя и shell.
Фреймворк от сообщества для управления конфигурацией zsh: сотни плагинов и тем, а также инструмент обновления.
Warp — среда разработки с агентами на базе терминала, встроенным coding agent и поддержкой собственных CLI-агентов.
Инструмент поиска по регулярным выражениям (rg), который рекурсивно обходит каталоги и по умолчанию учитывает правила .gitignore.