| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366 |
- ---
- 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.
- 
- 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**
- <Tabs>
- <TabItem label="npm">
- ```bash
- npm install -g opencode-ai
- ```
- </TabItem>
- <TabItem label="Bun">
- ```bash
- bun install -g opencode-ai
- ```
- </TabItem>
- <TabItem label="pnpm">
- ```bash
- pnpm install -g opencode-ai
- ```
- </TabItem>
- <TabItem label="Yarn">
- ```bash
- yarn global add opencode-ai
- ```
- </TabItem>
- </Tabs>
- - **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"
- <TAB>
- ```
- 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"
- <TAB>
- ```
- 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).
|