# Вайб-кодинг в OpenClaude: настройка терминального агента через RouterAI

## OpenClaude

OpenClaude — терминальный coding-агент с открытым исходным кодом (репозиторий [Twigpine/openclaude](https://github.com/Twigpine/openclaude), npm-пакет `@twigpine/openclaude`). Он читает и правит файлы, запускает команды, подключает MCP-серверы и работает с любым OpenAI-совместимым API, а также с Gemini, GitHub Models, Codex OAuth и Ollama. Провайдеров настраивают внутри агента командой `/provider`, профили сохраняются между запусками.

OpenClaude — независимый проект и не связан с Claude Code и с агентом OpenClaw. RouterAI подключается как OpenAI-совместимый провайдер: в одном агенте доступны Claude, GPT, DeepSeek и GLM из [каталога моделей](/models), работа из России без VPN и оплата в рублях.

## Требования

- macOS, Linux или Windows (PowerShell или WSL)
- Node.js 24.22.1 или новее (в README рекомендован Node 26)
- API-ключ из [личного кабинета](/settings/keys)
- ripgrep (`rg`) в системе — без него агент сообщит `ripgrep not found`

## Установка

```bash
npm install -g @twigpine/openclaude@latest
openclaude --version
```

Команда `openclaude --version` выводит версию, на момент написания — `0.34.0 (OpenClaude)`.

Если раньше стоял старый пакет `@gitlawb/openclaude`, он больше не обновляется: проект переехал в scope `@twigpine`. Оба пакета дают одну и ту же команду `openclaude`, поэтому npm не станет ставить один поверх другого. Сначала удалите старый:

```bash
npm uninstall -g @gitlawb/openclaude
npm install -g @twigpine/openclaude@latest
```

Настройки и сессии в `~/.openclaude` и `~/.openclaude.json` не затрагиваются. Не используйте `--force`: при последующем удалении старого пакета пропадёт команда `openclaude`.

Для Arch Linux есть [AUR-пакет](https://aur.archlinux.org/packages/openclaude) (`paru -S openclaude`).

## Подключение к RouterAI

OpenClaude не подхватывает `.env` из проекта автоматически. Поэтому проще всего один раз запустить агент с файлом переменных, а затем сохранить постоянный профиль через `/provider`.

1. Создайте файл `.env` (не добавляйте его в git):

```bash
CLAUDE_CODE_USE_OPENAI=1
OPENAI_BASE_URL=https://routerai.ru/api/v1
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_MODEL=anthropic/claude-sonnet-5.5
```

2. Запустите агент в папке проекта:

```bash
cd /path/to/your/project
openclaude --provider-env-file .env
```

На первом запуске OpenClaude предложит выбрать тему оформления, а затем спросит, доверяете ли вы папке (**Yes, I trust this folder**).

![Первый запуск OpenClaude: экран выбора темы оформления](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/fd2326d10b1502685e07c5b5ba84209d.png)

### Профиль через `/provider`

Команда `/provider` открывает Provider manager с пунктами **Add provider**, **Set active provider**, **Edit provider** и **Delete provider**. Профиль сохраняется в файле `.openclaude-profile.json` в каталоге `~/.openclaude`.

![Provider manager: пустой список профилей и меню Add provider, Set active provider, Edit provider, Delete provider](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/a5ed415f94d828a8af48855cde4f2287.png)

1. Введите `/provider` и выберите **Add provider**.
2. В списке пресетов (**Choose provider preset**) выберите последний пункт — **Custom (OpenAI-compatible)**, «Any OpenAI-compatible provider». Он идёт под номером 47 в конце списка.
3. Мастер **Create provider profile** состоит из 8 шагов. На шаге 1 (**Provider name**) введите `RouterAI`.
4. Шаг 2, **Base URL**: `https://routerai.ru/api/v1`.
5. Шаг 3, **Default model**: `anthropic/claude-sonnet-5.5`. Через `;` или `,` можно перечислить несколько моделей, первая станет моделью по умолчанию.
6. Шаг 4, **API mode**: оставьте **Automatic** или выберите **Chat Completions**.
7. Шаги 5 и 6 (**Auth header** и **Auth header value**) пропустите — они нужны только для провайдеров с нестандартным заголовком ключа.
8. Шаг 7, **API key**: вставьте ключ из личного кабинета, при вводе он скрыт звёздочками.
9. Шаг 8, **Custom headers**: оставьте пустым и нажмите Enter.

Если вы запустили агент с `--provider-env-file`, мастер подставит значения из переменных окружения в поля Base URL, модели и ключа — проверьте их и нажимайте Enter.

![Список пресетов провайдера: выбран последний пункт Custom (OpenAI-compatible)](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/7a519fb2ea9913340f1a2016eb01293f.png)

![Шаг 2 из 8 мастера Create provider profile: поле Base URL со значением https://routerai.ru/api/v1](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/4e52d67af0c390a8d7acd1f48ddfefd2.png)

![Шаг 3 из 8: поле Default model со значением anthropic/claude-sonnet-5.5](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/c1a397a8bcea7b092fd08c3f8209dec3.png)

![Шаг 7 из 8: поле API key, ключ скрыт звёздочками, виден только конец заглушки](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/13154574afdd1f36dd55159bc34304ad.png)

После последнего шага Provider manager сообщает `Added provider: RouterAI (now active)` и показывает строку профиля: тип, Base URL, модель, режим `chat/completions` и пометку `key set (active)`.

![Provider manager после добавления: профиль RouterAI активен, Base URL https://routerai.ru/api/v1, модель anthropic/claude-sonnet-5.5](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/36812676e454a87a574b6455701357ab.png)

### Несколько профилей

Профилей может быть сколько угодно: например, один с `anthropic/claude-sonnet-5.5` для сложных задач, другой с `deepseek/deepseek-v4.1-flash` для массовых правок. Переключение между ними — пункт **Set active provider** в `/provider`. Список моделей профиля можно задать сразу на шаге 3 через `;` или `,`.

## Выбор модели

Идентификаторы проверены по [каталогу RouterAI](/models) на момент написания; цены и актуальный список смотрите в каталоге. Для агента важна сильная поддержка вызова инструментов (tool calling): OpenClaude сам советует брать модели с хорошим function calling.

| Модель | Для чего |
| --- | --- |
| `anthropic/claude-sonnet-5.5` | Основная модель для кода: фичи, отладка, рефакторинг среднего размера |
| `anthropic/claude-opus-5.5` | Сложные рефакторинги и архитектурные изменения |
| `anthropic/claude-haiku-5.5` | Быстрые мелкие запросы и вспомогательные задачи |
| `openai/gpt-6.1-terra` | Альтернатива Claude от OpenAI для тех же задач |
| `deepseek/deepseek-v4.1-flash` | Дешёвые массовые правки и переименования |
| `z-ai/glm-5.3` | Альтернативная модель для кода и рефакторинга |

## Проверка подключения

Быстрая проверка без интерактивного интерфейса: флаг `-p` (`--print`) выполняет один запрос, печатает ответ и завершает работу.

```bash
openclaude -p --provider-env-file .env "Ответь одним словом: OK"
```

Для проверки в работе запустите `openclaude` в папке демо-проекта с тестами и попросите: «Запусти npm test и коротко скажи, что проверяют тесты». OpenClaude покажет вызов инструмента Bash и спросит разрешение: **Yes**, **Yes, and don't ask again for: npm test:\*** или **No**. После ответа в строке статуса видны модель, использованный контекст (`ctx`) и оценка стоимости.

![Сессия OpenClaude: запуск npm test, все тесты прошли, в строке статуса модель anthropic/claude-sonnet-5.5](https://b51bc417-3ee0-451a-a83b-8a681d027a96.selstorage.ru/public/23e40ce33c4c91fb84ea7921b8951749.png)

## Сессии, MCP и поиск

Сессии хранятся на диске, поэтому работу можно продолжить:

```bash
openclaude --continue
openclaude --resume <session-id>
openclaude --resume <session-id> --fork-session
```

`--continue` возвращает последний диалог в текущей папке, `--resume` — диалог по ID, а `--fork-session` ответвляет историю в новую сессию (рабочая копия файлов при этом не копируется). Внутри агента команда `/sessions` показывает диалоги проекта.

MCP-серверы подключаются командой `openclaude mcp add` (например, `openclaude mcp add --transport http <имя> <url>`); диагностика — `openclaude mcp doctor`. Для веб-поиска команда `/search` выбирает бэкенд: по умолчанию это Exa с бесплатным уровнем без ключа, `/search status` показывает активный, `/search test` выполняет пробный запрос.

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

- Агент отправляет провайдеру (в нашем случае RouterAI) ваши запросы, содержимое прочитанных файлов и вывод выполненных команд — это нужно моделям для работы. Не запускайте его в папках с секретами, которые не должны попадать в модель.
- Перед каждым вызовом инструмента (Bash, правка файла) агент спрашивает разрешение. Не включайте `--dangerously-skip-permissions` вне изолированной среды.
- Профиль в `.openclaude-profile.json` содержит ключ. Не копируйте его в репозиторий.
- Веб-поиск и `WebFetch` обращаются к сторонним сервисам (Exa и другим), а глубокий поиск по истории в `/resume` отправляет фрагменты диалогов модели-провайдеру, см. [README](https://github.com/Twigpine/openclaude#manage-saved-conversations).

## Решение проблем

### Требуется другая версия Node.js

OpenClaude требует Node.js 24.22.1 или новее. Проверьте `node --version`; на более старых версиях установка и запуск не пройдут.

### ripgrep not found

Установите ripgrep системно (`sudo apt install ripgrep`, `brew install ripgrep`) и убедитесь, что `rg --version` работает в том же терминале, где запускается `openclaude`.

### 401 Unauthorized

Ключ не передан или неверный. Проверьте поле **API key** в `/provider` (**Edit provider**) или `OPENAI_API_KEY` в `.env`, и что ключ скопирован из [личного кабинета](/settings/keys) полностью.

### 404 Not Found или «модель не найдена»

Base URL должен быть `https://routerai.ru/api/v1` — с `/v1`. Идентификатор модели проверьте по [каталогу](/models): он пишется целиком, с префиксом производителя, например `anthropic/claude-sonnet-5.5`.

### 402 Payment Required

Недостаточно средств на балансе — пополните его в разделе [Биллинг](/settings/billing).

### Обновление зависло (update-lock)

Глобальное обновление использует файл `.update.lock` в `~/.openclaude` (или в каталоге из `OPENCLAUDE_CONFIG_DIR`). Старый файл автоматически не удаляется. Если обновление было прервано, сначала убедитесь, что все процессы OpenClaude и менеджера пакетов остановлены, затем удалите только `.update.lock` и повторите `openclaude update`. Не удаляйте его, пока обновление идёт.

## Что дальше

- [Каталог моделей](/models) — подберите модель под задачу
- [Аутентификация](/docs/guides/overview/authentication) — управление API-ключами
- [Вайб-кодинг в Crush](/pages/vibe-coding-crush) и [Вайб-кодинг в Pi](/pages/vibe-coding-pi) — другие CLI-агенты через RouterAI
- [Codewhale через RouterAI](/pages/codewhale-routerai) и [Open Interpreter через RouterAI](/pages/open-interpreter-routerai) — терминальные агенты с любым Base URL
- [README OpenClaude](https://github.com/Twigpine/openclaude) — маршрутизация агентов по моделям, фоновые сессии, gRPC-сервер
