Модель может быть чьей угодно. Агент должен быть вашим.
Codewhale — агент для программирования с открытым исходным кодом для вашего терминала, написанный на Rust. Он работает с любой моделью, умеет разделить одну задачу между несколькими агентами, и каждую его строку можно прочитать.
```bash
curl -fsSL https://codewhale.net/install.sh | sh
```
Эта команда устанавливает последний выпуск на macOS или Linux, и учётная запись не нужна. [Windows, npm и Cargo](#установка) описаны ниже.
[](https://github.com/codewhale-hq/Codewhale/releases/latest)
[](https://github.com/codewhale-hq/Codewhale/actions/workflows/ci.yml)
[](../../LICENSE)
[](https://discord.gg/37gfS3ksug)
[Сайт](https://codewhale.net) · [Документация](../README.md) · [Журнал изменений](../../CHANGELOG.md) · [Участие](../../CONTRIBUTING.md)
[English](../../README.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja-JP.md) · [Tiếng Việt](README.vi.md) · [Bahasa Indonesia](README.id.md) · [한국어](README.ko-KR.md) · [Español](README.es-419.md) · [Português](README.pt-BR.md) · [Українська](README.uk.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [繁體中文](README.zh-TW.md) · [हिन्दी](README.hi.md) · [Türkçe](README.tr.md) · [Italiano](README.it.md) · [Polski](README.pl.md) · [العربية](README.ar.md) · [Català](README.ca.md)
Этот перевод — машинный черновик, ещё не проверенный носителями языка.Сборка разработки версии 0.10.3, которая ещё не выпущена, со сценарной тестовой моделью, в режиме Full Access в одноразовом рабочем пространстве. Правка, три теста и проверка субагентом выполнялись по-настоящему.
## Установка
Команда выше помещает проверенный по контрольной сумме `codewhale` и его короткий псевдоним `codew` в `~/.local/bin`. Если после этого оболочка пишет `command not found`, следуйте подсказке про PATH, которую выводит установщик ([подробнее](../INSTALL.md#put-it-on-your-path)). `codewhale update` обновляет его.
```bash
winget install --id HunterBown.CodeWhale --exact --source winget # Windows x64
npm install -g codewhale # wraps the same release binaries
cargo install codewhale-cli --locked # builds from source; can trail GitHub Releases
```
Готовые бинарные файлы есть для Linux, macOS и Windows на x64 и arm64. Scoop, Nix, Homebrew в Linux, Android и Termux (предварительная версия) и ручная загрузка описаны в [руководстве по установке](../INSTALL.md), а контейнеры — в [Docker](../DOCKER.md). Используйте на одной машине только один способ установки; иначе в `PATH` окажутся две копии, и сработает та, что найдётся первой.
## Быстрый старт
1. Закоммитьте или спрячьте в stash свою работу, затем запустите `codewhale` в корне git-репозитория. По умолчанию он применяет правки файлов в репозитории без вопросов и спрашивает перед каждой shell-командой, которая не только читает.
2. Выполните `/provider` (или нажмите `F3`), выберите провайдера, вставьте его API-ключ и выберите модель. Провайдер по умолчанию — DeepSeek. При первом запуске без ключа Codewhale спрашивает провайдера, когда вы отправляете первое сообщение, и предлагает локальную модель, если отвечает локальный сервер Ollama.
3. Введите задачу:
```text
Fix the failing tests and explain what changed.
```
Команды только для чтения выполняются сразу. Для любой другой команды оболочки Codewhale сначала спрашивает: `y` выполняет её один раз, `a` разрешает похожие команды до конца беседы, а `n` отказывает. `/undo` отменяет ваш последний запрос и его изменения в файлах, а `/help` показывает команды и клавиши.
Для скриптов и CI `codewhale exec` выполняет одну задачу без интерфейса. Прочитайте о [запуске без интерфейса](../INSTALL.md#headless-scripts-ci), прежде чем давать ему инструменты через `--auto`, потому что `--auto` использует Full Access, если вы не добавите песочницу.
## Что он делает
Дайте Codewhale задачу, и он прочитает репозиторий, отредактирует файлы и выполнит команды, пока задача не будет готова или ему не понадобится ваш ответ. В [заметках к последнему релизу](https://github.com/codewhale-hq/Codewhale/releases/latest) перечислены новейшие изменения, а в [журнале изменений](../../CHANGELOG.md) есть все версии.
### Любая модель
Встроено более 40 провайдеров, среди них Anthropic, OpenAI, DeepSeek, Google, Mistral, Moonshot, OpenRouter и xAI. Подходит любая конечная точка, совместимая с OpenAI, а также локальные модели через Ollama, vLLM или SGLang. Модель по умолчанию — `deepseek-flash` от DeepSeek, за которой теперь стоит DeepSeek V4.1 Flash ([подробнее](../PROVIDERS.md#deepseek-v41-flash)).
`/model` меняет модель между ходами, а `/model auto` выбирает модель для каждого хода (как именно, задаёт `/router`). `/turn inspect` показывает, какую модель использовал ход, сколько он стоил и сколько длился. См. [Провайдеры](../PROVIDERS.md).
### Квитанции и отмена
`/receipts` или `codewhale receipts --last` после выхода перечисляет файлы, изменённые за сеанс, выполненные команды, веб- и MCP-вызовы, запущенных агентов, каждое подтверждение и того, кто его дал, а также неудачи. `/undo` за один шаг отменяет ваш последний запрос и изменённые им файлы. `/restore` возвращает всё рабочее пространство к более раннему снимку; так как это перезаписывает последующие правки, нужен `/trust on` или Full Access. См. [Квитанции](../RECEIPTS.md).
### Несколько агентов на одной задаче
`/goal` задаёт цель, которая сохраняется между ходами. Codewhale может разделить работу между [субагентами](../SUBAGENTS.md), запустить [Fleet](../FLEET.md) агентов со своими ролями и моделями или следовать [рабочему процессу](../WORKFLOW_AUTHORING.md), сохранённому в репозитории.
### Расширения
Подключайте [MCP-серверы](../MCP.md), добавляйте [навыки](../SKILLS.md) и [плагины](../PLUGINS.md) и запускайте [хуки](../HOOKS.md) на события сеанса и инструментов. Режим кода (экспериментальный, включён по умолчанию) позволяет модели написать одну программу `execute_tools`, которая вызывает несколько инструментов MCP и плагинов; каждый вызов по-прежнему подчиняется вашим правилам подтверждения и сохраняет квитанцию. Плагин Computer Use, входящий в v0.10.2 (экспериментальный, только macOS), может наблюдать за другими приложениями и управлять ими; он выключен, пока вы не проверите его доступ и не включите его ([руководство](https://github.com/codewhale-hq/Codewhale/blob/v0.10.2/crates/tui/plugins/computer-use/README.md)). Появится в 0.10.3: плагин будет выпускаться [отдельно](https://github.com/codewhale-hq/codewhale-cu-plugin).
### Способы запуска
| Команда | Что делает |
| --- | --- |
| `codewhale` | Интерактивное терминальное приложение |
| `codewhale exec "…"` | Одна задача без интерфейса, для скриптов и CI ([запуск без интерфейса](../INSTALL.md#headless-scripts-ci)) |
| `codewhale web` | Локальный веб-клиент на `127.0.0.1` ([руководство](../WEB.md)) |
| `codewhale review --pr N` | Рекомендательная проверка pull request на GitHub; [настройка бота GitHub](../GITHUB_ACTION.md#set-up-your-own-bot) запускает её с вашим собственным ключом модели |
| `codewhale app-server --http` | [Runtime API](../RUNTIME_API.md) — локальный HTTP API для потоков, событий, подтверждений и изменений файлов каждого хода |
| `codewhale serve --acp` | Agent Client Protocol через stdio, для редакторов вроде Zed |
Терминальное приложение, `exec`, `web` и Runtime API используют один движок ([архитектура](../ARCHITECTURE.md)). [Расширение для VS Code](https://marketplace.visualstudio.com/items?itemName=HengQuWorld.brotherwhale-vscode), которое поддерживает сообщество, подключается к нему из боковой панели ([исходный код](https://github.com/HengQuWorld/CodeWhale-VSCode)).
## Как он обеспечивает безопасность
Два переключателя определяют, сколько Codewhale может делать сам. Когда поле ввода пусто, `Tab` меняет режим: **Plan** читает и ищет, но ничего не меняет, **Work** редактирует файлы и выполняет команды, а **Operate** имеет те же права, что и Work, и продолжает работу, пока цель не будет проверена или ему не понадобитесь вы. `Shift+Tab` меняет разрешение. **Ask**, режим по умолчанию, применяет правки файлов в вашем репозитории без вопросов и спрашивает перед shell-командами, которые не только читают. **Auto-Review** позволяет правилам и модели-рецензенту одобрять обычные вызовы и отклоняет рискованные; переключитесь на Ask, чтобы одобрить их самостоятельно. **Full Access** никогда не спрашивает и отключает песочницу Codewhale, хотя правила репозитория и управляемая политика продолжают действовать. Подробности — в [руководстве для v0.10.2](https://github.com/codewhale-hq/Codewhale/blob/v0.10.2/docs/MODES.md).
Появится в 0.10.3: `Shift+Tab` станет одним переключателем по кругу Ask, Accept Edits, Plan, Auto-Review и Full Access, `Tab` больше не будет менять режим, а Operate будет упразднён. Ask будет спрашивать и перед каждой правкой файла, а новый режим по умолчанию, Accept Edits, будет применять правки внутри git-репозитория и по-прежнему спрашивать перед командами. Это описано в [текущем руководстве](../MODES.md).
В Ask и Auto-Review команды выполняются в песочнице ОС, если она есть в системе: Seatbelt в macOS и bubblewrap в Linux, если он установлен. В Windows песочницы ОС пока нет, а Full Access отключает песочницу. Внутри песочницы команды оболочки и терминальные сеансы не могут читать хранилища учётных данных, такие как `~/.ssh`, `~/.aws` и файлы `.env`. `/preview-request` показывает следующий запрос со скрытыми данными, не отправляя его.
Учётная запись не нужна, а ключи, добавленные через `/provider`, остаются на вашей машине. Со своим API-ключом вы платите провайдеру напрямую, а локальным моделям ключ не нужен. Нижняя строка и `/cost` показывают стоимость сеанса, когда цена известна; неизвестная цена показывается как неизвестная, но никогда как бесплатная.
Телеметрия включена по умолчанию. Она отправляет агрегированные счётчики (версия и платформа, длительность и итог сеанса, какие встроенные провайдеры вы использовали, счётчики функций и ошибок) со случайным идентификатором установки, который меняется каждые 90 дней, и никогда не отправляет беседы, код, промпты, названия моделей, имена файлов или репозиториев и учётные данные. Эта команда её выключает:
```bash
codewhale config set telemetry false
```
При запуске Codewhale также проверяет на GitHub, нет ли нового выпуска; задайте `CODEWHALE_NO_UPDATE_CHECK=1`, чтобы пропустить проверку. Подробнее — в разделах [порядок авторизации](../AUTHORIZATION_ORDER.md), [песочница](../SANDBOX.md) и [телеметрия](../TELEMETRY.md).
## Куда он движется
Codewhale становится единой средой, охватывающей ваш терминал, настольное приложение, браузер и облачные компьютеры; всё это работает на одном движке. Каждая часть ниже говорит, на каком этапе она сегодня.
| Часть | Состояние | Сегодня |
| --- | --- | --- |
| Терминальное приложение | Выпущено | Установите его на macOS, Linux или Windows и запускайте `codewhale` в любом репозитории. |
| Локальный браузерный клиент | Выпущено | Запустите `codewhale web`, чтобы читать беседу, отправлять задачу и отвечать на запросы подтверждения в браузере; он входит в состав терминального приложения и не требует учётной записи. |
| Много агентов на одной задаче | Выпущено | Субагенты, Fleet и рабочие процессы позволяют нескольким агентам делить одну задачу, каждому со своей ролью. |
| Настольное приложение | В разработке, без загрузки | Мы создаём настольное приложение на том же движке, и публичной загрузки у него пока нет. |
| Облачные компьютеры | Только по приглашению | Облачные компьютеры доступны только по приглашению, и мы создаём их, чтобы сеанс мог продолжать работу на машине в облаке. |
| Один сеанс на всех | Создаётся | Мы создаём один сеанс, который идёт с вами от терминала к настольному приложению, браузеру и облаку и остаётся вашим на всём пути. |
В [дорожной карте](../ROADMAP.md) сказано, что входит в каждый выпуск и где вы можете помочь.
## Если вы переходите с другого агента
Codewhale сам читает `AGENTS.md`. Файлы инструкций, написанные для других инструментов, например `CLAUDE.md`, `.cursorrules` или `.github/copilot-instructions.md`, загружаются, только если вы включите их через `project_instruction_imports = ["claude"]` (или `"cursor"`, `"cline"`, `"windsurf"`, `"copilot"`, `"all"`) в конфигурации; см. [config.example.toml](../../config.example.toml). Codewhale предупреждает, когда находит такой файл, который не загрузил.
`/import-claude` готовит импорт ваших настроек Claude Code и MCP-серверов, чтобы вы его проверили. `/plugin install` принимает плагины Claude Code с навыками, командами, профилями агентов и MCP-серверами и отклоняет плагины, которым нужны хуки или LSP-серверы ([подробнее](../CLAUDE_PLUGIN_COMPAT.md)).
## Документация
Эти руководства следуют основной ветке и могут описывать изменения, которых ещё нет в последнем выпуске.
| С чего начать | Справочник |
| --- | --- |
| [Руководство пользователя](../GUIDE.md) | [Конфигурация](../CONFIGURATION.md) |
| [Установка](../INSTALL.md) | [Архитектура](../ARCHITECTURE.md) |
| [Провайдеры и локальные модели](../PROVIDERS.md) | [Runtime API](../RUNTIME_API.md) |
| [Режимы и разрешения](../MODES.md) | [Создание плагинов](../PLUGIN_AUTHORING.md) |
| [Сочетания клавиш](../KEYBINDINGS.md) | [Квитанции](../RECEIPTS.md) |
| [Проверка pull request на GitHub](../GITHUB_ACTION.md) | [Вся документация](../README.md) |
## Участие
Codewhale открыто создают те, кто им пользуется, на многих языках.
[Стена участников](../CONTRIBUTORS.md) учитывает всех, чей код, коммиты в соавторстве, продолженные pull request или отмеченные сообщения есть в Codewhale, включая тех, кого пропускает собственный список участников GitHub. `scripts/contributor-wall.py` заново создаёт картинку и список по истории git и данным GitHub.
Любой отзыв приветствуется: ошибка, идея или что-то, что выглядело или ощущалось не так. [Откройте issue](https://github.com/codewhale-hq/Codewhale/issues/new/choose) по любому из этих поводов; issue — также лучшее место, чтобы начать новую функцию. Pull request приветствуются для исправлений, переводов, провайдеров и запланированной работы. Вопросы задавайте в [Discussions](https://github.com/codewhale-hq/Codewhale/discussions). [Руководство для участников](../../CONTRIBUTING.md) показывает, куда идёт каждый вид помощи, как ваша работа попадает в проект под вашим именем и [где что лежит](../../CONTRIBUTING.md#project-structure).
Общайтесь в [Discord](https://discord.gg/37gfS3ksug) или добавьте сопровождающего, Hunter, в WeChat (`hunterbown`) и попросите добавить вас в группу Whale Brothers. Рады всем.
## История и лицензия
Codewhale начинался как `deepseek-tui` и до сих пор читает конфигурацию и сеансы того проекта. Он поддерживается независимо и не связан ни с DeepSeek, ни с другим провайдером моделей.
[MIT](../../LICENSE). Код, заимствованный из других проектов с открытым исходным кодом, перечислен в уведомлениях о третьих сторонах для [включённых исходников](../../THIRD_PARTY_NOTICES.md) и [заимствованных решений](../THIRD_PARTY_NOTICES.md).