SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor

Можно ли развернуть Claude на своем сервере

Развернуть Claude на своем оборудовании невозможно, так как веса модели закрыты. В статье разобраны альтернативы: запуск открытых LLM, настройка API-шлюза и Claude Code.

Можно ли развернуть Claude на собственном сервере? Нет, и вот почему

Вы не можете развернуть Claude на собственном оборудовании. Anthropic не публикует веса модели, поэтому не существует файлов для загрузки, контейнеров для запуска и лицензий, позволяющих использовать её на своих мощностях. Каждый запрос к Claude отправляется через API Anthropic или к партнёрам, таким как Amazon Bedrock, Google Vertex AI или Microsoft Foundry. Запуск модели на собственной машине — это не вопрос конфигурации. Данный артефакт просто не существует вне инфраструктуры Anthropic.

Это краткий ответ. Более развёрнутый ответ заключается в том, что большинству людей, задающих этот вопрос, на самом деле не нужны веса модели. Им нужно одно из трёх решений, которые можно реализовать на подконтрольном вам сервере: производительная модель для локального запуска, шлюз для управления API-ключами и лимитами расходов или агент для программирования, работающий на сервере, а не на локальном ноутбуке. В этом руководстве рассматриваются все три варианта с необходимыми командами.

Что обычно подразумевают под «self-hosted Claude»

Поисковые запросы по фразе «self hosted Claude» отражают несколько разных потребностей, для каждой из которых требуется свое решение.

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

Некоторым пользователям нужен контроль расходов. Они опасаются, что вышедший из-под контроля агент израсходует все кредиты. Эту проблему решает шлюз; он работает с Claude, позволяя сохранить высокое качество модели.

Некоторым пользователям нужна независимость от ноутбука. Они хотят, чтобы агент продолжал работу, даже когда крышка ноутбука закрыта. Эту задачу решает VPS, на котором Claude Code работает без проблем.

Некоторые пользователи ищут «self hosted OpenRouter». Это также подразумевает шлюз, и стандартным решением здесь является LiteLLM.

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

Развертывание открытой модели с помощью Ollama

Если необходимо, чтобы ни один запрос не покидал ваш сервер, используйте модель с открытыми весами. Семейства моделей, которые сегодня реально использовать на арендованном сервере: Llama, Qwen, Mistral, Gemma и DeepSeek. Все они публикуют веса, которые можно загрузить и запустить.

Ollama — самый быстрый способ начать работу. Скрипт установки состоит из одной строки и настраивает службу systemd в Ubuntu.

curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollama

systemctl status ollama должен вывести active (running). После этого загрузите модель и начните общение.

ollama pull qwen3:8b
ollama run qwen3:8b "Summarise what a reverse proxy does in two sentences."

Первая команда pull загружает несколько гигабайт данных, поэтому модель должна поместиться в ОЗУ или видеопамять, прежде чем она сможет ответить. Примерное правило для квантованных моделей: модели с 8 миллиардами параметров требуется около 6 ГБ свободной памяти, модели с 14 миллиардами — около 10 ГБ, а модели с 70 миллиардами параметров требуют больше памяти, чем есть у большинства стандартных VPS. Если на сервере не хватает памяти, процесс завершается ядром, и вы увидите Error: llama runner process has terminated, а в dmesg появится запись об ошибке нехватки памяти (out of memory). Проверьте free -h, прежде чем винить модель. Тот же объем памяти определяет, какой объем длинного запроса модель фактически прочитает, поскольку Ollama незаметно обрезает все, что выходит за рамки небольшого окна по умолчанию, поэтому увеличение num_ctx и настройка размера KV-кэша — это первое, что нужно проверить, если длинные документы возвращаются лишь частично обобщенными.

Ollama также предоставляет HTTP API на 127.0.0.1:11434, что делает ее полезной для другого программного обеспечения, а не только как инструмент для чата.

curl http://127.0.0.1:11434/api/generate -d '{"model":"qwen3:8b","prompt":"ping","stream":false}'

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

Оставьте этот порт привязанным к localhost. Открытый порт Ollama на публичном IP-адресе — это бесплатный GPU для любого, кто его обнаружит. Полная настройка, включая юнит systemd, определение GPU и установку обратного прокси-сервера перед ним, описана в руководстве по запуску Ollama на VPS. Если вы обслуживаете более одного пользователя одновременно, сначала прочитайте сравнение Ollama и vLLM, так как архитектура Ollama, ориентированная на один поток, становится узким местом задолго до того, как им станет аппаратное обеспечение.

Будьте реалистичны в оценке возможностей. Хорошая открытая модель на VPS среднего размера действительно полезна для обобщения, классификации, черновиков и простого извлечения данных. В задачах с длинными многошаговыми рассуждениями, при работе с большими кодовыми базами и при использовании агентских инструментов она не приближается к передовым облачным моделям, и никакая настройка промптов не устранит этот разрыв. Выбирайте локальную модель для задач, с которыми она справляется хорошо, и оплачивайте облачные решения там, где сложность задач действительно высока.

Запуск собственного шлюза с LiteLLM

Это именно то «self-hosted решение в стиле OpenRouter», которое многие ищут. Шлюз располагается между вашими приложениями и любым провайдером моделей. Ваши приложения используют один ключ, указывающий на ваш сервер. Реальные ключи провайдеров хранятся только на этом сервере. Вы можете ограничивать расходы на каждый ключ, направлять запросы от разных приложений к разным моделям и логировать все обращения в одном месте.

LiteLLM — популярный выбор, так как он поддерживает API, совместимый с OpenAI, и проксирует запросы к Anthropic, Ollama и большинству других провайдеров через одну и ту же конечную точку. Запустите его в Docker с файлом конфигурации.

model_list:
  - model_name: claude
    litellm_params:
      model: anthropic/claude-sonnet-5
      api_key: os.environ/ANTHROPIC_API_KEY
  - model_name: local
    litellm_params:
      model: ollama/qwen3:8b
      api_base: http://127.0.0.1:11434

Сохраните это как litellm_config.yaml и запустите прокси. Он ожидает подключения на порту 4000.

docker run -v $(pwd)/litellm_config.yaml:/app/config.yaml \
  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
  -e LITELLM_MASTER_KEY=sk-1234 \
  -p 4000:4000 docker.litellm.ai/berriai/litellm:latest \
  --config /app/config.yaml

LITELLM_MASTER_KEY — это учетные данные администратора, поэтому относитесь к ним как к паролю root и не используйте пример значения в продакшене. Обращайтесь к прокси точно так же, как вы обращались бы к любому хостинговому API.

curl http://localhost:4000/v1/chat/completions \
  -H 'Authorization: Bearer sk-1234' \
  -H 'Content-Type: application/json' \
  -d '{"model": "claude","messages": [{"role": "user","content": "Say hello in five words."}]}'

Корректный ответ представляет собой обычный JSON с массивом choices. Ошибка 401 означает сбой аутентификации. В такой конфигурации наиболее частая причина — заголовок Authorization, который не совпадает с вашим мастер-ключом. LiteLLM также возвращает эту ошибку при использовании неверного виртуального ключа, а также если провайдер отклоняет ключ (например, из-за неверного ANTHROPIC_API_KEY); в этом случае ошибка будет содержать имя провайдера в формате <Provider>Exception. Ошибка 400 с указанием модели часто означает, что model в вашем запросе не соответствует ни одному model_name в файле конфигурации. LiteLLM также возвращает 400, если запрос превышает размер контекстного окна модели, поэтому прочитайте сообщение об ошибке, прежде чем редактировать конфигурацию.

Причина создавать такую систему, а не обращаться к Anthropic напрямую — это ограничение расходов. Выпускайте отдельный виртуальный ключ для каждого приложения, каждое из которых имеет свой бюджет.

curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{"models": ["claude"], "max_budget": 100}'

Для работы виртуальных ключей и бюджетов прокси требуется база данных Postgres. В примере docker run выше её нет, поэтому сначала добавьте -e DATABASE_URL=postgresql://user:password@host:5432/litellm. Без базы данных этот вызов завершится ошибкой No connected db..

Этот ключ может потратить сто долларов и получить доступ только к одной модели, и ни к чему больше. Если агент начнет вести себя некорректно в три часа ночи, зона поражения ограничится одним ключом, а не всем вашим аккаунтом. Этот подход, а также мониторинг вокруг него, рассматриваются в статье контроль расходов на агентов на VPS. Если вы всё ещё решаете, стоит ли платить за каждый токен, сравнение стоимости API и подписки поможет разобраться в расчётах.

Обратите внимание на то, чего шлюз не делает. Он не делает Claude локальным и не скрывает ваши промпты от Anthropic. Запросы всё равно покидают ваш сервер и уходят к провайдеру. Вы получаете контроль над ключами, расходами, маршрутизацией и логами.

Запуск Claude Code на собственном VPS

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

npm install -g @anthropic-ai/claude-code
claude --version

Пакет npm требует Node.js 22 или более поздней версии, хотя при использовании старых версий Node.js установка лишь выводит предупреждение EBADENGINE и завершается успешно. Рекомендуемый Anthropic нативный установщик curl -fsSL https://claude.ai/install.sh | bash вообще не требует Node.js. В любом случае установленный бинарный файл claude не работает на Node. Anthropic указывает 4 GB RAM в качестве минимального требования, поэтому подбирайте VPS с учетом этого параметра.

Запускайте его внутри tmux, чтобы разрыв SSH-соединения не прерывал выполнение длительных задач. Эта настройка, включая управление сессиями, описана в запуске Claude Code на VPS с использованием tmux. Создайте для агента отдельного непривилегированного пользователя и ознакомьтесь с правилами безопасности при запуске Claude Code на сервере, прежде чем предоставлять ему права на запись в важные для вас данные.

Это самостоятельный хостинг агента, а не модели. Важно уточнить этот момент, так как его часто путают. Вы контролируете процесс, файловую систему, исходящий сетевой трафик и логи. Anthropic по-прежнему контролирует инференс.

Реальная стоимость каждого варианта

Цены меняются, поэтому воспринимайте их как ориентир, а не как окончательное предложение. По состоянию на 17 октября 2026 года Claude Sonnet 5.5 стоит $2 за миллион входных токенов и $10 за миллион выходных токенов, а Claude Opus 5.5 — $4 и $20 соответственно. Модель Sonnet 5, используемая в конфигурации шлюза выше, была заменена на Sonnet 5.5, но не является устаревшей: на странице Anthropic со списком устаревших моделей она помечена как Active, а её вывод из эксплуатации ожидается не ранее 30 июня 2027 года. Она по-прежнему стоит $2 и $10, а Opus 5 — $5 и $25. Локальная модель не требует оплаты за токены, но её стоимость определяется ежемесячной платой за сервер, который работает независимо от того, используете вы его или нет.

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

Честный гибридный ответ — это то, к чему приходит большинство команд. Используйте открытую модель локально для задач с большим объемом и низкой сложностью. Направляйте сложные запросы к облачной frontier-модели. Установите шлюз перед обеими моделями, чтобы приложениям не нужно было знать, какая из них используется, и чтобы вы могли изменять распределение нагрузки между ними, не затрагивая код приложений. Такая архитектура является практической реализацией «self-hosted Claude», и в отличие от буквальной версии, она существует. Если вы хотите запустить весь стек агента самостоятельно, в обзоре self-hosted AI-агентов описаны доступные варианты.

FAQ

Могу ли я скачать веса модели Claude и запустить их локально?

Нет. Anthropic никогда не выпускала веса для моделей Claude, и не существует лицензии, разрешающей их самостоятельный хостинг. Всё, что рекламируется в сети как скачиваемая «модель Claude», является либо другой моделью с вводящим в заблуждение названием, либо обёрткой, которая обращается к API. Если для работы требуется API key, модель не является локальной.

Какая открытая модель ближе всего к Claude?

Точного аналога не существует, а лидеры меняются каждые несколько месяцев. Семейства моделей с открытыми весами, которые стоит протестировать: Llama, Qwen, Mistral, Gemma и DeepSeek. В задачах суммаризации, классификации и простого редактирования кода качественная открытая модель с 8–14 миллиардами параметров действительно полезна. В задачах долгого многошагового рассуждения и использования агентских инструментов разрыв с облачными frontier-моделями всё ещё велик. Тестируйте на собственных промптах, а не доверяйте рейтингам.

Является ли LiteLLM самохостинговым аналогом OpenRouter?

Функционально — да, в части маршрутизации и управления ключами. LiteLLM работает на вашем сервере, предоставляет один endpoint, совместимый с OpenAI, и проксирует запросы к Anthropic, Ollama и большинству других провайдеров. При подключении базы данных Postgres вы получаете лимиты расходов на каждый ключ, маршрутизацию моделей и единое место для просмотра логов. Чего он не даёт, так это локального инференса: запросы к Claude по-прежнему отправляются в Anthropic.

Обеспечивает ли запуск Claude Code на собственном сервере конфиденциальность моего кода?

Нет. Claude Code отправляет содержимое файлов, которые он читает, в API Anthropic, независимо от того, где запущен процесс. VPS обеспечивает изоляцию агента, а не конфиденциальность контента. Запускайте его от имени выделенного пользователя с ограниченными правами, держите подальше от учётных данных и посторонних репозиториев, и считайте, что всё, к чему агент имеет доступ, покидает пределы вашего сервера.

Была ли эта статья полезной?