# OpenCode в России: 400 моделей в терминале

> Терминальный ассистент подключается к Polza одной командой — скрипт сам проверит ключ, загрузит список моделей и допишет конфиг. Оплата картой РФ, зарубежные аккаунты не нужны.

- Настройка одной командой
- Работает из РФ напрямую
- Карта РФ и СБП
- 400+ моделей вместо встроенных

OpenCode — терминальный ассистент для разработчиков с открытым кодом. Запускается в папке проекта, понимает его контекст и помогает писать, редактировать и отлаживать код, не переключаясь в браузер.

От автодополнения он отличается тем, что работает задачами, а не строками: вы описываете, что нужно, он сам решает, какие файлы открыть и что в них поменять, запускает команды и читает их вывод.

Скачать и пользоваться можно бесплатно — это открытый проект. Платной остаётся только модель, к которой ассистент обращается.

## Почему OpenCode не отвечает из России

Сам ассистент ставится свободно — curl, npm, brew, choco или Docker. Упирается всё в провайдера, к которому он обращается за моделью.

- **Встроенные провайдеры молчат.** Штатно OpenCode ходит к зарубежным API, а они не обслуживают российские адреса: ассистент ставится, но на первом запросе отдаёт ошибку. Решение: Адрес Polza отвечает из РФ напрямую.
- **Картой не оплатить.** У каждого провайдера из коробки своя оплата зарубежной картой, и подключить российскую не выйдет. Решение: Карта РФ, СБП или счёт для юрлица.
- **Конфиг под каждого провайдера свой.** Чтобы сравнить Claude с GPT, приходится описывать в opencode.json два разных блока и держать два ключа. Решение: Один провайдер, весь каталог моделей.
- **Бесплатные модели кончаются.** Бесплатные тарифы упираются в лимиты и очереди, а агентный режим выбирает их за вечер работы. Решение: Оплата за токены: пополнил и работаешь.
- **Юрлицу не провести оплату.** Подписку на зарубежный сервис не примет бухгалтерия, закрывающих документов нет. Решение: Договор, счёт, УПД и НДС.
- **Непонятна цена сессии.** Агент читает десятки файлов за задачу, и сколько это стоило, выясняется по факту списания. Решение: Статистика по ключам и моделям в кабинете.

## Как подключить OpenCode к Polza

Быстрый путь — один скрипт. Ручной вариант нужен, если конфиг уже настроен под другие провайдеры и перезаписывать его не хочется.

Что нужно:

- **Современный терминал.** WezTerm, Alacritty, Ghostty, Kitty или iTerm2. В стандартной консоли интерфейс отображается заметно хуже.
- **curl и jq.** Нужны скрипту автонастройки для проверки ключа и загрузки списка моделей. При ручной настройке не требуются.
- **Ключ Polza.** Создаётся в кабинете за минуту. Пополняется картой РФ, через СБП или по счёту для юрлица.

### 1. Установите OpenCode

Любым удобным способом — доступны установщик, npm, Homebrew, Chocolatey и Docker. Нужен современный терминал: WezTerm, Alacritty, Ghostty, Kitty или iTerm2.

Терминал · установка:

```
$ curl -fsSL https://opencode.ai/install | bash

# или через npm:
$ npm install -g opencode-ai
```

### 2. Запустите скрипт автонастройки

Скрипт проверит зависимости, спросит ключ, убедится, что он рабочий, загрузит список моделей и сам допишет конфиг. Нужны установленные `curl` и `jq`.

Автонастройка:

```
$ curl -fsSL https://s3.polza.ai/scripts/opencode.sh | bash

  ✓ провайдер polza добавлен в opencode.json
```

### 3. Или настройте вручную

Создайте `opencode.json` в корне проекта и опишите провайдера сами. Так удобнее, если в конфиге уже есть другие источники моделей:

opencode.json:

```
{ "provider": { "polza": {
    "npm": "@ai-sdk/openai-compatible",
    "baseURL": "https://polza.ai/api/v1",
    "apiKey": "<ваш ключ>"
} } }
```

### 4. Выберите модель и работайте

Запустите `opencode` в папке проекта и вызовите команду `/models` — в списке появятся модели Polza. Дальше всё как обычно.

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

```
$ cd ~/project && opencode
> /models

  ● anthropic/claude-sonnet-5
```

**Конфиг в проекте, а не в системе.** OpenCode читает opencode.json из корня проекта, поэтому у разных репозиториев могут быть разные модели по умолчанию: где-то дорогая на сложный рефакторинг, где-то дешёвая на рутину. Ключ при этом один и тот же, а сам файл можно держать вне репозитория, чтобы не коммитить секреты.

## Что умеет OpenCode

Возможности, ради которых его держат в терминале рядом с редактором.

- **Понимает контекст проекта.** Читает файлы вокруг задачи сам, без ручного копирования кусков кода в промпт.
- **Пишет и правит код.** Генерация по описанию, рефакторинг, разбивка больших функций — с показом изменений перед применением.
- **Отладка.** Разбирает стектрейс и логи, находит причину и предлагает правку с объяснением.
- **Команды в терминале.** Запускает сборку и тесты, читает вывод и исправляется, не выходя из сессии.
- **Работа в TUI.** Полноценный текстовый интерфейс с историей и командами — отсюда и требование к современному терминалу.
- **Конфиг под проект.** Настройки лежат рядом с кодом, поэтому окружение переносится вместе с репозиторием.

- **Скрипт автонастройки.** Быстро и без ошибок: проверит ключ, подтянет модели и обновит конфиг. Подходит для чистой установки.
- **opencode.json вручную.** Нужен, если в конфиге уже описаны другие провайдеры или вы держите настройки под контролем версий.

## Примеры: что поручают OpenCode

Девять сценариев, которые закрываются без участия человека после того, как задача поставлена. Все они опираются на штатные возможности — режим планирования, агентов с разными правами и свои команды.

- **Разобраться в незнакомом проекте.** Команда `/init` обходит важные файлы репозитория, задаёт уточняющие вопросы, если по коду ответа нет, и собирает `AGENTS.md` — краткую памятку о проекте: команды сборки и тестов, структура, договорённости и подводные камни. Дальше все сессии стартуют уже с этим контекстом.
- **Один раз описать правила.** `AGENTS.md` лежит в репозитории и коммитится вместе с кодом. В нём удобно зафиксировать то, что новичок узнаёт неделю: каким пакетным менеджером пользуемся, что гонять перед коммитом, какие каталоги трогать нельзя.
- **Сначала план, потом правки.** Клавиша Tab переключает в режим планирования: агент разбирает задачу и предлагает порядок действий, ничего не меняя. Удобно на рефакторингах, где цена ошибки высокая — план можно поправить до того, как файлы поедут.
- **Ревью перед пушем.** Отдельный агент с доступом только на чтение проходит по изменениям и пишет замечания. Правок он не вносит — решение остаётся за человеком, а разбор получается дешевле и быстрее, чем у коллеги в очереди.
- **Аудит безопасности.** Подагент с запретом на редактирование ищет уязвимости: непроверенный ввод, дыры в авторизации, утечки данных, проблемные зависимости и небезопасные настройки. Запускается по расписанию или перед релизом.
- **Тесты и разбор падений.** Агент прогоняет тесты, читает вывод, находит упавшие и предлагает исправления. Это как раз тот случай, где автономность окупается: цикл «запустил — прочитал — починил — перезапустил» проходит без вас.
- **Массовые правки по кодовой базе.** Переименовать сущность во всех файлах, обновить устаревший вызов API, привести импорты к одному виду. Скучная работа на сотню файлов, где важна не сообразительность, а усидчивость — берите модель подешевле.
- **Отладка по стектрейсу.** Агент с доступом к терминалу и чтению файлов воспроизводит ошибку, читает логи и доходит до причины. Часто быстрее, чем расставлять принты вручную.
- **Документация, которую никто не пишет.** Агент для документации умеет править файлы, но не запускает системные команды. Ему поручают README, комментарии к функциям и описания модулей — рутину, до которой руки не доходят.

## Свои команды под повторяющиеся задачи

Кроме встроенных `/init`, `/models`, `/undo`, `/redo` и `/share` можно завести собственные. Команда — это markdown-файл с описанием и готовым промптом: положили в `.opencode/commands/`, и она появляется в списке после слеша.

.opencode/commands/test.md:

```
---
description: Прогнать тесты с покрытием
agent: build
model: anthropic/claude-sonnet-5
---

Запусти весь набор тестов с отчётом о покрытии.
Покажи упавшие и предложи, как починить.
```

Вызывается как `/test`. Во фронтматтере можно указать агента и модель — значит, у каждой команды своя цена запуска.

**Что обычно заводят**

Команды лежат в репозитории рядом с кодом, поэтому переезжают вместе с ним и работают одинаково у всей команды.

- `/test` — прогон тестов с покрытием и разбор падений.
- `/review` — вычитка изменений перед коммитом.
- `/changelog` — описание релиза по истории коммитов.
- `/migrate` — типовая миграция: обновить вызовы, поправить импорты.
- `/audit` — разовая проверка зависимостей и настроек.

## Агенты: кто что делает и на какой модели

У OpenCode есть основные агенты и подагенты, которым можно раздать разные права и разные модели. Это главный способ управлять расходом: тяжёлую работу отдать сильной модели, а поиск по файлам и черновой текст — дешёвой. Ключ при этом остаётся один.

| Агент | Откуда | Что ему разрешено | Какая модель подойдёт |
| --- | --- | --- | --- |
| build | Встроенный | Все инструменты: чтение, правка файлов, терминал | Сильная модель — он делает основную работу |
| plan | Встроенный | Анализ и планирование, без изменений в файлах | Сильная модель: ошибка в плане дороже ошибки в строке |
| general, explore, scout | Встроенные | Поиск по коду и вспомогательные задачи | Дешёвая: тут важнее скорость и объём |
| review | Заводится сам | Только чтение плюс работа с документацией | Средняя: замечания по диффу не требуют топовой |
| debug | Заводится сам | Чтение файлов и запуск команд в терминале | Сильная модель на запутанных багах |
| docs | Заводится сам | Правка файлов без системных команд | Дешёвая: текст пишется предсказуемо |

build, plan, general, explore и scout идут из коробки. review, debug и docs встроенными не являются — это агенты, которых заводят под себя, примеры есть в документации проекта.

~/.config/opencode/agents/security-auditor.md:

```
---
description: Аудит безопасности и поиск уязвимостей
mode: subagent
permission: edit: deny
model: anthropic/claude-sonnet-5
---

Ты эксперт по безопасности. Ищи непроверенный ввод,
ошибки авторизации, утечки данных и уязвимые зависимости.
```

`permission` ограничивает агента: аудитору запрещено править файлы, автору документации — запускать системные команды.

**Зачем ограничивать права**

Автономный агент делает ровно то, что ему разрешено. Ревьюеру не нужен доступ на запись, чтобы описать проблемы, а автору README незачем выполнять команды в терминале. Чем уже права, тем предсказуемее результат и тем спокойнее запускать агента без присмотра. Второй эффект — деньги. У каждого агента своя модель, поэтому дешёвые задачи не уходят на дорогую модель просто потому, что она выбрана по умолчанию.

[Посмотреть цены моделей](https://polza.ai/models)

## Внешние инструменты через MCP

Model Context Protocol подключает к агенту то, что лежит за пределами репозитория: трекер ошибок, документацию библиотек, поиск по чужому коду, внутренние сервисы. Поддерживаются и локальные серверы, и удалённые — после подключения инструменты становятся доступны модели наравне со встроенными.

opencode.json · mcp:

```
{ "mcp": {
    "sentry": { "type": "remote", … },
    "context7": { "type": "local", … }
} }

# каждый инструмент занимает контекст —
# включайте только те, что реально нужны
```

**Что это даёт на практике**

Важная оговорка из документации проекта: каждый подключённый инструмент занимает место в контексте. Десяток серверов «на всякий случай» удорожает каждый запрос, поэтому включать стоит только нужные.

- Агент сам смотрит в трекер ошибок и чинит то, что там висит, а не то, что вы пересказали.
- Подтягивает актуальную документацию библиотеки вместо того, чтобы вспоминать версию двухлетней давности.
- Ищет примеры использования в открытом коде, когда в вашем проекте такого паттерна ещё нет.

## Чем OpenCode отличается от Claude Code и Codex

Терминальных ассистентов уже несколько, и различает их в основном то, насколько просто сменить бэкенд и где живут настройки.

- **OpenCode.** Открытый код, конфиг в JSON рядом с проектом и готовый скрипт автонастройки. Самый быстрый путь от установки до рабочей связки.
- **Claude Code.** Сильнее в длинных автономных задачах, настройки живут в переменных окружения. Через Polza работает тоже, под него есть отдельная страница.
- **Codex CLI.** Инструмент OpenAI с похожей логикой. Подключается тем же ключом, инструкция есть в документации.

## Напрямую или через Polza

| Из России | Встроенные провайдеры | OpenCode через Polza |
| --- | --- | --- |
| Оплата | Зарубежная карта у каждого | Карта РФ, СБП, счёт для юрлиц |
| Доступ к API | Закрыт, нужны обходные пути | Работает из РФ напрямую |
| Настройка | Свой блок конфига на провайдера | Один провайдер на весь каталог |
| Выбор моделей | Ограничен вендором | Claude, GPT, Gemini и ещё 400 |
| Лимиты | Очереди и квоты на бесплатных | За токены, лимиты не сгорают |
| Документы | Нет | Договор, счёт, УПД, НДС |
| Расходы | По кабинетам провайдеров | Статистика по ключам и моделям |

## Сколько стоит OpenCode в России

Сам ассистент бесплатный и с открытым кодом. Платите только за токены моделей по ценам каталога, в рублях.

- **Ежедневная разработка.** Claude Sonnet 5 — основная рабочая модель: пишет и рефакторит код, гоняет тесты, разбирается в чужом проекте.
- **Сложные задачи.** Claude Opus 4.8 и GPT-5.5 — архитектура, запутанные баги, большие рефакторинги. Включаются, когда нужна глубина.
- **Рутина и прогон по файлам.** GLM 5.3, Kimi и DeepSeek V4 Flash — массовые правки и черновики. В разы дешевле при сопоставимом результате.

- [anthropic/claude-sonnet-5](https://polza.ai/models/anthropic/claude-sonnet-5.md) — ежедневная разработка
- [anthropic/claude-opus-4.8](https://polza.ai/models/anthropic/claude-opus-4.8.md) — сложные задачи
- [openai/gpt-5.5](https://polza.ai/models/openai/gpt-5.5.md) — рассуждения
- [z-ai/glm-5.3](https://polza.ai/models/z-ai/glm-5.3.md) — дёшево и быстро
- [deepseek/deepseek-v4-flash](https://polza.ai/models/deepseek/deepseek-v4-flash.md) — массовая рутина

## Если OpenCode не работает

Четыре причины, на которые приходится почти вся переписка с поддержкой.

- **Скрипт падает на проверке зависимостей.** Не хватает `curl` или `jq`. Поставьте их пакетным менеджером системы и запустите скрипт заново.
- **Ошибка авторизации.** Проверьте ключ и баланс, затем убедитесь, что baseURL записан ровно как https://polza.ai/api/v1, без лишнего слеша.
- **Список моделей пустой.** Команда /models читает конфиг. Если правили его руками, проверьте, что JSON валиден и блок провайдера лежит внутри секции provider.
- **Интерфейс рассыпается.** Это не про подключение, а про терминал: возьмите WezTerm, Kitty, Ghostty или iTerm2.

## Частые вопросы

### Работает ли OpenCode в России?

Да. Сам ассистент ставится без ограничений, а запросы идут через API Polza, которое отвечает из России напрямую. VPN не нужен.

### Как подключить OpenCode за одну команду?

Запустите скрипт автонастройки: он проверит зависимости, спросит ключ, убедится в его валидности, загрузит модели и сам обновит opencode.json.

### Какой Base URL указывать вручную?

https://polza.ai/api/v1 — в поле baseURL провайдера. Тип провайдера — @ai-sdk/openai-compatible.

### Бесплатный ли OpenCode?

Само приложение бесплатное, это открытый код. Платными остаются только запросы к модели, и тут вы выбираете, насколько дорогую брать.

### Работает ли на Windows?

Да, есть установка через Chocolatey и npm. Нужен современный терминал — в стандартной консоли интерфейс отображается хуже.

### Где взять список моделей?

После настройки вызовите команду /models прямо в OpenCode — список подтянется из каталога. Там же можно переключаться между моделями.

### Что делать, если OpenCode не работает после настройки?

Проверьте ключ и баланс, затем убедитесь, что baseURL записан ровно как https://polza.ai/api/v1. Если правили конфиг руками, проверьте, что JSON валиден.

### Что такое AGENTS.md и зачем он нужен?

Файл с правилами проекта, который попадает в контекст каждой сессии: команды сборки и тестов, структура репозитория, принятые договорённости. Создаётся командой /init и коммитится вместе с кодом.

### Можно ли подключить MCP-серверы?

Да, поддерживаются и локальные, и удалённые. После подключения инструменты доступны модели наравне со встроенными. В документации проекта есть важная оговорка: каждый инструмент занимает место в контексте, поэтому включать стоит только нужные.

### Чем подагенты отличаются от основных?

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

### Нужны ли аккаунты у зарубежных провайдеров?

Нет. Достаточно ключа Polza, регистрация где-то ещё не требуется.

## Читать дальше

- [Российский API нейросетей без VPN](https://polza.ai/blog/rossiyskiy-api-dlya-neyrosetey-bez-vpn-polnyy-gayd-2026.md)
- [API нейросетей: единый ключ для ChatGPT, Claude и 400+ моделей](https://polza.ai/blog/api-neyrosetei.md)
- [Claude Sonnet 5: обзор модели — цены и бенчмарки](https://polza.ai/blog/claude-sonnet-5.md)

## Ссылки

- Документация: https://polza.ai/docs/integracii/opencode
- Страница: https://polza.ai/integrations/opencode
- Обновлено: 2026-09-26
