Crush: скачать, установить и применять агент для программирования в терминале
Введение
Crush — это бесплатный открытый агент для программирования от Charm. Как и OpenCode, он живёт в терминале, читает и правит ваши файлы, выполняет команды оболочки и проходит задачи шаг за шагом. Важные отличия: Crush написан на Go (один бинарник, Node.js не нужен), понимает серверы LSP так же, как вы, хранит несколько рабочих сессий на проект, позволяет переключать модели посреди сессии без потери контекста и расширяется через серверы MCP и пакеты Agent Skills. Он работает на macOS, Linux, Windows (PowerShell и WSL), Android, FreeBSD, OpenBSD и NetBSD.
Скачивание и установка
Через Homebrew (macOS и Linux)
brew install charmbracelet/tap/crush
Через npm (любая ОС с Node.js)
npm install -g @charmland/crush
В Arch Linux
yay -S crush-bin
В FreeBSD
pkg install crush
В Windows: Winget
winget install charmbracelet.crush
В Windows: Scoop
scoop bucket add charm https://github.com/charmbracelet/scoop-bucket.git
scoop install crush
Пакеты Debian и RPM, а также бинарники для каждой ОС лежат на странице релизов репозитория проекта.
Через Go (любая ОС с тулчейном Go)
go install github.com/charmbracelet/crush@latest
Проверьте, что всё работает:
crush --version
Подключение модели
Быстрее всего начать с Hyper, официального провайдера Crush: он работает по подписке и имеет бесплатный тариф, а данные он не хранит вовсе — всё ради приватности. Выберите модель Hyper в списке моделей и выполните шаги для аутентификации.
Чтобы подключить любого другого провайдера, нажмите ctrl+l, чтобы открыть список моделей, выберите провайдера и вставьте свой ключ API. Поддерживаются ключи Anthropic, OpenAI, Gemini, OpenRouter и других — тот же ключ OpenRouter из руководства по OpenCode подходит и здесь. Ключи также могут приходить из переменных окружения:
- OPENROUTER_API_KEY — OpenRouter
- ANTHROPIC_API_KEY — Anthropic
- OPENAI_API_KEY — OpenAI
- GEMINI_API_KEY — Google Gemini
- HYPER_API_KEY — Charm Hyper
Локальные модели работают через Ollama, llama.cpp, LM Studio и подобные: зарегистрируйте провайдера один раз, и Crush сам найдёт его модели.
Crush каждый день
Перейдите в свой проект и запустите:
cd /path/to/project
crush
Дайте Crush изучить проект: инициализация анализирует кодовую базу и записывает выводы в AGENTS.md — закоммитьте этот файл, чтобы каждая сессия начиналась с контекста. Правила, специфичные для проекта и способные запутать другие инструменты, лучше положить в CRUSH.md.
Основной рабочий процесс:
- Сессии, а не окна. Держите несколько рабочих сессий на проект и переключайтесь между ними; два терминала в одном каталоге делят одно рабочее пространство, так что одну и ту же сессию можно смотреть вживую из обоих.
- Смена модели посреди задачи. Открывайте список моделей через ctrl+l в любой момент — контекст сохраняется, поэтому начинайте на дешёвой модели и переходите на сильную только для трудных мест.
- Дополнительный контекст по требованию. Подключайте серверы LSP для точного перехода по коду и серверы MCP (stdio, http, sse) для инструментов, а также пакеты Agent Skills для переиспользуемых возможностей.
- Разрешения с аварийным клапаном. Crush спрашивает перед вызовом инструментов; безопасные можно разрешить навсегда, а остальные оставить с подтверждением. Полный автопилот — один флаг, пользуйтесь им осторожно:
crush --yolo
Держите секреты вне контекста агента с помощью .crushignore (синтаксис тот же, что у .gitignore). Метрики использования псевдонимны, их можно отключить:
export CRUSH_DISABLE_METRICS=1
Настройка через crushrc
Crush работает без настройки, но crushrc позволяет настроить всё. Это Bash со встроенными командами Crush, одинаковый на всех платформах. Файл проекта ./.crushrc важнее глобального ~/.config/crush/crushrc. Пример:
provider add ollama --type ollama --base-url "http://localhost:11434/v1" permissions allow view edit mcp add github --type http --url "https://api.github.com/mcp/" option notifications disabled
Старый формат JSON ещё работает, но устарел. Учтите, что crushrc — это доверенный код: никогда не запускайте Crush в каталоге, конфиг которого вы не просмотрели.
Что делать при сбоях
- После установки команда не найдена: перезапустите терминал (обновится PATH) или запустите установщик ещё раз; при установке через Go проверьте, что каталог bin Go есть в PATH.
- Список моделей пуст: откройте список моделей через ctrl+l и сначала подключите провайдера; для Ollama убедитесь, что сервер отвечает на http://localhost:11434.
- Не работает копирование и вставка через буфер обмена в Linux: установите wl-copy и wl-paste для Wayland или xclip / xsel для X11.
- Что-то ведёт себя странно: посмотрите лог проекта и при необходимости перезапустите с отладочным выводом:
crush logs --tail 500
crush --debug
Официальные источники:
- github.com/charmbracelet/crush
- hyper.charm.land
- charm.land/slack
- charm.land/discord
Автор статьи: Клавдия Кондакова