Установка и настройка Claude Code для Ollama и llama.cpp, тарифы

Агентное программирование теперь поддерживает локальные модельные бэкенды.

Содержимое страницы

Claude Code — это не автодополнение с более удачным маркетингом. Это агентный инструмент для кодирования: он читает вашу кодовую базу, редактирует файлы, выполняет команды и интегрируется с вашими инструментами разработки.

Разница имеет значение, поскольку единицей работы перестаёт быть «строка кода» и становится «задача с конечным состоянием».

Anthropic чётко формулирует это различие: автодополнение кода предлагает следующую строку по мере ввода, тогда как Claude Code работает на уровне проекта, планирует действия по нескольким файлам, выполняет изменения, запускает тесты и итерирует при сбоях. На практике это делает его похожим на терминально-ориентированного junior-инженера, который быстро справляется с рутинными задачами, но всё ещё нуждается в ревью.

Тензия между скоростью и надзором — вот что большинство людей вкладывают в понятие «vibe coding»; статья Что такое Vibe Coding? раскрывает этот термин, его происхождение и то, как на практике выглядят эффективность и риски.

laptop-homeresver-claude-code-coffee-books

Одна деталь, которую легко упустить при беглом просмотре документации: Терминальный CLI (и интерфейс VS Code) можно настроить для использования сторонних провайдеров. Именно здесь в дело вступают Ollama и llama.cpp.

Когда Claude Code направлен на локальный HTTP-эндпоинт, компромиссы между рантаймом, оборудованием и хостингом остаются за пределами клиента; это сравнение хостинга LLM в 2026 году систематизирует Ollama, выделенные стеки инференса и облачные варианты в одном месте.

Чтобы увидеть, как Claude Code соотносится с другими ИИ-инструментами для кодирования и доставки, это руководство по инструментам разработчика на основе ИИ объединяет ассистенты в стиле Copilot, автоматизацию и паттерны редакторов в одном месте.

Для обзорного исследования ассистентов по кодированию в этой же категории статья Сравнение ИИ-ассистентов для кодирования проходит по Cursor, Copilot, Cline и остальным на более высоком уровне, чем это руководство по установке.

Установка Claude Code и быстрый старт

Варианты установки и их последствия

Существует несколько путей установки, и они не равноценны:

  • Нативные скрипты установки — это вариант «всегда актуально», поскольку они автообновляются.
  • Homebrew и WinGet — это вариант «контролируемые изменения», поскольку вы явно обновляете версию.

Команды установки (официальный быстрый старт):

# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
:: Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

Затем запустите интерактивную сессию изнутри папки проекта:

cd /path/to/your/project
claude

Вход и типы аккаунтов

Claude Code требует аккаунт для работы в первомостанном режиме (first-party). Поток быстрого старта поддерживает вход через подписку Claude (Pro, Max, Team, Enterprise), аккаунт Console (кредиты API) или поддерживаемых облачных провайдеров. Полезное оперативное примечание: при первом входе в Console создаётся рабочее пространство «Claude Code» для централизованного отслеживания затрат.

Настройка Claude Code: settings.json и переменные окружения

Если Claude Code кажется волшебным, когда работает, он часто ощущается «загадочным», когда нет. Решение — понимание его иерархии конфигурации и небольшого количества переменных окружения, которые действительно важны.

Файлы настроек и приоритетность

Настройки Claude Code иерархичны и имеют три файла, доступных разработчику:

  • Пользовательский уровень, применяется везде: ~/.claude/settings.json
  • Проектный уровень, общий в репозитории: .claude/settings.json
  • Локальный уровень, переопределения для конкретного компьютера: .claude/settings.local.json (в gitignore)

Приоритетность (от высшего к низшему): управляемая политика, флаги CLI, локальные, проектные, пользовательские. Этот порядок объясняет несколько ситуаций «почему моя конфигурация игнорируется».

Установка Hindsight для Claude Code объединяет три хука в пользовательский файл ~/.claude/settings.json, регистрирует MCP на пользовательском уровне и добавляет навык ~/.claude/skills/hindsight-coding-agent. Статья Память Hindsight для OpenCode, Cursor и других агентов кодирования описывает этот плагин, включая подключение CLI для OpenCode и Cursor.

Вы можете управлять настройками интерактивно с помощью команды /config, которая открывает пользовательский интерфейс настроек внутри REPL.

Переменные окружения, управляющие маршрутизацией провайдера

Claude Code может управляться во время выполнения с помощью переменных окружения. Две особенности поведения заслуживают внимания как проектные ограничения:

  1. Если задан ANTHROPIC_API_KEY, Claude Code будет использовать этот ключ вместо подписки Claude, даже если вы вошли в систему. В режиме печати (-p) ключ всегда используется, если он присутствует.

  2. Если ANTHROPIC_BASE_URL указывает на не-первоостанной хост (прокси, шлюз или локальный сервер), некоторые функции намеренно консервативны. Например, поиск инструментов MCP по умолчанию отключен, если вы явно не включите его обратно.

О конкретных границах подписки, теперь применяемых в сторонних стеках агентных инструментов, это обновление политики Claude для рабочих процессов OpenClaw объясняет, почему требуется использование на основе API.

Минимальный паттерн «использовать шлюз» выглядит так:

export ANTHROPIC_BASE_URL=https://your-gateway.example
export ANTHROPIC_API_KEY=sk-your-key

Примечание по шлюзам: Claude Code ожидает определенные форматы API. Для формата Anthropic Messages шлюз должен экспонировать /v1/messages и /v1/messages/count_tokens и должен передавать заголовки anthropic-beta и anthropic-version. Если шлюз отклоняет эти заголовки, существует специальный параметр для удаления экспериментальных бет.

Выбор модели в Claude Code, когда вы не используете Anthropic напрямую

В Claude Code есть концепция алиасов (opus, sonnet, haiku) и поддержка закрепления конкретных идентификаторов моделей. Также есть список разрешенных моделей, который может ограничивать выбор пользователей в пикере моделей, даже при маршрутизации через сторонних провайдеров.

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

{
  "model": "claude-sonnet-4-5",
  "availableModels": ["claude-sonnet-4-5", "haiku"],
  "env": {
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"
  }
}

Запуск самохостинговых LLM через Ollama

Ollama на данный момент — способ с наименьшим трением, чтобы заставить Claude Code работать с моделями, не от Anthropic, поскольку он предоставляет совместимый с Anthropic API для общения с Claude Code.

Быстрая настройка с помощью ollama launch

Если у вас установлена и запущена Ollama, быстрый путь такой:

ollama launch claude

Или укажите модель при запуске:

ollama launch claude --model glm-4.7-flash

Ручная настройка с явными переменными окружения

Документация по интеграции Ollama описывает простую ручную настройку, где Claude Code общается с Ollama через эндпоинт API, совместимый с Anthropic:

export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434

claude --model qwen3.5

Этот паттерн субъективен, но полезно: он рассматривает «маршрутизацию провайдера» как вопрос окружения, а не то, на что вы нажимаете в GUI.

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

Агентное кодирование требует много контекста. Ollama прямо называет это: Claude Code требует большое окно контекста и рекомендует как минимум 64k токенов. Если ваша локальная модель ограничена 8k или 16k, Claude Code всё равно будет работать, но обещание «на уровне проекта» становится хрупким.

Для практического поведения локальных моделей в подобной терминально-агентной настройке (Ollama и llama.cpp, задачи кодирования и честные заметки о сбоях), Лучшие LLM для OpenCode - протестировано локально служит полезной перекрестной проверкой, когда вы составляете краткий список тегов GGUF или Ollama для Claude Code.

Запуск самохостинговых LLM через llama.cpp

llama.cpp привлекателен по противоположной причине: она не пытается быть платформой. Это быстрый, легкий сервер, который может экспонировать как совместимые с OpenAI маршруты, так и маршрут, совместимый с API Anthropic Messages.

Для путей установки, llama-cli и поведения llama-server за пределами фрагментов ниже, Быстрый старт llama.cpp с CLI и Server является сквозным справочником.

Что запускать на стороне сервера

HTTP-сервер llama.cpp (llama-server) поддерживает совместимый с Anthropic API Messages по POST /v1/messages, со стримингом через SSE. Он также предлагает count_tokens по /v1/messages/count_tokens.

Две детали важны для Claude Code:

  • Сервер явно не делает сильных заявлений о полной совместимости со спецификацией API Anthropic, но заявляет, что работает достаточно хорошо для многих приложений.
  • Использование инструментов требует запуска llama-server с флагом –jinja. Если вы пропустите это, Claude Code будет вести себя так, будто внезапно забыл, как быть агентом.

Минимальный локальный запуск выглядит так:

# Постройте или загрузите llama-server, затем запустите с моделью GGUF
./llama-server -m /models/your-model.gguf --jinja --host 127.0.0.1 --port 8080

Если вы хотите жёсткую границу аутентификации, llama-server можно настроить с API-ключом:

./llama-server -m /models/your-model.gguf --jinja --api-key my-local-key --host 127.0.0.1 --port 8080

Направьте Claude Code на llama-server

Когда сервер работает, ваша сторона в Claude Code в основном это переопределение базового URL:

export ANTHROPIC_BASE_URL=http://127.0.0.1:8080
export ANTHROPIC_API_KEY=my-local-key   # только если вы включили --api-key на llama-server

claude --model your-model-alias

Если вы не установите API-ключ или токен аутентификации, Claude Code может попытаться вернуться к входу по подписке, что является источником многих жалоб «почему он открывает браузер».

Проверки здоровья и первичная диагностика сбоев

llama-server экспонирует простой эндпоинт здоровья, который возвращает “loading model” (загрузка модели), пока модель не готова, и “ok” (хорошо), когда она готова к использованию. Когда Claude Code кажется зависшим на первом запросе, проверка /health — это быстрый способ отличить «баг конфигурации клиента» от «сервер всё ещё загружается».

Цены и модель затрат

Ценообразование Claude Code — это не столько о «покупке CLI», сколько о «какой биллинг-рейл поддерживает токены».

Подписочные планы включают Claude Code

Anthropic включает Claude Code в платные уровни подписки Claude. По состоянию на апрель 2026 года, опубликованные цены перечисляют:

  • Pro за $17 в месяц со скидкой при годовой оплате ($200 оплачивается авансом), или $20 при ежемесячной оплате, и он включает Claude Code.
  • Планы Max начинаются с $100 в месяц.
  • Командные планы тарифицируются по количеству мест, с стандартным местом за $20 с места в месяц при годовой оплате ($25 при ежемесячной) и премиум-местом за $100 с места в месяц при годовой оплате ($125 при ежемесячной).

Тарифы на токены API

Если вы используете Claude Code через биллинг API, затраты следуют тарифам на токены. Anthropic публикует ценообразование на миллион токенов (MTok) для таких моделей, как:

  • Haiku 4.5 за $1/MTok вход и $5/MTok выход.
  • Sonnet 4.5 за $3/MTok вход и $15/MTok выход.
  • Opus 4.5 за $5/MTok вход и $25/MTok выход.

Контроль затрат в CLI

Режим печати (-p) поддерживает прямые лимиты бюджета, такие как –max-budget-usd, что удобно, когда вы скриптите задачи и хотите предсказуемых расходов.

Внутри интерактивных сессий /cost показывает статистику использования токенов.

Локальные бэкенды меняют счет, а не физику

Маршрутизация Claude Code на Ollama или llama.cpp может убрать затраты на токены API, но не делает работу бесплатной. Вы обмениваете облачные затраты на локальные вычисления, память и «кто-то владеет аптаймом». Для некоторых команд этот обмен — и есть вся цель.

Типовой рабочий процесс: от плана к PR

Моя предвзятость в том, что Claude Code сильнее всего, когда вы рассматриваете его как движок рабочего процесса, а не чат-бота. Инструментальные подсказки намекают на это.

Начните с модели разрешений, а не промпта

Claude Code спроектирован с шлюзами разрешений. Документы описывают многоуровневую модель: операции только для чтения, такие как чтение файлов и grep, разрешены, тогда как команды bash и модификации файлов нуждаются в утверждении.

Режимы разрешений существуют для управления трением. В CLI вы можете циклически менять режимы с помощью Shift+Tab (default -> acceptEdits -> plan). Режим Plan читает и предлагает изменения, но не редактирует. Режим acceptEdits позволяет Claude Code создавать и редактировать файлы в вашей рабочей директории без запросов, но при этом запрашивать утверждение для команд с побочными эффектами вне его безопасного списка.

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

Используйте встроенные команды, чтобы держать сессии честными

Несколько команд превращают Claude Code из «ассистента» в «инструментарий»:

  • /init генерирует проектное руководство CLAUDE.md, что является легким способом подавать последовательный контекст. Для многоразовых плейбуков и повторяемых рабочих процессов, которые находятся выше CLAUDE.md, статья Claude Skills для разработчиков описывает структуру SKILL.md, совместимость с IDE, настройку триггеров и тестирование. Чтобы сравнить навыки SDD Claude Code с GitHub Spec Kit и Kiro, см. GitHub Spec Kit vs Kiro vs рабочие процессы SDD Claude Code. Если вы предпочитаете установить готовую, принудительно применяемую версию этого стека навыков, см. Быстрый старт Superpowers.
  • /diff дает интерактивный вид изменений, включая диффы по ходам.
  • /rewind позволяет откатить разговор и/или код к предыдущей точке, используя контрольные точки.
  • /debug включает журнал отладки в середине сессии.
  • /doctor диагностирует и проверяет вашу установку и настройки.

Это не шутки; это предохранительные рельсы, на которые вы опираетесь, когда агент редактирует больше, чем вы ожидали.

Для шумной, делегируемой работы — исследование кодовой базы, автоматические запуски тестов, проверки безопасности или стиля — объедините эти команды с Под-агентами Claude Code, которые вытесняют эту работу в изолированное окно контекста, вместо того чтобы раздувать вашу основную сессию.

Когда переходить в неинтерактивный режим

Для одноразовых задач (объяснить, суммировать, сгенерировать план патча) режим печати — хороший выбор:

claude -p "Summarise the repository architecture and list the riskiest modules"

Он выходит после ответа, что хорошо работает в скриптах и CI.

Чек-лист устранения неполадок

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

Claude Code постоянно требует входа, когда используется локальный сервер

Обычно это означает, что Claude Code всё еще пытается использовать аутентификацию подписки первого порядка. Убедитесь, что вы установили явный режим аутентификации для прокси:

  • Установите ANTHROPIC_API_KEY для шлюзов, ожидающих X-Api-Key.
  • Или установите ANTHROPIC_AUTH_TOKEN для шлюзов, использующих Authorization Bearer.

Помните, что ANTHROPIC_API_KEY переопределяет использование подписки, даже если вы вошли в систему, и в интерактивном режиме вам может потребоваться утвердить это переопределение один раз.

Шлюз дает ошибки на заголовках anthropic-beta

Некоторые шлюзы отклоняют неизвестные заголовки или поля беты. Существует переменная окружения, разработанная именно для этого режима сбоя:

export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

Документация по LLM-шлюзам также отмечает, что вам может потребоваться это при использовании формата Anthropic Messages с Bedrock или Vertex.

Вызов инструментов не работает на llama.cpp

Дважды проверьте флаги сервера. Документация llama-server указывает, что использование инструментов требует флага –jinja. Без него сервер может отвечать, но агентный цикл будет деградировать.

Запросы на разрешения прерывают каждую команду

Это может быть нормально, в зависимости от режима и правил разрешений. Варианты включают:

  • Временный переход на acceptEdits (редактирование файлов проходит быстрее).
  • Написание явных правил разрешения для известных безопасных команд bash в settings.json.
  • Использование /sandbox для изоляции инструмента bash при снижении запросов.
  • Оценка auto mode, если ваш план и версия это поддерживают, как среднее решение.

Что-то кажется не так, и вам нужна наблюдаемость

Используйте встроенные средства:

  • /doctor для проверки установки и настроек.
  • /debug для начала захвата журналов с этой точки.
  • Если вы в режиме печати, рассмотрите строгий максимальный бюджет и максимальное количество ходов, чтобы ограничить эксперименты.

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

Подписаться

Получайте новые материалы про системы, инфраструктуру и AI engineering.