Масляная раковина: CLI Инструменты для LLM
Сливочная рыба Shell — это инструмент командной строки, который добавляет возможности подсказки ИИ непосредственно в вашу оболочку (bash, zsh) через OpenAI-совместимые API. Он работает как GitHub Copilot для терминала, обеспечивая высококонтекстную помощь ИИ и автоматизацию без копирования. Когда вы вводите команду, начинающуюся с заглавной буквы, Butterfish отправляет текущий контекст оболочки ИИ для создания команд, отладки или ответа на вопросы. Он включает в себя функцию автоматического предложения, агент Goal Mode и плагин Neovim для подсказки в редакторе. Проект является открытым исходным кодом по лицензии MIT.
Что вы можете сделать с Butterfish Shell
- Отправьте ИИ из оболочки, начав команды с заглавной буквы, чтобы получить контекстную помощь, предложения команд или изменения кода.
- Задавайте такие вопросы, как «Почему эта команда потерпела неудачу?» и получайте объяснения с историей оболочки в контексте.
- Используйте режим цели, чтобы агент предлагал и выполнял команды для достижения цели (с защищенными и небезопасными вариантами).
- Автопредложите команды оболочки по мере ввода, с контекстом из недавней истории.
- Настраивайте подсказки и модели, переключайтесь между конечными точками, совместимыми с OpenAI, и просматривайте необработанные подсказки / ответы в многословном режиме.
- Доступ к набору инструментов CLI для подсказки, обобщения, генерации команд и управления встраиванием локальных файлов.
- Используйте плагин Neovim butterfish.nvim, чтобы включить подсказку LLM внутри Neovim.
- Храните токены аутентификации и быстрые конфигурации локально для конфиденциальности и портативности.
Как работает Butterfish Shell
- Архитектура: Бабочка запускает новый процесс оболочки, перехватывает вход / выход и буферизирует историю в памяти. Когда вводится команда с заглавной буквой, она пересылает подсказку в API OpenAI и передает ответ помощника обратно в терминал. Автопредложите и быстро используйте этот общий контекст.
- Модель истории для запросов API: системные сообщения (конфигурируемые подсказки), пользовательские сообщения (команды, вывод оболочки, подсказки), помощники сообщений (предыдущие ответы ИИ). История запросов ИИ ограничена лимитами токенов.
- Интеграция с раковиной: Масло меняет оболочку, чтобы показать статус использования (например, добавленные смайлики), но в остальном остается ненавязчивым для стандартных операций с оболочками.
Установка и аутентификация
- macOS/Linux: установка через Homebrew
brew install bakks/bakks/butterfish(для обертки корпуса) или установить сgo install github.com/bakks/butterfish/cmd/butterfish@latest. - Первый запуск подсказывает ключ OpenAI API и сохраняет его в
~/.config/butterfish/butterfish.envasOPENAI_TOKEN=sk-.... - Вариант: псевдоним
butterfishtobfдля удобства. - Файлы конфигурации: prompts.yaml in
~/.config/butterfish/настройка системных/пользовательских подсказок и поведения.
Обзор использования
- Начните обёртку раковины бабочки:
butterfish shell(оберните свою текущую оболочку). - Обычные команды:
ls -lвыполняется как обычно. - AI подсказки: Начните с заглавной буквы, чтобы запросить AI, например,
How do I recursively find local .py files? - Autosuggest: Нажмите Tab, чтобы принять предложенные команды.
- Goal Mode: Префиксируйте команду
!чтобы ИИ действовал как агент; приставка с!!работать в небезопасном режиме. - Специальные команды:
Help,Status,Historyи т.д. - Другие команды:
plugin,prompt,summarize,gencmd,exec,index,clearindex,loadindex,showindex,indexsearch,indexquestion.
Безопасность и затраты
- Использование OpenAI API может повлечь расходы. Autosuggest, как правило, самая дорогая функция. Вы можете сократить расходы, отключив автопредложение или скорректировав тайм-ауты.
- Режим цели может автоматизировать действия; использовать с осторожностью и помнить о потенциальных разрушительных командах.
Основные характеристики
- Обертка Shell, которая позволяет ИИ подсказывать непосредственно в терминале, начиная команды с заглавной буквы.
- Контекстные подсказки ИИ, которые включают историю оболочки для высококонтекстных ответов.
- Автопредложите для завершения команд на основе недавней истории и ввода текста.
- Режим цели (нормальный и небезопасный), позволяющий агенту ИИ выполнять команды для достижения целей.
- Прозрачные подсказки с настраиваемыми подсказками.yaml для настройки.
- Поддержка нескольких моделей и OpenAI-совместимых конечных точек через -base-url.
- Плагин Neovim (butterfish.nvim) для подсказки внутри Neovim.
- Дополнительные утилиты CLI для суммирования, генерации команд и управления встраиванием локальных файлов.
- Постоянное локальное хранение токенов API и быстрые конфигурации для обеспечения конфиденциальности.