Содержание
Как подключить API OpenCode: первый запрос
Черновик готовит редакция с помощью ИИ. За стандарт издания отвечает главный редактор — Валерий Курземнек.
Материал редакции Зерокодера. Счёт по выдаче снят собственным прогоном 18 октября 2026 года; цитаты источников приведены дословно. Обновлено: октябрь 2026.
Как подключить API OpenCode и сделать первый запрос: установите инструмент, добавьте ключ провайдера моделей командой /connect, откройте проект и отправьте сообщение в TUI. OpenCode — агент кодирования ИИ с открытым исходным кодом, доступный как интерфейс терминала, настольное приложение или расширение IDE. Мы скачали подборку результатов веб-поиска по запросу «Как подключить API OpenCode: первый запрос»: текст отдали 9 из 10.
Отдельно стоит развести два значения слова «API». Первое — API провайдера моделей: ключ, которым инструмент получает доступ к LLM. Второе — HTTP-сервер OpenCode, который запускается вместе с TUI и публикует спецификацию OpenAPI. В этой статье — оба контура: подключение провайдера и первый запрос.
Прямой ответ: что такое OpenCode и где тут API
OpenCode — это агент кодирования с открытым исходным кодом. В документации проекта сказано: инструмент доступен в виде интерфейса на базе терминала, настольного приложения или расширения IDE. Это важная граница: речь идёт о локальном агенте в вашей среде разработки. Отсюда и два API.
Первый — API провайдера моделей. Сам OpenCode модель не содержит: он использует AI SDK и Models.dev, чтобы поддержать более 75 поставщиков LLM, и поддерживает запуск локальных моделей. Чтобы модель отвечала, вы даёте агенту ключ провайдера — Anthropic, OpenAI-совместимого сервиса, OpenCode Zen или десятков других. Ключ хранится отдельно от кода.
Второй — API самого инструмента. По документации, команда opencode serve запускает автономный HTTP-сервер, который предоставляет конечную точку OpenAPI для клиента с открытым кодом. Когда вы запускаете opencode, он поднимает TUI и сервер: TUI — это клиент, общающийся с сервером. Сервер публикует спецификацию OpenAPI 3.1, по которой можно сгенерировать клиент или посмотреть типы запросов и ответов.
Практический вывод для первого запуска: подключать нужно API провайдера моделей. Сервер OpenCode — следующий уровень, он пригодится для программной интеграции. Если вы работаете в терминале и правите репозиторий, вам хватит провайдера. Если пишете собственный клиент — понадобится серверная спецификация. Оба сценария ниже разобраны отдельно.
Условия доступа и где брать актуальные требования
Системные требования простые и перечислены в документации проекта. Для работы в терминале нужен современный эмулятор терминала. В документации названы примеры: WezTerm, кроссплатформенный Alacritty, кроссплатформенный Ghostty, Kitty для Linux и macOS. Второй обязательный элемент — ключи API для поставщиков LLM, которых вы хотите использовать. Купить их можно у самого провайдера моделей.
Установка описана разными путями. Самый простой способ, по документации проекта, — сценарий установки: curl -fsSL https://opencode.ai/install | bash. Есть и пакетные команды: через npm, Bun, pnpm или Yarn — npm install -g opencode-ai и аналоги. Homebrew в macOS и Linux ставится командой brew install anomalyco/tap/opencode; документация проекта рекомендует использовать tap opencode для самых последних версий, поскольку официальная формула в Homebrew обновляется реже. В Arch Linux работает sudo pacman -S opencode или paru -S opencode-bin. В Windows документация советует WSL как способ получить лучшую производительность и полную совместимость функций, а также приводит команды Chocolatey (choco install opencode) и Scoop (scoop install opencode). Дополнительно доступны Mise и Docker с образом ghcr.io/anomalyco/opencode.
Для актуальных требований источник один — официальная документация проекта по адресу dev.opencode.ai и раздел провайдеров на docs.opencode.ai. Там же публикуется полный каталог подключений и текущие способы аутентификации. Если провайдер меняет адрес или метод входа, изменения появляются именно в этом разделе.
Провайдеры моделей могут требовать зарубежную платёжную карту, поэтому способ оплаты выбирайте до установки.
Порядок действий: подключение провайдера и ключ
Документация провайдеров называет два действия: добавить ключи API командой /connect и настроить провайдера в конфигурации OpenCode. Установка инструмента и проверка запроса приведены ниже как отдельные этапы.
Начните с установки и запуска TUI. После установки откройте терминал в каталоге будущего проекта и запустите opencode. Вы увидите интерфейс терминала. Если вы новичок в работе с провайдерами LLM, документация советует OpenCode Zen: это подобранный список моделей, протестированных и проверенных opencode.
Дальше — команда /connect. В документации описано так: запустите /connect в TUI, выберите opencode и перейдите по адресу opencode.ai/auth. Там нужно войти в систему, добавить платёжные данные и скопировать ключ API. Затем вставьте свой ключ в поле в терминале и нажмите Enter. Для других провайдеров выбор другой: документация отмечает, что можно выбрать одного из прочих поставщиков и получить ключ в их консоли — например, у 302. AI ключ создаётся в консоли после регистрации аккаунта.
Куда попадает ключ. По документации провайдеров, когда вы добавляете ключи API командой /connect, они сохраняются в ~/.local/share/opencode/auth.json. Файл находится вне репозитория, поэтому случайно закоммитить секрет сложно. Второй путь — файл конфигурации opencode с разделом provider; документация проекта называет конфигурацию рекомендуемым способом для постоянной настройки. Третий — переменные окружения, которые тоже поддерживаются. После ввода ключа выберите модель командой /models.
Что подготовить заранее: терминал, установленный OpenCode, аккаунт у провайдера моделей и ключ. Проверка первого запроса описана в практических руководствах по быстрому старту: откройте реальный репозиторий, выполните /init для создания AGENTS.md, затем задайте задачу.
Учебный пример и проверка результата
Разделим первый запрос к локальному HTTP-серверу и запрос к модели через Console. Это учебные примеры по документации; результаты проверяются на вашей установке.
Для локального сервера откройте терминал в каталоге проекта и запустите:
opencode serve --hostname 127.0.0.1 --port 4096
В другом терминале выполните первый HTTP-запрос:
curl http://127.0.0.1:4096/global/health
Документация описывает ответ с healthy: true и версией сервера. Это критерий доступности HTTP-контура. Если задан OPENCODE_SERVER_PASSWORD, потребуется базовая HTTP-аутентификация; имя пользователя по умолчанию — opencode. Спецификацию запросов и ответов откройте по адресу http://localhost:4096/doc.
Для вызова модели через Console скопируйте API URL со страницы нужного провайдера и создайте service account key. Документированный пример Chat Completions:
curl -X POST "https://opencode.ai/inference/custom/conn_.../chat/completions" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-chat","messages":[{"role":"user","content":"Say hi"}]}'
Замените адрес подключения, токен и модель своими значениями со страницы провайдера. Критерии проверки: локальный health вернул состояние и версию; URL Console взят у нужного подключения; токен создан для service account; идентификатор модели совпадает со страницей провайдера; ответ модели соответствует исходному формату Chat Completions. Console отклоняет модели, которые не включены в подключении. Успешный health и успешный вызов модели проверяют разные контуры.
Смежные варианты: OpenCode Go, Zen и свой провайдер
Выбор метода зависит от задачи. Сгруппируем документированные варианты.
| Вариант | Что это | Когда выбирать |
|---|---|---|
| OpenCode Zen | Подобранный список моделей, протестированных и проверенных opencode | Первый запуск, если вы новичок в провайдерах LLM |
| OpenCode Go | Отдельная авторизация, описанная в обзорах как самостоятельный вид входа | Нужен готовый доступ к моделям через сервис |
| Ключ стороннего провайдера | /connect плюс ключ из консоли поставщика |
У вас уже есть аккаунт у Anthropic, 302. AI, Cloudflare и других |
| Свой OpenAI-совместимый сервер | Раздел provider с baseURL, npm и списком моделей |
Локальные модели и корпоративные шлюзы |
| Сервер OpenCode | opencode serve с конечной точкой OpenAPI |
Программная интеграция и собственный клиент |
По документации проекта, через /connect можно добавить ключи десятков поставщиков: у Cloudflare ключ токена вводится в терминале и дополнительно доступен через переменные окружения в профиле оболочки; у DigitalOcean рекомендуется OAuth, и токен используется напрямую для инференса; у GitLab предлагается выбор между OAuth и personal access token со скоупом api; для планов Grok или X Premium, включающих доступ к Grok API, документация описывает OAuth с автоматическим обновлением токена; отдельный XAI_API_KEY в этом сценарии не требуется.
Для собственного OpenAI-совместимого сервера документация приводит структуру конфигурации: в разделе provider указываются имя, npm-пакет @ai-sdk/openai-compatible, базовый URL, ключ через ссылку на переменную окружения и карта моделей с лимитами контекста и вывода. Этот путь подходит локальным моделям.
Отдельная история — Console API. По документации Console, каждый провайдер, подключённый к рабочему пространству, доступен через шлюз Console по своему адресу; OpenCode использует его автоматически после /connect. Console подставляет учётные данные провайдера до пересылки, поэтому секрет остаётся внутри рабочего пространства. Путь запроса дописывается к базовому адресу: для Chat Completions это /chat/completions, для Responses API — /responses, для Anthropic-совместимого формата — /messages.
Типичные проблемы и способы диагностики
Проверку подключения удобно строить от запуска сервера к авторизации и модели.
Первый шаг — проверить, что сервер жив. В спецификации сервера есть GET /global/health, возвращающий состояние и версию сервера. Если ответа нет, проблема в запуске.
Третий шаг — порядок приоритетов. В документации описано, что методы аутентификации имеют приоритет, и конфигурация может перекрываться другими источниками. Если ключ задан в переменной окружения и одновременно в файле, конфликт объясняет странное поведение. Практические руководства отдельно разбирают, почему инструмент игнорирует конфигурацию: обычно из-за нескольких источников ключа.
Четвёртый шаг — модель. Команда /models выбирает модель, и её идентификатор должен совпадать с тем, что принимает провайдер. В документации Console отмечено: идентификатор отправляется в том виде, в каком он указан на странице провайдера, и запросы к моделям, не включённым в подключении, отклоняются.
Пятый шаг — сессии и сообщения. GET /session/status показывает статус всех сессий, GET /session/:id/message — сообщения. По ним видно, доходит ли запрос до модели. Для потоковых событий есть GET /global/event.
Полезный приём: поднять сервер отдельно командой opencode serve и смотреть спецификацию OpenAPI 3.1 в браузере по адресу вида http://localhost:4096/doc. По ней удобно инспектировать типы запросов и ответов.
Частые вопросы
Где взять API-ключ OpenCode?
Ключ создаётся у провайдера моделей. Для OpenCode Zen порядок такой: команда /connect в TUI, выбор opencode, переход на opencode.ai/auth, вход в систему, добавление платёжных данных и копирование ключа. Затем ключ вставляется в терминале. Для сторонних поставщиков ключ выдаётся в их собственной консоли.
Что такое opencode zen api key?
Это ключ подобранного списка моделей, который проект тестирует и проверяет. Документация рекомендует OpenCode Zen тем, кто только начинает работать с провайдерами LLM. Ключ получают через страницу авторизации после входа в аккаунт.
Чем OpenCode Go отличается от Zen?
Практические руководства перечисляют четыре разных вида авторизации и выделяют вход OpenCode Go как отдельный. Для первого запуска документация проекта советует Zen. Выбор зависит от того, какой способ доступа к моделям у вас уже оплачен.
Куда сохраняется ключ после команды connect?
По документации провайдеров, ключи, добавленные командой /connect, сохраняются в ~/.local/share/opencode/auth.json. Файл лежит в домашнем каталоге пользователя и в репозиторий не попадает. Альтернатива — файл конфигурации opencode и переменные окружения.
Почему появляется cannot connect to api?
Проверяйте по порядку: жив ли сервер, виден ли провайдер в списке подключённых, нет ли конфликта источников ключа, совпадает ли идентификатор модели. Ошибки учётных данных разбираются в руководствах по авторизации. Для потоковых событий и статусов есть отдельные эндпоинты сервера.
