--- title: Intro description: Započnite s OpenCodeom. --- import { Tabs, TabItem } from "@astrojs/starlight/components" import config from "../../../../config.mjs" export const console = config.console [**OpenCode**](/) je agent za AI kodiranje otvorenog koda. Dostupan je kao interfejs baziran na terminalu, desktop aplikacija ili IDE ekstenzija. ![OpenCode TUI sa temom otvorenog koda](../../../assets/lander/screenshot.png) Hajde da počnemo. --- #### Preduvjeti Da biste koristili OpenCode u svom terminalu, trebat će vam: 1. Moderan emulator terminala kao što su: - [WezTerm](https://wezterm.org), multi-platforma - [Alacritty](https://alacritty.org), više platforma - [Ghostty](https://ghostty.org), Linux i macOS - [Kitty](https://sw.kovidgoyal.net/kitty/), Linux i macOS 2. API ključevi za LLM provajdere koje želite koristiti. --- ## Instaliraj Najlakši način za instaliranje OpenCode-a je putem instalacione skripte. ```bash curl -fsSL https://opencode.ai/install | bash ``` Također ga možete instalirati pomoću sljedećih naredbi: - **Korišćenje Node.js** ```bash npm install -g opencode-ai ``` ```bash bun install -g opencode-ai ``` ```bash pnpm install -g opencode-ai ``` ```bash yarn global add opencode-ai ``` - **Korišćenje Homebrew-a na macOS-u i Linux-u** ```bash brew install anomalyco/tap/opencode ``` > Preporučujemo korištenje OpenCode tap za najnovija izdanja. Službenu formulu `brew install opencode` održava Homebrew tim i ažurira se rjeđe. - **Korišćenje Parua na Arch Linuxu** ```bash paru -S opencode-bin ``` #### Windows :::tip[Preporučeno: Koristite WSL] Za najbolje iskustvo na Windows-u preporučujemo korištenje [Windows Subsystem for Linux (WSL)](/docs/windows-wsl). Pruža bolje performanse i potpunu kompatibilnost sa OpenCode karakteristikama. ::: - **Upotreba čokolade** ```bash choco install opencode ``` - **Upotreba Scoop-a** ```bash scoop install opencode ``` - **Upotreba NPM-a** ```bash npm install -g opencode-ai ``` - **Korišćenje Mise** ```bash mise use -g github:anomalyco/opencode ``` - **Korišćenje Dockera** ```bash docker run -it --rm ghcr.io/anomalyco/opencode ``` Podrška za instaliranje OpenCode-a na Windows koristeći Bun je trenutno u toku. Također možete preuzeti binarnu datoteku iz [Releases](https://github.com/anomalyco/opencode/releases). --- ## Konfiguriši Uz OpenCode možete koristiti bilo kojeg LLM provajdera tako što ćete konfigurirati njihove API ključeve. Ako ste tek počeli koristiti LLM provajdere, preporučujemo korištenje [OpenCode Zen](/docs/zen). To je kurirana lista modela koji su testirani i verifikovani od strane OpenCode-a tim. 1. Pokrenite naredbu `/connect` u TUI-u, odaberite opencode i idite na [opencode.ai/auth](https://opencode.ai/auth). ```txt /connect ``` 2. Prijavite se, dodajte svoje detalje naplate i kopirajte svoj API ključ. 3. Zalijepite svoj API ključ. ```txt ┌ API key │ │ └ enter ``` Alternativno, možete odabrati jednog od drugih provajdera. [Saznajte više](/docs/providers#directory). --- ## Inicijaliziraj Sada kada ste konfigurisali provajdera, možete se kretati do projekta koji na čemu želite da radite. ```bash cd /path/to/project ``` I pokrenite OpenCode. ```bash opencode ``` Zatim inicijalizirajte OpenCode za projekat pokretanjem sljedeće naredbe. ```bash frame="none" /init ``` Ovo će omogućiti OpenCode da analizira vaš projekat i kreira `AGENTS.md` fajl u njemu korijen projekta. :::tip Trebali biste urezati datoteku `AGENTS.md` vašeg projekta u Git. ::: Ovo pomaže OpenCodeu da razumije strukturu projekta i obrasce kodiranja korišteno. --- ## Upotreba Sada ste spremni da koristite OpenCode za rad na svom projektu. Slobodno pitajte bilo šta! Ako ste novi u korištenju agenta za AI kodiranje, evo nekoliko primjera koji bi mogli pomoć. --- ### Postavljajte pitanja Možete zamoliti OpenCode da vam objasni kodnu bazu. :::tip Koristite tipku `@` za nejasnu pretragu datoteka u projektu. ::: ```txt frame="none" "@packages/functions/src/api/index.ts" How is authentication handled in @packages/functions/src/api/index.ts ``` Ovo je korisno ako postoji dio kodne baze na kojem niste radili. --- ### Dodajte karakteristike Možete zamoliti OpenCode da vašem projektu doda nove funkcije. Iako preporučujemo da ga prvo zamolite da napravi plan. 1. **Kreirajte plan** OpenCode ima _Plan mod_ koji onemogućuje njegovu sposobnost da pravi promjene i umjesto toga predložite _kako_ će implementirati ovu funkciju. Prebacite se na njega pomoću tipke **Tab**. Vidjet ćete indikator za ovo u donjem desnom uglu. ```bash frame="none" title="Switch to Plan mode" ``` Hajde sada da opišemo šta želimo da uradi. ```txt frame="none" When a user deletes a note, we'd like to flag it as deleted in the database. Then create a screen that shows all the recently deleted notes. From this screen, the user can undelete a note or permanently delete it. ``` Želite da date OpenCode-u dovoljno detalja da razumete šta želite. Pomaže da razgovarate s njim kao da razgovarate sa mlađim programerom u svom timu. :::tip Dajte OpenCodeu dosta konteksta i primjera koji će mu pomoći da razumije šta vi želim. ::: 2. **Ponovite plan** Kada vam da plan, možete mu dati povratne informacije ili dodati više detalja. ```txt frame="none" We'd like to design this new screen using a design I've used before. [Image #1] Take a look at this image and use it as a reference. ``` :::tip Prevucite i ispustite slike u terminal da biste ih dodali u prompt. ::: OpenCode može skenirati sve slike koje mu date i dodati ih u prompt. Možeš učinite to povlačenjem i ispuštanjem slike u terminal. 3. **Izgradite funkciju** Kada se osjećate ugodno s planom, vratite se na _Build mode_ do ponovnim pritiskom na taster **Tab**. ```bash frame="none" ``` I tražeći od njega da napravi promjene. ```bash frame="none" Sounds good! Go ahead and make the changes. ``` --- ### Napravite promjene Za jednostavnije promjene, možete zamoliti OpenCode da ga direktno izgradi bez potrebe da prvo pregledate plan. ```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts" We need to add authentication to the /settings route. Take a look at how this is handled in the /notes route in @packages/functions/src/notes.ts and implement the same logic in @packages/functions/src/settings.ts ``` Želite da budete sigurni da ste pružili dobru količinu detalja kako bi OpenCode bio ispravan promjene. --- ### Poništi promjene Recimo da tražite od OpenCodea da izvrši neke promjene. ```txt frame="none" "@packages/functions/src/api/index.ts" Can you refactor the function in @packages/functions/src/api/index.ts? ``` Ali shvatate da to nije ono što ste želeli. Možete **poništiti** promjene koristeći naredbu `/undo`. ```bash frame="none" /undo ``` OpenCode će sada poništiti promjene koje ste napravili i prikazati vašu originalnu poruku opet. ```txt frame="none" "@packages/functions/src/api/index.ts" Can you refactor the function in @packages/functions/src/api/index.ts? ``` Odavde možete podesiti prompt i zamoliti OpenCode da pokuša ponovo. :::tip Možete pokrenuti `/undo` više puta da poništite više promjena. ::: Ili **možete ponoviti** promjene koristeći naredbu `/redo`. ```bash frame="none" /redo ``` --- ## Dijeli Razgovore koje imate sa OpenCodeom možete [dijeliti sa vašim tim](/docs/share). ```bash frame="none" /share ``` Ovo će kreirati vezu do trenutnog razgovora i kopirati je u međuspremnik. :::note Razgovori se ne dijele prema zadanim postavkama. ::: Evo [primjer razgovora](https://opencode.ai/s/4XP1fce5) sa OpenCodeom. --- ## Prilagodi I to je to! Sada ste profesionalac u korištenju OpenCodea. Da biste to učinili svojim, preporučujemo [odabir teme](/docs/themes), [prilagođavanje povezivanja tipki](/docs/keybinds), [konfiguriranje formatera koda](/docs/formatters), [kreiranje prilagođenih komandi](/docs/commands), ili igranje sa [OpenCode config](/docs/config).