Instalacja i konfiguracja Claude Code dla Ollama, llama.cpp oraz kwestie cenowe.

Agencyjne programowanie, teraz z lokalnymi backendami modeli.

Page content

Claude Code to nie po prostu ukończenie kodu z lepszym marketingiem. To narzędzie agencji kodowania: czyta bazę kodu, edytuje pliki, uruchamia polecenia i integruje się z narzędziami developerskimi.

Ta różnica ma znaczenie, ponieważ jednostka pracy przestaje być „linią kodu", a zaczyna być „zadaniem z określonym stanem końcowym".

Anthropic precyzyjnie definiuje tę różnicę: uzupełnianie kodu sugeruje następną linię podczas pisania, podczas gdy Claude Code działa na poziomie projektu, planuje zmiany w wielu plikach, wykonuje modyfikacje, uruchamia testy i iteruje nad błędami. W praktyce sprawia to, że narzędzie jest bliższe terminalowemu inżynierowi juniorowi, który szybko wykonuje zadania, ale nadal wymaga weryfikacji.

To napięcie między szybkością a nadzorem to właśnie to, co ludzie często grupują pod hasłem „vibe coding"; Czym jest Vibe Coding? wyjaśnia ten termin, jego źródła oraz to, jak wygląda efektywność i ryzyko w praktyce.

laptop-homeresver-claude-code-coffee-books

Jeden szczegół, który łatwo przeoczyć podczas szybkiego przeglądania dokumentacji: Terminal CLI (i interfejs VS Code) można skonfigurować tak, aby korzystał z dostawców zewnętrznych. To właśnie tutaj pojawiają się Ollama i llama.cpp.

Gdy Claude Code jest skierowany na lokalny punkt końcowy HTTP, kwestie środowiska uruchomieniowego, sprzętu i hostowania pozostają poza klientem; to porównanie hostingu LLM w 2026 roku zestawia Ollama, dedykowane stosy inferencyjne i opcje chmurowe w jednym miejscu.

Aby zobaczyć, jak Claude Code wpasowuje się obok innych workflowów wspieranych przez AI, ten przewodnik po narzędziach dla programistów AI łączy asystenty w stylu Copilota, automatyzację i wzorce edytora w jednym miejscu.

Dla przeglądu narzędzia po narzędziu asystentów kodowania w tej samej kategorii, Porównanie asystentów kodowania AI omawia Cursor, Copilot, Cline i pozostałe na wyższym poziomie niż ten przewodnik instalacyjny.

Instalacja i szybki start Claude Code

Opcje instalacji i ich implikacje

Istnieje kilka ścieżek instalacyjnych, które nie są jednakowe:

  • Skrypty instalacyjne to opcja „zawsze aktualna", ponieważ aktualizują się automatycznie.
  • Homebrew i WinGet to opcja „kontrolowanej zmiany", ponieważ aktualizujesz je jawnie.

Polecenia instalacyjne (oficjalny szybki start):

# 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

Następnie uruchom interaktywną sesję z wnętrza folderu projektu:

cd /path/to/your/project
claude

Logowanie i typy kont

Claude Code wymaga konta do pracy w trybie pierwszoplanowym (first-party). Proces szybkiego startu obsługuje logowanie przez subskrypcję Claude (Pro, Max, Team, Enterprise), konto Console (kredyty API) lub obsługiwanych dostawców chmurowych. Przydatna uwaga operacyjna: przy pierwszym logowaniu do Console tworzona jest przestrzeń robocza „Claude Code" do scentralizowanego śledzenia kosztów.

Konfiguracja Claude Code: settings.json i zmienne środowiskowe

Jeśli Claude Code sprawia wrażenie magicznego, gdy działa, często wydaje się „tajemniczy", gdy nie działa. Rozwiązaniem jest zrozumienie jego warstw konfiguracji i kilku zmiennych środowiskowych, które naprawdę mają znaczenie.

Pliki ustawień i priorytety

Ustawienia Claude Code są hierarchiczne, z trzema plikami skierowanymi do programistów:

  • Zakres użytkownika, stosuje się wszędzie: ~/.claude/settings.json
  • Zakres projektu, współdzielony w repozytorium: .claude/settings.json
  • Zakres lokalny, nadpisanie na danej maszynie: .claude/settings.local.json (zignorowany przez git)

Priorytety (od najwyższego do najniższego): zarządzana polityka, flagi CLI, lokalne, projektowe, użytkownika. To uszeregowanie wyjaśnia wiele momentów typu „dlaczego moja konfiguracja jest ignorowana".

Możesz zarządzać ustawieniami interaktywnie za pomocą polecenia /config, które otwiera interfejs ustawień wewnątrz REPL.

Zmienne środowiskowe sterujące routingiem dostawcy

Claude Code można sterować w czasie działania za pomocą zmiennych środowiskowych. Dwie dziwne zachowania warto traktować jako ograniczenia projektowe:

  1. Jeśli ustawiono ANTHROPIC_API_KEY, Claude Code użyje klucza zamiast subskrypcji Claude, nawet gdy jesteś zalogowany. W trybie druku (-p) klucz jest zawsze używany, gdy jest obecny.

  2. Jeśli ANTHROPIC_BASE_URL wskazuje na host niepierwszoplanowy (zastępczy, bramkę lub lokalny serwer), niektóre funkcje są celowo konserwatywne. Na przykład wyszukiwanie narzędzi MCP jest domyślnie wyłączone, chyba że jawnie je ponownie włączysz.

Minimalny wzorzec „użyj bramki" wygląda tak:

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

Uwaga dotycząca bramki: Claude Code oczekuje określonych formatów API. Dla formatu Anthropic Messages, bramka musi udostępniać /v1/messages i /v1/messages/count_tokens oraz przekazywać nagłówki anthropic-beta i anthropic-version. Jeśli bramka odrzuca te nagłówki, istnieje dedykowany suwak do usuwania eksperymentalnych wersji beta.

Wybór modelu w Claude Code, gdy nie korzystasz bezpośrednio z Anthropic

Claude Code ma koncepcję aliasów (opus, sonnet, haiku) i obsługuje również przypinanie konkretnych ID modeli. Istnieje również lista dozwolonych, która może ograniczać, co użytkownicy mogą wybrać w selektorze modelu, nawet gdy są przekierowani przez dostawców zewnętrznych.

Pragmatycznym wzorcem jest ustawienie początkowego modelu i ograniczenie selektora, a następnie przypięcie tego, co „domyślnie" rozwiązuje, przez zmienne środowiskowe:

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

Uruchamianie samohostowanych LLM przez Ollama

Ollama jest obecnie najprostszym sposobem na uruchomienie Claude Code na modelach innych niż Anthropic, ponieważ udostępnia API zgodne z Anthropic, z którym Claude Code może komunikować się.

Szybka konfiguracja z ollama launch

Jeśli masz zainstalowane i uruchomione Ollama, szybka ścieżka to:

ollama launch claude

Lub określ model przy uruchomieniu:

ollama launch claude --model glm-4.7-flash

Ręczna konfiguracja z jawnymi zmiennymi środowiskowymi

Dokumentacja integracji Ollama opisuje prostą ręczną konfigurację, w której Claude Code komunikuje się z Ollama przez endpoint API zgodny z Anthropic:

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

claude --model qwen3.5

Ten wzorzec jest opiniowany w użyteczny sposób: traktuje „routing dostawcy" jako kwestię środowiskową, a nie coś, co klikasz w GUI.

Rzeczywistość okna kontekstowego

Agencyjne kodowanie jest żarłoczne pod kątem kontekstu. Ollama wskazuje na to bez ogródek: Claude Code wymaga dużego okna kontekstowego i zaleca co najmniej 64k tokenów. Jeśli Twój lokalny model kończy się na 8k lub 16k, Claude Code nadal będzie działał, ale obietnica „poziomu projektu" stanie się krucha.

Aby zobaczyć praktyczne zachowanie lokalnych modeli w podobnym setupie terminalowego agenta (Ollama i llama.cpp, zadania kodowania i szczere notatki o błędach), Najlepsze LLM dla OpenCode - Przetestowane lokalnie jest użytecznym punktem odniesienia przy tworzeniu krótkiej listy znaczników GGUF lub Ollama dla Claude Code.

Uruchamianie samohostowanych LLM przez llama.cpp

llama.cpp jest atrakcyjne z przeciwnego powodu: nie próbuje być platformą. To szybki, lekki serwer, który może udostępniać zarówno trasy zgodne z OpenAI, jak i trasę zgodną z API Anthropic Messages.

Dla ścieżek instalacyjnych, zachowania llama-cli i llama-server wykraczających poza poniższe fragmenty, Szybki start llama.cpp z CLI i Serwerem jest referencją od podziału do podziału.

Co uruchomić po stronie serwera

Serwer HTTP llama.cpp (llama-server) obsługuje API Anthropic-compatible Messages na POST /v1/messages ze strumienieniem przez SSE. Oferuje również count_tokens na /v1/messages/count_tokens.

Dwa szczegóły mają znaczenie dla Claude Code:

  • Serwer nie stawia silnych pretensji do pełnej zgodności ze specyfikacją API Anthropic, ale stwierdza, że działa wystarczająco dobrze dla wielu aplikacji.
  • Używanie narzędzi wymaga uruchomienia llama-server z flagą –jinja. Jeśli tego zabraknie, Claude Code będzie zachowywał się tak, jakby nagle zapomniał, jak być agentem.

Minimalne lokalne uruchomienie wygląda tak:

# Zbuduj lub pobierz llama-server, następnie uruchom z modelem GGUF
./llama-server -m /models/your-model.gguf --jinja --host 127.0.0.1 --port 8080

Jeśli chcesz silnej granicy uwierzytelniania, llama-server można skonfigurować z kluczem API:

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

Skierowanie Claude Code na llama-server

Gdy serwer działa, strona Claude Code to w większości nadpisanie podstawowego URL:

export ANTHROPIC_BASE_URL=http://127.0.0.1:8080
export ANTHROPIC_API_KEY=my-local-key   # tylko jeśli włączyłeś --api-key na llama-server

claude --model your-model-alias

Jeśli nie ustawisz klucza API lub tokenu uwierzytelniającego, Claude Code może spróbować cofnąć się do logowania subskrypcyjnego, co jest źródłem wielu skarg „dlaczego otwiera przeglądarkę".

Testy zdrowia i pierwsza diagnostyka awarii

llama-server udostępnia prosty endpoint zdrowia, który zwraca „loading model" dopóki model nie jest gotowy, i „ok" gdy jest gotowy do użycia. Gdy Claude Code wydaje się zawiesić na pierwszym żądaniu, sprawdzenie /health to szybki sposób na rozróżnienie „błędu konfiguracji klienta" od „serwer wciąż ładuje".

Ceny i model kosztowy

Ceny Claude Code mają mniej wspólnego z „kupowaniem CLI" i bardziej z „który tor rozliczeniowy wspiera tokeny".

Plan subskrypcyjny obejmuje Claude Code

Anthropic zawiera Claude Code w płatnych poziomach subskrypcji Claude. Stanowi kwotę z kwietnia 2026 roku, opublikowane ceny to:

  • Pro w cenie $17 miesięcznie ze zniżką roczną ($200 płacone z góry) lub $20 płatne miesięcznie, i obejmuje Claude Code.
  • Plany Max zaczynające się od $100 miesięcznie.
  • Plany Team cenione na miejsce, ze standardowym miejscem w cenie $20 na miejsce miesięcznie płatnym rocznie ($25 miesięcznie) i miejscem premium w cenie $100 na miejsce miesięcznie płatnym rocznie ($125 miesięcznie).

Cenowanie tokenów API

Jeśli korzystasz z Claude Code przez rozliczenia API, koszty podążają za stawkami tokenów. Anthropic publikuje ceny za milion tokenów (MTok) dla modeli takich jak:

  • Haiku 4.5 za $1/MTok wejścia i $5/MTok wyjścia.
  • Sonnet 4.5 za $3/MTok wejścia i $15/MTok wyjścia.
  • Opus 4.5 za $5/MTok wejścia i $25/MTok wyjścia.

Kontrola kosztów w CLI

Tryb druku (-p) obsługuje bezpośrednie limity budżetu, takie jak –max-budget-usd, co jest przydatne przy skryptowaniu zadań i chęci przewidywalnych wydatków.

Wewnątrz sesji interaktywnych, /cost pokazuje statystyki użycia tokenów.

Lokalne backendy zmieniają rachunek, nie fizykę

Przekierowanie Claude Code do Ollama lub llama.cpp może usunąć opłaty za tokeny API, ale nie czyni pracy darmową. Zamieniasz koszty chmurowe na lokalne obliczenia, pamięć i „ktoś odpowiada za dostępność". Dla niektórych zespołów ten kompromis jest całym celem.

Typowy workflow: od planu do PR

Moim uprzedzeniem jest, że Claude Code jest najpotężniejsze, gdy traktujesz je jako silnik workflow, a nie czatobot. Narzędzia to sugerują.

Zacznij od modelu uprawnień, nie od promptu

Claude Code jest zablokowane przez uprawnienia ze względu na projekt. Dokumentacja opisuje model warstwowy: operacje tylko do odczytu, takie jak odczyty plików i grep, są dozwolone, podczas gdy polecenia bash i modyfikacje plików wymagają zatwierdzenia.

Tryby uprawnień istnieją, aby zarządzać tarczeniem. W CLI możesz cyklować tryby za pomocą Shift+Tab (domyślny -> acceptEdits -> plan). Tryb plan odczytuje i proponuje zmiany, ale nie edytuje. Tryb acceptEdits pozwala Claude Code na tworzenie i edytowanie plików w Twoim katalogu roboczym bez pytań, nadal prosząc o polecenia z efektami ubocznymi poza jego bezpieczną listą.

Tryb Auto jest nowszą opcją, która redukuje pytania, delegując zatwierdzenia klasyfikatorowi, pozycjonowanym jako bezpieczniejsza ścieżka pośrednia między ciągłymi pytaniami a całkowitym wyłączeniem pytań. Wymaga minimum wersji Claude Code i specyficznych wymagań planu i modelu.

Użyj wbudowanych poleceń, aby sesje były uczciwe

Kilka poleceń zmienia Claude Code z „asystenta" na „narzędzie":

  • /init generuje przewodnik projektu CLAUDE.md, który jest lekkim sposobem na podawanie spójnego kontekstu.
  • /diff daje interaktywny widok zmian, w tym diffy na turę.
  • /rewind pozwala cofnąć rozmowę i/lub kod do poprzedniego punktu, używając punktów kontrolnych.
  • /debug włącza logowanie debugowania w trakcie sesji.
  • /doctor diagnozuje i weryfikuje instalację i ustawienia.

To nie są gadżety; to są szyny bezpieczeństwa, na które opierasz się, gdy agent edytuje więcej, niż się spodziewałeś.

Kiedy przejść do trybu nieinteraktywnego

Dla zadań jednorazowych (wyjaśnij, podsumuj, wygeneruj plan poprawki), tryb druku jest dobrym dopasowaniem:

claude -p "Podsumuj architekturę repozytorium i wylicz najbardziej ryzykowne moduły"

Wychodzi po odpowiedzi, co działa dobrze w skryptach i CI.

Kontrola rozwiązywania problemów

Większość problemów z Claude Code to problemy z konfiguracją w przebraniu. Oto kontrolna lista mapująca częste objawy na mechanizmy podstawowe.

Claude Code ciągle prosi o zalogowanie się podczas używania serwera lokalnego

To zazwyczaj oznacza, że Claude Code nadal próbuje użyć uwierzytelnienia subskrypcyjnego pierwszoplanowego. Upewnij się, że ustawiasz jawny tryb uwierzytelniania dla zastępcy:

  • Ustaw ANTHROPIC_API_KEY dla bram oczekujących X-Api-Key.
  • Lub ustaw ANTHROPIC_AUTH_TOKEN dla bram używających Authorization Bearer.

Pamiętaj, że ANTHROPIC_API_KEY nadpisuje użycie subskrypcji nawet jeśli jesteś zalogowany, i w trybie interaktywnym możesz musieć zatwierdzić to nadpisanie raz.

Bramka zgłasza błędy na nagłówkach anthropic-beta

Niektóre bramki odrzucają nieznane nagłówki lub pola beta. Istnieje zmienna środowiskowa zaprojektowana dla tego dokładnego trybu awarii:

export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

Dokumentacja bramki LLM również zauważa, że możesz tego potrzebować przy używaniu formatu Anthropic Messages z Bedrock lub Vertex.

Wywołanie narzędzi nie działa na llama.cpp

Sprawdź flagi serwera. llama-server dokumentuje, że użycie narzędzi wymaga flagi –jinja. Bez niej serwer może odpowiadać, ale pętla agenta będzie się pogarszała.

Prompty uprawnień przerywają każde polecenie

To może być normalne, w zależności od trybu i reguł uprawnień. Opcje obejmują:

  • Przełączenie do acceptEdits tymczasowo (edycje plików płyną szybciej).
  • Zapisanie jawnych reguł dozwolonych dla znanych bezpiecznych poleceń bash w settings.json.
  • Używanie /sandbox do izolacji narzędzia bash przy jednoczesnym redukowaniu pytań.
  • Ewaluacja trybu auto, jeśli Twój plan i wersja to obsługują, jako rozwiązanie pośrednie.

Coś wydaje się nie tak i potrzebujesz obserwowalności

Użyj wbudowanych funkcji:

  • /doctor do walidacji instalacji i ustawień.
  • /debug do rozpoczęcia przechwytywania logów od tego momentu.
  • Jeśli jesteś w trybie druku, rozważ ciasny maksymalny budżet i maksymalną liczbę tur, aby ograniczyć eksperymenty.