Instalacja OpenCode i konfiguracja OmniProxy
Chcesz, aby asystent programistyczny rozumiał projekt, ale nie chcesz utknąć na instalacji i konfiguracji? OpenCode można uruchomić w terminalu, IDE lub jako aplikację komputerową, a następnie krok po kroku połączyć z używaną usługą modeli.
OpenCode to asystent programistyczny typu open source, który umożliwia pisanie kodu w terminalu, IDE lub aplikacji komputerowej. Nie przechowuje kodu ani kontekstu, dlatego nadaje się do projektów, w których prywatność ma znaczenie. Tryb build służy do modyfikowania projektu, natomiast plan jest domyślnie tylko do odczytu i sprawdza się przy poznawaniu nieznanego kodu oraz planowaniu zmian. Usługę modeli można wybrać zgodnie z własnymi potrzebami.
Przygotowanie przed instalacją
Najprostszym rozwiązaniem jest skrypt instalacyjny. Potrzebny jest nowoczesny terminal, czyli program terminalowy umożliwiający wykonywanie poleceń i pracę z plikami projektu, na przykład WezTerm, Alacritty, Ghostty lub Kitty. W systemie Windows najlepiej użyć WSL — narzędzia pozwalającego uruchomić środowisko Linux w systemie Windows, które oferuje pełniejszą funkcjonalność i lepszą wydajność.
Najłatwiej
Skrypt instalacyjny
- curl opencode.ai/install
- Użyj bezpośrednio na macOS Linux
- W Windows zalecany jest WSL
macOS Linux
Homebrew tap
- anomalyco/tap/opencode
- Aktualizowany częściej niż formuła
- Pakiet jest też dostępny dla Arch
Natywny Windows
Menedżer pakietów
- choco lub scoop
- Lub instalacja globalna przez npm
- Możesz też pobrać pliki z sekcji Releases
Przygotuj również identyfikator modelu z aktualnej listy modeli. Model ID to nazwa używana przez usługę do jednoznacznego rozpoznawania konkretnego modelu.
Instalacja i pierwsze uruchomienie
Najłatwiejsze polecenie instalacyjne to:
curl -fsSL https://opencode.ai/install | bash
Można również skorzystać z następujących metod instalacji:
- Node.js:
npm install -g opencode-ai. Bun, pnpm i Yarn również mają odpowiednie polecenia instalacji globalnej — opisano je na stronie przedstawionej na końcu tego przewodnika. - Homebrew w systemach macOS i Linux:
brew install anomalyco/tap/opencode. Użyj tego repozytorium tap, ponieważ jest aktualizowane częściej niż utrzymywane przez zespół Homebrew poleceniebrew install opencode. - Arch Linux: wersja stabilna —
sudo pacman -S opencode; nowszą wersję można zainstalować z AUR jakoopencode-bin. - Windows:
choco install opencodelubscoop install opencode; można także użyćnpm install -g opencode-ai. Plik binarny można również pobrać z sekcji Releases. Obsługa instalacji za pomocą Bun w systemie Windows jest nadal rozwijana.
Przejdź do katalogu projektu, a następnie uruchom OpenCode:
cd /path/to/project
opencode
Przy pierwszym użyciu możesz uruchomić /init. Polecenie przeanalizuje projekt i utworzy plik AGENTS.md w jego katalogu głównym. Plik można dodać do Git, aby zachować te informacje w projekcie.
Pobieranie parametrów połączenia z OmniProxy
baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: Skopiuj pełny identyfikator z aktualnej listy modeli OmniProxy
baseURL to adres usługi, API Key to dane uwierzytelniające, a Model ID to pełna nazwa modelu.
W przypadku używania ścieżki /v1/chat/completions pakiet npm powinien mieć wartość @ai-sdk/openai-compatible. Chat Completions to interfejs obsługujący żądania konwersacyjne. Pakiet należy zmienić na @ai-sdk/openai tylko wtedy, gdy model korzysta ze ścieżki /v1/responses. Jeśli OmniProxy używa ścieżki uzupełnień czatu, zachowaj pakiet zgodności.
Skopiuj cały identyfikator modelu z aktualnej listy OmniProxy, zachowując również ukośniki. Dwa identyfikatory porównawcze z 2026-10-09 to claude-sonnet-5-5 i gpt-6-luna. Model gpt-6-luna obsługuje Chat Completions; wywoływanie funkcji w Chat Completions jest obsługiwane tylko wtedy, gdy reasoning_effort ma wartość none. Nie kopiuj identyfikatora, którego nie ma na liście.
Wprowadzanie konfiguracji narzędzia
Provider można rozumieć jako zestaw ustawień używanych przez OpenCode do łączenia się z usługą modeli. Usługę zgodną z OpenAI, której nie ma na liście /connect, dokumentacja Provider określa jako niestandardowego Provider. Usługa zgodna z OpenAI używa takiego samego formatu żądań i może być obsługiwana przez klientów tego samego typu.
- W OpenCode uruchom
/connecti przewiń do pozycji Other. - Wprowadź Provider ID. W dalszej części używany jest identyfikator
omniproxy. Powinien być łatwy do zapamiętania, ponieważ tego samego identyfikatora trzeba użyć w pliku konfiguracyjnym. - Wprowadź API Key OmniProxy. Ten krok zapisuje tylko dane uwierzytelniające; adres i modele trzeba jeszcze dodać do pliku
opencode.json. Dane uwierzytelniające są przechowywane w~/.local/share/opencode/auth.json. - Utwórz lub zmodyfikuj plik
opencode.jsonw katalogu projektu:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"omniproxy": {
"npm": "@ai-sdk/openai-compatible",
"name": "OmniProxy",
"options": {
"baseURL": "https://your-omniproxy-origin.example/v1"
},
"models": {
"claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" },
"gpt-6-luna": { "name": "GPT-6 Luna" }
}
}
}
}
- Uruchom
/models. Niestandardowy Provider i jego modele pojawią się na liście.
Identyfikator podany w /connect musi być zgodny z kluczem w pliku opencode.json. Nie zapisuj prawdziwego klucza w tym pliku. Jeśli nie używasz /connect, w options.apiKey możesz zastosować zapis zmiennej środowiskowej, na przykład {env:nazwa_zmiennej}. W teście z 2026-10-09 przeprowadzonym w OpenCode 1.18.34 połączenie działało również po zapisaniu klucza bezpośrednio w options.apiKey projektu, bez używania /connect. Jeśli brama nie weryfikuje klucza, ta wartość może być ciągiem znaków zastępczych używanym wyłącznie lokalnie. Klucze w models muszą być pełnymi identyfikatorami z listy.
Klucz
/connect
- Wybierz na samym dole Other
- Ustal własny Provider ID
- Jest przechowywany w auth.json
Projekt
opencode.json
- Klucz provider musi mieć tę samą nazwę
- Dla npm użyj pakietu kompatybilności
- baseURL kończy się na /v1
Wybór
/models
- Model pojawi się na liście
- Wybierz jeden, a następnie zadaj pytanie
- ID określa lista bramy
Weryfikacja za pomocą rzeczywistego zadania
Najpierw uruchom rzeczywiste zadanie w katalogu projektu. Format odwołania do modelu to Provider ID/Model ID; zachowaj ukośniki występujące w Model ID:
opencode run --model omniproxy/claude-sonnet-5-5 --auto "Wyjaśnij, do czego służy wskazany przeze mnie plik, ale nie modyfikuj go."
Opcja --auto pozwala podczas tego uruchomienia korzystać z narzędzi, takich jak odczytywanie plików. W teście z 2026-10-09 przeprowadzonym w OpenCode 1.18.34 odczytano zawartość wskazanego pliku. Pierwsze uruchomienie trwało około dwóch minut.
Aby korzystać z trybu interaktywnego, uruchom opencode, a następnie wybierz model za pomocą /models. W obsługiwanym sposobie użycia można wyszukiwać pliki za pomocą @. Polecenie opencode auth list pozwala sprawdzić dane uwierzytelniające zapisane przez /connect, a w rejestrze wywołań OmniProxy można potwierdzić źródło i Model ID.
Uruchomienie
opencode działa
- Najpierw przejdź cd do projektu
- auth list wyświetla ID
- Plik konfiguracji znajduje się w projekcie
Zadanie
Przeczytał kod
- Zapytaj o konkretny plik
- Sprawdź jego opis
- Jeśli coś jest nie tak, użyj /undo
Rejestr
Brama go widzi
- Źródło to OpenCode
- Identyfikator modelu jest zgodny
- Nie zatwierdzaj klucza
Częste błędy
- Brak OmniProxy na liście
/models: sprawdź, czy identyfikator z/connectjest zgodny z kluczem wopencode.json, czynpmma wartość@ai-sdk/openai-compatibleoraz czybaseURLkończy się na/v1. - Brak danych uwierzytelniających: uruchom
opencode auth list. Provider korzystający ze zmiennych środowiskowych, taki jak Bedrock, nie pojawi się na tej liście; niestandardowy Provider skonfigurowany za pomocą/connectpowinien być widoczny. - Niepełna funkcjonalność w systemie Windows: użyj skryptu instalacyjnego w WSL.
- Nieprawidłowy Model ID: skopiuj go ponownie z aktualnej listy OmniProxy i zmień klucz w
models. - Żądanie trafia do niewłaściwego interfejsu: dla uzupełnień czatu zachowaj
@ai-sdk/openai-compatible. Nie zmieniaj pakietu ze względu na interfejs Responses, chyba że dany model w OmniProxy rzeczywiście korzysta z/v1/responses.
Oficjalne materiały
Informacje o instalacji znajdziesz w opisie OpenCode. Informacje o niestandardowych Provider znajdują się na stronie Providers. Identyfikatory modeli użyte w przykładach opisano na stronach Przegląd modeli Claude oraz GPT-6 Luna.
Zastąp każdy placeholder wartościami z własnej konfiguracji OmniProxy. Nigdy nie publikuj prawdziwego klucza.
Zapisany wynik lub HTTP 200 samo w sobie nie dowodzi pełnej kompatybilności Agenta. Sprawdź źródło i model w rejestrze połączeń OmniProxy.