Установка OpenCode и настройка OmniProxy
Хотите, чтобы помощник по программированию понимал ваш проект, но не желаете тратить время на сложности с установкой и настройкой? OpenCode можно запускать из терминала, IDE или настольного приложения, а затем пошагово подключить к используемому вами сервису моделей.
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-совместимый сервис использует тот же формат запросов и может вызываться клиентами того же типа.
- Выполните
/connectв OpenCode и прокрутите список до Other. - Введите Provider ID. Ниже используется
omniproxy. Выберите легко запоминающийся ID, поскольку в файле конфигурации потребуется указать то же значение. - Введите API Key OmniProxy. На этом шаге сохраняются только учётные данные; адрес и модель ещё нужно добавить в
opencode.json. Учётные данные хранятся в~/.local/share/opencode/auth.json. - Создайте или измените файл
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" }
}
}
}
}
- Выполните
/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/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.