Skip to content

Подключение сторонних / отечественных моделей

Как использовать DeepSeek и другие отечественные / сторонние модели в Claude Code, чтобы снизить расходы.

📚 Навигация по серии: В предыдущей статье 04 · Конфигурация API мы рассказали, как использовать официальный API Key для подключения Claude Code. В этой статье мы изменим подход — полностью заменим «мозг» на стороне бэкенда, используя отечественные модели вроде DeepSeek для экономии денег.

⚠️ Предупреждение перед началом: Использование сторонних моделей для работы Claude Code является «экспериментальной функцией». Официальная документация официально покрывает только «LLM шлюзы» и хостинговые версии Claude (например, Bedrock / Vertex), и не дает никаких гарантий для не-Anthropic моделей. В этой статье всё, что явно указано в официальной документации (значения переменных окружения, поведение по умолчанию), будет отмечено. Раздел про DeepSeek в основном опирается на решения комьюнити и реальные тесты — адреса интерфейсов и имена моделей могут измениться в любой момент, всегда проверяйте официальную документацию DeepSeek.

Ребята, начну с того, за что меня могут поругать: большинству людей вообще не нужно возиться со сторонними моделями.

В интернете полно туториалов, которые расхваливают «Claude Code + DeepSeek» как чудо экономии, и создается впечатление, что если вы это не сделаете — вы просто переплачиваете зря. Но честно говоря: если вы уже оплатили подписку Claude (Pro / Max) или тратите на API пару долларов в месяц, те копейки, которые вы сэкономите за часы возни с настройкой переменных, не стоят вашего времени на отладку.

Тогда зачем нужна эта статья? Потому что есть две группы людей, которым это действительно нужно: первые — это активные пользователи API, чьи счета вызывают боль (десятки миллионов токенов туда-сюда), и замена модели на в 10 раз более дешевую сэкономит приличные деньги. Вторые — пользователи из стран с ограниченным доступом к официальному API (например, Китай, Россия), которые не хотят возиться с VPN. Для них прямое подключение к DeepSeek или другим локальным интерфейсам оказывается самым надежным решением.

Если вы относитесь к одной из этих двух категорий — читайте дальше. Если нет — просто пробегитесь по принципу работы, не спешите ничего менять.

Прочитав эту статью, вы получите:

  • Таблицу сравнения «Официальный API vs Сторонние модели», чтобы решить, стоит ли вам переходить.
  • Готовую конфигурацию для подключения DeepSeek (для Mac / Windows).
  • Понимание 4 ключевых переменных окружения, которые работают с любой сторонней моделью.
  • Несколько частых проблем: устаревшие переменные, проверка через /status, и когда лучше не переключаться.

01 Сначала разберемся: Что именно меняется при смене модели

Сразу к выводу: Claude Code — это «оболочка», а модель — это «мозг». Подключение сторонней модели означает замену мозга на мозг другой компании.

Установленный вами Claude Code по сути является клиентом, работающим в терминале — он читает ваш код, вызывает инструменты, управляет контекстом, запускает тот самый цикл агента «Думать → Делать → Проверять». Но сам по себе он не думает. На каждом шаге он должен отправлять запрос большой модели и ждать ответа. По умолчанию этой моделью является Claude от Anthropic.

Аналогия: Машина, в которой меняют двигатель. Claude Code — это кузов машины. Руль, сиденья, приборная панель остаются прежними, ваши привычки вождения не меняются. Модель — это двигатель. Оригинальный двигатель (Claude) самый мощный, но расход топлива дорогой. Если хотите сэкономить, можете снять его и поставить более дешевый двигатель (например, DeepSeek). Машина та же, управляется примерно так же, но динамика и расход изменились.

А как технически происходит «замена двигателя»? Дело не в изменении исходного кода, а в нескольких переменных окружения. Самая главная из них — ANTHROPIC_BASE_URL. Она определяет, по какому адресу Claude Code будет отправлять запросы.

Здесь есть один момент, который особо подчеркнут в официальной документации, но не объясняется в 90% руководств в сети:

ANTHROPIC_BASE_URL изменяет место отправки запросов, а не модель, которая будет на них отвечать. (Официальная документация по конфигурации моделей)

Что это значит? ANTHROPIC_BASE_URL меняет только «куда отправить письмо», но не отвечает за то, «кто на него ответит». Если вы измените адрес на интерфейс DeepSeek, захочет ли DeepSeek его принять и какую модель использует для ответа — определяется совместно адресом интерфейса и именем модели. Поэтому просто изменить URL недостаточно, нужно также настроить имя модели — это частая причина ошибок, запомните это.

А почему DeepSeek можно подключить напрямую? Потому что DeepSeek предоставляет интерфейс, совместимый с протоколом Anthropic — адрес https://api.deepseek.com/anthropic. Проще говоря, DeepSeek маскируется под Anthropic, заставляя Claude Code думать, что он всё еще общается с официальной моделью, хотя вычисления выполняет DeepSeek. При этом не нужно менять ни строчки исходного кода Claude Code.

💡 Краткий итог: Смена модели = изменение нескольких переменных окружения для замены «двигателя», сама оболочка (Claude Code) не меняется. ANTHROPIC_BASE_URL отвечает за «куда отправить», а имя модели — «кто ответит». Оба параметра должны быть настроены правильно.


02 Стоит ли менять? Сначала посмотрите на эту таблицу

Прежде чем приступать к делу, остыньте на пять минут. Сторонняя модель — это не бесплатный сыр, она экономит деньги, но при этом вы кое-что теряете.

Взял реальный проект и сравнивал две недели: один и тот же код, одни и те же задачи. Первую неделю использовал официальный Sonnet, вторую — DeepSeek. Ниже приведена таблица реальных впечатлений, а не просто переписанные характеристики.

ПараметрОфициальный Claude (Anthropic API)Сторонние / локальные модели (например, DeepSeek)
ЦенаДорого, Opus особенно бьет по карману✅ Дешево, часто на порядок дешевле
Доступность (прямое подключение)Для многих стран нужен VPN✅ Прямое подключение, нулевой барьер
Способность к кодированию✅ Первый эшелон, стабилен при сложных рефакторингахДостаточно, но на сложных задачах бывают сбои
Вызов инструментов / Возможности агента✅ Самый надежный, не ломается на многошаговых задачах⚠️ Зависит от модели, бывают краевые эффекты
Сложность настройкиВвел ключ и готовоНужно настроить переменные, легко ошибиться
Официальная поддержка✅ Первый класс❌ Экспериментальная функция, без гарантий

Понятно? Дешевизна и доступность без VPN — козыри сторонних моделей; плата за это — предел возможностей в коде, стабильность агента и отсутствие официальной поддержки.

Реальный вывод после двух недель сравнения: Для повседневного написания/изменения кода, тестов, документации и объяснения кода DeepSeek вполне хватает. Разницы с Sonnet почти не ощущается, а затраты копеечные. Но как только задача касается «понять зависимости пяти-шести файлов и сделать сложный рефакторинг», DeepSeek дважды упускал важные зависимости там, где Claude с тем же промптом справлялся с первого раза.

Поэтому наиболее практичный подход — комбинировать: простую работу доверять дешевой модели, а сложные задачи возвращать Claude. Как именно это настроить, описано в разделе 05.

Вердикт одним предложением — менять или нет:

  • Менять стоит: активным пользователям API со счетами на десятки/сотни долларов в месяц; тем, у кого проблемы с подключением к официальному API и нет желания возиться с VPN; тем, кто просто хочет потренироваться и не критичен к разнице в качестве.
  • Не менять: тем, кто уже купил подписку Claude (подписка — фиксированная цена, а за API вы будете платить дополнительно, подробнее в статье 06); тем, чья основная работа — сложная архитектура и отладка (экономия копеек не стоит потери качества результата).

Всё еще сомневаетесь? Проверьте сеть

В списке выше самый сложный для самостоятельной оценки пункт — «есть ли проблемы с прямым подключением». Вы думаете, что включили VPN и всё стабильно, но Claude Code вдруг начинает выдавать ошибки 502 или 400. Это он глючит или сеть отвалилась? Не гадайте, сначала проверьте:

ipcheck — инструмент для диагностики сети, который проверит IP, DNS, прокси и покажет, можете ли вы стабильно подключаться к официальному API.

  • Если всё красное / желтое (загрязнение DNS, проблемы с прокси) → не сомневайтесь, переходите на сторонние модели, сэкономите себе кучу нервов.
  • Если всё зеленое → используйте официальный сервис, не усложняйте себе жизнь переменными окружения ради небольшой экономии.

💡 Краткий итог: Сторонняя модель — это компромисс: вы меняете «экономию + доступность» на «возможности кода + стабильность». Активным пользователям API и тем, у кого проблемы с сетью, стоит переходить; подписчикам и любителям сложных рефакторингов лучше остаться.


03 Практика: Подключение DeepSeek к Claude Code

Допустим, вы решили поменять модель. Вот конфигурация, которую можно просто скопировать.

Ниже мы используем DeepSeek в качестве примера (один из лучших вариантов по цене/качеству). Подключение других сторонних моделей (Kimi, Qwen, агрегаторы и т.д.) происходит абсолютно по той же схеме, нужно только заменить ANTHROPIC_BASE_URL и имена моделей на соответствующие — их ищите в официальной документации этих сервисов.

Подготовка: Получение DeepSeek API Key

Предполагается, что вы уже установили Claude Code (если нет, вернитесь к 02 · Установка и использование). Далее:

  1. Откройте открытую платформу DeepSeek, зарегистрируйтесь / войдите.
  2. Создайте API Key, скопируйте и сохраните его (он выглядит примерно как sk-xxxxxxxx).

🔑 API Key — это ключ к вашему кошельку. Не коммитьте его в Git, не отправляйте в чаты, не пишите в коде. Ниже мы будем управлять им через переменные окружения, так он не попадет в код.

Шаг первый: Настройка переменных окружения

Переменные окружения — это «настройки адресов и переключателей для системы». При запуске Claude Code будет читать их, чтобы понять, куда отправлять запросы и какую модель использовать.

Аналогия: заполнение почтовой накладной. ANTHROPIC_BASE_URL — это адрес доставки, ANTHROPIC_AUTH_TOKEN — это ваш паспорт (без него не отправят), а переменные ANTHROPIC_*_MODEL указывают, «какого курьера использовать». Если всё заполнено верно, посылка (ваш запрос) дойдет куда нужно.

Mac / Linux

Откройте терминал и выполните построчно (замените <Ваш DeepSeek API Key> на настоящий ключ):

bash
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=<Ваш DeepSeek API Key>
export ANTHROPIC_MODEL=deepseek-chat
export ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-chat
export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-chat
export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-chat

Windows (PowerShell)

powershell
$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_AUTH_TOKEN="<Ваш DeepSeek API Key>"
$env:ANTHROPIC_MODEL="deepseek-chat"
$env:ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-chat"
$env:ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-chat"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-chat"

⚠️ Об именах моделей: Название deepseek-chat приведено для примера. Конкретные названия моделей DeepSeek и их соответствие уровням смотрите в официальной документации DeepSeek. При обновлении платформы названия могут меняться, не прописывайте их намертво без проверки. Если указать неправильное имя модели, система его не распознает, и при запуске возникнет ошибка.

Схема: Запрос от Claude Code, перенаправление через переменные и ответ от DeepSeek

Что показывает этот рисунок: ваша инструкция → Claude Code формирует запрос → BASE_URL меняет адрес получателя на DeepSeek → AUTH_TOKEN подтверждает вашу личность → Модель DeepSeek выполняет вычисления → Результат возвращается обратно в терминал. Оболочка Claude Code при этом остается неизменной.

Шаг второй: Как сделать конфигурацию постоянной (опционально, но рекомендуется)

Команды export или $env: действуют только в текущем окне терминала. Закроете окно — настройки исчезнут. Это самая частая проблема новичков: «Я же настраивал, почему после перезапуска не работает?»

Чтобы сделать настройки постоянными:

  • Mac (zsh, по умолчанию): добавьте строки export в конец файла ~/.zshrc, затем выполните source ~/.zshrc.
  • Linux (bash): добавьте в конец файла ~/.bashrc, затем source ~/.bashrc.
  • Windows: добавьте пользовательские переменные в меню «Свойства системы → Переменные среды» или пропишите в $PROFILE PowerShell.

💡 Краткий итог: Подключение DeepSeek = получение ключа + настройка переменных (адрес + ключ + имя модели). Команда export работает временно; для постоянной работы добавьте в ~/.zshrc.


04 Проверка: Точно ли подключилось?

После настройки не спешите работать. Сначала проверьте. Если не проверить, можно долго писать код и лишь потом обнаружить, что запросы шли на официальные серверы Claude, и вы просто тратили деньги.

Проверка выполняется одной командой. Перейдите в любую папку проекта, запустите Claude Code и введите /status:

bash
cd /path/to/your-project
claude

Внутри диалога введите:

/status

Если всё подключено верно, вы увидите строки с Base URL и моделью:

Base URL: https://api.deepseek.com/anthropic
Model: deepseek-chat

Если Base URL изменился на адрес DeepSeek, значит, «двигатель» успешно заменен. Команда /status — это самый быстрый способ узнать правду. В официальной документации тоже советуют использовать ее, чтобы «проверить, правильно ли применена конфигурация прокси или шлюза».

Если там всё еще официальный адрес или появляются ошибки, проверяйте по списку наиболее частых причин:

СимптомВероятная причинаКак исправить
Base URL остался прежнимПеременные не применились (возможно, открыли новое окно)Выполните source еще раз или проверьте файл конфигурации
Ошибка: модель не найденаОпечатка в имени модели / платформа переименовала еёСверьтесь с официальной документацией (например, DeepSeek)
401 / Сбой авторизацииAPI Key неверен или истекСгенерируйте ключ заново, проверьте на лишние пробелы
Просит авторизоваться в claude.aiКлиент пытается использовать официальную авторизациюСм. пояснение ниже

Насчет последнего пункта: в некоторых случаях стороннего подключения Claude Code всё равно показывает окно авторизации. В качестве обходного пути можно добавить "hasCompletedOnboarding": true в файл ~/.claude.json, чтобы пропустить обучение. Это не официальный метод, поведение в новых версиях может измениться — не трогайте это без крайней необходимости.

💡 Краткий итог: Проверьте изменение Base URL с помощью команды /status, чтобы убедиться, что всё подключено; если не работает — не угадывайте, а проверяйте по таблице проблем.


05 Продвинутый уровень: Распределение моделей по уровням задач

Этот раздел содержит самый ценный совет — то самое «комбинирование», о котором говорилось в начале.

Помните переменные ANTHROPIC_*_MODEL из шага настройки? Они существуют не просто так. Claude Code внутренне разделяет задачи на уровни, и каждому уровню можно назначить свою модель.

ПеременнаяОфициальное значениеДля каких задач подходит
ANTHROPIC_DEFAULT_OPUS_MODELМодель, на которую ссылается opusСамые сложные: архитектура, сложная отладка
ANTHROPIC_DEFAULT_SONNET_MODELМодель, на которую ссылается sonnetЕжедневные: написание фич, рефакторинг
ANTHROPIC_DEFAULT_HAIKU_MODELМодель для haiku / фоновые функции (например, создание заголовков)Легкие задачи, фоновая работа
CLAUDE_CODE_SUBAGENT_MODELМодель для субагентов (subagents)Второстепенные задачи, лучше дешевую

Эти определения взяты из официальной документации по конфигурации моделей. Этот механизм работает не только для DeepSeek, это встроенная функция Claude Code. При подключении сторонней модели вы просто указываете эти псевдонимы на сторонние аналоги.

Аналогия: расписание в ресторане. Шеф-повару (самой сильной модели) платят много, и он готовит только сложные блюда; обычным поварам (средней модели) отдают повседневные заказы; а мытье посуды и чистку овощей (фоновые задачи и субагенты) доверяют стажерам (дешевым и быстрым моделям). Если шеф будет мыть посуду, ресторан обанкротится.

Поэтому правильная настройка заключается не в том, чтобы «прописать одну модель для всего», а в распределении. Предположим, у платформы есть «мощная модель с хорошим рассуждением» и «быстрая дешевая модель»:

bash
# Для сложных задач используем мощную
export ANTHROPIC_DEFAULT_OPUS_MODEL=<Мощная модель>
export ANTHROPIC_DEFAULT_SONNET_MODEL=<Мощная модель>

# Легкие фоновые задачи и субагенты — на дешевую модель для экономии
export ANTHROPIC_DEFAULT_HAIKU_MODEL=<Дешевая модель>
export CLAUDE_CODE_SUBAGENT_MODEL=<Дешевая модель>

В чем польза? Вы можете использовать команду /model opus внутри Claude Code, когда нужна мощная модель, а по умолчанию всё работает на дешевой. Особенно выгодно то, что субагенты (высокочастотные фоновые вызовы) автоматически идут на самую дешевую модель. Так вы сэкономите кучу денег.

Есть также переменная CLAUDE_CODE_EFFORT_LEVEL, которая контролирует «глубину рассуждений». Официально поддерживаются уровни low / medium / high / xhigh / max / auto (зависит от модели). Чтобы результаты были надежнее — повышайте уровень, чтобы сэкономить токены и время — понижайте.

Рекомендуемый подход: Для повседневной работы настройте дешевую модель + effort medium, а если столкнетесь со сложной задачей — вручную переключитесь на /model opus и поднимите effort до high. Так расходы на API упадут в разы, а комфорт работы останется прежним.

💡 Краткий итог: Не ставьте одну модель на все роли. Обычные задачи — дешевой, сложные — мощной, субагентов — самой дешевой. Такое распределение позволяет экономить без потери качества.


06 Две частые ошибки новичков

И напоследок выделим два момента, на которых часто спотыкаются новички.

Ошибка 1: Использование устаревших переменных

В сети можно встретить упоминание переменной ANTHROPIC_SMALL_FAST_MODEL для настройки быстрой модели.

Эта переменная официально помечена как устаревшая (deprecated). Ее замена — ANTHROPIC_DEFAULT_HAIKU_MODEL. Многие копируют устаревшую переменную из старых руководств; она могла работать раньше, но лучше заглянуть в актуальную официальную документацию и использовать новый формат.

Вывод: используйте ANTHROPIC_DEFAULT_HAIKU_MODEL и не копируйте устаревшие переменные.

Ошибка 2: Путаница между AUTH_TOKEN и API_KEY

Какую переменную использовать для авторизации при подключении сторонних моделей? Эти две переменные похожи, но поведение у них разное. Обратимся к официальным данным:

ПеременнаяПоведениеКогда использовать
ANTHROPIC_AUTH_TOKENОтправляется как заголовок Authorization, автоматически добавляется префикс Bearer Для подключения DeepSeek и других сторонних моделей
ANTHROPIC_API_KEYОтправляется как заголовок X-Api-Key; в неинтерактивном режиме принудительно перекрывает настройкиДля использования официального Anthropic API

Почему сторонние модели используют ANTHROPIC_AUTH_TOKEN? Потому что совместимые интерфейсы вроде DeepSeek ожидают стандартный формат Authorization: Bearer <key>, и это идеально подходит.

Также есть важный нюанс: в официальной документации указано, что если ANTHROPIC_BASE_URL указывает не на официальный сервер Anthropic, поиск инструментов MCP по умолчанию отключается. Проще говоря — при использовании сторонних моделей некоторые продвинутые функции, зависящие от официального API, могут не работать. Помните слова «экспериментальная функция без гарантий»? Для обычного программирования это некритично, но если вы активно пользуетесь MCP — имейте это в виду.

💡 Краткий итог: Для авторизации используйте ANTHROPIC_AUTH_TOKEN, для малых моделей — ANTHROPIC_DEFAULT_HAIKU_MODEL; забудьте об устаревших переменных, будьте готовы, что продвинутые функции MCP могут работать иначе.


07 Заключение

В этой статье мы разобрались только с одной задачей: замена «мозга» Claude Code на более дешевые сторонние модели.

Ключевые этапы:

ЭтапДействие
Оценить необходимостьИмеет смысл только для активных пользователей API и тех, кому сложно подключиться к официальному серверу. Пользователям с подпиской это не нужно.
ПодключениеНастройка ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN + имена моделей
ПроверкаВвод /status для проверки Base URL
Оптимизация расходовРаспределение моделей: мощные — для сложных задач, дешевые — для фоновых задач и субагентов
Избегание ошибокНе используйте ANTHROPIC_SMALL_FAST_MODEL; для сторонних моделей используйте AUTH_TOKEN

Теперь вы умеете: самостоятельно подключать DeepSeek (или любую модель, совместимую с Anthropic) к Claude Code, проверять подключение и распределять задачи по моделям для снижения затрат.

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


Следующая статья: 06 · План подписки: Подписка или API-оплата. Раз уж мы заговорили про «экономию», давайте разберемся до конца: что выгоднее — подписка Claude (Pro / Max) или оплата по мере использования (API)? Как вы думаете, если вы используете Claude Code целыми днями, лучше оформить подписку или платить за API? Ответ в следующей статье.


Рекомендуется к прочтению