OpenCode — один из самых обсуждаемых open-source AI-агентов для написания кода в 2026 году. Его философия — «независимость от модели и приоритет терминала». Это позволяет разработчикам запускать Claude, GPT, Gemini, локальные модели или даже комбинировать их по своему усмотрению. Как и Claude Code, он работает прямо в терминале, но идет другим путем: абстрагирует провайдера в виде подключаемого конфигурационного модуля, отдавая выбор базовой модели на откуп пользователю.
Многие читатели задают мне конкретный вопрос: судя по конфигурации, OpenCode использует формат, совместимый с OpenAI, но поддерживает ли он нативный формат Anthropic? Как правильно настроить его при подключении к сторонним сервисам-прокси API, таким как APIYI?

В этой статье я подробно разобрал официальную документацию и исходный код проекта. Сначала мы проясним, что такое OpenCode и в чем его ключевые отличия от Claude Code, а затем пошагово разберем, как подключить его к сервису-прокси APIYI (apiyi.com), охватив оба способа вызова: через совместимость с OpenAI и через нативный API Anthropic. После прочтения вы сможете сразу приступить к настройке.
Обзор проекта OpenCode: ключевое позиционирование AI-агента для кодинга
OpenCode поддерживается командой SST (авторами фреймворка SST/Serverless Stack), репозиторий находится по адресу github.com/sst/opencode, лицензия — MIT. На момент написания статьи проект набрал более 150 000 звезд на GitHub и привлек более 850 контрибьюторов, что делает его одним из самых активных open-source агентов для кодинга. Его целевая аудитория четко определена: это разработчики среднего и продвинутого уровня, которые хотят выполнять большую часть задач по программированию в терминале и не желают зависеть от одного поставщика моделей.
Архитектура и режим работы OpenCode
OpenCode использует клиент-серверную архитектуру: ядро агента работает как локальный фоновый процесс, а TUI (терминальный интерфейс) — лишь один из множества фронтендов. Это означает, что один и тот же экземпляр агента может одновременно использоваться через терминал, десктопное приложение, плагины для IDE и даже мобильные устройства.
В него встроены два режима работы, переключаемые клавишей Tab:
build: режим по умолчанию с полным доступом к инструментам (чтение, запись, выполнение команд) — подходит для реальных задач разработки.plan: режим «только чтение», предназначенный исключительно для анализа кода, проектирования решений и рекомендаций; агент не вносит никаких изменений в файлы.
| Параметр | Особенности дизайна OpenCode | Ценность для разработчика |
|---|---|---|
| Архитектура | Разделение клиента и сервера | Мультиплатформенность, удаленное управление |
| Модели | Абстракция через подключаемые провайдеры | Свободное переключение между 75+ моделями |
| Интерфейс | TUI / Desktop App / IDE плагины | Независимость от конкретного интерфейса |
| Права доступа | Режимы build / plan | Баланс между безопасностью и эффективностью |
| Развертывание | Локальный приоритет, поддержка удаленных API | Данные остаются на локальной машине |
🎯 Совет по настройке: Если вы хотите использовать в OpenCode модели от Claude, GPT, Gemini, DeepSeek и других, не создавая аккаунты у каждого провайдера и не управляя десятками ключей, вы можете подключиться к сервису-прокси APIYI (apiyi.com). Один API-ключ покроет все основные модели.
Основные возможности OpenCode
Его функционал значительно шире, чем у традиционных IDE-плагинов. Вводя естественный язык в терминале, вы позволяете OpenCode анализировать весь репозиторий, добавлять функции, изменять логику, запускать тесты и даже проводить рефакторинг между файлами. Режим plan используется для предварительного ревью: агент сначала предлагает план реализации, а после подтверждения разработчиком вы переключаетесь в режим build для внесения правок.
Также поддерживается неинтерактивный режим opencode run "ваш промпт", который можно встраивать в shell-скрипты для CI/CD, пакетного рефакторинга или автоматизации по расписанию. Эта возможность, которой не было в ранних версиях Claude Code, является одной из причин, по которой OpenCode часто выбирают для инженерных задач.
Стоит отметить, что OpenCode по умолчанию сверяет список моделей с публичной базой данных models.dev, поэтому даже при выходе новых моделей у провайдеров OpenCode быстро их распознает. При подключении через сервис-прокси локальное сопоставление моделей будет соответствовать списку в панели управления APIYI, что предотвращает ошибки типа «модель указана в конфиге, но запрос отклонен».
Основные различия между OpenCode и Claude Code
Многие ошибочно принимают OpenCode за «Open Source версию Claude Code», но их позиционирование в корне различается. Claude Code — это официальный инструмент от Anthropic, созданный как «первоклассное» решение для их собственных моделей. OpenCode же представляет собой нейтральный фреймворк, ориентированный на работу с широкой экосистемой различных моделей.

Поддержка моделей и контроль затрат
Claude Code работает только с моделями Anthropic (серии Sonnet, Opus, Haiku), что означает оплату по тарифам Anthropic. OpenCode поддерживает более 75 провайдеров, включая OpenAI, Anthropic, Google Vertex, Bedrock, Groq, Azure, OpenRouter и даже локальные бэкенды для инференса, такие как Ollama или LM Studio.
Такая гибкость крайне полезна в реальных рабочих процессах. Простые задачи, вроде генерации документации, сообщений коммитов или переименования переменных, можно делегировать дешевым моделям, а для сложного рефакторинга и проектирования архитектуры переключаться на Claude Sonnet или Opus. Это позволяет снизить общие расходы на 40–60%.
Различия в рабочих процессах и правах доступа
Claude Code придерживается консервативного подхода: перед записью файлов или выполнением команд он запрашивает подтверждение. Это удобно для новичков, но иногда сбивает темп работы. OpenCode делает ставку на прозрачность: код полностью открыт, его может проверить служба безопасности, а права доступа явно управляются через переключение build/plan, что гораздо удобнее для автоматизации и написания скриптов.
| Критерий сравнения | OpenCode | Claude Code |
|---|---|---|
| Открытость | MIT, исходный код открыт | Закрытый, только бинарные файлы |
| Список моделей | 75+ провайдеров, включая локальные | Только модели Anthropic |
| Кастомный endpoint | Любой провайдер через baseURL | Только через ANTHROPIC_BASE_URL |
| Интерфейс | TUI / Десктоп-приложение / Плагин IDE | Преимущественно терминал |
| Политика прав | Явное переключение build / plan | Запрос подтверждения по умолчанию |
| Зрелость | Быстрая эволюция, детали дорабатываются | Более отточенный опыт |
| Сценарии использования | Микс моделей, локальный деплой, кастомизация | «Все в одном» для Claude |
🎯 Совет по выбору: Если ваш рабочий процесс завязан на Claude, но вы хотите иметь возможность подстраховаться моделями GPT или Gemini, рекомендую настроить в OpenCode доступ через сервис-прокси APIYI (apiyi.com). Используйте один API-ключ для переключения между моделями. В повседневной разработке можно использовать нативный Claude Code, а для сложных задач, требующих кросс-валидации, переключаться на OpenCode.
Кому стоит использовать OpenCode
OpenCode идеально подойдет тем, кто готов потратить 20 минут на чтение документации, чувствителен к затратам, хочет использовать один инструментарий для работы с множеством моделей или работает в компании, где требуется аудит используемых инструментов. Если же вам нужно решение «из коробки» исключительно для Claude, то Claude Code остается более простым и удобным выбором.
Два режима подключения OpenCode к сервису-прокси APIYI
Вернемся к главному вопросу: какой режим использовать в OpenCode — совместимый с OpenAI или нативный формат Anthropic? Ответ: поддерживаются оба, выбор зависит от того, как вы настроите провайдера в opencode.json.

Режим 1: Совместимость с OpenAI (универсальный)
Это основной способ, рекомендуемый в документации OpenCode, и самый надежный путь для подключения к сторонним сервисам-прокси. В основе лежит пакет @ai-sdk/openai-compatible из Vercel AI SDK, который упаковывает любой endpoint, соответствующий протоколу OpenAI Chat Completions, в провайдер OpenCode. Входная точка APIYI для совместимости с OpenAI — api.apiyi.com/v1. Она позволяет вызывать GPT, Claude, Gemini, DeepSeek и десятки других моделей, приводя их к единому формату OpenAI.
Преимущество — универсальность: почти все модели можно подключить через одного провайдера. Цена вопроса — некоторые специфические возможности Anthropic (например, extended thinking или нативные блоки tool use) проходят через конвертацию протокола, поэтому возможны незначительные отличия в поведении по сравнению с официальными эндпоинтами Anthropic.
Режим 2: Нативный режим Anthropic (рекомендуется для Claude)
Встроенный провайдер anthropic в OpenCode использует пакет @ai-sdk/anthropic. Путь запроса — /v1/messages, а формат тела запроса соответствует API Messages, определенному в официальной документации Anthropic. Этот формат поддерживает content blocks, блоки tool_use, extended thinking и другие функции Claude, работая по тому же протоколу, что и Claude Code.
Достаточно указать provider.anthropic.options.baseURL на https://api.apiyi.com, и OpenCode будет отправлять запросы в нативном формате Anthropic, которые сервис-прокси APIYI перенаправит на серверы Claude. Это означает, что вы получите в OpenCode практически идентичный опыт работы с Claude, как и в Claude Code.
| Режим | Пакет | APIYI Base URL | Для чего подходит | Верность протоколу |
|---|---|---|---|---|
| Совместимость OpenAI | @ai-sdk/openai-compatible |
https://api.apiyi.com/v1 |
Микс моделей | Стандарт OpenAI |
| Нативный Anthropic | @ai-sdk/anthropic |
https://api.apiyi.com |
Вся линейка Claude | Идентично официальному |
🎯 Совет по настройке: Мы рекомендуем использовать оба режима одновременно — в одном файле
opencode.jsonнастройте провайдерanthropicдля Claude и провайдерopenai-compatibleдля других моделей (GPT/Gemini/DeepSeek). Оба провайдера могут использовать один и тот же API-ключ от APIYI (apiyi.com), что избавляет от необходимости управлять несколькими ключами.
3 шага для настройки OpenCode и сервиса-прокси API APIYI
Ниже приведена минимально необходимая последовательность действий для подключения. Обычно вся настройка занимает не более 5 минут.
Шаг 1: Установка клиента OpenCode
Официально поддерживаются два основных способа установки, выберите подходящий для вашей среды.
# Способ А: через npm (рекомендуется для пользователей Node.js)
npm install -g opencode-ai@latest
# Способ Б: установка через скрипт (рекомендуется для macOS / Linux)
curl -fsSL https://opencode.ai/install | bash
После установки выполните opencode --version для проверки. Пользователи Windows могут использовать Scoop или WSL. Если установка через npm не удалась, скорее всего, у вас слишком старая версия Node — рекомендуется обновиться до 18+ или 20+.
Шаг 2: Получение API-ключа в личном кабинете APIYI
Войдите в личный кабинет APIYI, перейдите на страницу управления токенами api.apiyi.com/token и создайте новый ключ. Рекомендуем назвать его OpenCode и выбрать соответствующую группу (если планируете использовать Claude, убедитесь, что в эту группу входят модели серии Claude). Скопируйте полученную строку sk-xxx, она понадобится на следующем шаге.
🎯 Совет по токенам: После регистрации на APIYI apiyi.com рекомендуем создавать отдельные токены для каждого клиента, например: один для ClaudeCode, один для OpenCode, один для Cursor. Так, если возникнут проблемы с одним из клиентов, вы сможете отозвать только нужный токен, не затрагивая остальные.
Шаг 3: Редактирование конфигурационного файла opencode.json
OpenCode в первую очередь ищет opencode.json в корне проекта, а если не находит — обращается к пользовательскому конфигу ~/.config/opencode/opencode.json. Ниже приведен пример конфигурации, где одновременно используются нативный режим Anthropic и режим совместимости с OpenAI:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.apiyi.com",
"apiKey": "{env:APIYI_KEY}"
}
},
"apiyi-openai": {
"npm": "@ai-sdk/openai-compatible",
"name": "APIYI OpenAI совместимый",
"options": {
"baseURL": "https://api.apiyi.com/v1",
"apiKey": "{env:APIYI_KEY}"
},
"models": {
"gpt-4o": { "name": "GPT-4o" },
"claude-sonnet-4-6": { "name": "Claude Sonnet 4.6" },
"gemini-2.5-pro": { "name": "Gemini 2.5 Pro" }
}
}
}
}
Затем добавьте токен в переменные окружения:
# macOS / Linux
echo 'export APIYI_KEY="sk-ваш_токен_из_APIYI"' >> ~/.zshrc
source ~/.zshrc
# Windows PowerShell
$env:APIYI_KEY = "sk-ваш_токен_из_APIYI"
После запуска OpenCode используйте команду /models для выбора модели. Для серии Claude рекомендуется использовать провайдер anthropic, для остальных — apiyi-openai.
🎯 Правило base URL: Для нативного режима Anthropic не добавляйте
/v1, так как SDK автоматически добавит/v1/messages. Для режима совместимости с OpenAI добавление/v1обязательно. Это правило полностью соответствует рекомендациям APIYI apiyi.com для Claude Code: запомните «нативный — без суффикса, совместимый — с суффиксом».
Устранение типичных ошибок
| Ошибка | Возможная причина | Решение |
|---|---|---|
Route /api/messages not found |
В baseURL добавлен /v1 |
Удалите суффикс /v1 |
Required provider.anthropic.models |
Отсутствует поле models после смены baseURL | Явно укажите доступные ID моделей |
401 Unauthorized |
Токен недействителен или группа не содержит модель | Пересоздайте API-ключ в APIYI |
model not found |
ID модели не совпадает с данными в APIYI | Проверьте ID модели в «Магазине моделей» APIYI |
| Тайм-аут запроса | Проблемы с сетью или лимиты вышестоящего узла | Смените узел APIYI или повторите попытку |
🎯 Совет по отладке: При возникновении любой из этих ошибок сначала выполните
curl https://api.apiyi.com/v1/models -H "Authorization: Bearer $APIYI_KEY", чтобы проверить работоспособность токена и доступность сети. Это позволит локализовать 90% проблем за 30 секунд, что гораздо быстрее, чем постоянное редактированиеopencode.json. Если список моделей возвращается корректно, значит, проблема почти наверняка в настройках OpenCode.
Практические сценарии использования OpenCode и APIYI
После настройки самое важное — это рабочий процесс. Вот несколько наиболее эффективных сценариев использования.
Сценарий 1: Режим plan для безопасного ревью кода
Переключитесь в режим plan (клавиша Tab) и введите /проанализируй процесс аутентификации в этом репозитории. OpenCode просканирует код и выдаст отчет, не внося никаких изменений в файлы. Это удобно для онбординга новых коллег, проверки безопасности или разбора архитектуры старого кода.
Сценарий 2: Режим build для сквозной разработки
После утверждения плана перейдите в режим build и дайте задачу, например: перепиши middleware аутентификации на JWT и добавь модульные тесты. OpenCode автоматически прочитает нужные файлы, внесет изменения, запустит тесты и будет итерироваться в зависимости от причин сбоев. Рекомендуется работать в чистой ветке git для удобства отката.
Сценарий 3: Совместная работа моделей и контроль затрат
Используя абстракцию провайдеров в OpenCode, можно делегировать разные задачи разным моделям:
- Документация и сообщения коммитов: используйте
gpt-4o-miniчерезapiyi-openai(минимальные затраты). - Сложный рефакторинг и ревью кода: используйте
claude-sonnet-4-6или серию Opus через провайдерanthropic. - Задачи с мультиязычностью или визуальным контентом: используйте
gemini-2.5-proчерезapiyi-openai.
🎯 Совет по затратам: При вызове через APIYI apiyi.com все модели тарифицируются по фактическому потреблению токенов, без минимального порога оплаты. Рекомендуем сначала отладить процесс на дешевых моделях, а затем переключаться на более мощные, чтобы расходовать бюджет максимально эффективно.
Сценарий 4: Неинтерактивное использование в CI/CD
Команда opencode run позволяет передавать промпт прямо в оболочку, а вывод возвращается в stdout. Это удобно для интеграции с GitHub Actions, GitLab CI или планировщиками задач. Например, можно настроить еженедельную автоматическую проверку структуры репозитория или генерацию черновика changelog перед слиянием PR.
Часто задаваемые вопросы (FAQ)
Q1: OpenCode действительно поддерживает нативный протокол Anthropic /v1/messages?
Да, поддерживает. Встроенный провайдер anthropic в OpenCode использует пакет @ai-sdk/anthropic. Путь запроса — это официальный /v1/messages от Anthropic, а тело запроса соответствует официальному формату Messages API, что полностью совпадает с протоколом Claude Code. Просто укажите baseURL на APIYI (apiyi.com), и вы получите в OpenCode опыт, практически идентичный Claude Code.
Q2: Если использовать только режим совместимости с OpenAI, какие возможности Claude будут потеряны?
В режиме совместимости с OpenAI такие функции, как блоки tool_use, extended thinking и заголовки управления кэшем, адаптируются на уровне протокола. Функционально они остаются доступными, но из-за преобразования формата ответа некоторые детали (например, тарификация токенов мышления или специфические причины остановки генерации) могут немного отличаться от нативного режима. Для основной разработки на Claude рекомендуется использовать нативный режим.
Q3: Поддерживает ли файл конфигурации OpenCode синтаксис ${env:VAR} или {env:VAR}?
В последних версиях используется единый синтаксис {env:VAR}, хотя в старых версиях применялся ${env:VAR}. Если OpenCode выдает ошибку apiKey is undefined, проверьте, не написали ли вы ${env:APIYI_KEY} — просто замените его на {env:APIYI_KEY} согласно текущему стандарту.
Q4: Можно ли подключить APIYI напрямую через встроенную команду /connect в OpenCode?
Да. Запустите /connect, выберите "Other", введите ID провайдера (например, apiyi-openai) и вставьте API-ключ APIYI — OpenCode автоматически запишет данные в opencode.json. Однако /connect по умолчанию использует путь совместимости с OpenAI. Если вы хотите использовать нативный режим Anthropic, рекомендую вручную отредактировать provider.anthropic.options.baseURL.
Q5: Можно ли использовать один и тот же API-ключ APIYI для Claude Code и OpenCode одновременно?
Безусловно, и это настоятельно рекомендуется. Ключи APIYI (apiyi.com) не привязаны к конкретному клиенту. Один и тот же ключ sk-xxx может использоваться одновременно в Claude Code (через ANTHROPIC_BASE_URL), OpenCode (через opencode.json), Cursor, Continue и других клиентах. Биллинг можно отслеживать централизованно по источнику вызовов.
Q6: Являются ли режимы plan/build в OpenCode тем же самым, что и подтверждение прав в Claude Code?
Цели дизайна схожи, но пути реализации разные. Claude Code запрашивает подтверждение каждый раз перед записью файла или выполнением команды. OpenCode использует переключение режимов: в режиме plan права на запись принципиально отключены, а в режиме build — открыты по умолчанию. Подход OpenCode лучше подходит для автоматизированных сценариев, а Claude Code — для задач, требующих пошагового контроля.
Q7: Будет ли задержка при вызове Claude через сервис-прокси APIYI выше, чем при прямом подключении к официальному API?
APIYI (apiyi.com) развернул точки входа в нескольких ключевых узлах внутри страны и оптимизировал каналы связи для основных провайдеров, таких как Claude, GPT и Gemini. Для пользователей внутри страны задержка до первого байта (TTFB) обычно значительно ниже, чем при прямом подключении к официальным эндпоинтам. Конкретные цифры можно сравнить самостоятельно в своей сети с помощью команды curl -w "%{time_starttransfer}".
Итог: Лучшая комбинация практики OpenCode + APIYI
Истинная ценность OpenCode заключается в возвращении разработчику «права выбора модели», а сервисы-прокси API, такие как APIYI, делают эту гибкость по-настоящему применимой на практике. Используя их вместе, разработчик не только получает в терминале опыт работы с Claude, близкий к Claude Code, но и может легко переключаться на GPT, Gemini, DeepSeek и другие модели для перекрестной проверки. Весь рабочий процесс требует управления лишь одним файлом конфигурации OpenCode и одним API-ключом APIYI.
Возвращаясь к вопросу в начале статьи: OpenCode поддерживает как режим совместимости с OpenAI, так и нативный формат Anthropic, и они не исключают друг друга. Рекомендую постоянным пользователям прописать в opencode.json оба провайдера: Claude — через нативный путь для сохранения всех возможностей, а остальные модели — через путь совместимости для максимальной универсальности.
🎯 Финальный совет: Если вы только собираетесь попробовать OpenCode, самый простой способ начать — зарегистрироваться на APIYI (apiyi.com), создать один ключ и настроить оба режима согласно этой статье. Через неделю вы поймете, что уже не можете отказаться от подхода «один ключ для всех моделей» и больше не захотите поддерживать отдельные аккаунты и балансы для каждого сервиса.
— Техническая команда APIYI | Продолжаем следить за экосистемой AI-агентов для кодинга. Больше руководств доступно в центре помощи APIYI (apiyi.com).
