by Charmbracelet (community) Windows, macOS, Linux
AI для терминала от команды Charmbracelet — создателей таких инструментов как glow, bubbletea, glamour. Минималистичный, красивый, Unix-совместимый. Особенности: - Pipe-first дизайн: cat file.py | mods "оптимизируй" - Поддержка OpenAI, Anthropic, Cohere, Groq, Ollama - Форматированный вывод через glamour (markdown в терминале) - История разговоров в SQLite - Простая конфигурация через YAML - Идеален для интеграции в shell скрипты
# macOS: brew install charmbracelet/tap/mods # Linux (apt): sudo mkdir -p /etc/apt/keyrings curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list sudo apt update && sudo apt install mods # Примеры: mods "что такое eBPF" git diff | mods "напиши commit message" cat access.log | mods "найди подозрительные запросы"
[!NOTE]
Закрытие Mods
9 марта 2026 года мы закрываем Mods и архивируем этот репозиторий, чтобы сосредоточить наши усилия на Crush.
Многие функции Mods можно найти в неинтерактивном режиме Crush —
crush run. Мы планируем продолжать развивать неинтерактивный режим Crush, поэтому если в Mods есть функции, которые вы хотели бы видеть в Crush, сообщите нам.Mods останется открытым исходным кодом и будет доступен публично. Если вам нравится этот проект и вы хотели бы поддерживать форк, пожалуйста, делайте это.
Спасибо за поддержку этого проекта, и пишите нам в Slack или Discord, если у вас есть какие-либо вопросы.
AI для командной строки, созданный для конвейеров.

AI на основе больших языковых моделей (LLM) полезен для обработки вывода команд и форматирования результатов в Markdown, JSON и других текстовых форматах. Mods — это инструмент, который добавляет каплю AI в вашу командную строку и делает ваши конвейеры искусственно интеллектуальными.
Отлично работает с LLM, запущенными локально через LocalAI. Вы также можете использовать OpenAI, Cohere, Groq или Azure OpenAI.
Используйте менеджер пакетов:
# macOS или Linux
brew install charmbracelet/tap/mods
# Windows (с Winget)
winget install charmbracelet.mods
# Arch Linux (кстати)
yay -S mods
# Nix
nix-shell -p mods
Debian/Ubuntu
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
sudo apt update && sudo apt install mods
Fedora/RHEL
echo '[charm]
name=Charm
baseurl=https://repo.charm.sh/yum/
enabled=1
gpgcheck=1
gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo
sudo yum install mods
Установка из портов:
cd /usr/ports/sysutils/mods
make install
Или скачайте его:
Или просто установите его с помощью go:
go install github.com/charmbracelet/mods@latest
Дополнения для оболочек
Все пакеты и архивы поставляются с предварительно сгенерированными файлами дополнений для Bash, ZSH, Fish и PowerShell.
Если вы собрали его из исходного кода, вы можете сгенерировать их с помощью:
mods completion bash -h
mods completion zsh -h
mods completion fish -h
mods completion powershell -h
Если вы используете пакет (например, Homebrew, Debs и т.д.), дополнения должны быть настроены автоматически, при условии, что ваша оболочка настроена правильно.
Mods работает, читая стандартный ввод и добавляя перед ним промпт, указанный в аргументах mods. Он отправляет входной текст в LLM и выводит результат, при необходимости запрашивая у LLM форматирование ответа в формате Markdown. Это даёт вам возможность «задать вопрос» о выводе команды. Mods также работает со стандартным вводом или промптом из аргументов по отдельности.
Обязательно посмотрите примеры) и список всех возможностей).
Mods работает с совместимыми с OpenAI конечными точками. По умолчанию Mods настроен для поддержки официального API OpenAI и установки LocalAI на порту 8080. Вы можете настроить дополнительные конечные точки в файле настроек, запустив mods --settings.
Беседы сохраняются локально по умолчанию. Каждая беседа имеет SHA-1 идентификатор и заголовок (например, git!).

Проверьте ./features.md) для получения дополнительной информации.
-m, --model: Указать используемую большую языковую модель-M, --ask-model: Запросить выбор модели через интерактивный промпт-f, --format: Попросить LLM отформатировать ответ в указанном формате--format-as: Указать формат для вывода (используется с --format)-P, --prompt: Включить промпт из аргументов и stdin, обрезать stdin до указанного количества строк-p, --prompt-args: Включить промпт из аргументов в ответ-q, --quiet: Выводить только ошибки в стандартный поток ошибок-r, --raw: Выводить сырой ответ без подсветки синтаксиса--settings: Открыть настройки-x, --http-proxy: Использовать HTTP-прокси для подключения к конечным точкам API--max-retries: Максимальное количество повторных попыток--max-tokens: Указать максимальное количество токенов для ответа--no-limit: Не ограничивать количество токенов ответа--role: Указать используемую роль (см. пользовательские роли)--word-wrap: Переносить вывод по ширине (по умолчанию 80)--reset-settings: Восстановить настройки по умолчанию--theme: Тема для форм; допустимые варианты: charm, catppuccin, dracula и base16--status-text: Текст, отображаемый во время генерации-t, --title: Установить заголовок для беседы.-l, --list: Показать список сохранённых бесед.-c, --continue: Продолжить с последнего ответа или по указанному заголовку или SHA-1.-C, --continue-last: Продолжить последнюю беседу.-s, --show: Показать сохранённую беседу по указанному заголовку или SHA-1.-S, --show-last: Показать предыдущую беседу.--delete-older-than=<duration>: Удаляет беседы старше указанной продолжительности (10d, 1mo).--delete: Удаляет сохранённые беседы по указанным заголовкам или SHA-1.--no-cache: Не сохранять беседы--mcp-list: Показать список всех доступных MCP-серверов--mcp-list-tools: Показать список всех доступных инструментов от включённых MCP-серверов--mcp-disable: Отключить указанные MCP-серверы--fanciness: Уровень «причудливости»--temp: Температура выборки--topp: Значение Top P--topk: Значение Top KРоли позволяют задавать системные промпты. Вот пример роли shell:
roles:
shell:
- вы эксперт по командной строке
- вы ничего не объясняете
- вы просто выводите однострочные команды для решения поставленных задач
- вы не даёте никаких объяснений, ТОЛЬКО команду
Затем используйте пользовательскую роль в mods:
mods --role shell list files in the current directory
Mods использует GPT-4 по умолчанию. Он вернётся к GPT-3.5 Turbo, если недоступен.
Установите переменную окружения OPENAI_API_KEY. Если у вас её ещё нет, вы можете получить её на сайте OpenAI.
Альтернативно установите переменную окружения [AZURE_OPENAI_KEY] для использования Azure OpenAI. Получите ключ на Azure.
Cohere предоставляет модели, оптимизированные для предприятий.
Установите переменную окружения COHERE_API_KEY. Если у вас её ещё нет, вы можете получить её на панели управления Cohere.
Local AI позволяет запускать модели локально. Mods работает с моделью GPT4ALL-J, настроенной в этом руководстве.
Groq предоставляет модели на основе своего движка вывода LPU.
Установите переменную окружения GROQ_API_KEY. Если у вас её ещё нет, вы можете получить её в консоли Groq.
Mods поддерживает использование моделей Gemini от Google.
Установите переменную окружения GOOGLE_API_KEY. Если у вас её ещё нет, вы можете получить её в Google AI Studio.
Смотрите участие в разработке.
Будем рады услышать ваше мнение об этом проекте. Не стесняйтесь написать нам.
Часть Charm.
Charm любит открытый исходный код