|

Настройте подключение OpenCode к API-шлюзу за 3 шага и разблокируйте свободное переключение между 400+ моделями ИИ

Хотите использовать OpenCode, этого опенсорсного AI-помощника для программирования, но официальные API слишком дорогие или работают нестабильно? API-прокси — ваше идеальное решение. В этой статье мы пошагово разберем, как за 3 шага подключить OpenCode к APIYI, OpenRouter и другим сервисам, чтобы вы могли с меньшими затратами использовать Claude, GPT-4, Gemini и более 75 других популярных моделей.

Главная ценность: прочитав эту статью, вы научитесь настраивать OpenCode для работы с любым OpenAI-совместимым API, что обеспечит вам свободу выбора моделей и оптимизацию затрат.

opencode-api-proxy-configuration-guide-ru 图示

Что такое OpenCode и зачем ему API-прокси?

OpenCode — это опенсорсный AI-помощник для программирования в терминале, который позиционируется как открытая альтернатива Claude Code. Он разработан на языке Go и предлагает стильный TUI-интерфейс, управление сессиями, интеграцию с LSP и другие профессиональные возможности.

Краткий обзор ключевых особенностей OpenCode

Особенность Описание Ценность
Поддержка 75+ моделей OpenAI, Claude, Gemini, Bedrock и другие Никакой привязки к одному поставщику
Нативный терминал Стильный TUI на базе Bubble Tea Удобство и привычная среда для разработчика
Open Source и бесплатно Полностью открытый исходный код Без абонентской платы, оплата только за API
Интеграция с LSP Автоопределение языковых серверов Умное дополнение и диагностика кода
Управление сессиями Параллельный запуск нескольких агентов Разбиение сложных задач на подзадачи
Vim-режим Встроенный редактор в стиле Vim Бесшовный переход для фанатов терминала

Зачем использовать API-прокси?

При прямой работе с официальными API могут возникнуть следующие сложности:

Проблема Решение через API-прокси
Высокая стоимость Прокси-сервисы предлагают более выгодные тарифы для частных лиц
Нестабильное соединение Оптимизированные маршруты для доступа из любой точки мира
Сложная тарификация Единый баланс и интерфейс для управления всеми моделями сразу
Лимиты на запросы Возможность получения более гибких квот и лимитов
Сложности с регистрацией Не нужны иностранные номера телефонов или зарубежные карты

🚀 Быстрый старт: Рекомендуем использовать APIYI (apiyi.com) в качестве прокси-сервиса. Он предоставляет готовый к работе OpenAI-совместимый интерфейс, дарит бесплатные тестовые баллы при регистрации, а настройка OpenCode займет не более 5 минут.

Основные моменты подключения OpenCode к API-шлюзу

Прежде чем приступать к настройке, давайте разберемся, как OpenCode работает с API:

opencode-api-proxy-configuration-guide-ru 图示

Описание архитектуры конфигурации

OpenCode использует унифицированную систему управления конфигурациями с поддержкой многоуровневого переопределения:

Уровень конфигурации Расположение файла Приоритет Сценарий использования
Удаленная конфигурация .well-known/opencode Низкий Единые настройки для команды
Глобальная конфигурация ~/.config/opencode/opencode.json Средний Личные настройки по умолчанию
Переменные окружения Файл, на который указывает OPENCODE_CONFIG Средне-высокий Временное переопределение
Конфигурация проекта opencode.json в корне проекта Высокий Специфические настройки проекта
Инлайн-конфигурация OPENCODE_CONFIG_CONTENT Высший Сценарии CI/CD

Принцип работы с API-шлюзом

OpenCode поддерживает любые OpenAI-совместимые API через адаптер @ai-sdk/openai-compatible. Ключевые параметры настройки:

  • baseURL: адрес интерфейса API-шлюза.
  • apiKey: ваш API-ключ, полученный от шлюза.
  • models: список доступных моделей.

Это означает, что если ваш шлюз предоставляет стандартный эндпоинт /v1/chat/completions, вы сможете без проблем подключить его к OpenCode.

Быстрая настройка OpenCode

Шаг 1: Установка OpenCode

OpenCode можно установить несколькими способами, выберите наиболее удобный для вас:

Скрипт для быстрой установки (рекомендуется):

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

Через Homebrew (macOS/Linux):

brew install opencode-ai/tap/opencode

Через npm:

npm i -g opencode-ai@latest

Через Go:

go install github.com/opencode-ai/opencode@latest

Проверьте корректность установки:

opencode --version

Шаг 2: Настройка ключа API-прокси

OpenCode поддерживает два способа аутентификации:

Способ 1: Команда /connect (рекомендуется)

Запустите OpenCode и введите команду /connect:

opencode
# Введите в интерфейсе TUI
/connect

Выберите Other, чтобы добавить кастомный провайдер, и введите ваш API-ключ. Ключ будет надежно сохранен в ~/.local/share/opencode/auth.json.

Способ 2: Переменные окружения

Добавьте в ваш ~/.zshrc или ~/.bashrc:

# Настройка прокси-сервиса APIYI
export OPENAI_API_KEY="sk-your-apiyi-key"
export OPENAI_BASE_URL="https://api.apiyi.com/v1"

Примените изменения:

source ~/.zshrc

Шаг 3: Создание конфигурационного файла opencode.json

Это самый важный этап — создание конфига для указания API-прокси:

Глобальный конфиг (для всех проектов):

mkdir -p ~/.config/opencode
touch ~/.config/opencode/opencode.json

Локальный конфиг (только для текущего проекта):

touch opencode.json  # В корне проекта

Пример минимальной конфигурации

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "apiyi": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "APIYI",
      "options": {
        "baseURL": "https://api.apiyi.com/v1",
        "apiKey": "{env:OPENAI_API_KEY}"
      },
      "models": {
        "claude-sonnet-4-20250514": {
          "name": "Claude Sonnet 4"
        },
        "gpt-4o": {
          "name": "GPT-4o"
        }
      }
    }
  },
  "model": "apiyi/claude-sonnet-4-20250514"
}

О конфигурации: Синтаксис {env:OPENAI_API_KEY} автоматически подтягивает данные из переменных окружения, что позволяет не "светить" ключи в файлах. API-ключи, полученные через APIYI (apiyi.com), полностью совместимы с форматом OpenAI.

Посмотреть полный пример конфига (с несколькими провайдерами)
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "apiyi": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "APIYI (рекомендуется)",
      "options": {
        "baseURL": "https://api.apiyi.com/v1",
        "apiKey": "{env:APIYI_API_KEY}"
      },
      "models": {
        "claude-sonnet-4-20250514": {
          "name": "Claude Sonnet 4",
          "limit": {
            "context": 200000,
            "output": 65536
          }
        },
        "claude-opus-4-20250514": {
          "name": "Claude Opus 4",
          "limit": {
            "context": 200000,
            "output": 32000
          }
        },
        "gpt-4o": {
          "name": "GPT-4o",
          "limit": {
            "context": 128000,
            "output": 16384
          }
        },
        "gpt-4o-mini": {
          "name": "GPT-4o Mini",
          "limit": {
            "context": 128000,
            "output": 16384
          }
        },
        "gemini-2.5-pro": {
          "name": "Gemini 2.5 Pro",
          "limit": {
            "context": 1000000,
            "output": 65536
          }
        },
        "deepseek-chat": {
          "name": "DeepSeek V3",
          "limit": {
            "context": 64000,
            "output": 8192
          }
        }
      }
    },
    "openrouter": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OpenRouter",
      "options": {
        "baseURL": "https://openrouter.ai/api/v1",
        "apiKey": "{env:OPENROUTER_API_KEY}",
        "headers": {
          "HTTP-Referer": "https://your-site.com",
          "X-Title": "OpenCode Client"
        }
      },
      "models": {
        "anthropic/claude-sonnet-4": {
          "name": "Claude Sonnet 4 (OpenRouter)"
        },
        "openai/gpt-4o": {
          "name": "GPT-4o (OpenRouter)"
        }
      }
    }
  },
  "model": "apiyi/claude-sonnet-4-20250514",
  "small_model": "apiyi/gpt-4o-mini",
  "agent": {
    "coder": {
      "model": "apiyi/claude-sonnet-4-20250514",
      "maxTokens": 8000
    },
    "planner": {
      "model": "apiyi/gpt-4o",
      "maxTokens": 4000
    }
  },
  "tools": {
    "write": true,
    "bash": true,
    "glob": true,
    "grep": true
  }
}

Сравнение API-прокси, поддерживаемых OpenCode

opencode-api-proxy-configuration-guide-ru 图示

Параметры популярных API-прокси

Провайдер baseURL Особенности Когда выбирать
APIYI https://api.apiyi.com/v1 Отличная скорость, выгодные цены Основной выбор для работы
OpenRouter https://openrouter.ai/api/v1 Максимальный выбор (400+ моделей) Если нужны редкие модели
Together AI https://api.together.xyz/v1 Огромный выбор Open Source Для фанатов Llama и Mistral
Groq https://api.groq.com/openai/v1 Невероятная скорость, есть бесплатные лимиты Когда критичен минимальный пинг

Детальная настройка APIYI

APIYI — это API-шлюз, оптимизированный для разработчиков, которым важна стабильность и доступность. Что он дает:

  • Единый OpenAI-совместимый интерфейс.
  • Поддержка Claude, GPT, Gemini, DeepSeek и других.
  • Оплата по факту использования (Pay-as-you-go), никакой абонентской платы.
  • Бесплатный тестовый баланс.
  • Оперативная поддержка.
{
  "provider": {
    "apiyi": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "APIYI",
      "options": {
        "baseURL": "https://api.apiyi.com/v1"
      },
      "models": {
        "claude-sonnet-4-20250514": { "name": "Claude Sonnet 4" },
        "claude-opus-4-20250514": { "name": "Claude Opus 4" },
        "gpt-4o": { "name": "GPT-4o" },
        "gpt-4o-mini": { "name": "GPT-4o Mini" },
        "gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
        "deepseek-chat": { "name": "DeepSeek V3" }
      }
    }
  }
}

Детальная настройка OpenRouter

OpenRouter агрегирует более 400 моделей — идеально, если вы любите постоянно пробовать что-то новое:

{
  "provider": {
    "openrouter": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OpenRouter",
      "options": {
        "baseURL": "https://openrouter.ai/api/v1",
        "apiKey": "{env:OPENROUTER_API_KEY}",
        "headers": {
          "HTTP-Referer": "https://your-app.com",
          "X-Title": "My OpenCode App"
        }
      },
      "models": {
        "anthropic/claude-sonnet-4": {
          "name": "Claude Sonnet 4"
        },
        "google/gemini-2.5-pro": {
          "name": "Gemini 2.5 Pro"
        },
        "meta-llama/llama-3.1-405b": {
          "name": "Llama 3.1 405B"
        }
      }
    }
  }
}

💡 Что в итоге выбрать? Если вы в основном работаете с Claude и GPT, рекомендуем APIYI (apiyi.com): это дешевле и быстрее. Если же вам нужны специфические или новые Open Source модели — OpenRouter вне конкуренции.

Продвинутые фишки настройки OpenCode

Стратегии распределения моделей для агентов

В OpenCode встроены два агента — Coder и Planner. Вы можете назначить им разные модели в зависимости от задач:

{
  "agent": {
    "coder": {
      "model": "apiyi/claude-sonnet-4-20250514",
      "maxTokens": 8000,
      "description": "Основные задачи по кодингу, используем мощную модель"
    },
    "planner": {
      "model": "apiyi/gpt-4o-mini",
      "maxTokens": 4000,
      "description": "Планирование и анализ, используем легковесную модель для экономии"
    }
  }
}

Переключение между несколькими провайдерами

Если у вас настроено несколько провайдеров (Provider), в интерфейсе OpenCode можно в любой момент переключиться между ними командой /models:

# Запуск OpenCode
opencode

# Переключение модели прямо в TUI
/models
# Выберите apiyi/claude-sonnet-4-20250514 или любую другую модель

Лучшие практики по работе с переменными окружения

Ключи API лучше всего держать в файле .env:

# Файл .env
APIYI_API_KEY=sk-your-apiyi-key
OPENROUTER_API_KEY=sk-or-your-openrouter-key

А затем просто ссылаться на них в opencode.json:

{
  "provider": {
    "apiyi": {
      "options": {
        "apiKey": "{env:APIYI_API_KEY}"
      }
    }
  }
}

Настройка лимитов токенов

Чтобы не поймать ошибку из-за превышения лимитов, лучше заранее ограничить контекст и объем вывода для конкретной модели:

{
  "models": {
    "claude-sonnet-4-20250514": {
      "name": "Claude Sonnet 4",
      "limit": {
        "context": 200000,
        "output": 65536
      }
    }
  }
}

Решение частых проблем в OpenCode

Разбираем косяки, которые могут возникнуть при настройке, и как их лечить:

Q1: После настройки вылетает ошибка «Route /api/messages not found»?

Обычно это значит, что baseURL прописан криво. Проверьте вот что:

  1. Убедитесь, что baseURL заканчивается на /v1, а не на /v1/chat/completions.
  2. Проверьте, что ваш прокси-сервис поддерживает стандартный формат API OpenAI.
  3. Проверьте, не протух ли API-ключ.

Правильный формат:

"baseURL": "https://api.apiyi.com/v1"

Неправильный формат:

"baseURL": "https://api.apiyi.com/v1/chat/completions"

Адреса интерфейсов, полученные через APIYI (apiyi.com), уже проверены и работают "из коробки".

Q2: Ошибка «ProviderModelNotFoundError» — модель не найдена?

Это происходит, когда ID модели в конфиге не совпадает с тем, что прописано в секции провайдера. Что делать:

  1. Проверьте формат поля model: он должен быть provider-id/model-id.
  2. Убедитесь, что эта модель вообще описана в объекте models.

Пример:

{
  "provider": {
    "apiyi": {
      "models": {
        "claude-sonnet-4-20250514": { "name": "Claude Sonnet 4" }
      }
    }
  },
  "model": "apiyi/claude-sonnet-4-20250514"
}
Q3: Как проверить, что всё настроено правильно?

Прогоните эти команды для проверки:

# Проверить данные аутентификации
opencode auth list

# Посмотреть доступные модели
opencode
/models

# Тестануть простой диалог
opencode -p "Привет, ответь на русском"

Если пришел вменяемый ответ — всё ок. Кстати, на платформе APIYI (apiyi.com) в личном кабинете можно глянуть логи вызовов, это сильно помогает в отладке.

Q4: Где лучше хранить файл конфигурации?

Тут всё зависит от того, что вам нужно:

Сценарий Куда класть Описание
Глобально для себя ~/.config/opencode/opencode.json Общий конфиг для всех проектов
Под конкретный проект В корень проекта: opencode.json Можно пушить в Git (но без ключей!)
Для CI/CD В переменную окружения OPENCODE_CONFIG_CONTENT Динамическая подгрузка конфига
Q5: Как в OpenCode переключаться между разными API-прокси?

Если у вас прописано несколько провайдеров, используйте команду /models прямо во время работы:

opencode
/models
# Просто выбираете модель нужного провайдера, и всё.

Либо можно жестко задать дефолтную модель в конфиге:

{
  "model": "apiyi/claude-sonnet-4-20250514"
}

OpenCode против Claude Code: Сравнение способов подключения через API

Критерий сравнения OpenCode Claude Code
Поддержка моделей 75+ моделей, свободная настройка Только серия Claude
API-прокси Поддержка любого OpenAI-совместимого интерфейса Не поддерживает кастомные интерфейсы
Цена Бесплатное ПО + оплата API по факту использования Подписка $17-100/мес + API
Способ настройки JSON-конфиг + переменные окружения Встроенные настройки, нельзя изменить
Открытость Полностью открытый исходный код Закрытый код
Производительность Зависит от выбранной модели Нативная оптимизация под Claude, SWE-bench 80.9%

🎯 Технический совет: Главное преимущество OpenCode — это гибкость в выборе моделей. Используя прокси-сервис APIYI (apiyi.com), вы можете с одними и теми же настройками переключаться между Claude, GPT-4, Gemini и другими моделями, чтобы найти оптимальное соотношение цены и качества.

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

Ниже приведены ссылки, которые могут пригодиться при настройке OpenCode:

Ресурс Ссылка Описание
Официальная документация OpenCode opencode.ai/docs Полное руководство по настройке
Репозиторий OpenCode на GitHub github.com/opencode-ai/opencode Исходный код и обсуждения (Issues)
Настройка провайдеров OpenCode opencode.ai/docs/providers Подробное описание провайдеров
Документация OpenRouter openrouter.ai/docs Руководство по подключению через OpenRouter

Итоги

Благодаря этой пошаговой инструкции из 3 этапов вы научились:

  1. Устанавливать OpenCode: быстро развертывать инструмент с помощью скрипта-однострочника или пакетного менеджера.
  2. Настраивать API-ключи: проходить аутентификацию через команду /connect или переменные окружения.
  3. Создавать конфигурационный файл: прописывать прокси-сервисы и нужные модели в opencode.json.

OpenCode — это отличный опенсорсный AI-ассистент для терминала. В связке с API-прокси он обеспечивает опыт работы на уровне Claude Code, позволяя при этом гибко выбирать модели и полностью контролировать расходы.

Для быстрого старта рекомендуем получить API-ключ на платформе APIYI (apiyi.com). Сервис предоставляет бесплатные лимиты для тестирования и поддерживает все топовые модели (Claude, GPT, Gemini и др.), а единый формат API максимально упрощает процесс настройки.


📝 Автор: Техническая команда APIYI | APIYI apiyi.com — делаем работу с AI API проще.

Похожие записи