Source: https://aiprimetech.io/ru/learn/use-claude-api-with-opencode/ [Главная](/ru/) / [Обучение](/ru/learn/) / Настройка OpenCode для Claude: конфигурация opencode.json, модели и распространённые ошибки # Конфигурация OpenCode для Claude: настройка opencode.json, модели и распространённые ошибки OpenCode читает настройки из opencode.json. Чтобы использовать в нём Claude через этот шлюз, измените одно значение — параметр провайдера Anthropic baseURL — и укажите ключ. Ниже приведены два рабочих варианта конфигурации, важные настройки модели и контекста, а также способы исправления ошибок, с которыми пользователи OpenCode сталкиваются на этом шлюзе, по данным наших журналов запросов. ## Где находится opencode.json OpenCode объединяет глобальную конфигурацию с конфигурацией проекта: ~/.config/opencode/opencode.json для настроек, которые должны действовать везде, и opencode.json в корне проекта для конкретного репозитория. Добавление строки $schema включает автодополнение и проверку корректности в большинстве редакторов. Не храните ключ в файле. Поместите его в переменную окружения и ссылайтесь на неё как {env:AIPRIME_API_KEY}. Ключи, которые вы добавляете с помощью /connect в OpenCode, хранятся в ~/.local/share/opencode/auth.json; opencode auth list показывает, что там хранится. терминалКопировать ``` export AIPRIME_API_KEY=your_gateway_key # add to ~/.bashrc or ~/.zshrc opencode auth list # credentials OpenCode already knows about ``` ## Вариант 1: направьте встроенный провайдер Anthropic на шлюз Минимальное изменение: сохраните собственный провайдер Anthropic в OpenCode и его список моделей, переопределив адрес, на который он отправляет запросы. opencode.jsonКопировать ``` { "$schema": "https://opencode.ai/config.json", "provider": { "anthropic": { "options": { "baseURL": "https://aiprimetech.io/v1", "apiKey": "{env:AIPRIME_API_KEY}" } } }, "model": "anthropic/claude-sonnet-5", "small_model": "anthropic/claude-haiku-4-5" } ``` В baseURL должен заканчиваться на /v1. Провайдер Anthropic в OpenCode использует компонент AI SDK @ai-sdk/anthropic, значение по умолчанию для которого — https://api.anthropic.com/v1; он добавляет /messages к тому, что вы укажете. Без /v1 запрос попадает на сайт и возвращает HTML, что OpenCode отображает как ошибку разбора. ## Вариант 2: собственный провайдер с вашим списком моделей Отдельная запись провайдера позволяет отделить шлюз от входа через Anthropic, указать в списке выбора только нужные модели и задать лимиты контекста для каждой модели. opencode.jsonКопировать ``` { "$schema": "https://opencode.ai/config.json", "provider": { "aiprime": { "npm": "@ai-sdk/anthropic", "name": "AI Prime Tech", "options": { "baseURL": "https://aiprimetech.io/v1", "apiKey": "{env:AIPRIME_API_KEY}" }, "models": { "claude-sonnet-5": { "name": "Claude Sonnet 5", "limit": { "context": 200000, "output": 64000 } }, "claude-opus-5-5": { "name": "Claude Opus 5.5", "limit": { "context": 200000, "output": 64000 } }, "claude-haiku-4-5": { "name": "Claude Haiku 4.5", "limit": { "context": 200000, "output": 32000 } } } } }, "model": "aiprime/claude-sonnet-5", "small_model": "aiprime/claude-haiku-4-5" } ``` Отдавайте предпочтение @ai-sdk/anthropic для Claude: он использует нативный Messages API, поэтому кеширование промптов и размышление работают так, как задумано Anthropic. Шлюз также поддерживает формат OpenAI, поэтому @ai-sdk/openai-compatible с тем же https://aiprimetech.io/v1 базовым URL тоже работает; этот способ следует использовать для моделей GPT с тем же ключом. ## Модели и лимиты контекста | Идентификатор модели | Для каких задач | claude-sonnet-5 | Основной выбор для программирования и работы с агентами: быстрая, мощная, со средней стоимостью. | claude-opus-5-5 | Более сложные рассуждения, масштабный рефакторинг, длительная работа агентов. | claude-fable-5-1 | Самая мощная и дорогая; используйте её для наиболее сложных задач. | claude-haiku-4-5 | Недорогая и быстрая: заголовки, краткие изложения, классификация, небольшие шаги. model использует основной агент; small_model выполняет недорогие вспомогательные задачи, например создание заголовков сессий. Значение limit.context указывает OpenCode, когда нужно сжимать контекст сессии. Если длительная сессия завершается ошибкой prompt is too long, уменьшите его (200000 — безопасное значение), чтобы OpenCode раньше создавал сводку, а не отправлял больше данных, чем принимает эндпоинт. Идентификаторы моделей должны точно совпадать с указанными строками. Старые имена, такие как claude-3-5-sonnet-20241022 , или снимки с датой не обслуживаются; используйте идентификаторы выше или список в панели управления. ## Проверьте ключ и URL перед запуском OpenCode Один запрос из терминала позволяет проверить правильность ключа и URL независимо от конфигурации OpenCode: терминалКопировать ``` curl -s https://aiprimetech.io/v1/messages \ -H "x-api-key: $AIPRIME_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-haiku-4-5","max_tokens":20,"messages":[{"role":"user","content":"ping"}]}' ``` Ответ JSON с массивом content означает, что на стороне шлюза всё в порядке, а оставшаяся проблема находится в opencode.json. Invalid API key означает, что переменная пуста или содержит неверный ключ. ## Устранение неполадок: ошибки, с которыми сталкиваются пользователи OpenCode Это наиболее частые ошибки при работе OpenCode с этим шлюзом и способы исправления каждой из них. | Что вы видите | Причина | Решение | Ошибка разбора JSON, ответ начинается с < | baseURL без /v1: запрос попал на сайт, а не в API | Завершите baseURL на /v1 | 404 page not found | /v1 дважды, поэтому путь становится /v1/v1/messages | Используйте в точности https://aiprimetech.io/v1 | Invalid API key | Переменная не экспортирована в оболочке, из которой запущен OpenCode, или используется другой ключ | echo $AIPRIME_API_KEY, opencode auth list, перезапустите OpenCode | Модель не поддерживается / модель не найдена | Идентификатор, который эндпоинт не обслуживает, часто старое имя с датой | Используйте идентификатор из таблицы выше | prompt is too long: N tokens > N tokens | Объём сессии превысил лимит, который принимает модель | /compact, и уменьшите limit.context | Concurrency limit exceeded for user | Параллельные субагенты превышают лимит одновременных запросов для вашего ключа | Запускайте меньше субагентов одновременно или попросите поддержку увеличить лимит одновременных запросов | Insufficient account balance | Баланс исчерпан | [Пополнить баланс](/ru/topup/) и повторите попытку | No available accounts или This request could not be completed | Временная нехватка ресурсов у вышестоящего провайдера | Отправьте сообщение ещё раз; если проблема сохраняется, смените модель Если ошибки возникают на стороне модели, а не клиента, см. [руководстве по ошибкам Claude API](/ru/learn/claude-api-errors-troubleshooting/). ## Часто задаваемые вопросы Где находится файл конфигурации OpenCode? Глобальная конфигурация находится в ~/.config/opencode/opencode.json, а конфигурация проекта — в opencode.json в корне репозитория. OpenCode объединяет обе конфигурации. Как использовать Claude в OpenCode с ключом API? Задайте для provider.anthropic.options.baseURL URL шлюза, оканчивающийся на /v1, а для apiKey — {env:YOUR_VAR}, либо добавьте собственного провайдера с npm @ai-sdk/anthropic, затем выберите модель через model: provider/model-id. Почему OpenCode выдаёт ошибку разбора или получает ответ, начинающийся с '<'? В baseURL отсутствует /v1, поэтому запросы попадают на сайт, а не в API. @ai-sdk/anthropic ожидает полный префикс, например https://aiprimetech.io/v1. Можно ли в OpenCode войти через подписку Claude Pro или Max? В документации OpenCode указано, что Anthropic запрещает сторонние плагины Pro/Max и что OpenCode перестал включать их в поставку в 1.3.0. Поддерживаемый способ подключения — ключ API. Начните использовать Claude за несколько минут Получите ключ API — учётная запись Anthropic и запись в лист ожидания не нужны.[Получить ключ API](/register) AI Prime Tech — независимый API-шлюз. Он не связан с Anthropic, не одобрен этой компанией и не является её реселлером. Claude и названия связанных моделей — товарные знаки их соответствующих владельцев. ## Другие руководства по Claude API [Как получить ключ Claude API](/ru/learn/how-to-get-a-claude-api-key/)[Как устроены цены Claude API](/ru/learn/claude-api-pricing-explained/)[Самый дешевый способ использования API Claude](/ru/learn/cheapest-way-to-use-claude-api/)[Безлимитный Cursor с API Claude](/learn/use-claude-api-with-cursor/)[Безлимитный доступ к Claude Code](/ru/learn/use-claude-api-with-claude-code/)[Шлюз API Claude и прямой доступ к Anthropic: сравнение](/ru/learn/claude-api-vs-anthropic-direct/)[Использование Claude через API, совместимый с OpenAI](/ru/learn/openai-compatible-claude-api/)[Объяснение моделей Claude: сравнение Claude Opus, Sonnet, Haiku и Fable — все модели Claude API, названия моделей Anthropic и цены (2026)](/ru/learn/claude-api-models-compared/)[Оплата API Claude криптовалютой](/ru/learn/claude-api-with-crypto-payment/)[Доступ к API Claude без листа ожидания](/ru/learn/claude-api-without-waitlist/)[Как сократить расход токенов Claude](/ru/learn/how-to-reduce-claude-token-usage/)[Безлимитный Cline с API Claude](/ru/learn/use-claude-api-with-cline/)[Безлимитный Roo Code с API Claude](/ru/learn/use-claude-api-with-roo-code/)[Безлимитный Claude в IDE JetBrains](/ru/learn/use-claude-api-with-jetbrains/)[Aider без ограничений с Claude API](/ru/learn/use-claude-api-with-aider/)[Безлимитный Claude в VS Code](/ru/learn/use-claude-api-with-vscode/)[Запуск агента Hermes без ограничений на Claude](/ru/learn/run-hermes-agent-with-claude-api/)[Запуск OpenClaw с Claude без ограничений](/ru/learn/run-openclaw-with-claude-api/)[Что означает API, совместимый с Anthropic](/ru/learn/anthropic-compatible-api/)[Ключ API Claude Code — ANTHROPIC_API_KEY: как получить, настроить и когда вместо него использовать claude setup-token](/ru/learn/claude-code-api-key-setup/)[Расходы на API Claude Code — цены и способы их снизить](/ru/learn/claude-code-api-costs/)[Объяснение ошибок API Claude: ошибка сервера 500, перегрузка 529, лимит запросов 429, некорректный запрос 400 — и исправление каждой из них](/ru/learn/claude-api-errors-troubleshooting/)[Как купить кредиты Claude API — и почему кредиты Claude лучше любого предложения «купить аккаунт Claude»](/ru/learn/buy-claude-api-credits/)[Бесплатный API Claude: существует ли бесплатный ключ API Claude и что действительно бесплатно в 2026?](/ru/learn/claude-api-free-trial/)[API Claude или подписка Claude Pro/Max — что выбрать](/ru/learn/claude-api-vs-subscription/)[Запуск Codex CLI на Claude](/ru/learn/use-claude-api-with-codex/)[Подключение Claude к n8n](/ru/learn/use-claude-api-with-n8n/)[Маршрутизация LiteLLM к Claude](/ru/learn/use-claude-api-with-litellm/)[Использование Claude в Kilo Code](/ru/learn/use-claude-api-with-kilo-code/)[Подключение Claude к GitHub Copilot](/ru/learn/use-claude-api-with-github-copilot/)[Подключите Zed к Claude через шлюз](/ru/learn/use-claude-api-with-zed/)[Подключите Cherry Studio к Claude](/ru/learn/use-claude-api-with-cherry-studio/)[ChatAnthropic в LangChain: импорт, base_url, потоковая передача, инструменты и ошибки](/ru/learn/use-claude-api-with-langchain/)[Anthropic Python SDK: установка, настройка base_url, потоковая передача и обработка ошибок](/ru/learn/anthropic-python-sdk/)[Claude с Vercel AI SDK: baseURL в createAnthropic, потоковая передача и устранение проблем](/ru/learn/use-claude-api-with-vercel-ai-sdk/)[Используйте Factory Droid с Claude](/ru/learn/use-claude-api-with-factory-droid/)[Как устроен API Claude Code](/ru/learn/claude-code-api/)[Интеграция API Claude в ваше приложение](/ru/learn/claude-api-integration/)[Как пользоваться Claude без ограничений — и почему «взломанного Claude Code» не существует](/ru/learn/get-unlimited-claude-usage/)