Codewhale — open-source coding-агент для терминала на Rust

· 1 мин чтения
coding-agent terminal open-source rust mcp
📂 Исходный код на GitHub

Open-source coding-агент для терминала, написанный на Rust и развиваемый сообществом — issues и pull request'ы приветствуются.

Codewhale — open-source coding-агент для терминала на Rust

Codewhale — open-source coding-агент для терминала, написанный на Rust. Он читает ваш проект, редактирует файлы, запускает команды и проверяет результат своей работы, используя модель на ваш выбор — облачную или локальную. Начать можно с одной задачи в терминале, а для крупной работы — раздавать её части агентам с разными моделями и ролями.

Проект начинался как deepseek-tui, но давно вышел за рамки одной модели: сегодня Codewhale нейтрален к провайдерам и развивается независимо, без привязки к какому-либо производителю моделей. При этом совместимость со старыми конфигурациями и сессиями сохранена. У проекта активное сообщество: 41 тысяча звёзд на GitHub, сотни контрибьюторов и открытый приём pull request'ов.

Установка

macOS и Linux — установка официального релиза одной командой:

curl -fsSL https://codewhale.net/install.sh | sh
"$HOME/.local/bin/codewhale"

Установщик выбирает последний опубликованный релиз. Список изменений ведётся в CHANGELOG — там же описывается кандидат на следующий релиз, но эти правки не попадают в опубликованные сборки до релиза.

Для Windows — скачайте установщик или архив со страницы GitHub Releases. Уже установленную версию можно обновить командой codewhale update (или codewhale update --check, чтобы просто проверить наличие обновления) — апдейтер печатает путь к исполняемому файлу и сохраняет более новые сборки.

При первом запуске агент поможет подключить провайдера или настроить автономную работу без сети. Ответы модели требуют подключённой облачной или локальной модели. Помимо основного установщика есть второстепенные каналы: npm и Cargo, а также Docker, Nix, Scoop, Android/Termux и опциональное CNB-зеркало. Детали — в руководстве по установке.

Tab-дополнение настраивается одной командой на shell: codewhale completion bash|zsh|fish|powershell|elvish.

Сводка по каналам установки:

Канал Платформа / сценарий
curl-скрипт macOS и Linux, основной способ
GitHub Releases Windows и любые платформы вручную
npm Окружения с Node.js
Cargo Окружения с Rust
Docker, Nix, Scoop Контейнеры, репродуцируемые окружения, Windows-менеджер пакетов
Android/Termux Мобильный терминал
CNB-зеркало Опционально, для регионов с ограниченным доступом

Как пользоваться

Откройте терминал в папке проекта и запустите codewhale. Выберите провайдера командой /provider и модель командой /model, затем опишите конкретную задачу:

Fix the failing tests and explain what changed.

Можно обойтись и без интерактивного интерфейса:

codewhale exec "fix the failing tests and explain what changed"

Codewhale умеет читать репозиторий, редактировать файлы, запускать команды, изучать их результаты и продолжать работу до достижения цели. Команда /mode plan позволяет исследовать проект без изменений файлов и выполнения shell-команд, а /mode work — переключиться в режим правок. Клавишей Shift+Tab выбирается уровень доступа: Ask, Auto-Review или Full Access; подробности — в гайде по режимам и разрешениям.

Терминал, приложения и Computer Use

Терминальные и графические клиенты подключаются к Codewhale Runtime — среде, где исполняются агент и его инструменты:

  • Терминал: codewhale открывает интерактивный интерфейс, а codewhale exec запускает задачу из скрипта или CI-задания.
  • Локальный браузер: codewhale web открывает встроенный веб-клиент, работающий с тем же рантаймом.
  • Веб- и десктоп-приложения Codewhale: графические рабочие среды в разработке, их доступность отслеживается на странице продукта.

Computer Use добавляет инструменты для наблюдения за другими приложениями и взаимодействия с ними. Плагин уже включён в исходники — перед использованием стоит изучить запрашиваемые им права и включить его осознанно; разрешения ОС и требования платформы остаются в силе. Инструкции — в гайде по Computer Use и документации плагинов.

Для VS Code существует поддерживаемый сообществом extension CodeWhale: он подключается к локальному рантайму прямо из сайдбара редактора. Устанавливается из VS Code Marketplace, исходники — на GitHub.

Почему Codewhale

Рынок терминальных агентов быстро растёт, но большинство инструментов привязывают вас к конкретному провайдеру. Codewhale строится вокруг обратной идеи: агент — это рантайм, а модели — взаимозаменяемые детали.

  • Выбор моделей за вами. Подключайте облачных провайдеров или локальные модели через Ollama, vLLM или SGLang — всё это стандартные способы запуска открытых LLM на своём железе или инфраструктуре. /provider меняет провайдера, /model — модель; переключение занимает секунды и не требует перезапуска проекта.
  • Контроль остаётся у вас. Агент показывает предлагаемые действия и изменения файлов до их применения. Настройки подтверждений определяют, когда нужен ревью; даже Full Access соблюдает жёсткие границы политики. Команды /undo и /restore помогают откатить изменения в рабочем пространстве, если агент пошёл не туда.
  • Долгая работа не превращается в хаос. Сессии сохраняются, команда /goal задаёт устойчивую цель, воркфлоу можно просмотреть перед запуском, а координация агентов не засоряет ваш транскрипт их внутренними инструкциями. Именно здесь проявляется главная заявка проекта: одну задачу можно держать в терминале, а крупную — раздавать агентам с разными моделями и ролями.
  • Расширение уже имеющегося агента. Подключайте MCP-серверы (Model Context Protocol — открытый стандарт, позволяющий давать агенту дополнительные инструменты и источники данных) и скиллы, настраивайте хуки на события жизненного цикла, а роли агентов храните как читаемые файлы в проекте или личных настройках — а не как непрозрачные настройки в чужом облаке.

Полный список команд и горячих клавиш — /help в TUI.

Безопасность

Codewhale работает на вашей машине с тем доступом, который вы ему выдали. Режимы подтверждения и правила репозитория ограничивают, что агенту можно делать; опциональная OS-песочница добавляет более строгую границу исполнения там, где она поддерживается. Показательна мелочь: если цена модели неизвестна, агент так и сообщит «неизвестно», а не выдаст её за бесплатную.

Точную политику разграничения доступа описывает порядок авторизации, локальные настройки — документация конфигурации.

Такой подход делает Codewhale разумным выбором для трёх сценариев: работа в приватных репозиториях, где данные нельзя отправлять во внешние облака (локальная модель решает проблему), командная стандартизация (общий конфиг и хуки в репозитории дают всем одинаковый агент) и эксперименты с открытыми моделями — агент не мешает вам сравнивать их на реальных задачах.

Документация

Сообщество и история проекта

Баг-репорты, идеи фич и pull request'ы приветствуются — независимо от того, пользуетесь ли вы Codewhale месяцами или пробуете впервые. Если не хватает провайдера, неудобен воркфлоу или мешает терминальный интерфейс — создайте issue или пришлите pull request. Первые контрибуции всячески поощряются, а авторы сохраняют признание за попадавшую в проект работу. У проекта есть Discord, а в WeChat можно найти хантера hunterbown и попроситься в группу Whale Brothers.

Код распространяется по лицензии MIT; заимствования из других open-source проектов зафиксированы в сторонних уведомлениях.

Источник: https://github.com/Hmbown/CodeWhale