Разработчик

Установка OpenCode и настройка OmniProxy

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

Документация проверена
9 окт. 2026 г.
Протестированная версия
OpenCode 1.18.34

OpenCode — это помощник по программированию с открытым исходным кодом, который позволяет писать код в терминале, IDE или настольном приложении и не сохраняет ваш код и контекст, поэтому подходит для проектов, где важна конфиденциальность. Режим build предназначен для изменения проекта, а plan по умолчанию работает только для чтения и подходит для предварительного изучения незнакомого кода и планирования изменений. Сервис моделей можно выбрать в соответствии с вашими потребностями.

Подготовка к установке

Самый простой вариант — использовать установочный скрипт. Вам понадобится современный терминал, то есть терминальная программа, в которой можно выполнять команды и работать с файлами проекта, например WezTerm, Alacritty, Ghostty или Kitty. В Windows предпочтительно использовать WSL — инструмент для запуска среды Linux внутри Windows, обеспечивающий более полную функциональность и лучшую производительность.

Проще всего

Скрипт установки

  • curl opencode.ai/install
  • Напрямую использовать в macOS Linux
  • Для Windows рекомендуется WSL

macOS Linux

Homebrew tap

  • anomalyco/tap/opencode
  • Обновляется чаще, чем formula
  • Для Arch также есть пакет

Windows локально

Менеджер пакетов

  • choco или scoop
  • Или установить глобально через npm
  • Также можно скачать Releases
Сначала используйте установочный скрипт. Если вы уже привыкли к менеджерам пакетов, можно выбрать другие перечисленные команды.

Также подготовьте ID модели из текущего списка моделей. ID модели — это имя, по которому сервис точно определяет конкретную модель.

Установка и первый запуск

Самая простая команда установки:

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

Также доступны следующие способы установки:

  • Node.js: npm install -g opencode-ai. Для Bun, pnpm и Yarn также предусмотрены соответствующие команды глобальной установки; они приведены на странице с обзором в конце руководства.
  • Homebrew для macOS и Linux: brew install anomalyco/tap/opencode. Используйте этот tap: он обновляется чаще, чем поддерживаемый командой Homebrew пакет, устанавливаемый командой brew install opencode.
  • Arch Linux: стабильная версия — sudo pacman -S opencode, более новую версию можно установить из AUR как opencode-bin.
  • Windows: choco install opencode или scoop install opencode; также можно выполнить npm install -g opencode-ai. Кроме того, двоичный файл можно загрузить из Releases. Поддержка установки через Bun в Windows всё ещё находится в разработке.

Перейдите в каталог проекта и запустите OpenCode:

cd /path/to/project
opencode

При первом использовании можно выполнить /init. Эта команда проанализирует проект и создаст файл AGENTS.md в его корневом каталоге. Файл можно добавить в Git, чтобы сохранить эти инструкции вместе с проектом.

Получение параметров подключения из OmniProxy

baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: скопируйте полный ID из текущего списка моделей OmniProxy

baseURL — адрес сервиса, API Key — учётные данные для доступа, а Model ID — полное имя модели.

При работе через /v1/chat/completions в качестве npm-пакета используется @ai-sdk/openai-compatible. Chat Completions здесь означает интерфейс запросов для чата. Переходить на @ai-sdk/openai нужно только в том случае, если модель работает через /v1/responses. Если OmniProxy используется через маршрут Chat Completions, оставьте пакет совместимости.

Полностью скопируйте ID модели из текущего списка OmniProxy, сохранив все косые черты. По состоянию на 2026-10-09 двумя контрольными ID были claude-sonnet-5-5 и gpt-6-luna. Модель gpt-6-luna поддерживает Chat Completions; вызов функций через Chat Completions поддерживается только тогда, когда значение reasoning_effort равно none. Не копируйте ID, которых нет в списке.

Заполнение конфигурации инструмента

Provider можно понимать как набор настроек, которые OpenCode использует для подключения к сервису моделей. В документации Providers OpenAI-совместимые сервисы, отсутствующие в списке /connect, описаны как пользовательские Provider. OpenAI-совместимый сервис использует тот же формат запросов и может вызываться клиентами того же типа.

  1. Выполните /connect в OpenCode и прокрутите список до Other.
  2. Введите Provider ID. Ниже используется omniproxy. Выберите легко запоминающийся ID, поскольку в файле конфигурации потребуется указать то же значение.
  3. Введите API Key OmniProxy. На этом шаге сохраняются только учётные данные; адрес и модель ещё нужно добавить в opencode.json. Учётные данные хранятся в ~/.local/share/opencode/auth.json.
  4. Создайте или измените файл opencode.json в каталоге проекта:
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "omniproxy": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OmniProxy",
      "options": {
        "baseURL": "https://your-omniproxy-origin.example/v1"
      },
      "models": {
        "claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" },
        "gpt-6-luna": { "name": "GPT-6 Luna" }
      }
    }
  }
}
  1. Выполните /models: пользовательский Provider и модели появятся в списке.

ID в /connect должен совпадать с ключом в opencode.json. Не записывайте настоящий ключ непосредственно в этот файл. Если вы не используете /connect, в options.apiKey можно указать переменную окружения, например {env:имя_переменной}. При тестировании 2026-10-09 с OpenCode 1.18.34 подключение также работало, когда ключ был записан непосредственно в options.apiKey проекта без использования /connect. Если шлюз не проверяет ключ, здесь можно указать строку-заполнитель, используемую только локально. В качестве ключей в models используйте полные ID из списка.

Ключ

/connect

  • Выбрать Other в самом низу
  • Задать Provider ID
  • Сохраняется в auth.json

Проект

opencode.json

  • Ключ provider должен иметь то же имя
  • Для npm использовать совместимый пакет
  • baseURL заканчивается на /v1

Выбор

/models

  • Модель появляется в списке
  • Выбрать модель и задать вопрос
  • ID — по списку шлюза
Ключ и адрес задаются в двух разных местах. Provider ID в обоих местах должен совпадать.

Проверка на реальной задаче

Сначала выполните одну реальную задачу в каталоге проекта. Формат ссылки на модель — Provider ID/ID модели; косые черты внутри ID модели необходимо сохранить:

opencode run --model omniproxy/claude-sonnet-5-5 --auto "Объясни, что делает указанный тобой файл, не изменяй его."

Флаг --auto разрешает использовать во время этого запуска такие инструменты, как чтение файлов. При тестировании 2026-10-09 с OpenCode 1.18.34 содержимое указанного файла было прочитано. Первый запуск занял около двух минут.

Для интерактивной работы запустите opencode, а затем выберите модель через /models. Для поиска файлов можно использовать @. Команда opencode auth list позволяет проверить учётные данные, сохранённые через /connect, после чего в журнале вызовов OmniProxy можно проверить источник и ID модели.

Запуск

opencode запускается

  • Сначала перейти в проект через cd
  • auth list показывает ID
  • Файл конфигурации находится в проекте

Задача

Он прочитал код

  • Спросить о конкретном файле
  • Посмотреть его описание
  • Если что-то не так, использовать /undo

Запись

Шлюз видит запрос

  • Источник — OpenCode
  • ID модели совпадает
  • Не отправлять ключ в репозиторий
После сохранения конфигурационного файла необходимо выполнить один реальный запрос в проекте.

Распространённые ошибки

  • OmniProxy отсутствует в /models: проверьте, совпадает ли ID из /connect с ключом в opencode.json, имеет ли npm значение @ai-sdk/openai-compatible и оканчивается ли baseURL на /v1.
  • Учётные данные пропали: выполните opencode auth list. Provider, использующие переменные окружения, например Bedrock, не отображаются здесь; пользовательский Provider, настроенный через /connect, должен присутствовать в списке.
  • В Windows доступна не вся функциональность: используйте установочный скрипт внутри WSL.
  • Недопустимый ID модели: снова скопируйте его из текущего списка OmniProxy и измените соответствующий ключ в models.
  • Запрос отправляется не в тот интерфейс: для Chat Completions оставьте @ai-sdk/openai-compatible. Не меняйте пакет ради интерфейса Responses, если конкретная модель в OmniProxy действительно не работает через /v1/responses.

Справочные материалы

Инструкции по установке приведены в разделе OpenCode. Настройка пользовательских Provider описана в разделе Providers. Использованные в примерах ID моделей приведены на страницах Обзор моделей Claude и GPT-6 Luna.

Замените все заполнители значениями из вашей собственной конфигурации OmniProxy. Никогда не публикуйте реальный ключ.

Сохранённый результат или HTTP 200 сами по себе не доказывают полную совместимость Агента. Проверьте источник и модель в журнале вызовов OmniProxy.

Официальные источники · OpenCode ↗