Repolode
cantino

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. 1

    Установите mcfly с помощью Homebrew

    brew install mcfly
  2. 2

    Добавьте строку init в конец файла конфигурации оболочки (показан пример для Bash; варианты для Zsh и Fish приведены в README)

    eval "$(mcfly init bash)"
  3. 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 обновляется ежедневно.

Похожие проекты