index.mdx 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. ---
  2. title: Intro
  3. description: Započnite s OpenCodeom.
  4. ---
  5. import { Tabs, TabItem } from "@astrojs/starlight/components"
  6. import config from "../../../../config.mjs"
  7. export const console = config.console
  8. [**OpenCode**](/) je agent za AI kodiranje otvorenog koda. Dostupan je kao interfejs baziran na terminalu, desktop aplikacija ili IDE ekstenzija.
  9. ![OpenCode TUI sa temom otvorenog koda](../../../assets/lander/screenshot.png)
  10. Hajde da počnemo.
  11. ---
  12. #### Preduvjeti
  13. Da biste koristili OpenCode u svom terminalu, trebat će vam:
  14. 1. Moderan emulator terminala kao što su:
  15. - [WezTerm](https://wezterm.org), multi-platforma
  16. - [Alacritty](https://alacritty.org), više platforma
  17. - [Ghostty](https://ghostty.org), Linux i macOS
  18. - [Kitty](https://sw.kovidgoyal.net/kitty/), Linux i macOS
  19. 2. API ključevi za LLM provajdere koje želite koristiti.
  20. ---
  21. ## Instaliraj
  22. Najlakši način za instaliranje OpenCode-a je putem instalacione skripte.
  23. ```bash
  24. curl -fsSL https://opencode.ai/install | bash
  25. ```
  26. Također ga možete instalirati pomoću sljedećih naredbi:
  27. - **Korišćenje Node.js**
  28. <Tabs>
  29. <TabItem label="npm">
  30. ```bash
  31. npm install -g opencode-ai
  32. ```
  33. </TabItem>
  34. <TabItem label="Bun">
  35. ```bash
  36. bun install -g opencode-ai
  37. ```
  38. </TabItem>
  39. <TabItem label="pnpm">
  40. ```bash
  41. pnpm install -g opencode-ai
  42. ```
  43. </TabItem>
  44. <TabItem label="Yarn">
  45. ```bash
  46. yarn global add opencode-ai
  47. ```
  48. </TabItem>
  49. </Tabs>
  50. - **Korišćenje Homebrew-a na macOS-u i Linux-u**
  51. ```bash
  52. brew install anomalyco/tap/opencode
  53. ```
  54. > 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.
  55. - **Korišćenje Parua na Arch Linuxu**
  56. ```bash
  57. paru -S opencode-bin
  58. ```
  59. #### Windows
  60. :::tip[Preporučeno: Koristite WSL]
  61. 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.
  62. :::
  63. - **Upotreba čokolade**
  64. ```bash
  65. choco install opencode
  66. ```
  67. - **Upotreba Scoop-a**
  68. ```bash
  69. scoop install opencode
  70. ```
  71. - **Upotreba NPM-a**
  72. ```bash
  73. npm install -g opencode-ai
  74. ```
  75. - **Korišćenje Mise**
  76. ```bash
  77. mise use -g github:anomalyco/opencode
  78. ```
  79. - **Korišćenje Dockera**
  80. ```bash
  81. docker run -it --rm ghcr.io/anomalyco/opencode
  82. ```
  83. Podrška za instaliranje OpenCode-a na Windows koristeći Bun je trenutno u toku.
  84. Također možete preuzeti binarnu datoteku iz [Releases](https://github.com/anomalyco/opencode/releases).
  85. ---
  86. ## Konfiguriši
  87. Uz OpenCode možete koristiti bilo kojeg LLM provajdera tako što ćete konfigurirati njihove API ključeve.
  88. Ako ste tek počeli koristiti LLM provajdere, preporučujemo korištenje [OpenCode Zen](/docs/zen).
  89. To je kurirana lista modela koji su testirani i verifikovani od strane OpenCode-a
  90. tim.
  91. 1. Pokrenite naredbu `/connect` u TUI-u, odaberite opencode i idite na [opencode.ai/auth](https://opencode.ai/auth).
  92. ```txt
  93. /connect
  94. ```
  95. 2. Prijavite se, dodajte svoje detalje naplate i kopirajte svoj API ključ.
  96. 3. Zalijepite svoj API ključ.
  97. ```txt
  98. ┌ API key
  99. └ enter
  100. ```
  101. Alternativno, možete odabrati jednog od drugih provajdera. [Saznajte više](/docs/providers#directory).
  102. ---
  103. ## Inicijaliziraj
  104. Sada kada ste konfigurisali provajdera, možete se kretati do projekta koji
  105. na čemu želite da radite.
  106. ```bash
  107. cd /path/to/project
  108. ```
  109. I pokrenite OpenCode.
  110. ```bash
  111. opencode
  112. ```
  113. Zatim inicijalizirajte OpenCode za projekat pokretanjem sljedeće naredbe.
  114. ```bash frame="none"
  115. /init
  116. ```
  117. Ovo će omogućiti OpenCode da analizira vaš projekat i kreira `AGENTS.md` fajl u njemu
  118. korijen projekta.
  119. :::tip
  120. Trebali biste urezati datoteku `AGENTS.md` vašeg projekta u Git.
  121. :::
  122. Ovo pomaže OpenCodeu da razumije strukturu projekta i obrasce kodiranja
  123. korišteno.
  124. ---
  125. ## Upotreba
  126. Sada ste spremni da koristite OpenCode za rad na svom projektu. Slobodno pitajte
  127. bilo šta!
  128. Ako ste novi u korištenju agenta za AI kodiranje, evo nekoliko primjera koji bi mogli
  129. pomoć.
  130. ---
  131. ### Postavljajte pitanja
  132. Možete zamoliti OpenCode da vam objasni kodnu bazu.
  133. :::tip
  134. Koristite tipku `@` za nejasnu pretragu datoteka u projektu.
  135. :::
  136. ```txt frame="none" "@packages/functions/src/api/index.ts"
  137. How is authentication handled in @packages/functions/src/api/index.ts
  138. ```
  139. Ovo je korisno ako postoji dio kodne baze na kojem niste radili.
  140. ---
  141. ### Dodajte karakteristike
  142. Možete zamoliti OpenCode da vašem projektu doda nove funkcije. Iako preporučujemo da ga prvo zamolite da napravi plan.
  143. 1. **Kreirajte plan**
  144. OpenCode ima _Plan mod_ koji onemogućuje njegovu sposobnost da pravi promjene i
  145. umjesto toga predložite _kako_ će implementirati ovu funkciju.
  146. Prebacite se na njega pomoću tipke **Tab**. Vidjet ćete indikator za ovo u donjem desnom uglu.
  147. ```bash frame="none" title="Switch to Plan mode"
  148. <TAB>
  149. ```
  150. Hajde sada da opišemo šta želimo da uradi.
  151. ```txt frame="none"
  152. When a user deletes a note, we'd like to flag it as deleted in the database.
  153. Then create a screen that shows all the recently deleted notes.
  154. From this screen, the user can undelete a note or permanently delete it.
  155. ```
  156. Želite da date OpenCode-u dovoljno detalja da razumete šta želite. Pomaže
  157. da razgovarate s njim kao da razgovarate sa mlađim programerom u svom timu.
  158. :::tip
  159. Dajte OpenCodeu dosta konteksta i primjera koji će mu pomoći da razumije šta vi
  160. želim.
  161. :::
  162. 2. **Ponovite plan**
  163. Kada vam da plan, možete mu dati povratne informacije ili dodati više detalja.
  164. ```txt frame="none"
  165. We'd like to design this new screen using a design I've used before.
  166. [Image #1] Take a look at this image and use it as a reference.
  167. ```
  168. :::tip
  169. Prevucite i ispustite slike u terminal da biste ih dodali u prompt.
  170. :::
  171. OpenCode može skenirati sve slike koje mu date i dodati ih u prompt. Možeš
  172. učinite to povlačenjem i ispuštanjem slike u terminal.
  173. 3. **Izgradite funkciju**
  174. Kada se osjećate ugodno s planom, vratite se na _Build mode_ do
  175. ponovnim pritiskom na taster **Tab**.
  176. ```bash frame="none"
  177. <TAB>
  178. ```
  179. I tražeći od njega da napravi promjene.
  180. ```bash frame="none"
  181. Sounds good! Go ahead and make the changes.
  182. ```
  183. ---
  184. ### Napravite promjene
  185. Za jednostavnije promjene, možete zamoliti OpenCode da ga direktno izgradi
  186. bez potrebe da prvo pregledate plan.
  187. ```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
  188. We need to add authentication to the /settings route. Take a look at how this is
  189. handled in the /notes route in @packages/functions/src/notes.ts and implement
  190. the same logic in @packages/functions/src/settings.ts
  191. ```
  192. Želite da budete sigurni da ste pružili dobru količinu detalja kako bi OpenCode bio ispravan
  193. promjene.
  194. ---
  195. ### Poništi promjene
  196. Recimo da tražite od OpenCodea da izvrši neke promjene.
  197. ```txt frame="none" "@packages/functions/src/api/index.ts"
  198. Can you refactor the function in @packages/functions/src/api/index.ts?
  199. ```
  200. Ali shvatate da to nije ono što ste želeli. Možete **poništiti** promjene
  201. koristeći naredbu `/undo`.
  202. ```bash frame="none"
  203. /undo
  204. ```
  205. OpenCode će sada poništiti promjene koje ste napravili i prikazati vašu originalnu poruku
  206. opet.
  207. ```txt frame="none" "@packages/functions/src/api/index.ts"
  208. Can you refactor the function in @packages/functions/src/api/index.ts?
  209. ```
  210. Odavde možete podesiti prompt i zamoliti OpenCode da pokuša ponovo.
  211. :::tip
  212. Možete pokrenuti `/undo` više puta da poništite više promjena.
  213. :::
  214. Ili **možete ponoviti** promjene koristeći naredbu `/redo`.
  215. ```bash frame="none"
  216. /redo
  217. ```
  218. ---
  219. ## Dijeli
  220. Razgovore koje imate sa OpenCodeom možete [dijeliti sa vašim
  221. tim](/docs/share).
  222. ```bash frame="none"
  223. /share
  224. ```
  225. Ovo će kreirati vezu do trenutnog razgovora i kopirati je u međuspremnik.
  226. :::note
  227. Razgovori se ne dijele prema zadanim postavkama.
  228. :::
  229. Evo [primjer razgovora](https://opencode.ai/s/4XP1fce5) sa OpenCodeom.
  230. ---
  231. ## Prilagodi
  232. I to je to! Sada ste profesionalac u korištenju OpenCodea.
  233. 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).