Jak zainstalować i używać OpenCode: Kompletny przewodnik
Jak zainstalować i używać OpenCode: Kompletny przewodnik
OpenCode to otwartoźródłowy agent kodowania oparty na sztucznej inteligencji, który przenosi moc AI bezpośrednio do Twojego terminala. W przeciwieństwie do tradycyjnych narzędzi AI do kodowania działających w edytorach lub przeglądarkach, OpenCode oferuje interfejs terminalowy, aplikację desktopową oraz rozszerzenie IDE — wszystko zaprojektowane, aby zwiększyć Twoją produktywność jako programisty. Ten kompleksowy przewodnik przeprowadzi Cię przez wszystko, co musisz wiedzieć, aby skutecznie zainstalować, skonfigurować i używać OpenCode.
Czym jest OpenCode?
OpenCode to asystent kodowania oparty na AI, który pomaga Ci:
- Pisać kod szybciej dzięki inteligentnej generacji i uzupełnianiu kodu
- Skutecznie debugować analizując błędy i sugerując poprawki
- Rozumieć bazy kodu poprzez zapytania w języku naturalnym
- Dodawać funkcje za pomocą automatycznego planowania i implementacji
- Przeglądać kod z analizą i sugestiami wspieranymi przez AI
- Automatyzować przepływy pracy wykorzystując agentów AI i niestandardowe narzędzia
Obsługuje wielu dostawców LLM, w tym Anthropic, OpenAI, Google i innych, dając Ci elastyczność wyboru modeli najlepiej dopasowanych do Twoich potrzeb.
Wymagania systemowe
Wymagania wstępne
Przed instalacją OpenCode upewnij się, że masz:
Nowoczesny emulator terminala (do użycia TUI):
Node.js (do instalacji przez npm/bun/pnpm/yarn):
- Zalecana wersja Node.js v18 lub wyższa
Klucze API dla dostawców LLM:
- Klucz API Anthropic (dla modeli Claude)
- Klucz API OpenAI (dla modeli GPT)
- Lub klucze od innych wspieranych dostawców
Metody instalacji
Metoda 1: Skrypt instalacyjny (zalecane)
Najszybszy sposób instalacji OpenCode to użycie oficjalnego skryptu instalacyjnego:
curl -fsSL https://opencode.ai/install | bashTa metoda działa na macOS, Linux i Windows (z Git Bashiem lub WSL).
Metoda 2: Menedżery pakietów Node.js
Przy użyciu npm:
npm install -g opencode-aiPrzy użyciu Bun:
bun install -g opencode-aiPrzy użyciu pnpm:
pnpm install -g opencode-aiPrzy użyciu Yarn:
yarn global add opencode-aiMetoda 3: Użycie Homebrew (macOS i Linux)
brew install opencodeMetoda 4: Użycie Paru (Arch Linux)
paru -S opencode-binMetoda 5: Instalacje specyficzne dla Windows
Przy użyciu Chocolatey:
choco install opencodePrzy użyciu Scoop:
scoop bucket add extras
scoop install extras/opencodePrzy użyciu Mise:
mise use -g github:sst/opencodeMetoda 6: Docker
Do użycia w kontenerze:
docker run -it --rm ghcr.io/sst/opencodeMetoda 7: Pobranie binarki
Możesz pobrać skompilowaną binarkę bezpośrednio z GitHub Releases.
Sprawdzenie instalacji
Po instalacji sprawdź, czy działa:
opencode --versionPowinieneś zobaczyć numer wersji.
Podstawowa konfiguracja
Połączenie z OpenCode Zen (zalecane dla początkujących)
OpenCode Zen to wyselekcjonowana lista modeli przetestowanych i zweryfikowanych przez zespół OpenCode. To najprostszy sposób na start.
- Uruchom OpenCode:
cd /ścieżka/do/twojego/projektu
opencode- Wykonaj polecenie connect w TUI:
/connectWybierz „opencode” z listy dostawców
Odwiedź adres uwierzytelniania: opencode.ai/auth
Zaloguj się i dodaj dane rozliczeniowe (lub użyj dostępnych darmowych kredytów)
Skopiuj swój klucz API i wklej go w terminalu, gdy pojawi się prośba
Połączenie z innymi dostawcami
Możesz także podłączyć OpenCode do innych dostawców LLM:
Używając polecenia /connect:
/connectWybierz preferowanego dostawcę (Anthropic, OpenAI, Google itp.) i postępuj zgodnie z przebiegiem uwierzytelniania.
Używając uwierzytelniania CLI:
opencode auth loginTo przeprowadzi Cię przez konfigurację kluczy API dla dowolnego dostawcy dostępnego na Models.dev.
Lista skonfigurowanych dostawców:
opencode auth listlub krócej:
opencode auth lsWylogowanie się od dostawcy:
opencode auth logoutUstawianie kontekstu projektu
Po skonfigurowaniu dostawcy zainicjuj OpenCode dla swojego projektu:
- Przejdź do katalogu projektu:
cd /ścieżka/do/twojego/projektu- Uruchom OpenCode:
opencode- Wykonaj polecenie init:
/initAnalizuje to strukturę Twojego projektu i tworzy plik AGENTS.md w katalogu głównym projektu. Plik ten pomaga OpenCode lepiej rozumieć wzorce kodowania, frameworki i architekturę projektu.
Wskazówka: Zacommituj plik AGENTS.md do Gita. To pomaga utrzymać spójność w zespole i z czasem poprawia zrozumienie projektu przez OpenCode.
Korzystanie z Terminal User Interface (TUI)
TUI OpenCode zapewnia interaktywne doświadczenie w Twoim terminalu.
Uruchamianie TUI
Wystarczy wykonać:
opencodeLub z dodatkowymi opcjami:
# Kontynuuj ostatnią sesję
opencode --continue
# Kontynuuj konkretną sesję
opencode --session <session-id>
# Uruchom z podpowiedzią
opencode --prompt "Wyjaśnij tę bazę kodu"
# Użyj konkretnego modelu
opencode --model anthropic/claude-sonnet-4-5
# Użyj określonego agenta
opencode --agent planPodstawowa nawigacja w TUI
- Scrollowanie: używaj kółka myszy lub strzałek
- Przełączanie trybów: naciśnij
Tab, aby przełączyć między Trybem Planu a Trybem Budowy - Uruchamianie poleceń: wpisz
/, aby uzyskać dostęp do palety poleceń - Wyszukiwanie plików: użyj
@, aby nieprecyzyjnie wyszukiwać pliki w projekcie - Wyjście: naciśnij
Ctrl+Club wpisz/exit
Zadawanie pytań
Możesz zadawać OpenCode pytania dotyczące swojego kodu:
Jak obsługiwana jest autoryzacja w @packages/functions/src/api/index.tsUżyj symbolu @, aby odwołać się do konkretnego pliku. OpenCode przeanalizuje te pliki i udzieli szczegółowych wyjaśnień.
Dodawanie funkcji
OpenCode świetnie radzi sobie z dodawaniem nowych funkcji poprzez dwuetapowy workflow:
Krok 1: Tryb Planu
- Przełącz się na Tryb Planu naciskając
Tab - Opisz, czego potrzebujesz:
Kiedy użytkownik usuwa notatkę, chcemy oznaczyć ją jako usuniętą w bazie danych.
Następnie utwórz ekran pokazujący wszystkie ostatnio usunięte notatki.
Z tego ekranu użytkownik może przywrócić notatkę lub usunąć ją na stałe.- Przejrzyj zasugerowany plan
- Wprowadź uwagi:
Chcemy zaprojektować ten nowy ekran w oparciu o wzór, którego już wcześniej używałem.
[Obraz #1] Spójrz na ten obraz i użyj go jako odniesienia.Wskazówka: Możesz przeciągać i upuszczać obrazy do terminala. OpenCode je zeskanuje i przeanalizuje.
Krok 2: Tryb Budowy
- Przełącz się na Tryb Budowy ponownie naciskając
Tab - Zatwierdź implementację:
Brzmi świetnie! Wprowadź zmiany.OpenCode zaimplementuje funkcję, tworząc i modyfikując pliki w razie potrzeby.
Dokonywanie bezpośrednich zmian
Dla prostych zmian możesz pominąć etap planowania:
Musimy dodać autoryzację do ścieżki /settings.
Spójrz, jak to jest zrobione w ścieżce /notes
w @packages/functions/src/notes.ts i zaimplementuj taką samą logikę
w @packages/functions/src/settings.tsCofanie i ponawianie zmian
Popełniłeś błąd? Użyj polecenia undo:
/undoTo cofa ostatni zestaw zmian i pozwala Ci dopracować podpowiedź.
Aby ponowić cofnięte zmiany:
/redoMożesz wielokrotnie używać /undo, aby cofnąć wiele zmian.
Polecenia CLI
OpenCode oferuje potężne CLI do dostępu programistycznego i automatyzacji.
Uruchamianie poleceń bez interakcji
Wykonaj OpenCode bez interaktywnego interfejsu:
opencode run "Wyjaśnij, jak działają closures w JavaScript"Przydatne do skryptów, automatyzacji lub szybkich odpowiedzi bez uruchamiania TUI.
Zarządzanie modelami
Wyświetl listę wszystkich dostępnych modeli:
opencode modelsFiltruj według dostawcy:
opencode models anthropicOdśwież cache modeli (np. po dodaniu nowych):
opencode models --refreshPokaż szczegółowe informacje o modelach, w tym koszty:
opencode models --verboseUruchamianie serwera headless
Uruchom serwer HTTP do dostępu API:
opencode serveZ niestandardowym portem:
opencode serve --port 3000Przydatne do integracji OpenCode z aplikacjami webowymi lub szybszych odpowiedzi w skryptach (unika zimnego startu serwera MCP).
Dołączanie do serwera
W jednym terminalu uruchom serwer:
opencode serveW innym dołącz do niego dla szybszego wykonania:
opencode run --attach http://localhost:4096 "Wyjaśnij async/await w JavaScript"Zarządzanie agentami
Utwórz nowego niestandardowego agenta:
opencode agent createPrzeprowadzi Cię to przez tworzenie agenta z niestandardowymi promptami systemowymi i konfiguracją narzędzi.
Integracja z GitHub
Zainstaluj agenta GitHub do automatyzacji repozytorium:
opencode github installKonfiguruje to workflow GitHub Actions do automatycznych przeglądów kodu i obsługi issue.
Aktualizacja OpenCode
Zaktualizuj do najnowszej wersji:
opencode upgradeLub do określonej wersji:
opencode upgrade v0.1.48Określ metodę instalacji, jeśli potrzebujesz:
opencode upgrade --method brewKonfiguracja
OpenCode wspiera elastyczną konfigurację poprzez pliki JSON.
Lokalizacje konfiguracji
Pliki konfiguracyjne są scalane (nie nadpisywane), co pozwala mieć konfigurację globalną, specyficzną dla projektu oraz niestandardową.
Konfiguracja globalna:
~/.config/opencode/opencode.json- Używaj na motywy, dostawców, skróty klawiszowe i ustawienia ogólne
Konfiguracja projektu:
opencode.jsonw katalogu głównym projektu- Używaj na specyficznych dostawców, agentów lub ustawienia projektu
- Można bezpiecznie dodać do Gita
Niestandardowa ścieżka konfiguracji: Ustawiana zmienną środowiskową
OPENCODE_CONFIGNiestandardowy katalog konfiguracji: Ustawiana zmienną środowiskową
OPENCODE_CONFIG_DIR
Przykład podstawowej konfiguracji
Utwórz plik konfiguracyjny o takiej strukturze:
{
"$schema": "https://opencode.ai/config.json",
// Wybór motywu
"theme": "opencode",
// Główny model do użycia
"model": "anthropic/claude-sonnet-4-5",
// Mniejszy model do lekkich zadań
"small_model": "anthropic/claude-haiku-4-5",
// Ustawienia autoaktualizacji
"autoupdate": true
}Konfiguracja dostawców
Konfiguruj klucze API bezpośrednio w konfiguracji:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
}
}
}Zaleca się używać zmiennych środowiskowych ze względów bezpieczeństwa. Syntax: {env:NAZWA_ZMIENNEJ}.
Korzystanie z odwołań do plików
Możesz także odwołać się do plików zawierających dane poufne:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"options": {
"apiKey": "{file:~/.secrets/openai-key}"
}
}
}
}Niestandardowe polecenia
Zdefiniuj własne polecenia do powtarzalnych zadań:
{
"$schema": "https://opencode.ai/config.json",
"command": {
"test": {
"template": "Uruchom pełny test suite z raportem pokrycia i pokaż błędy.\nSkup się na testach, które nie przeszły oraz zaproponuj poprawki.",
"description": "Uruchom testy z pokryciem",
"agent": "build",
"model": "anthropic/claude-haiku-4-5"
},
"component": {
"template": "Utwórz nowy komponent React o nazwie $ARGUMENTS z obsługą TypeScript.\nUwzględnij odpowiednie typowanie i podstawową strukturę.",
"description": "Utwórz nowy komponent"
}
}
}Używaj własnych poleceń w TUI, wpisując /test lub /component MyComponent.
Niestandardowi agenci
Twórz wyspecjalizowanych agentów:
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"code-reviewer": {
"description": "Przegląda kod pod kątem najlepszych praktyk i potencjalnych problemów",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Jesteś recenzentem kodu. Skup się na bezpieczeństwie, wydajności i utrzymaniu.",
"tools": {
"write": false,
"edit": false
}
}
}
}Konfiguracja uprawnień
Kontroluj, co OpenCode może zrobić bez pytania:
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "ask",
"bash": "ask"
}
}Wymaga to zatwierdzenia użytkownika dla operacji edycji i bash.
Formatery kodu
Konfiguruj formatery do automatycznego formatowania kodu:
{
"$schema": "https://opencode.ai/config.json",
"formatter": {
"prettier": {
"disabled": false
},
"custom-prettier": {
"command": ["npx", "prettier", "--write", "$FILE"],
"environment": {
"NODE_ENV": "development"
},
"extensions": [".js", ".ts", ".jsx", ".tsx"]
}
}
}Ustawienia TUI
Dostosuj interfejs terminala:
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}Zaawansowane funkcje
Udostępnianie konwersacji
Udostępniaj swoje konwersacje zespołowi:
/shareTworzy link do udostępnienia i kopiuje go do schowka. Domyślnie konwersacje nie są udostępniane.
Konfiguruj zachowanie udostępniania:
{
"share": "manual" // "manual", "auto" lub "disabled"
}Serwery MCP
Serwery Model Context Protocol (MCP) rozszerzają możliwości OpenCode:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/ścieżka/do/dozwolonych/plików"]
}
}
}Instrukcje i zasady
Podaj instrukcje specyficzne dla projektu:
{
"$schema": "https://opencode.ai/config.json",
"instructions": [
"CONTRIBUTING.md",
"docs/guidelines.md",
".cursor/rules/*.md"
]
}OpenCode użyje tych plików do zrozumienia standardów kodowania i konwencji w projekcie.
Zmienne środowiskowe
Konfiguruj OpenCode za pomocą zmiennych środowiskowych:
# Automatyczne udostępnianie sesji
export OPENCODE_AUTO_SHARE=true
# Ścieżka do niestandardowej konfiguracji
export OPENCODE_CONFIG=/ścieżka/do/config.json
# Ścieżka do katalogu konfiguracji
export OPENCODE_CONFIG_DIR=/ścieżka/do/config-dir
# Wyłącz automatyczne aktualizacje
export OPENCODE_DISABLE_AUTOUPDATE=true
# Wyłącz domyślne wtyczki
export OPENCODE_DISABLE_DEFAULT_PLUGINS=true
# Włącz modele eksperymentalne
export OPENCODE_ENABLE_EXPERIMENTAL_MODELS=true
# Włącz wyszukiwanie web Exa
export OPENCODE_ENABLE_EXA=trueFunkcje eksperymentalne
Włącz funkcje eksperymentalne:
export OPENCODE_EXPERIMENTAL=trueKonkretne funkcje eksperymentalne:
# Włącz wykrywanie ikon
export OPENCODE_EXPERIMENTAL_ICON_DISCOVERY=true
# Wyłącz kopiowanie po zaznaczeniu w TUI
export OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT=true
# Ustaw maksymalną długość wyniku dla poleceń bash
export OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH=10000
# Ustaw domyślny timeout dla poleceń bash (w ms)
export OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS=30000Dobre praktyki
Skuteczne zapytania (promptowanie)
- Bądź precyzyjny: podawaj jasne, szczegółowe instrukcje
- Używaj kontekstu: odwołuj się do plików za pomocą
@dla lepszego zrozumienia - Podawaj przykłady: pokazuj, czego oczekujesz
- Dziel zadania na kroki: złożone zadania najlepiej rozbijać na etapy
Praca z dużymi projektami
- Używaj
/init: pozwól OpenCode poznać strukturę projektu - Odwołuj się do konkretnych plików: używaj
@by ograniczyć kontekst - Korzystaj z Trybu Planu: przeglądaj plany przed implementacją
- Zmieniaj stopniowo: wprowadzaj małe, kontrolowane zmiany
Optymalizacja kosztów
- Używaj mniejszych modeli: skonfiguruj
small_modeldo lekkich zadań - Planuj przed budową: przeglądaj plan w Trybie Planu, aby zmniejszyć ilość iteracji
- Niestandardowe polecenia: definiuj wydajne workflow dla częstych zadań
- Monitoruj zużycie: sprawdzaj statystyki w panelach dostawców
Praktyki bezpieczeństwa
- Nigdy nie commituj kluczy API: używaj zmiennych środowiskowych
- Korzystaj z uprawnień: konfiguruj
permission, aby wymagać zgody na wrażliwe operacje - Przeglądaj zmiany: zawsze sprawdzaj sugerowane zmiany przez OpenCode
- Używaj osobnych kluczy: twórz dedykowane klucze API dla OpenCode z odpowiednimi limitami
Rozwiązywanie problemów
Problemy z instalacją
Problem: Polecenie nieznalezione po instalacji
Rozwiązanie:
- Sprawdź instalację:
which opencode - Sprawdź PATH:
echo $PATH - Spróbuj pełną ścieżką:
~/.local/bin/opencode - Zainstaluj ponownie inną metodą
Problemy z uwierzytelnieniem
Problem: Klucz API nie jest rozpoznawany
Rozwiązanie:
- Sprawdź poprawność klucza:
opencode auth list - Sprawdź zmienne środowiskowe:
echo $ANTHROPIC_API_KEY - Zaloguj się ponownie:
opencode auth login
Problemy z wydajnością
Problem: Wolny czas odpowiedzi
Rozwiązanie:
- Użyj
opencode servedla szybszego wykonania - Przełącz się na szybszy model
- Używaj mniejszych okienek kontekstu
- Wyłącz nieużywane narzędzia w konfiguracji
Problemy z TUI
Problem: Problemy z wyświetlaniem w terminalu
Rozwiązanie:
- Używaj nowoczesnego emulatora terminala (WezTerm, Alacritty itd.)
- Sprawdź, czy terminal wspiera kolory 24-bitowe
- Spróbuj innego motywu
- Wyłącz przyspieszenie scrollowania, jeśli występują problemy
Problemy z modelem
Problem: Model nie znaleziony
Rozwiązanie:
- Odśwież listę modeli:
opencode models --refresh - Sprawdź, czy dostawca jest skonfigurowany:
opencode auth list - Zweryfikuj format nazwy modelu:
provider/model - Sprawdź, czy dostawca udostępnia dany model
Integracja OpenCode w Twoim workflow
Codzienny rozwój
- Rano: uruchom
/init, aby zsynchronizować zmiany w kodzie - Prace nad funkcjami: używaj Trybu Planu do projektowania, a Trybu Budowy do implementacji
- Debugowanie: zadawaj pytania o błędy z odniesieniami do plików
- Przegląd kodu: używaj niestandardowego agenta recenzenta kodu
- Dokumentacja: generuj dokumentację używając niestandardowych poleceń
Współpraca zespołowa
- Udostępniaj konfiguracje: commituj
opencode.jsoniAGENTS.mddo Gita - Udostępniaj rozmowy: używaj
/sharedo dyskusji o implementacjach - Niestandardowe polecenia: definiuj polecenia specyficzne dla zespołu w konfiguracji projektu
- Spójni agenci: korzystaj ze wspólnych definicji agentów dla spójności
Integracja CI/CD
- Agent GitHub: instaluj do automatycznych przeglądów PR
- Testy: korzystaj z niestandardowych poleceń testowych w CI
- Jakość kodu: konfiguruj formatery i uprawnienia
Podsumowanie
OpenCode reprezentuje nowy paradygmat w rozwoju wspomaganym AI, dostarczając potężne możliwości AI bezpośrednio do Twojego terminala. Dzięki elastycznym opcjom konfiguracji, wsparciu dla wielu dostawców LLM oraz intuicyjnemu interfejsowi TUI, został zaprojektowany, by zwiększyć Twoją produktywność bez zakłócania istniejącego workflow.
Kluczowe informacje:
- Instaluj za pomocą skryptu instalacyjnego lub preferowanego menedżera pakietów
- Konfiguruj klucze API przez
/connectlubopencode auth login - Inicjuj projekty przez
/initw celu lepszego zrozumienia kontekstu - Używaj Trybu Planu dla złożonych funkcji, Trybu Budowy do bezpośrednich zmian
- Dostosuj konfiguracje, polecenia i agentów
- Korzystaj z poleceń CLI do automatyzacji i skryptowania
- Przestrzegaj dobrych praktyk bezpieczeństwa z kluczami API i uprawnieniami
Kolejne kroki:
- Eksploruj dokumentację OpenCode dla zaawansowanych funkcji
- Dołącz do społeczności OpenCode na Discordzie
- Dostosuj swoje środowisko motywami i skrótami klawiszowymi
- Eksperymentuj z różnymi dostawcami LLM i modelami
- Integruj OpenCode w workflow swojego zespołu
Gotowy, by przyspieszyć swój workflow developerski?
Sprawdź rozwiązania hostingowe LightNode zoptymalizowane pod kątem AI do wdrażania aplikacji opartych na AI z dedykowanymi instancjami GPU i skalowalną infrastrukturą.
OpenCode jest otwartym oprogramowaniem i ciągle się rozwija. Wspieraj projekt, zgłaszaj błędy lub dziel się swoimi doświadczeniami, aby uczynić go jeszcze lepszym dla wszystkich. Powodzenia w kodowaniu!