Об этом проекте

# Crush Эффектный агентный ассистент для программирования в терминале, созданный Charmbracelet. Он подключает ваши инструменты, кодовую базу и рабочие процессы к выбранной вами LLM прямо из командной строки. ## Ключевые возможности - **Поддержка нескольких моделей**: выбор из широкого спектра LLM или настройка собственных через API, совместимые с OpenAI или Anthropic. Переключение моделей в середине сессии с сохранением контекста. - **Интеграция с LSP**: использование Language Server Protocol для сбора дополнительного контекста кодовой базы, аналогично работе IDE. - **Расширение через MCP**: расширяемость через серверы Model Context Protocol с транспортами `http`, `stdio` и `sse`. - **Управление сессиями**: поддержка нескольких рабочих сессий и контекстов на проект с разделением рабочего пространства между клиентами по SSE. - **Настраиваемость**: конфигурационные файлы `crushrc` на основе Bash для пользовательских провайдеров, моделей, разрешений и навыков. Также поддерживается конфигурация в формате JSON. - **Темы**: встроенные цветовые темы с живым предпросмотром и настройкой через палитру команд (`ctrl+p`). - **Навыки агента**: поддержка открытого стандарта [Agent Skills](https://agentskills.io) для переиспользуемых пакетов навыков, обнаруживаемых в глобальных и проектных каталогах. - **Система разрешений**: гранулярные разрешения для инструментов — одобрение по отдельности, разрешение или запрет категорий инструментов либо полный пропуск запросов с `--yolo`. - **Кроссплатформенность**: работает на macOS, Linux, Windows (PowerShell/WSL), Android, FreeBSD, OpenBSD и NetBSD. ## Установка Доступен через Homebrew, NPM, Arch Linux (btw), Nix, FreeBSD pkg, Debian/Ubuntu apt, Fedora/RHEL yum, Winget, Scoop и прямую установку через Go. ## Провайдеры Поддерживаются Charm Hyper (по умолчанию, с фокусом на приватность и нулевым хранением данных), Anthropic, OpenAI, Gemini, OpenRouter, Groq, Hugging Face, Amazon Bedrock, Azure OpenAI, Alibaba и многие другие. API-ключи можно задавать через переменные окружения или конфигурационные файлы. Практически любого провайдера, совместимого с API OpenAI/Anthropic, можно добавить как пользовательского провайдера. ## Управление контекстом - Учитывает `.gitignore` и поддерживает `.crushignore` для дополнительных исключений файлов. - Глобальные файлы контекста в `~/.config/crush/CRUSH.md` и `~/.config/AGENTS.md` для инструкций между проектами. - LSP и MCP обогащают решения агента контекстом, специфичным для проекта. ## Конфигурация Crush поставляется со встроенным навыком для самонастройки. `crushrc` — это скрипт Bash со встроенными возможностями Crush, обеспечивающий идентичное поведение на всех платформах, включая Windows. Приоритет конфигурации отдаётся локальным конфигурациям проекта перед глобальными. Старый формат конфигурации JSON всё ещё поддерживается, но устарел.