Instalacija OpenCode-a i konfiguracija OmniProxy-a
Želite asistenta za kodiranje koji može razumjeti vaš projekt bez zaglavljivanja u instalaciji i konfiguraciji? OpenCode se može pokrenuti iz terminala, IDE-a ili desktopa, a zatim korak po korak povezati s uslugom modela koju koristite.
OpenCode je open-source asistent za kodiranje koji vam omogućuje pisanje koda iz terminala, IDE-a ili desktopa. Ne pohranjuje vaš kod ili kontekst, što ga čini prikladnim za projekte osjetljive na privatnost. build se koristi za izmjenu projekta, dok je plan prema zadanim postavkama samo za čitanje i koristan je za razumijevanje nepoznatog koda i planiranje promjena prije nego što ih napravite. Možete odabrati uslugu modela prema svojim potrebama.
Prije početka
Instalacijska skripta je najlakša opcija. Trebate moderan terminal—aplikaciju terminala koja može pokretati naredbe i raditi s datotekama projekta—kao što su WezTerm, Alacritty, Ghostty ili Kitty. Na Windowsima se preferira WSL. On pruža Linux okruženje unutar Windowsa s potpunijim performansama i funkcionalnošću.
Najlakše
Instalacijska skripta
- curl opencode.ai/install
- Koristite izravno na macOS Linuxu
- WSL se preporučuje na Windowsima
macOS Linux
Homebrew tap
- anomalyco/tap/opencode
- Ažurira se češće od formule
- Paket je dostupan i za Arch
Izvorni Windows
Upravitelj paketa
- choco ili scoop
- Ili instalirajte globalno s npm
- Možete ga preuzeti i iz izdanja (Releases)
Također pripremite ID modela s trenutnog popisa modela. ID modela je ime koje usluga koristi za točnu identifikaciju određenog modela.
Instalacija i prvo pokretanje
Najlakša naredba za instalaciju je:
curl -fsSL https://opencode.ai/install | bash
Možete koristiti i jednu od ovih metoda instalacije:
- Node.js:
npm install -g opencode-ai. Bun, pnpm i Yarn također imaju odgovarajuće naredbe za globalnu instalaciju; pogledajte uvodnu stranicu na kraju ovog vodiča. - Homebrew na macOS-u i Linuxu:
brew install anomalyco/tap/opencode. Koristite ovaj tap jer se ažurira češće odbrew install opencode, koji održava Homebrew tim. - Arch Linux: koristite
sudo pacman -S opencodeza stabilno izdanje, ili AUR paketopencode-binza noviju verziju. - Windows: koristite
choco install opencodeiliscoop install opencode. Možete koristiti inpm install -g opencode-ai. Binarni fajlovi se također mogu preuzeti iz izdanja. Podrška za instalaciju s Bun-om na Windowsima je još u tijeku.
Uđite u direktorij svog projekta, zatim pokrenite OpenCode:
cd /path/to/project
opencode
Kada ga koristite prvi put, možete pokrenuti /init. On analizira projekt i stvara AGENTS.md u korijenu projekta. Ova datoteka se može predati u Git tako da projekt zadrži ove upute.
Dohvaćanje vrijednosti povezivanja iz OmniProxy-a
baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: Copy from the current OmniProxy model list
baseURL je adresa usluge, API Key je vjerodajnica za pristup, i Model ID je puno ime modela.
Kada koristite /v1/chat/completions, postavite npm paket na @ai-sdk/openai-compatible. Chat Completions je vrsta sučelja za zahtjeve za chat. Prebacite se na @ai-sdk/openai samo kada model koristi /v1/responses. Kada se OmniProxy koristi putem krajnje točke za chat completions, zadržite paket kompatibilnosti.
Kopirajte cijeli ID modela s trenutnog popisa OmniProxy-a, uključujući sve kose crte. Od 09.10.2026., dva referentna ID-a bila su claude-sonnet-5-5 i gpt-6-luna. gpt-6-luna podržava Chat Completions; pozivanje funkcija putem Chat Completions podržano je samo kada reasoning_effort je none. Nemojte kopirati ID koji nije na popisu.
Unos konfiguracije alata
Pružatelj (Provider) se može shvatiti kao skup konfiguracijskih vrijednosti koje OpenCode koristi za povezivanje s uslugom modela. Dokumentacija pružatelja tretira uslugu kompatibilnu s OpenAI-om koja nije navedena pod /connect kao prilagođenog pružatelja. Usluga kompatibilna s OpenAI-om koristi isti format zahtjeva i može je pozvati ista vrsta klijenta.
- Pokrenite
/connectu OpenCode-u i pomaknite se do Other. - Unesite ID pružatelja. Primjer ispod koristi
omniproxy. Odaberite ID koji je lako zapamtiti jer morate koristiti isti u konfiguracijskoj datoteci. - Unesite OmniProxy API ključ. Ovaj korak sprema samo vjerodajnicu; adresu i modele još treba dodati u
opencode.json. Vjerodajnica je pohranjena u~/.local/share/opencode/auth.json. - Stvorite ili izmijenite
opencode.jsonu direktoriju projekta:
{
"$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" }
}
}
}
}
- Pokrenite
/models. Prilagođeni pružatelj i njegovi modeli pojavit će se na popisu.
ID unesen pod /connect mora odgovarati ključu u opencode.json. Nemojte stavljati pravi tajni ključ u ovu datoteku. Ako ne koristite /connect, možete koristiti sintaksu varijable okruženja u options.apiKey, kao što je {env:VARIABLE_NAME}. Tijekom testiranja 09.10.2026. s OpenCode 1.18.34, stavljanje ključa izravno u projekt options.apiKey bez korištenja /connect također se uspješno povezalo. Ako gateway ne provjerava ključ, ova vrijednost može biti niz rezerviranog mjesta koji se koristi samo na lokalnom računalu. Ključevi pod models moraju koristiti potpune ID-ove s popisa.
Ključ
/connect
- Odaberite Other na dnu
- Odaberite vlastiti ID pružatelja
- Pohranjeno u auth.json
Projekt
opencode.json
- Ključ pružatelja mora koristiti isto ime
- Koristite kompatibilan npm paket
- baseURL završava s /v1
Odaberite
/models
- Model se pojavljuje na popisu
- Odaberite jedan prije postavljanja pitanja
- Koristite ID s popisa gateway-a
Provjera stvarnog zadatka
Prvo pokrenite jedan stvarni zadatak iz direktorija projekta. Format reference modela je Provider ID/model ID; zadržite sve kose crte unutar ID-a modela:
opencode run --model omniproxy/claude-sonnet-5-5 --auto "Explain what a file you specify does. Do not modify the file."
--auto omogućuje ovom pokretanju korištenje alata kao što su alati za čitanje datoteka. Tijekom testiranja 09.10.2026. s OpenCode 1.18.34, uspješno je pročitao sadržaj navedene datoteke. Prvo pokretanje trajalo je oko dvije minute.
Za interaktivnu upotrebu, pokrenite opencode, zatim odaberite model s /models. Možete koristiti @ za pretraživanje datoteka. Koristite opencode auth list za potvrdu vjerodajnice spremljene putem /connect, zatim provjerite zapise zahtjeva OmniProxy-a kako biste potvrdili izvor i ID modela.
Pokretanje
opencode se pokreće
- Prvo cd u projekt
- auth list prikazuje ID
- Konfiguracijska datoteka je u projektu
Zadatak
Pročitao je kod
- Pitajte o određenoj datoteci
- Pregledajte njegovo objašnjenje
- Koristite /undo ako je pogrešno
Zapisnici
Vidljivo u gateway-u
- Izvor je OpenCode
- ID modela se podudara
- Nemojte predati ključ
Uobičajene pogreške
- OmniProxy se ne pojavljuje pod
/models: Provjerite odgovara li ID unesen pod/connectključu uopencode.json, da jenpmpostavljen na@ai-sdk/openai-compatible, i dabaseURLzavršava s/v1. - Vjerodajnica nedostaje: Pokrenite
opencode auth list. Pružatelji kao što je Bedrock koji se oslanjaju na varijable okruženja ne pojavljuju se ovdje; prilagođeni pružatelj konfiguriran putem/connecttrebao bi biti vidljiv. - Funkcionalnost Windowsa je nepotpuna: Umjesto toga koristite instalacijsku skriptu unutar WSL-a.
- ID modela nije važeći: Kopirajte ga ponovno s trenutnog popisa OmniProxy-a i ažurirajte odgovarajući ključ pod
models. - Zahtjevi idu na pogrešnu krajnju točku: Zadržite
@ai-sdk/openai-compatibleza chat completions. Nemojte mijenjati paket za sučelje odgovora osim ako taj model na OmniProxy-u zapravo ne koristi/v1/responses.
Službene reference
Za instalaciju, pogledajte OpenCode introduction. Za prilagođene pružatelje, pogledajte Providers. Za ID-ove modela korištene u primjerima, pogledajte Claude model overview i GPT-6 Luna.
Zamijenite svaki predložak vrijednostima iz vlastite OmniProxy konfiguracije. Nikada ne objavite stvarni ključ.
Spremljeni rezultat ili HTTP 200 sami po sebi ne dokazuju punu kompatibilnost Agenta. Provjerite izvor i model u zapisu poziva OmniProxy.