Кратко: CodeWhale — это не обертка для Node и не просто чат-интерфейс. Это парная бинарная система на Rust, где `codewhale` отправляет запросы в `codewhale-tui`, транслирует рассуждения модели, направляет инструменты через движок, записывает снимки для отката и может запускать параллельные под-агенты, отслеживая при этом затраты и поведение кэша.
Get the latest on AI, LLMs & developer tools
New MCP servers, model updates, and guides like this one — delivered weekly.
Редакционная заметка
Эта статья основана на репозитории GitHub, README, примечаниях к выпуску, документации по архитектуре/провайдерам/установке, текущих проблемах и PR, постах в X и обсуждениях на Reddit по состоянию на 2 июня 2026 года. Мы избегаем жесткого кодирования количества звезд и форков, так как они быстро меняются.
1. CodeWhale в одном предложении
CodeWhale — это Rust-агент для программирования в терминале с лицензией MIT, который объединяет DeepSeek V4 и MiMo через насыщенный инструментами TUI, явные режимы подтверждения, под-агенты, MCP, диагностику LSP, API времени выполнения и откат через side-git.
| Область | Детали | Почему это важно |
|---|---|---|
| Репозиторий | Hmbown/CodeWhale | https://github.com/Hmbown/CodeWhale |
| Основной язык | Rust | Основной язык GitHub на момент исследования. |
| Лицензия | MIT | При необходимости отдельно проверьте лицензии встроенных или бинарных компонентов. |
| Создано | 19 января 2026 г. | Последний проверенный релиз: v0.8.50 от 2 июня 2026 г. |
2. Почему это важно
Проект важен, потому что DeepSeek V4 меняет экономику сессий программирования с длинным контекстом. CodeWhale пытается превратить этот более дешевый контекст в надежную терминальную обвязку: явные правила полномочий, использование инструментов на основе доказательств, стабильность префиксного кэша и автоматическую маршрутизацию модели для каждого шага.
Он также относится к особой категории агентов: инструменты для тех, кому нужен агент в терминале, а не только внутри IDE. Эту аудиторию интересует доступ к оболочке, очереди задач, логи, вывод headless `exec`, удаленные рабочие области и восстановление, если длительный процесс пошел не по плану.
Интересная продуктовая ставка сделана на обвязку. CodeWhale рассматривает модель как одну из частей системы. Окружающие правила, шлюзы подтверждения, реестр инструментов, обратная связь LSP, реестр провайдеров, память, снимки и сводки под-агентов — это и есть реальная поверхность продукта.
3. Архитектура и ментальная модель
О CodeWhale проще всего думать как о диспетчере плюс среде выполнения: `codewhale` запускает сопутствующий бинарный файл `codewhale-tui`, среда выполнения управляет интерфейсом ratatui и асинхронным движком, а движок взаимодействует с OpenAI-compatible потоковым клиентом и типизированным реестром инструментов.
| Область | Детали | Почему это важно |
|---|---|---|
| Диспетчер | `codewhale` CLI | Команда входа, которая находит и запускает соответствующий исполняемый файл среды выполнения. |
| Среда выполнения | `codewhale-tui` | Интерактивный TUI, цикл обработки, диспетчеризация инструментов, состояние сессии, очередь задач и диагностика. |
| Путь к модели | OpenAI-compatible чат-комплишены | DeepSeek является основным маршрутом, но документация провайдеров включает OpenRouter, NVIDIA NIM, Ollama, vLLM, SGLang и другие. |
| Уровень инструментов | Shell, file, git, web, MCP, RLM, sub-agents | Модель действует через типизированные инструменты, а не через свободный текст в терминале. |
| Модель безопасности | План, Агент, YOLO, песочница, подтверждения | План доступен только для чтения, Агент ограничивает чувствительные операции, YOLO автоматически подтверждает действия в доверенных рабочих пространствах. |
| Восстановление | Снимки Side-git и `/restore` | Каждый шаг записывает состояние отката вне проекта `.git`. |
4. Минимальная end-to-end настройка
Команды ниже взяты из документации репозитория и сверены с текущим исследовательским снимком. Используйте их как отправную точку, а затем прочитайте связанную README перед установкой в production.
# npm path: installs wrapper plus matched prebuilt Rust binaries
npm install -g codewhale
codewhale --version
# Cargo path: both binaries are required
cargo install codewhale-cli --locked
cargo install codewhale-tui --locked
# Docker path
docker volume create codewhale-home
docker run --rm -it \
-e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
-v codewhale-home:/home/codewhale/.codewhale \
-v "$PWD:/workspace" \
-w /workspace \
ghcr.io/hmbown/codewhale:latestНебольшая первая задача должна подтвердить интеграцию, прежде чем подключать ее к критичным данным или большим рабочим пространствам.
cd your-project
export DEEPSEEK_API_KEY="..."
codewhale auth set --provider deepseek
codewhale --model auto
# One-shot, streamable automation path
codewhale exec --auto --output-format stream-json "run tests and explain the failures"5. Технический разбор
5.1 Конституция является частью среды выполнения
В README CodeWhale описывается как обвязка с формальной Конституцией. Практический смысл заключается не в брендинге. Это дает модели иерархию полномочий для противоречивых входных данных: текущего намерения пользователя, правил проекта, вывода инструментов в реальном времени, устаревших передач управления и предыдущей памяти.
Это важно при длительных сессиях агента, так как модель постоянно сталкивается с противоречиями. Ошибка компилятора, исправление пользователя, устаревшее правило проекта и старая заметка сессии не могут иметь одинаковый приоритет. CodeWhale делает эту иерархию явной.
Authority shape:
current user request
-> verified tool output
-> project and workspace instructions
-> prior session handoffs
-> model assumptions5.2 Автоматический режим направляет модель и уровень мышления
Путь по умолчанию `--model auto` выполняет небольшой маршрутизирующий вызов перед реальным ходом. Этот 9Router решает, может ли ход остаться на более дешевом маршруте Flash или должен перейти на Pro и более высокий уровень мышления.
Upstream API получает конкретную модель и настройки мышления, а не буквальную строку `auto`. Это важно для учета затрат и воспроизводимости: запуски на фиксированных моделях по-прежнему лучше подходят для бенчмарков, в то время как автоматический режим лучше для обычной работы.
5.3 Субагенты — это параллельные фоновые циклы.
Субагенты CodeWhale — это не просто соглашение о промптах. Среда выполнения может запускать дочерние агенты, которые работают со своим собственным контекстом и реестром инструментов, а затем сообщают о завершении через сводные сигналы в родительском транскрипте.
Родительскому агенту не нужно блокироваться, пока дочерний агент исследует или проверяет данные. Полные транскрипты остаются за ограниченными дескрипторами, что предотвращает заполнение родительского контекста каждой деталью дочернего запуска.
Parent turn:
agent_open(role="explore", task="map auth flow")
agent_open(role="review", task="audit risky files")
continue planning while children run
read completion summaries when sentinels arrive5.4 Диагностика LSP превращает правки в обратную связь.
В документации упоминаются интеграции rust-analyzer, pyright, typescript-language-server, gopls, clangd, jdtls и Vue language server. Модель получает диагностику после внесения правок перед следующим шагом рассуждения.
Это важный цикл качества. Без диагностики агент может уверенно писать синтаксически неверный код и обнаруживать это только тогда, когда пользователь запускает тесты. С диагностикой локальная обратная связь от компилятора становится частью следующего хода.
5.5 Поверхность среды выполнения выходит за рамки TUI.
В репозитории задокументированы one-shot промпты, потоковый JSON `exec`, HTTP/SSE runtime API, адаптер ACP для Zed, очереди задач, MCP, сессии RLM и экспорт SWE-bench. Это означает, что CodeWhale пытается быть одновременно интерактивным терминальным агентом и программируемой средой выполнения.
Такой широкий охват полезен, но он повышает требования к надежности. Управление оболочкой (shell gating), поведение в Windows, отмена длительных задач, восстановление сессии и обработка мультимодальных вложений — это отдельные области, требующие промышленного уровня реализации.
6. Реальные паттерны: неверно vs верно
| Неверно | Верно | Причина |
|---|---|---|
| Установите только `codewhale-cli` с помощью Cargo. | Установите и `codewhale-cli`, и `codewhale-tui`. | Диспетчер и среда выполнения представляют собой отдельные бинарные файлы Rust. |
| Используйте режим Plan и будьте готовы к изменениям в оболочке/файлах. | Используйте режим Agent или доверенный режим YOLO для операций записи и работы с оболочкой. | Режим Plan намеренно является доступным только для чтения. |
| Рассматривайте `--model auto` как повторяемую конфигурацию для бенчмарков. | Используйте фиксированную модель и уровень мышления для бенчмарков. | Режим Auto выполняет маршрутизацию для каждого шага и может изменять поведение. |
| Позвольте длительной фоновой команде оболочки завершить выполнение. | Используйте шаблоны задач/фоновых процессов, где это возможно, и проверяйте поведение при истечении времени ожидания. | Открытые проблемы показывают, что длительное выполнение команд оболочки все еще может приводить к сбоям исполнителя. |
7. Частые ошибки и текущие проблемы
Issue tracker важен, потому что эти репозитории молоды и быстро меняются. В статье issues используются как сигналы риска, а не как доказательство непригодности проекта.
| Область | Детали | Почему это важно |
|---|---|---|
| Инструменты оболочки Windows | В нескольких отчетах сообщается об отсутствии или блокировке инструментов оболочки, несмотря на конфигурацию. | Пока не стоит полагаться на полное соответствие поведения песочницы Windows с macOS/Linux. |
| Длительная команда оболочки | Сообщалось о взаимоблокировке устойчивой задачи после выполнения длительной команды `exec_shell`. | Используйте более мелкие шаги и следите за PR, связанными с отменой по таймауту. |
| Вложение изображения | Текущий PR решает проблему с `/attach` изображениями для мультимодальных моделей. | Подтвердите поведение после слияния, прежде чем полагаться на локальные рабочие процессы загрузки изображений. |
| Отчеты об остановке движка | Пользователи сообщали о зависании ходов или сообщениях об остановке движка. | Хороший UX восстановления все еще находится в активной разработке. |
| Резервный провайдер | Запросы функций отслеживают цепочки автоматического переключения на резервного провайдера. | Ручное переключение провайдера все еще может потребоваться, если ключ или маршрут перестают работать. |
8. Заметки о производительности, масштабировании и стоимости
В README и исходном коде подчеркивается важность кэширования префиксов DeepSeek. Практическая оптимизация заключается в стабильных повторяющихся байтах промптов и инструментов: если Конституция, каталог инструментов и метаданные провайдера остаются стабильными, кэшированный ввод может быть значительно дешевле «холодного» ввода.
В документации провайдера указаны маршруты DeepSeek V4 с контекстом 1M и явный учет попаданий/промахов кэша. Это не делает каждый сеанс дешевым. Длинный вывод инструментов, разветвление под-агентов, повторяющиеся неудачные ходы и маршруты Pro с интенсивным мышлением по-прежнему стоят денег.
Параллельное выполнение под-агентов полезно для одновременного исследования, но оно также увеличивает количество вызовов модели. Используйте его, когда задачи действительно разделимы: один агент изучает архитектуру, другой тестирует воспроизведение, третий проверяет исправление. Не запускайте параллельных агентов для работы, требующей единого линейного контекста.
9. Для кого это
| Используйте, если | Пропустите, если |
|---|---|
| Вам нужен терминальный агент, построенный на принципах экономичности DeepSeek V4. | Вам нужна стабильная интеграция с IDE, ориентированная на GUI, уже сегодня. |
| Вы цените режимы подтверждения, снимки для отката и явное разграничение полномочий инструментов. | Вам нужен свободный авто-раннер с минимальными формальностями. |
| Вы запускаете циклы исследования, проверки и реализации с участием нескольких агентов. | Вы задаете только короткие вопросы в режиме one-shot. |
| Вам комфортно следить за быстро развивающимся проектом с открытыми issue. | Вам нужна консервативная производственная стабильность при автоматизации оболочки Windows. |
10. Сигнал сообщества
Помимо GitHub, самым сильным публичным сигналом является обсуждение в X под руководством мейнтейнера и небольшая ветка на Reddit в сообществе DeepSeek. Это нормально для нового инструмента разработчика, но означает, что GitHub остается лучшим источником доказательств.
Полезная заметка сообщества — это не просто хайп. Пользователи запрашивают бенчмарки, совместимость с плагинами, исправления для Windows, лучшую интеграцию с GUI/IDE, резервные варианты провайдеров, прикрепление изображений и более предсказуемое поведение оболочки.
Репозиторий выглядит очень активным: issues и PR от 2 июня 2026 года охватывают поддержку SiliconFlow China, исправления для мультимодальных вложений, хуки жизненного цикла субагентов, восстановление после сбоя движка, дизайн резервных провайдеров и предотвращение взаимных блокировок оболочки Windows.
11. Вердикт: стоит ли использовать?
Наш вывод
Используйте CodeWhale, если вам нужен серьезный терминальный агент для DeepSeek V4 и вы готовы работать с быстро развивающимся проектом на Rust. Пропустите его пока, если ваша работа зависит от отлаженной автоматизации оболочки Windows, полностью устоявшейся обработки мультимодальных вложений или рабочего процесса, ориентированного на GUI.
12. Общая картина
CodeWhale — это часть более широкого перехода от чат-оберток к агентским средам выполнения. Модель — лишь один из компонентов. Долгосрочная ценность заключается в политике инструментов, циклах проверки доказательств, диагностике, откатах, оркестрации задач и маршрутизации с учетом стоимости.
Это также показывает, как экосистемы моделей с открытыми весами и более низкой стоимостью меняют агентский стек. Когда длинный контекст становится дешевле, ограничивающим фактором становится качество обвязки: может ли инструмент удерживать модель в нужном русле, проверять работу, восстанавливаться после ошибок и избегать неограниченных затрат?
13. Частые вопросы
В: Является ли CodeWhale тем же самым, что и DeepSeek-TUI?
Он происходит из того же пространства имен/истории, но текущий репозиторий называется CodeWhale и устанавливает парный диспетчер `codewhale` плюс среду выполнения `codewhale-tui`.
В: Зачем мне нужны оба бинарных файла на Rust?
`codewhale` — это входная команда. `codewhale-tui` — это среда выполнения, которую она запускает для интерактивных сессий. npm и Docker устанавливают эту пару за вас; для установки через Cargo нужны оба крейта.
В: Что такое режим Plan?
Режим Plan — это режим только для чтения. Используйте его для анализа и проектирования. Используйте Agent или YOLO, когда ожидаются правки или операции в оболочке.
В: Как работает автоматический режим модели?
Дешевый вызов маршрутизации выбирает конкретную модель и уровень мышления для реального запроса. Апстрим-провайдер видит выбранную модель, а не `auto`.
В: Может ли CodeWhale запускать субагентов?
Да. Субагенты работают параллельно в фоновых циклах с отдельными контекстами и реестрами инструментов, а затем передают сводки родительскому процессу.
В: Каковы текущие основные риски?
Текущий трекер проблем выделяет блокировку оболочки в Windows, зависания при выполнении длинных команд оболочки, восстановление после остановки движка, поведение при работе с мультимодальными вложениями и необходимость резервного копирования провайдеров.
14. Глоссарий
| Область | Детали | Почему это важно |
|---|---|---|
| Harness | Правила, промпты, инструменты и цикл верификации вокруг модели. | CodeWhale использует это как свою центральную идею продукта. |
| Диспетчер | `codewhale` | Команда, которую запускают пользователи. |
| Среда выполнения | `codewhale-tui` | Интерактивный движок и бинарный файл UI. |
| MCP | Model Context Protocol | Протокол для внешних серверов инструментов. |
| RLM | Сессия рекурсивной языковой модели | Постоянная сессия анализа, используемая для более крупных или пакетных вычислений. |
| Режим YOLO | Режим доверенного автоподтверждения | Полезно только в рабочих пространствах, где допустим широкий доступ к инструментам. |
| Снимок Side-git | Откат состояния вне репозитория `.git`. | Используется `/restore` и для отмены изменений. |
15. Все источники и ссылки
Основные источники
Проблемы и PR
Внутренние ссылки
16. Таблица атрибуции источников
| Область | Детали | Почему это важно |
|---|---|---|
| GitHub README | Пути установки, каркас обвязки, функции среды выполнения. | Первичный источник. |
| Директория Docs | Архитектура, провайдеры, режимы, жизненный цикл субагента. | Первичный источник. |
| GitHub issues | Оболочка Windows, длительно выполняющаяся оболочка, восстановление движка, нюансы вложений. | Критический сигнал сообщества. |
| GitHub PRs | Активные исправления и направление дорожной карты. | Сигнал актуальности. |
| X и Reddit | Принятие сообществом и вопросы по бенчмаркам. | Вторичный сигнал. |
Get the Ultimate Antigravity Cheat Sheet
Join 5,000+ developers and get our exclusive PDF guide to mastering Gemini 3 shortcuts and agent workflows.
Related Guides
Humanizer Skill Guide
blader/humanizer: 29 AI-writing patterns, voice calibration, and a two-pass audit, all in one Claude Code skill.
Guides & FeaturesMastering Agent Skills
The open standard for portable AI agent expertise.
Guides & FeaturesAntigravity Workflows Guide
Create automation recipes with Turbo Mode and AgentKit 2.0.
Guides & FeaturesHow to Change Antigravity Themes
Customize themes, dark mode, icons, and color schemes.
Guides & FeaturesHow to Change Language
Switch Antigravity to Spanish, German, Japanese, and more.
Guides & FeaturesAntigravity Security Guide
Known vulnerabilities, safe settings, and hardening steps.
