mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-08 17:59:09 +00:00
chore: generate
This commit is contained in:
@@ -8,7 +8,9 @@ Prešli smo sa TUI zasnovanog na go+bubbletea koji je imao problema sa performan
|
||||
Novi TUI radi kao stari jer se povezuje na isti opencode server.
|
||||
|
||||
---
|
||||
|
||||
## Upgrade
|
||||
|
||||
Ne biste trebali biti automatski nadograđeni na 1.0 ako trenutno koristite prethodnu
|
||||
verzija. Međutim, neke starije verzije OpenCode-a uvijek uzimaju najnoviju verziju.
|
||||
Za ručnu nadogradnju, pokrenite
|
||||
@@ -27,20 +29,26 @@ $ opencode upgrade 0.15.31
|
||||
---
|
||||
|
||||
## UX promjene
|
||||
|
||||
Historija sesije je komprimovanija i prikazuje samo sve detalje alata za uređivanje i bash.
|
||||
Dodali smo komandnu traku kroz koju prolazi skoro sve. Pritisnite ctrl+p da prikažete u bilo kom kontekstu i vidite sve što možete učiniti.
|
||||
Dodatna bočna traka sesije (može se prebaciti) sa korisnim informacijama.
|
||||
Uklonili smo neke funkcije za koje nismo bili sigurni da ih neko koristi. Ako nešto važno nedostaje, otvorite problem i brzo ćemo ga dodati.
|
||||
|
||||
---
|
||||
|
||||
## Revolucionarne promjene
|
||||
|
||||
### Tastature su preimenovane
|
||||
|
||||
- povratne_poruke -> poništite_poruke
|
||||
- switch_agent -> agent_cycle
|
||||
- switch_agent_reverse -> agent_cycle_reverse
|
||||
- switch_mode -> agent_cycle
|
||||
- switch_mode_reverse -> agent_cycle_reverse
|
||||
|
||||
### Linkovi za degustatore su uklonjeni
|
||||
|
||||
- messages_layout_toggle
|
||||
- poruke_sljedeće
|
||||
- messages_previous
|
||||
@@ -51,4 +59,4 @@ Uklonili smo neke funkcije za koje nismo bili sigurni da ih neko koristi. Ako ne
|
||||
- app_help
|
||||
- project_init
|
||||
- detalji alata
|
||||
- razmišljanje_blokovi
|
||||
- razmišljanje_blokovi
|
||||
|
||||
@@ -10,11 +10,15 @@ Koristite agenta plana za analizu koda i pregled prijedloga bez ikakvih promjena
|
||||
Možete se prebacivati između agenata tokom sesije ili ih pozvati spominjanjem `@`.
|
||||
|
||||
---
|
||||
|
||||
## Vrsta
|
||||
|
||||
Postoje dvije vrste agenata u OpenCode-u; primarni agensi i subagensi.
|
||||
|
||||
---
|
||||
|
||||
### Primarni agenti
|
||||
|
||||
Primarni agenti su glavni pomoćnici s kojima direktno komunicirate. Možete se kretati kroz njih pomoću tipke **Tab** ili vašeg konfigurisanog povezivanja tipki `switch_agent`. Ovi agenti vode vaš glavni razgovor. Pristup alatima se konfiguriše putem dozvola — na primjer, Build ima omogućene sve alate dok je Plan ograničen.
|
||||
::: tip
|
||||
Možete koristiti tipku **Tab** za prebacivanje između primarnih agenata tokom sesije.
|
||||
@@ -23,78 +27,103 @@ OpenCode dolazi sa dva ugrađena primarna agenta, **Build** i **Plan**. Hoćemo
|
||||
pogledajte ove u nastavku.
|
||||
|
||||
---
|
||||
|
||||
### Subagent
|
||||
|
||||
Subagenti su specijalizovani pomoćnici koje primarni agenti mogu pozvati za određene zadatke. Možete ih i ručno pozvati **@ spominjanjem** u svojim porukama.
|
||||
OpenCode dolazi sa dva ugrađena subagenta, **General** i **Explore**. Ovo ćemo pogledati u nastavku.
|
||||
|
||||
---
|
||||
|
||||
## Embedded
|
||||
|
||||
OpenCode dolazi sa dva ugrađena primarna agenta i dva ugrađena subagenta.
|
||||
|
||||
---
|
||||
|
||||
### Koristi build
|
||||
|
||||
_Način_: `primary`
|
||||
Build je **podrazumevani** primarni agent sa svim omogućenim alatima. Ovo je standardni agent za razvojni rad gdje vam je potreban pun pristup operacijama datoteka i sistemskim komandama.
|
||||
|
||||
---
|
||||
|
||||
### Koristite plan
|
||||
|
||||
_Način_: `primary`
|
||||
Konačan agent dizajniran za planiranje i analizu. Koristimo sistem dozvola kako bismo vam pružili veću kontrolu i spriječili neželjene promjene.
|
||||
Prema zadanim postavkama, sve sljedeće je postavljeno na `ask`:
|
||||
|
||||
- `file edits`: Sva upisivanja, zakrpe i uređivanja
|
||||
- `bash`: Sve bash komande
|
||||
Ovaj agent je koristan kada želite da LLM analizira kod, predloži promjene ili kreira planove bez stvarnih modifikacija vaše baze koda.
|
||||
Ovaj agent je koristan kada želite da LLM analizira kod, predloži promjene ili kreira planove bez stvarnih modifikacija vaše baze koda.
|
||||
|
||||
---
|
||||
|
||||
### Upotreba općenito
|
||||
|
||||
_Način_: `subagent`
|
||||
Agent opće namjene za istraživanje složenih pitanja i izvršavanje zadataka u više koraka. Ima potpuni pristup alatima (osim zadataka), tako da može mijenjati fajl kada je to potrebno. Koristite ovo za paralelno pokretanje više jedinica rada.
|
||||
|
||||
---
|
||||
|
||||
### Koristite explore
|
||||
|
||||
_Način_: `subagent`
|
||||
Brzi agent samo za čitanje za istraživanje kodnih baza. Nije moguće mijenjati fajlove. Koristite ovo kada trebate brzo pronaći datoteke po uzorku, pretražiti kod za ključne riječi ili odgovoriti na pitanja o bazi kodova.
|
||||
|
||||
---
|
||||
|
||||
### Koristite zbijanje
|
||||
|
||||
_Način_: `primary`
|
||||
Skriveni sistemski agent koji sažima dugi kontekst u manji sažetak. Pokreće se automatski kada je potrebno i ne može se odabrati u korisničkom interfejsu.
|
||||
|
||||
---
|
||||
|
||||
### Koristite naslov
|
||||
|
||||
_Način_: `primary`
|
||||
Skriveni sistemski agent koji generiše kratke naslove sesija. Pokreće se automatski i ne može se odabrati u korisničkom interfejsu.
|
||||
|
||||
---
|
||||
|
||||
### Koristi sažetak
|
||||
|
||||
_Način_: `primary`
|
||||
Skriveni sistemski agent koji kreira sažetke sesije. Pokreće se automatski i ne može se odabrati u korisničkom interfejsu.
|
||||
|
||||
---
|
||||
|
||||
## Upotreba
|
||||
|
||||
1. Za primarne agente, koristite taster **Tab** za kretanje kroz njih tokom sesije. Također možete koristiti svoju konfiguriranu vezu tipke `switch_agent`.
|
||||
2. Subagenti se mogu pozvati:
|
||||
|
||||
- **Automatski** od strane primarnih agenata za specijalizovane zadatke na osnovu njihovih opisa.
|
||||
- Ručno **@ spominjanjem** subagenta u vašoj poruci. Na primjer.
|
||||
- Ručno **@ spominjanjem** subagenta u vašoj poruci. Na primjer.
|
||||
|
||||
```txt frame="none"
|
||||
@general help me search for this function
|
||||
@general help me search for this function
|
||||
|
||||
```
|
||||
|
||||
3. **Navigacija između sesija**: Kada subagenti kreiraju vlastite podređene sesije, možete se kretati između roditeljske sesije i svih podređenih sesija koristeći:
|
||||
|
||||
- **\<Leader>+Desno** (ili vaša konfigurirana `session_child_cycle` veza) za petlju naprijed kroz roditelj → dijete1 → dijete2 → ... → roditelj
|
||||
- **\<Leader>+Levo** (ili vaše konfigurirano povezivanje tipki `session_child_cycle_reverse`) za kretanje unazad kroz roditelj ← dijete1 ← dijete2 ← ... ← roditelj
|
||||
Ovo vam omogućava neprimetno prebacivanje između glavnog razgovora i rada specijalizovanog podagenta.
|
||||
Ovo vam omogućava neprimetno prebacivanje između glavnog razgovora i rada specijalizovanog podagenta.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguriši
|
||||
|
||||
Možete prilagoditi ugrađene agente ili kreirati vlastite kroz konfiguraciju. Agenti se mogu konfigurisati na dva načina:
|
||||
|
||||
---
|
||||
|
||||
### JSON
|
||||
|
||||
Konfigurirajte agente u svom konfiguracijskom fajlu `opencode.json`:
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -137,12 +166,13 @@ Konfigurirajte agente u svom konfiguracijskom fajlu `opencode.json`:
|
||||
---
|
||||
|
||||
### Markdown
|
||||
|
||||
Također možete definirati agente koristeći mardown datoteke. Stavite ih u:
|
||||
|
||||
- Globalno: `~/.config/opencode/agents/`
|
||||
- Po projektu: `.opencode/agents/
|
||||
|
||||
````markdown title="~/.config/opencode/agents/review.md"
|
||||
|
||||
---
|
||||
opis: Recenzira kod za kvalitet i najbolje prakse
|
||||
način rada: subagent
|
||||
@@ -152,17 +182,17 @@ alati:
|
||||
napisati: netačno
|
||||
edit: false
|
||||
bash: lažno
|
||||
|
||||
---
|
||||
|
||||
Nalazite se u načinu pregleda koda. Fokusirajte se na:
|
||||
|
||||
- Kvalitet koda i najbolje prakse
|
||||
- Potencijalne greške i rubni slučajevi
|
||||
- Implikacije na performanse
|
||||
- Sigurnosna pitanja
|
||||
Dajte konstruktivne povratne informacije bez direktnih promjena.
|
||||
Dajte konstruktivne povratne informacije bez direktnih promjena.
|
||||
|
||||
```
|
||||
````
|
||||
|
||||
Ime marginalne datoteke postaje ime agenta. Na primjer, `review.md` kreira `review` agenta.
|
||||
|
||||
@@ -184,12 +214,14 @@ Koristite opciju `description` da pružite kratak opis onoga što agent radi i k
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
````
|
||||
|
||||
Ovo je **obavezna** opcija konfiguracije.
|
||||
|
||||
---
|
||||
|
||||
### Temperatura
|
||||
|
||||
Kontrolišite slučajnost i kreativnost odgovora LLM-a pomoću `temperature` konfiguracije.
|
||||
Niže vrijednosti čine odgovore fokusiranijim i determinističkim, dok više vrijednosti povećavaju kreativnost i varijabilnost.
|
||||
|
||||
@@ -205,6 +237,7 @@ Niže vrijednosti čine odgovore fokusiranijim i determinističkim, dok više vr
|
||||
```
|
||||
|
||||
Vrijednosti temperature se obično kreću od 0,0 do 1,0:
|
||||
|
||||
- **0,0-0,2**: Vrlo fokusirani i deterministički odgovori, idealni za analizu i planiranje koda
|
||||
- **0,3-0,5**: Uravnoteženi odgovori sa malo kreativnosti, dobro za opšte razvojne zadatke
|
||||
- **0,6-1,0**: kreativniji i raznovrsniji odgovori, korisni za razmišljanje i istraživanje
|
||||
@@ -230,17 +263,20 @@ Vrijednosti temperature se obično kreću od 0,0 do 1,0:
|
||||
Ako temperatura nije navedena, OpenCode koristi standardne postavke specifične za model; obično 0 za većinu modela, 0,55 za Qwen modele.
|
||||
|
||||
---
|
||||
|
||||
### Maks. stepenice
|
||||
|
||||
Kontrolirajte maksimalni broj iteracija agenta koje agent može izvesti prije nego što bude prisiljen da odgovori samo tekstom. Ovo omogućava korisnicima koji žele kontrolirati troškove da postave ograničenje na akcije agenta.
|
||||
Ako ovo nije postavljeno, agent će nastaviti iterirati sve dok model ne odluči da se zaustavi ili korisnik ne prekine sesiju.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"agent": {
|
||||
"brzo mislilac": {
|
||||
"opis": "Brzo razmišljanje s ograničenim iteracijama",
|
||||
"prompt": "Vi brzo mislite. Riješite probleme minimalnim koracima.",
|
||||
"koraci": 5 }
|
||||
"koraci": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -253,6 +289,7 @@ Naslijeđeno polje `maxSteps` je zastarjelo. Umjesto toga koristite `steps`.
|
||||
---
|
||||
|
||||
### Onemogući
|
||||
|
||||
Postavite na `true` da onemogućite agenta.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -268,13 +305,15 @@ Postavite na `true` da onemogućite agenta.
|
||||
---
|
||||
|
||||
### Prompt
|
||||
|
||||
Navedite prilagođenu sistemsku prompt datoteku za ovog agenta sa `prompt` konfiguracijom. Datoteka s promptom treba da sadrži upute specifične za svrhu agenta.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"agent": {
|
||||
"recenzija": {
|
||||
"prompt": "{file:./prompts/code-review.txt}" }
|
||||
"prompt": "{file:./prompts/code-review.txt}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -284,15 +323,18 @@ Ova putanja je relativna u odnosu na mjesto gdje se nalazi konfiguracijski fajl.
|
||||
---
|
||||
|
||||
### Model
|
||||
|
||||
Koristite `model` konfiguraciju da nadjačate model za ovog agenta. Korisno za korištenje različitih modela optimiziranih za različite zadatke. Na primjer, brži model za planiranje, sposobniji model za implementaciju.
|
||||
:::tip
|
||||
Ako ne navedete model, primarni agenti koriste [model globalno konfiguriran](/docs/config#models) dok će podagenti koristiti model primarnog agenta koji je pozvao subagenta.
|
||||
:::
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"agent": {
|
||||
"plan": {
|
||||
"model": "anthropic/claude-haiku-4-20250514" }
|
||||
"model": "anthropic/claude-haiku-4-20250514"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -302,6 +344,7 @@ ID modela u vašoj OpenCode konfiguraciji koristi format `provider/model-id`. Na
|
||||
---
|
||||
|
||||
### Uvijek
|
||||
|
||||
Kontrolirajte koji su alati dostupni u ovom agentu koristeći konfiguraciju `tools`. Možete omogućiti ili onemogućiti određene alate tako što ćete ih postaviti na `true` ili `false`.
|
||||
|
||||
```json title="opencode.json" {3-6,9-12}
|
||||
@@ -346,7 +389,9 @@ Također možete koristiti zamjenske znakove za kontrolu više alata odjednom. N
|
||||
---
|
||||
|
||||
### Dozvole
|
||||
|
||||
Možete konfigurirati dozvole za upravljanje radnjama koje agent može poduzeti. Trenutno se dozvole za alate `edit`, `bash` i `webfetch` mogu konfigurirati na:
|
||||
|
||||
- `"ask"` — Zatražite odobrenje prije pokretanja alata
|
||||
- `"allow"` — Dozvoli sve operacije bez odobrenja
|
||||
- `"deny"` — Onemogućite alat
|
||||
@@ -364,13 +409,15 @@ Možete nadjačati ove dozvole po agentu.
|
||||
|
||||
```json title="opencode.json" {3-5,8-10}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"dozvola": {
|
||||
"edit": "odbiti" },
|
||||
"agent": {
|
||||
"edit": "odbiti"
|
||||
},
|
||||
"agent": {
|
||||
"build": {
|
||||
"dozvola": {
|
||||
"uredi": "pitaj" }
|
||||
"uredi": "pitaj"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -399,13 +446,14 @@ Možete postaviti dozvole za određene bash komande.
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"build": {
|
||||
"dozvola": {
|
||||
"bash": {
|
||||
"git push": "pitaj",
|
||||
"grep *": "dozvoli" }
|
||||
"grep *": "dozvoli"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -434,13 +482,14 @@ Budući da posljednje podudarno pravilo ima prednost, prvo postavite zamjenski z
|
||||
|
||||
```json title="opencode.json" {8}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"build": {
|
||||
"dozvola": {
|
||||
"bash": {
|
||||
"*": "pitaj",
|
||||
"git status *": "dozvoli" }
|
||||
"git status *": "dozvoli"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -452,6 +501,7 @@ Budući da posljednje podudarno pravilo ima prednost, prvo postavite zamjenski z
|
||||
---
|
||||
|
||||
### Mode
|
||||
|
||||
Kontrolirajte način rada agenta koristeći konfiguraciju `mode`. Opcija `mode` se koristi da specificira kako se agent može koristiti.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -467,7 +517,9 @@ Kontrolirajte način rada agenta koristeći konfiguraciju `mode`. Opcija `mode`
|
||||
Opcija `mode` se može postaviti na `primary`, `subagent` ili `all`. Ako `mode` nije specificirano, podrazumevano je `all`.
|
||||
|
||||
---
|
||||
|
||||
### Skriveno
|
||||
|
||||
Sakrij podagenta iz `@` menija za automatsko dovršavanje sa `hidden: true`. Korisno za interne podagente koje bi drugi agenti trebali programski pozvati samo preko Task alata.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -488,6 +540,7 @@ Odnosi se samo na `mode: subagent` agente.
|
||||
---
|
||||
|
||||
### Dozvole za zadatak
|
||||
|
||||
Kontrolirajte koje podagente agent može pozvati preko Task alata sa `permission.task`. Koristi glob uzorke za fleksibilno uparivanje.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -509,7 +562,7 @@ Kontrolirajte koje podagente agent može pozvati preko Task alata sa `permission
|
||||
|
||||
Kada se postavi na `deny`, subagent se u potpunosti uklanja iz opisa alata za zadatak, tako da ga model neće pokušati pozvati.
|
||||
:::tip
|
||||
Pravila se procjenjuju po redoslijedu i **pobjeđuje **poslednje odgovarajuće pravilo**. U gornjem primjeru, `orchestrator-planner` odgovara i `*` (odbije) i `orchestrator-*` (dozvoli), ali pošto `orchestrator-*` dolazi nakon `*`, rezultat je `allow`.
|
||||
Pravila se procjenjuju po redoslijedu i **pobjeđuje **poslednje odgovarajuće pravilo\*_. U gornjem primjeru, `orchestrator-planner` odgovara i `_`(odbije) i`orchestrator-_`(dozvoli), ali pošto`orchestrator-_`dolazi nakon`\*`, rezultat je `allow`.
|
||||
:::
|
||||
:::tip
|
||||
Korisnici uvijek mogu pozvati bilo kojeg subagenta direktno preko `@` menija za autodovršavanje, čak i ako bi dozvole za zadatak agenta to uskratile.
|
||||
@@ -518,16 +571,19 @@ Korisnici uvijek mogu pozvati bilo kojeg subagenta direktno preko `@` menija za
|
||||
---
|
||||
|
||||
### Boja
|
||||
|
||||
Prilagodite vizualni izgled agenta u korisničkom sučelju s opcijom `color`. Ovo utiče na to kako se agent pojavljuje u interfejsu.
|
||||
Koristite važeću heksadecimalnu boju (npr. `#FF5733`) ili boju teme: `primary`, `secondary`, `accent`, `success`, `warning`, `error`, `info`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"agent": {
|
||||
"kreativno": {
|
||||
"boja": "#ff6b6b" },
|
||||
"code-reviewer": {
|
||||
"boja": "akcent" }
|
||||
"boja": "#ff6b6b"
|
||||
},
|
||||
"code-reviewer": {
|
||||
"boja": "akcent"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -535,6 +591,7 @@ Koristite važeću heksadecimalnu boju (npr. `#FF5733`) ili boju teme: `primary`
|
||||
---
|
||||
|
||||
### Leglo P
|
||||
|
||||
Kontrolirajte raznolikost odgovora s opcijom `top_p`. Alternativa temperaturi za kontrolu nasumice.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -550,18 +607,21 @@ Kontrolirajte raznolikost odgovora s opcijom `top_p`. Alternativa temperaturi za
|
||||
Vrijednosti se kreću od 0,0 do 1,0. Niže vrijednosti su više fokusirane, više vrijednosti raznovrsnije.
|
||||
|
||||
---
|
||||
|
||||
### Dodatni
|
||||
|
||||
Sve druge opcije koje navedete u konfiguraciji agenta će biti **direktno proslijeđene** dobavljaču kao opcije modela. Ovo vam omogućava da koristite karakteristike i parametre specifične za provajdera.
|
||||
Na primjer, sa OpenAI-jevim modelima rezonovanja, možete kontrolisati napor rasuđivanja:
|
||||
|
||||
```json title="opencode.json" {6,7}
|
||||
{
|
||||
"agent": {
|
||||
"agent": {
|
||||
"duboki mislilac": {
|
||||
"opis": "Agent koji koristi veliki napor u razmišljanju za složene probleme",
|
||||
"model": "openai/gpt-5",
|
||||
"reasoningEffort": "visoko",
|
||||
"textVerbosity": "niska" }
|
||||
"textVerbosity": "niska"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -574,6 +634,7 @@ Pokrenite `opencode models` da vidite listu dostupnih modela.
|
||||
---
|
||||
|
||||
## Kreirajte agente
|
||||
|
||||
Možete kreirati nove agente koristeći sljedeću naredbu:
|
||||
|
||||
```bash
|
||||
@@ -581,6 +642,7 @@ opencode agent create
|
||||
```
|
||||
|
||||
Ova interaktivna komanda će:
|
||||
|
||||
1. Pitajte gdje da sačuvate agenta; globalno ili specifično za projekat.
|
||||
2. Opis onoga što agent treba da uradi.
|
||||
3. Generirajte odgovarajući sistemski prompt i identifikator.
|
||||
@@ -588,8 +650,11 @@ Ova interaktivna komanda će:
|
||||
5. Konačno, kreirajte markdown datoteku s konfiguracijom agenta.
|
||||
|
||||
---
|
||||
|
||||
## Slučajevi upotrebe
|
||||
|
||||
Evo nekoliko uobičajenih slučajeva upotrebe različitih agenata.
|
||||
|
||||
- **Build agent**: Potpuni razvojni rad sa svim omogućenim alatima
|
||||
- **Agent za plan**: Analiza i planiranje bez unošenja promjena
|
||||
- **Agent za pregled**: Pregled koda sa pristupom samo za čitanje plus alati za dokumentaciju
|
||||
@@ -597,7 +662,9 @@ Evo nekoliko uobičajenih slučajeva upotrebe različitih agenata.
|
||||
- **Docs agent**: Pisanje dokumentacije sa operacijama datoteka, ali bez sistemskih naredbi
|
||||
|
||||
---
|
||||
|
||||
## Primjeri
|
||||
|
||||
Evo nekoliko primjera agenata koji bi vam mogli biti korisni.
|
||||
::: momak
|
||||
Imate li agenta kojeg biste željeli podijeliti? [Pošalji PR](https://github.com/anomalyco/opencode).
|
||||
@@ -608,22 +675,20 @@ Imate li agenta kojeg biste željeli podijeliti? [Pošalji PR](https://github.co
|
||||
### Agent za dokumentaciju
|
||||
|
||||
```markdown title="~/.config/opencode/agents/docs-writer.md"
|
||||
|
||||
---
|
||||
opis: Piše i vodi projektnu dokumentaciju
|
||||
način rada: subagent
|
||||
alati:
|
||||
bash: lažno
|
||||
|
||||
---
|
||||
|
||||
Vi ste tehnički pisac. Kreirajte jasnu, sveobuhvatnu dokumentaciju.
|
||||
Fokusirajte se na:
|
||||
|
||||
- Jasna objašnjenja
|
||||
- Pravilna struktura
|
||||
- Primjeri kodova
|
||||
- Jezik prilagođen korisniku
|
||||
|
||||
```
|
||||
|
||||
---
|
||||
@@ -649,3 +714,4 @@ Look for:
|
||||
- Dependency vulnerabilities
|
||||
- Configuration security issues
|
||||
```
|
||||
````
|
||||
|
||||
@@ -21,6 +21,7 @@ opencode run "Explain how closures work in JavaScript"
|
||||
---
|
||||
|
||||
### tui
|
||||
|
||||
Pokrenite korisnički interfejs OpenCode terminala.
|
||||
|
||||
```bash
|
||||
@@ -29,23 +30,26 @@ opencode [project]
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || ------------ | ----- | ------------------------------------------ |
|
||||
| `--continue` | `-c` | Nastavite posljednju sesiju |
|
||||
| `--session` | `-s` | ID sesije za nastavak |
|
||||
| `--prompt` | | Uputstvo za upotrebu |
|
||||
| `--prompt` | | Uputstvo za upotrebu |
|
||||
| `--model` | `-m` | Model za korištenje u obliku dobavljača/modela |
|
||||
| `--agent` | | Agent za korištenje |
|
||||
| `--port` | | Port za slušanje na |
|
||||
| `--hostname` | | Slušajte ime hosta |
|
||||
| `--agent` | | Agent za korištenje |
|
||||
| `--port` | | Port za slušanje na |
|
||||
| `--hostname` | | Slušajte ime hosta |
|
||||
|
||||
---
|
||||
|
||||
## komandante
|
||||
|
||||
OpenCode CLI takođe ima sledeće komande.
|
||||
|
||||
---
|
||||
|
||||
### agent
|
||||
|
||||
Upravljajte agentima za OpenCode.
|
||||
|
||||
```bash
|
||||
@@ -55,6 +59,7 @@ opencode agent [command]
|
||||
---
|
||||
|
||||
### prilog
|
||||
|
||||
Priključite terminal na već pokrenut OpenCode backend server pokrenut putem `serve` ili `web` komandi.
|
||||
|
||||
```bash
|
||||
@@ -73,12 +78,15 @@ opencode attach http://10.20.30.40:4096
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || ----------- | ----- | --------------------------------- |
|
||||
| `--dir` | | Radni direktorij za pokretanje TUI u |
|
||||
| `--dir` | | Radni direktorij za pokretanje TUI u |
|
||||
| `--session` | `-s` | ID sesije za nastavak |
|
||||
|
||||
---
|
||||
|
||||
#### kreiraj
|
||||
|
||||
Kreirajte novog agenta s prilagođenom konfiguracijom.
|
||||
|
||||
```bash
|
||||
@@ -91,6 +99,7 @@ Ova komanda će vas voditi kroz kreiranje novog agenta sa prilagođenim sistemsk
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Navedite sve dostupne agente.
|
||||
|
||||
```bash
|
||||
@@ -100,6 +109,7 @@ opencode agent list
|
||||
---
|
||||
|
||||
### auth
|
||||
|
||||
Naredba za upravljanje vjerodajnicama i prijavom za provajdere.
|
||||
|
||||
```bash
|
||||
@@ -110,6 +120,7 @@ opencode auth [command]
|
||||
---
|
||||
|
||||
#### aplikacija
|
||||
|
||||
OpenCode pokreće lista provajdera na [Models.dev](https://models.dev), tako da možete koristiti `opencode auth login` da konfigurirate API ključeve za bilo kojeg provajdera kojeg želite koristiti. Ovo je pohranjeno u `~/.local/share/opencode/auth.json`.
|
||||
|
||||
```bash
|
||||
@@ -119,7 +130,9 @@ opencode auth login
|
||||
Kada se OpenCode pokrene, učitava dobavljače iz datoteke vjerodajnica. I ako postoje neki ključevi definirani u vašim okruženjima ili `.env` fajl u vašem projektu.
|
||||
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Navodi sve autentifikovane dobavljače pohranjene u datoteci akreditiva.
|
||||
|
||||
```bash
|
||||
@@ -136,6 +149,7 @@ opencode auth ls
|
||||
---
|
||||
|
||||
#### odjava
|
||||
|
||||
Odjavljuje vas s provajdera tako što ga briše iz datoteke vjerodajnica.
|
||||
|
||||
```bash
|
||||
@@ -146,6 +160,7 @@ opencode auth logout
|
||||
---
|
||||
|
||||
### github
|
||||
|
||||
Upravljajte GitHub agentom za automatizaciju spremišta.
|
||||
|
||||
```bash
|
||||
@@ -155,6 +170,7 @@ opencode github [command]
|
||||
---
|
||||
|
||||
#### instaliraj
|
||||
|
||||
Instalirajte GitHub agenta u svoje spremište.
|
||||
|
||||
```bash
|
||||
@@ -167,6 +183,7 @@ Ovo postavlja neophodni tok rada GitHub Actions i vodi vas kroz proces konfigura
|
||||
---
|
||||
|
||||
#### trči
|
||||
|
||||
Pokrenite GitHub agent. Ovo se obično koristi u GitHub akcijama.
|
||||
|
||||
```bash
|
||||
@@ -174,12 +191,15 @@ opencode github run
|
||||
```
|
||||
|
||||
##### Zastave
|
||||
|
||||
| Zastava | Opis || --------- | -------------------------------------- |
|
||||
| `--event` | GitHub lažni događaj za pokretanje agenta za |
|
||||
| `--token` | GitHub token ličnog pristupa |
|
||||
|
||||
---
|
||||
|
||||
### mcp
|
||||
|
||||
Upravljajte serverima protokola konteksta modela.
|
||||
|
||||
```bash
|
||||
@@ -190,6 +210,7 @@ opencode mcp [command]
|
||||
---
|
||||
|
||||
#### dodaj
|
||||
|
||||
Dodajte MCP server svojoj konfiguraciji.
|
||||
|
||||
```bash
|
||||
@@ -199,7 +220,9 @@ opencode mcp add
|
||||
Ova komanda će vas voditi kroz dodavanje lokalnog ili udaljenog MCP servera.
|
||||
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Navedite sve konfigurirane MCP servere i njihov status veze.
|
||||
|
||||
```bash
|
||||
@@ -216,6 +239,7 @@ opencode mcp ls
|
||||
---
|
||||
|
||||
#### auth
|
||||
|
||||
Autentifikujte se sa MCP serverom koji je omogućen za OAuth.
|
||||
|
||||
```bash
|
||||
@@ -240,6 +264,7 @@ opencode mcp auth ls
|
||||
---
|
||||
|
||||
#### odjava
|
||||
|
||||
Uklonite OAuth vjerodajnice za MCP server.
|
||||
|
||||
```bash
|
||||
@@ -249,6 +274,7 @@ opencode mcp logout [name]
|
||||
---
|
||||
|
||||
#### otklanjanje grešaka
|
||||
|
||||
Otklanjanje grešaka OAuth veze sa MCP serverom.
|
||||
|
||||
```bash
|
||||
@@ -259,6 +285,7 @@ opencode mcp debug <name>
|
||||
---
|
||||
|
||||
### model
|
||||
|
||||
Navedite sve dostupne modele konfiguriranih provajdera.
|
||||
|
||||
```bash
|
||||
@@ -275,6 +302,7 @@ opencode models anthropic
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Opis || ----------- | ------------------------------------------------------------ |
|
||||
| `--refresh` | Osvježite predmemoriju modela sa models.dev |
|
||||
| `--verbose` | Koristite detaljniji izlaz modela (uključuje metapodatke poput troškova) |
|
||||
@@ -287,6 +315,7 @@ opencode models --refresh
|
||||
---
|
||||
|
||||
### trči
|
||||
|
||||
Pokrenite opencode u neinteraktivnom modu tako što ćete direktno proslijediti prompt.
|
||||
|
||||
```bash
|
||||
@@ -311,22 +340,24 @@ opencode run --attach http://localhost:4096 "Objasni async/await u JavaScriptu"
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || ------------ | ----- | ------------------------------------------------------------------ |
|
||||
| `--command` | | Naredba za pokretanje, koristite poruku za args |
|
||||
| `--command` | | Naredba za pokretanje, koristite poruku za args |
|
||||
| `--continue` | `-c` | Nastavite posljednju sesiju |
|
||||
| `--session` | `-s` | ID sesije za nastavak |
|
||||
| `--share` | | Podijelite sesiju |
|
||||
| `--share` | | Podijelite sesiju |
|
||||
| `--model` | `-m` | Model za korištenje u obliku provider/model |
|
||||
| `--agent` | | Agent za korištenje |
|
||||
| `--agent` | | Agent za korištenje |
|
||||
| `--file` | `-f` | Fajlovi koje treba priložiti poruci |
|
||||
| `--format` | | Format: default (formatiran) ili json (sirovi JSON događaji) |
|
||||
| `--title` | | Naslov sesije (koristi skraćeni prompt ako nije navedena vrijednost) |
|
||||
| `--attach` | | Priključite na pokrenuti opencode server (npr. http://localhost:4096) |
|
||||
| `--port` | | Port za lokalni server (zadano na nasumični port) |
|
||||
| `--format` | | Format: default (formatiran) ili json (sirovi JSON događaji) |
|
||||
| `--title` | | Naslov sesije (koristi skraćeni prompt ako nije navedena vrijednost) |
|
||||
| `--attach` | | Priključite na pokrenuti opencode server (npr. http://localhost:4096) |
|
||||
| `--port` | | Port za lokalni server (zadano na nasumični port) |
|
||||
|
||||
---
|
||||
|
||||
### poslužiti
|
||||
|
||||
Pokrenite OpenCode server bez glave za pristup API-ju. Pogledajte [server docs](/docs/server) za kompletan HTTP interfejs.
|
||||
|
||||
```bash
|
||||
@@ -334,7 +365,9 @@ opencode serve
|
||||
```
|
||||
|
||||
Ovo pokreće HTTP server koji pruža API pristup funkcionalnosti otvorenog koda bez TUI interfejsa. Postavite `OPENCODE_SERVER_PASSWORD` da omogućite HTTP osnovnu auth (korisničko ime je zadano na `opencode`).
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Opis || ------------ | ------------------------------------------ |
|
||||
| `--port` | Port za slušanje na |
|
||||
| `--hostname` | Ime hosta za slušanje |
|
||||
@@ -342,7 +375,9 @@ Ovo pokreće HTTP server koji pruža API pristup funkcionalnosti otvorenog koda
|
||||
| `--cors` | Dodatni izvor(a) pretraživača koji dozvoljavaju CORS |
|
||||
|
||||
---
|
||||
|
||||
### sesija
|
||||
|
||||
Upravljajte OpenCode sesijama.
|
||||
|
||||
```bash
|
||||
@@ -353,6 +388,7 @@ opencode sesija [naredba]
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Navedite sve OpenCode sesije.
|
||||
|
||||
```bash
|
||||
@@ -360,12 +396,15 @@ opencode session list
|
||||
```
|
||||
|
||||
##### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || ------------- | ----- | ------------------------------------ |
|
||||
| `--max-count` | `-n` | Ograničenje na N najnovijih sesija |
|
||||
| `--format` | | Izlazni format: tablica ili json (tabela) |
|
||||
| `--format` | | Izlazni format: tablica ili json (tabela) |
|
||||
|
||||
---
|
||||
|
||||
### statistika
|
||||
|
||||
Prikaži statistiku upotrebe tokena i troškova za vaše OpenCode sesije.
|
||||
|
||||
```bash
|
||||
@@ -374,6 +413,7 @@ opencode stats
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Opis || ----------- | ------------------------------------------------------------------------------------- |
|
||||
| `--days` | Prikaži statistiku za zadnjih N dana (sva vremena) |
|
||||
| `--tools` | Broj alata za prikaz (svi) |
|
||||
@@ -383,6 +423,7 @@ opencode stats
|
||||
---
|
||||
|
||||
### izvoz
|
||||
|
||||
Izvezite podatke sesije kao JSON.
|
||||
|
||||
```bash
|
||||
@@ -392,7 +433,9 @@ opencode export [sessionID]
|
||||
Ako ne unesete ID sesije, od vas će biti zatraženo da odaberete neku od dostupnih sesija.
|
||||
|
||||
---
|
||||
|
||||
### uvoz
|
||||
|
||||
Uvezite podatke sesije iz JSON datoteke ili OpenCode dijeljenog URL-a.
|
||||
|
||||
```bash
|
||||
@@ -410,6 +453,7 @@ opencode import https://opncd.ai/s/abc123
|
||||
---
|
||||
|
||||
### web
|
||||
|
||||
Pokrenite OpenCode server bez glave sa web interfejsom.
|
||||
|
||||
```bash
|
||||
@@ -418,7 +462,9 @@ opencode web
|
||||
```
|
||||
|
||||
Ovo pokreće HTTP server i otvara web pretraživač za pristup OpenCodeu preko web interfejsa. Postavite `OPENCODE_SERVER_PASSWORD` da omogućite HTTP osnovnu auth (korisničko ime je zadano na `opencode`).
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Opis || ------------ | ------------------------------------------ |
|
||||
| `--port` | Port za slušanje na |
|
||||
| `--hostname` | Ime hosta za slušanje |
|
||||
@@ -428,6 +474,7 @@ Ovo pokreće HTTP server i otvara web pretraživač za pristup OpenCodeu preko w
|
||||
---
|
||||
|
||||
### acp
|
||||
|
||||
Pokrenite ACP (Agent Client Protocol) server.
|
||||
|
||||
```bash
|
||||
@@ -435,14 +482,18 @@ opencode acp
|
||||
```
|
||||
|
||||
Ova komanda pokreće ACP server koji komunicira preko stdin/stdout koristeći nd-JSON.
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Opis || ------------ | --------------------- |
|
||||
| `--cwd` | Radni imenik |
|
||||
| `--port` | Port za slušanje na |
|
||||
| `--hostname` | Slušajte ime hosta |
|
||||
|
||||
---
|
||||
|
||||
### deinstaliraj
|
||||
|
||||
Deinstalirajte OpenCode i uklonite sve povezane datoteke.
|
||||
|
||||
```bash
|
||||
@@ -451,15 +502,17 @@ opencode uninstall
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || --------------- | ----- | ------------------------------------------- |
|
||||
| `--keep-config` | `-c` | Čuvajte konfiguracijske datoteke |
|
||||
| `--keep-data` | `-d` | Čuvajte podatke i snimke sesije |
|
||||
| `--dry-run` | | Pokažite šta bi bilo uklonjeno bez uklanjanja |
|
||||
| `--dry-run` | | Pokažite šta bi bilo uklonjeno bez uklanjanja |
|
||||
| `--force` | `-f` | Preskoči upite za potvrdu |
|
||||
|
||||
---
|
||||
|
||||
### upgrade
|
||||
|
||||
Ažurira opencode na najnoviju verziju ili određenu verziju.
|
||||
|
||||
```bash
|
||||
@@ -480,20 +533,25 @@ opencode upgrade v0.1.48
|
||||
```
|
||||
|
||||
#### Zastave
|
||||
|
||||
| Zastava | Kratko | Opis || ---------- | ----- | ------------------------------------------------------------------ |
|
||||
| `--method` | `-m` | Korišteni način instalacije; curl, npm, pnpm, bun, brew |
|
||||
|
||||
---
|
||||
|
||||
## Globalne zastave
|
||||
|
||||
CLI otvorenog koda uzima sljedeće globalne zastavice.
|
||||
| Zastava | Kratko | Opis || -------------- | ----- | ------------------------------------ |
|
||||
| `--help` | `-h` | Prikaži pomoć |
|
||||
| `--version` | `-v` | Odštampaj broj verzije |
|
||||
| `--print-logs` | | Ispis zapisnika u stderr |
|
||||
| `--log-level` | | Nivo dnevnika (DEBUG, INFO, WARN, ERROR) |
|
||||
| `--print-logs` | | Ispis zapisnika u stderr |
|
||||
| `--log-level` | | Nivo dnevnika (DEBUG, INFO, WARN, ERROR) |
|
||||
|
||||
---
|
||||
|
||||
## Varijable okruženja
|
||||
|
||||
OpenCode se može konfigurirati pomoću varijabli okruženja.
|
||||
| Varijabilna | Vrsta | Opis || ------------------------------------- | ------- | ------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | boolean | Automatski dijeli sesije |
|
||||
@@ -522,7 +580,9 @@ OpenCode se može konfigurirati pomoću varijabli okruženja.
|
||||
| `OPENCODE_MODELS_URL` | string | Prilagođeni URL za dohvaćanje konfiguracije modela |
|
||||
|
||||
---
|
||||
|
||||
### Eksperimentalno
|
||||
|
||||
Ove varijable okruženja omogućavaju eksperimentalne karakteristike koje se mogu promijeniti ili ukloniti.
|
||||
| Varijabilna | Vrsta | Opis || ----------------------------------------------- | ------- | --------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | boolean | Omogući sve eksperimentalne funkcije |
|
||||
@@ -537,4 +597,4 @@ Ove varijable okruženja omogućavaju eksperimentalne karakteristike koje se mog
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | boolean | Omogući eksperimentalne Exa funkcije |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | Omogući eksperimentalnu provjeru tipa LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | Omogući eksperimentalne funkcije smanjenja |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Omogući režim plana |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Omogući režim plana |
|
||||
|
||||
@@ -15,6 +15,7 @@ Prilagođene komande su dodatak ugrađenim komandama kao što su `/init`, `/undo
|
||||
---
|
||||
|
||||
## Kreirajte komandne fajlove
|
||||
|
||||
Kreirajte mardown fajlove u direktorijumu `commands/` da definišete prilagođene komande.
|
||||
Kreiraj `.opencode/commands/test.md`:
|
||||
|
||||
@@ -40,11 +41,13 @@ Koristite komandu tako što ćete upisati `/` nakon čega slijedi naziv komande.
|
||||
---
|
||||
|
||||
## Konfiguriši
|
||||
|
||||
Možete dodati prilagođene komande kroz OpenCode konfiguraciju ili kreiranjem markdown datoteka u direktoriju `commands/`.
|
||||
|
||||
---
|
||||
|
||||
### JSON
|
||||
|
||||
Koristite opciju `command` u svom OpenCode [config](/docs/config):
|
||||
|
||||
```json title="opencode.jsonc" {4-12}
|
||||
@@ -74,7 +77,9 @@ Sada možete pokrenuti ovu naredbu u TUI:
|
||||
---
|
||||
|
||||
### Markdown
|
||||
|
||||
Također možete definirati komande koristeći mardown datoteke. Stavite ih u:
|
||||
|
||||
- Globalno: `~/.config/opencode/commands/`
|
||||
- Po projektu: `.opencode/commands/
|
||||
|
||||
@@ -87,7 +92,8 @@ model: anthropic/claude-3-5-sonnet-20241022
|
||||
|
||||
Run the full test suite with coverage report and show any failures.
|
||||
Focus on the failing tests and suggest fixes.
|
||||
```
|
||||
|
||||
````
|
||||
|
||||
Ime datoteke za označavanje postaje ime naredbe. Na primjer, `test.md` dozvoljava
|
||||
pokrećeš:
|
||||
@@ -95,16 +101,18 @@ pokrećeš:
|
||||
```bash frame="none"
|
||||
/test
|
||||
|
||||
```
|
||||
````
|
||||
|
||||
---
|
||||
|
||||
## Prompt config
|
||||
|
||||
Promptovi za prilagođene komande podržavaju nekoliko posebnih čuvara mjesta i sintakse.
|
||||
|
||||
---
|
||||
|
||||
### Argumenti
|
||||
|
||||
Proslijedite argumente naredbama koristeći čuvar mjesta `$ARGUMENTS`.
|
||||
|
||||
```md title=".opencode/commands/component.md"
|
||||
@@ -125,11 +133,12 @@ Pokrenite naredbu s argumentima:
|
||||
|
||||
I `$ARGUMENTS` će biti zamijenjen sa `Button`.
|
||||
Također možete pristupiti pojedinačnim argumentima koristeći pozicione parametre:
|
||||
|
||||
- `$1` - Prvi argument
|
||||
- `$2` - Drugi argument
|
||||
- `$3` - Treći argument
|
||||
- I tako dalje...
|
||||
na primjer:
|
||||
na primjer:
|
||||
|
||||
```md title=".opencode/commands/create-file.md"
|
||||
---
|
||||
@@ -148,6 +157,7 @@ Pokrenite naredbu:
|
||||
```
|
||||
|
||||
Ovo zamjenjuje:
|
||||
|
||||
- `$1` do `config.json`
|
||||
- `$2` do `src`
|
||||
- `$3` do `{ "key": "value" }`
|
||||
@@ -155,6 +165,7 @@ Ovo zamjenjuje:
|
||||
---
|
||||
|
||||
### Izlaz ljuske
|
||||
|
||||
Koristite _!`command`_ da ubacite [bash command](/docs/tui#bash-commands) izlaz u svoj prompt.
|
||||
Na primjer, da kreirate prilagođenu naredbu koja analizira pokrivenost testom:
|
||||
|
||||
@@ -172,16 +183,13 @@ Based on these results, suggest improvements to increase coverage.
|
||||
Ili da vidite nedavne promjene:
|
||||
|
||||
```md title=".opencode/commands/review-changes.md"
|
||||
|
||||
---
|
||||
opis: Pregledajte nedavne promjene
|
||||
|
||||
---
|
||||
|
||||
Nedavna git urezivanja:
|
||||
!`git log --oneline -10`
|
||||
Pregledajte ove promjene i predložite bilo kakva poboljšanja.
|
||||
|
||||
```
|
||||
|
||||
Naredbe se pokreću u korijenskom direktoriju vašeg projekta i njihov izlaz postaje dio prompta.
|
||||
@@ -189,6 +197,7 @@ Naredbe se pokreću u korijenskom direktoriju vašeg projekta i njihov izlaz pos
|
||||
---
|
||||
|
||||
### Reference fajlova
|
||||
|
||||
Uključite datoteke u svoju naredbu koristeći `@` nakon čega slijedi naziv datoteke.
|
||||
|
||||
```md title=".opencode/commands/review-component.md"
|
||||
@@ -203,18 +212,23 @@ Check for performance issues and suggest improvements.
|
||||
Sadržaj datoteke se automatski uključuje u prompt.
|
||||
|
||||
---
|
||||
|
||||
## Opcije
|
||||
|
||||
Pogledajmo detaljno opcije konfiguracije.
|
||||
|
||||
---
|
||||
|
||||
### Template
|
||||
|
||||
Opcija `template` definira prompt koji će biti poslan LLM-u kada se naredba izvrši.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"komanda": {
|
||||
"komanda": {
|
||||
"test": {
|
||||
"template": "Pokrenite kompletan testni paket sa izvještajem o pokrivenosti i pokažite sve greške.\nFokusirajte se na neuspjele testove i predložite popravke." }
|
||||
"template": "Pokrenite kompletan testni paket sa izvještajem o pokrivenosti i pokažite sve greške.\nFokusirajte se na neuspjele testove i predložite popravke."
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -224,6 +238,7 @@ Ovo je **obavezna** opcija konfiguracije.
|
||||
---
|
||||
|
||||
### Opis
|
||||
|
||||
Koristite opciju `description` da pružite kratak opis onoga što naredba radi.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -239,16 +254,19 @@ Koristite opciju `description` da pružite kratak opis onoga što naredba radi.
|
||||
Ovo se prikazuje kao opis u TUI-u kada unesete naredbu.
|
||||
|
||||
---
|
||||
|
||||
### Agent
|
||||
|
||||
Koristite `agent` konfiguraciju da opciono odredite koji [agent](/docs/agents) treba da izvrši ovu naredbu.
|
||||
Ako je ovo [subagent](/docs/agents/#subagents) naredba će po defaultu pokrenuti pozivanje subagenta.
|
||||
Da onemogućite ovo ponašanje, postavite `subtask` na `false`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"komanda": {
|
||||
"komanda": {
|
||||
"recenzija": {
|
||||
"agent": "plan" }
|
||||
"agent": "plan"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -258,6 +276,7 @@ Ovo je **opciona** opcija konfiguracije. Ako nije navedeno, podrazumevano je va
|
||||
---
|
||||
|
||||
### Subdatatak
|
||||
|
||||
Koristite `subtask` boolean da prisilite naredbu da pokrene [subagent](/docs/agents/#subagents) pozivanje.
|
||||
Ovo je korisno ako želite da naredba ne zagađuje vaš primarni kontekst i da će **primorati** agenta da djeluje kao subagent,
|
||||
čak i ako je `mode` postavljeno na `primary` u konfiguraciji [agent](/docs/agents).
|
||||
@@ -275,14 +294,17 @@ Ovo je korisno ako želite da naredba ne zagađuje vaš primarni kontekst i da
|
||||
Ovo je **opciona** opcija konfiguracije.
|
||||
|
||||
---
|
||||
|
||||
### Model
|
||||
|
||||
Koristite `model` konfiguraciju da nadjačate zadani model za ovu naredbu.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"komanda": {
|
||||
"komanda": {
|
||||
"analizirati": {
|
||||
"model": "antropski/claude-3-5-sonnet-20241022" }
|
||||
"model": "antropski/claude-3-5-sonnet-20241022"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -292,8 +314,10 @@ Ovo je **opciona** opcija konfiguracije.
|
||||
---
|
||||
|
||||
## Embedded
|
||||
|
||||
opencode uključuje nekoliko ugrađenih naredbi kao što su `/init`, `/undo`, `/redo`, `/share`, `/help`; [saznaj više](/docs/tui#commands).
|
||||
:::napomena
|
||||
Prilagođene komande mogu nadjačati ugrađene komande.
|
||||
:::
|
||||
Ako definirate prilagođenu naredbu s istim imenom, ona će nadjačati ugrađenu naredbu.
|
||||
Ako definirate prilagođenu naredbu s istim imenom, ona će nadjačati ugrađenu naredbu.
|
||||
````
|
||||
|
||||
@@ -8,18 +8,22 @@ Prilagođeni alati su funkcije koje kreirate i koje LLM može pozvati tokom razg
|
||||
---
|
||||
|
||||
## Kreiranje alata
|
||||
|
||||
Alati su definisani kao **TypeScript** ili **JavaScript** datoteke. Međutim, definicija alata može pozvati skripte napisane na **bilo kom jeziku** — TypeScript ili JavaScript se koriste samo za samu definiciju alata.
|
||||
|
||||
---
|
||||
|
||||
### Lokacija
|
||||
|
||||
Mogu se definisati:
|
||||
|
||||
- Lokalno postavljanjem u `.opencode/tools/` direktorij vašeg projekta.
|
||||
- Ili globalno, postavljanjem u `~/.config/opencode/tools/`.
|
||||
|
||||
---
|
||||
|
||||
### Struktura
|
||||
|
||||
Najlakši način za kreiranje alata je korištenje pomoćnika `tool()` koji pruža sigurnost tipa i validaciju.
|
||||
|
||||
```ts title=".opencode/tools/database.ts" {1}
|
||||
@@ -42,6 +46,7 @@ export default tool({
|
||||
---
|
||||
|
||||
#### Više alata po datoteci
|
||||
|
||||
Također možete izvesti više alata iz jedne datoteke. Svaki izvoz postaje **poseban alat** pod nazivom **`<filename>_<exportname>`**:
|
||||
|
||||
```ts title=".opencode/tools/math.ts"
|
||||
@@ -75,6 +80,7 @@ Ovo stvara dva alata: `math_add` i `math_multiply`.
|
||||
---
|
||||
|
||||
### Argumenti
|
||||
|
||||
Možete koristiti `tool.schema`, što je samo [Zod](https://zod.dev), da definirate tipove argumenata.
|
||||
|
||||
```ts "tool.schema"
|
||||
@@ -103,6 +109,7 @@ export default {
|
||||
---
|
||||
|
||||
### Kontekst
|
||||
|
||||
Alati primaju kontekst o trenutnoj sesiji:
|
||||
|
||||
```ts title=".opencode/tools/project.ts" {8}
|
||||
@@ -125,7 +132,9 @@ Koristite `context.worktree` za korijen git radnog stabla.
|
||||
---
|
||||
|
||||
## Primjeri
|
||||
|
||||
### Napišite alat u Python-u
|
||||
|
||||
Možete pisati svoje alate na bilo kom jeziku koji želite. Evo primjera koji zbraja dva broja koristeći Python.
|
||||
Prvo kreirajte alat kao Python skriptu:
|
||||
|
||||
@@ -157,4 +166,4 @@ export default tool({
|
||||
})
|
||||
```
|
||||
|
||||
Ovdje koristimo [`Bun.$`_](https://bun.com/docs/runtime/shell) uslužni program za pokretanje Python skripte.
|
||||
Ovdje koristimo [`Bun.$`\_](https://bun.com/docs/runtime/shell) uslužni program za pokretanje Python skripte.
|
||||
|
||||
@@ -12,6 +12,7 @@ Također možete pogledati [awesome-opencode](https://github.com/awesome-opencod
|
||||
---
|
||||
|
||||
## Dodaci
|
||||
|
||||
| Ime | Opis || --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Automatski pokrenite OpenCode sesije u izoliranim Daytona sandboxovima uz git sinhronizaciju i preglede uživo |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Automatski ubacite Helicone zaglavlja sesije za grupisanje zahtjeva |
|
||||
@@ -23,7 +24,7 @@ Također možete pogledati [awesome-opencode](https://github.com/awesome-opencod
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Antigravity OAuth dodatak, s podrškom za Google pretraživanje i robusnijim API rukovanjem |
|
||||
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimizirajte korištenje tokena smanjenjem izlaza zastarjelih alata |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Dodajte podršku za izvorno web pretraživanje za podržane provajdere sa stilom utemeljenim na Googleu |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Omogućuje AI agentima da pokreću pozadinske procese u PTY-u, šalju im interaktivni ulaz. |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Omogućuje AI agentima da pokreću pozadinske procese u PTY-u, šalju im interaktivni ulaz. |
|
||||
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Upute za neinteraktivne naredbe ljuske - sprječava visi od TTY ovisnih operacija || [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Pratite upotrebu OpenCodea sa Wakatime |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Očistite tabele umanjenja vrijednosti koje su izradili LLM |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | 10x brže uređivanje koda s Morph Fast Apply API-jem i markerima za lijeno uređivanje |
|
||||
@@ -45,6 +46,7 @@ Također možete pogledati [awesome-opencode](https://github.com/awesome-opencod
|
||||
---
|
||||
|
||||
## Projekti
|
||||
|
||||
| Ime | Opis || ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | Discord bot za kontrolu OpenCode sesija, izgrađen na SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Neovim dodatak za upite svjestan uređivača, izgrađen na API |
|
||||
@@ -55,12 +57,13 @@ Također možete pogledati [awesome-opencode](https://github.com/awesome-opencod
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | Web / Desktop App i VS Code Extension za OpenCode |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | Obsidian dodatak koji ugrađuje OpenCode u Obsidian-ov UI |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | Alternativa otvorenog koda Claudeu Coworku, pokretana pomoću OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | OpenCode menadžer ekstenzija sa prenosivim, izolovanim profilima. |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | OpenCode menadžer ekstenzija sa prenosivim, izolovanim profilima. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Desktop, Web, Mobile i Remote Client aplikacija za OpenCode |
|
||||
|
||||
---
|
||||
|
||||
## Agenti
|
||||
|
||||
| Ime | Opis || ----------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | Modularni AI agenti i komande za strukturirani razvoj |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Konfiguracije, upiti, agenti i dodaci za poboljšane tokove rada |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Konfiguracije, upiti, agenti i dodaci za poboljšane tokove rada |
|
||||
|
||||
@@ -8,6 +8,7 @@ OpenCode automatski formatira datoteke nakon što su napisane ili uređene pomo
|
||||
---
|
||||
|
||||
## Ugrađeno
|
||||
|
||||
OpenCode dolazi sa nekoliko ugrađenih formatera za popularne jezike i okvire. Ispod je lista formatera, podržanih ekstenzija datoteka i naredbi ili opcija konfiguracije koje su mu potrebne.
|
||||
| Formatter | Ekstenzije | Zahtjevi || -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | `gofmt` komanda dostupna |
|
||||
@@ -37,15 +38,18 @@ Dakle, ako vaš projekat ima `prettier` u vašem `package.json`, OpenCode će ga
|
||||
---
|
||||
|
||||
## Kako radi
|
||||
|
||||
Kada OpenCode piše ili uređuje datoteku, on:
|
||||
|
||||
1. Provjerava ekstenziju datoteke prema svim omogućenim formaterima.
|
||||
2. Pokreće odgovarajuću naredbu za formatiranje na datoteci.
|
||||
3. Automatski primjenjuje promjene formatiranja.
|
||||
Ovaj proces se događa u pozadini, osiguravajući da se vaši stilovi koda održavaju bez ikakvih ručnih koraka.
|
||||
Ovaj proces se događa u pozadini, osiguravajući da se vaši stilovi koda održavaju bez ikakvih ručnih koraka.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguriši
|
||||
|
||||
Možete prilagoditi formatere kroz `formatter` odjeljak u vašoj OpenCode konfiguraciji.
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -66,6 +70,7 @@ Pogledajmo neke primjere.
|
||||
---
|
||||
|
||||
### Onemogućavanje formatera
|
||||
|
||||
Da onemogućite **sve** formatere globalno, postavite `formatter` na `false`:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
@@ -91,6 +96,7 @@ Da onemogućite **specifični** formater, postavite `disabled` na `true`:
|
||||
---
|
||||
|
||||
### Prilagođeni formateri
|
||||
|
||||
Možete nadjačati ugrađene formatere ili dodati nove navođenjem naredbe, varijabli okruženja i ekstenzija datoteke:
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
@@ -112,4 +118,4 @@ Možete nadjačati ugrađene formatere ili dodati nove navođenjem naredbe, vari
|
||||
}
|
||||
```
|
||||
|
||||
**`$FILE` čuvar mjesta** u naredbi će biti zamijenjen putanjom do datoteke koja se formatira.
|
||||
**`$FILE` čuvar mjesta** u naredbi će biti zamijenjen putanjom do datoteke koja se formatira.
|
||||
|
||||
@@ -8,6 +8,7 @@ OpenCode se integriše sa vašim GitHub tokovom rada. Spomenite `/opencode` ili
|
||||
---
|
||||
|
||||
## Karakteristike
|
||||
|
||||
- **Problemi trijaže**: Zamolite OpenCode da ispita problem i objasni vam ga.
|
||||
- **Popravi i implementiraj**: Zamolite OpenCode da popravi problem ili implementira funkciju. I radit će u novoj poslovnici i dostavljati PR sa svim promjenama.
|
||||
- **Secure**: OpenCode se pokreće unutar pokretača vašeg GitHub-a.
|
||||
@@ -15,6 +16,7 @@ OpenCode se integriše sa vašim GitHub tokovom rada. Spomenite `/opencode` ili
|
||||
---
|
||||
|
||||
## Instalacija
|
||||
|
||||
Pokrenite sljedeću naredbu u projektu koji se nalazi u GitHub repo:
|
||||
|
||||
```bash
|
||||
@@ -26,11 +28,13 @@ Ovo će vas provesti kroz instalaciju GitHub aplikacije, kreiranje toka posla i
|
||||
---
|
||||
|
||||
### Ručno podešavanje
|
||||
|
||||
Ili ga možete postaviti ručno.
|
||||
|
||||
1. **Instalirajte GitHub aplikaciju**
|
||||
Idite na [**github.com/apps/opencode-agent**](https://github.com/apps/opencode-agent). Uvjerite se da je instaliran na ciljnom spremištu.
|
||||
Idite na [**github.com/apps/opencode-agent**](https://github.com/apps/opencode-agent). Uvjerite se da je instaliran na ciljnom spremištu.
|
||||
2. **Dodajte radni tok**
|
||||
Dodajte sljedeći fajl toka posla u `.github/workflows/opencode.yml` u svoj repo. Obavezno postavite odgovarajuće `model` i potrebne API ključeve u `env`.
|
||||
Dodajte sljedeći fajl toka posla u `.github/workflows/opencode.yml` u svoj repo. Obavezno postavite odgovarajuće `model` i potrebne API ključeve u `env`.
|
||||
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
@@ -64,31 +68,30 @@ Dodajte sljedeći fajl toka posla u `.github/workflows/opencode.yml` u svoj repo
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
# github_token: xxxx
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
3. **Sačuvaj API ključeve u tajne**
|
||||
U **postavkama** organizacije ili projekta proširite **Tajne i varijable** na lijevoj strani i odaberite **Radnje**. I dodajte potrebne API ključeve.
|
||||
U **postavkama** organizacije ili projekta proširite **Tajne i varijable** na lijevoj strani i odaberite **Radnje**. I dodajte potrebne API ključeve.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracija
|
||||
|
||||
- `model`: Model za korištenje s OpenCodeom. Uzima format `provider/model`. Ovo je **obavezno**.
|
||||
- `agent`: Agent za korištenje. Mora biti primarni agent. Vraća se na `default_agent` iz konfiguracije ili `"build"` ako nije pronađen.
|
||||
- `share`: Da li dijeliti OpenCode sesiju. Podrazumevano je **true** za javna spremišta.
|
||||
- `prompt`: Opcioni prilagođeni upit za nadjačavanje zadanog ponašanja. Koristite ovo da prilagodite kako OpenCode obrađuje zahtjeve.
|
||||
- `token`: Opcionalni GitHub pristupni token za izvođenje operacija kao što su kreiranje komentara, upisivanje promjena i otvaranje zahtjeva za povlačenjem. OpenCode prema zadanim postavkama koristi token za pristup instalaciji iz aplikacije OpenCode GitHub, tako da se urezivanje, komentari i zahtjevi za povlačenjem pojavljuju kao da dolaze iz aplikacije.
|
||||
Alternativno, možete koristiti GitHub Action runner [ugrađeni `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) bez instaliranja OpenCode GitHub aplikacije. Samo se pobrinite da date potrebna odobrenja u svom toku rada:
|
||||
Alternativno, možete koristiti GitHub Action runner [ugrađeni `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) bez instaliranja OpenCode GitHub aplikacije. Samo se pobrinite da date potrebna odobrenja u svom toku rada:
|
||||
|
||||
```yaml
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
|
||||
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
```
|
||||
|
||||
Također možete koristiti [Personal Access Tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)(PAT) ako želite.
|
||||
@@ -96,15 +99,18 @@ Također možete koristiti [Personal Access Tokens](https://docs.github.com/en/a
|
||||
---
|
||||
|
||||
## Podržani događaji
|
||||
|
||||
OpenCode se može pokrenuti sljedećim GitHub događajima:
|
||||
| Vrsta događaja | Pokrenuo | Detalji || ----------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | Komentirajte problem ili PR | Navedite `/opencode` ili `/oc` u svom komentaru. OpenCode čita kontekst i može kreirati grane, otvarati PR-ove ili odgovarati. |
|
||||
| `pull_request_review_comment` | Komentirajte određene linije koda u PR-u | Navedite `/opencode` ili `/oc` dok pregledavate kod. OpenCode prima putanju datoteke, brojeve redova i kontekst razlike. |
|
||||
| `issues` | Broj otvoren ili uređen | Automatski pokrenite OpenCode kada se problemi kreiraju ili modificiraju. Zahtijeva `prompt` unos. |
|
||||
| `pull_request` | PR otvoren ili ažuriran | Automatski pokrenite OpenCode kada se PR-ovi otvore, sinkroniziraju ili ponovo otvore. Korisno za automatske recenzije. |
|
||||
| `schedule` | Cron baziran raspored | Pokrenite OpenCode prema rasporedu. Zahtijeva `prompt` unos. Izlaz ide u dnevnike i PR-ove (nema problema za komentarisanje). |
|
||||
| `workflow_dispatch` | Ručni okidač iz GitHub korisničkog sučelja | Aktivirajte OpenCode na zahtjev preko kartice Akcije. Zahtijeva `prompt` unos. Izlaz ide u dnevnike i PR-ove. |
|
||||
| `pull_request_review_comment` | Komentirajte određene linije koda u PR-u | Navedite `/opencode` ili `/oc` dok pregledavate kod. OpenCode prima putanju datoteke, brojeve redova i kontekst razlike. |
|
||||
| `issues` | Broj otvoren ili uređen | Automatski pokrenite OpenCode kada se problemi kreiraju ili modificiraju. Zahtijeva `prompt` unos. |
|
||||
| `pull_request` | PR otvoren ili ažuriran | Automatski pokrenite OpenCode kada se PR-ovi otvore, sinkroniziraju ili ponovo otvore. Korisno za automatske recenzije. |
|
||||
| `schedule` | Cron baziran raspored | Pokrenite OpenCode prema rasporedu. Zahtijeva `prompt` unos. Izlaz ide u dnevnike i PR-ove (nema problema za komentarisanje). |
|
||||
| `workflow_dispatch` | Ručni okidač iz GitHub korisničkog sučelja | Aktivirajte OpenCode na zahtjev preko kartice Akcije. Zahtijeva `prompt` unos. Izlaz ide u dnevnike i PR-ove. |
|
||||
|
||||
### Primjer rasporeda
|
||||
|
||||
Pokrenite OpenCode po rasporedu za obavljanje automatiziranih zadataka:
|
||||
|
||||
```yaml title=".github/workflows/opencode-scheduled.yml"
|
||||
@@ -144,6 +150,7 @@ Za zakazane događaje, unos `prompt` je **potreban** jer nema komentara za izvla
|
||||
---
|
||||
|
||||
### Primjer zahtjeva za povlačenjem
|
||||
|
||||
Automatski pregledajte PR-ove kada se otvore ili ažuriraju:
|
||||
|
||||
```yaml title=".github/workflows/opencode-review.yml"
|
||||
@@ -184,6 +191,7 @@ Za `pull_request` događaje, ako nije naveden `prompt`, OpenCode podrazumevano p
|
||||
---
|
||||
|
||||
### Primjer trijaže problema
|
||||
|
||||
Automatski triažirajte nove probleme. Ovaj primjer filtrira na račune starije od 30 dana radi smanjenja neželjene pošte:
|
||||
|
||||
```yaml title=".github/workflows/opencode-triage.yml"
|
||||
@@ -238,6 +246,7 @@ Za `issues` događaje, `prompt` unos je **potreban** jer nema komentara za izvla
|
||||
---
|
||||
|
||||
## Prilagođene upite
|
||||
|
||||
Zaobiđite zadani prompt da biste prilagodili ponašanje OpenCodea za vaš tok posla.
|
||||
|
||||
```yaml title=".github/workflows/opencode.yml"
|
||||
@@ -256,50 +265,56 @@ Ovo je korisno za provođenje specifičnih kriterija pregleda, standarda kodiran
|
||||
---
|
||||
|
||||
## Primjeri
|
||||
|
||||
Evo nekoliko primjera kako možete koristiti OpenCode u GitHubu.
|
||||
|
||||
- **Objasnite problem**
|
||||
Dodajte ovaj komentar u GitHub izdanje.
|
||||
Dodajte ovaj komentar u GitHub izdanje.
|
||||
|
||||
```
|
||||
/opencode explain this issue
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
OpenCode će pročitati cijelu temu, uključujući sve komentare, i odgovoriti s jasnim objašnjenjem.
|
||||
|
||||
- **Popravi problem**
|
||||
U izdanju na GitHub-u recite:
|
||||
U izdanju na GitHub-u recite:
|
||||
|
||||
```
|
||||
/opencode fix this
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
I OpenCode će kreirati novu granu, implementirati promjene i otvoriti PR sa promjenama.
|
||||
|
||||
- **Pregledajte PR-ove i izvršite izmjene**
|
||||
Ostavite sljedeći komentar na GitHub PR-u.
|
||||
Ostavite sljedeći komentar na GitHub PR-u.
|
||||
|
||||
```
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
OpenCode će implementirati traženu promjenu i posvetiti je istom PR-u.
|
||||
|
||||
- **Pregledajte određene linije koda**
|
||||
Ostavite komentar direktno na linije koda u PR kartici "Files". OpenCode automatski detektuje datoteku, brojeve redova i kontekst razlike kako bi pružio precizne odgovore.
|
||||
Ostavite komentar direktno na linije koda u PR kartici "Files". OpenCode automatski detektuje datoteku, brojeve redova i kontekst razlike kako bi pružio precizne odgovore.
|
||||
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
Kada komentarišete određene linije, OpenCode prima:
|
||||
- Tačan fajl se pregleda
|
||||
- Specifične linije koda
|
||||
- Okolni diff kontekst
|
||||
- Informacije o broju linije
|
||||
Ovo omogućava više ciljanih zahtjeva bez potrebe za ručno specificiranjem putanja datoteka ili brojeva linija.
|
||||
|
||||
- Tačan fajl se pregleda
|
||||
- Specifične linije koda
|
||||
- Okolni diff kontekst
|
||||
- Informacije o broju linije
|
||||
Ovo omogućava više ciljanih zahtjeva bez potrebe za ručno specificiranjem putanja datoteka ili brojeva linija.
|
||||
|
||||
@@ -8,6 +8,7 @@ OpenCode se integriše sa VS kodom, kursorom ili bilo kojim IDE-om koji podržav
|
||||
---
|
||||
|
||||
## Upotreba
|
||||
|
||||
- **Brzo pokretanje**: Koristite `Cmd+Esc` (Mac) ili `Ctrl+Esc` (Windows/Linux) da otvorite OpenCode u prikazu podijeljenog terminala ili fokusirajte postojeću terminalsku sesiju ako je već pokrenuta.
|
||||
- **Nova sesija**: Koristite `Cmd+Shift+Esc` (Mac) ili `Ctrl+Shift+Esc` (Windows/Linux) da započnete novu OpenCode terminalsku sesiju, čak i ako je ona već otvorena. Takođe možete kliknuti na dugme OpenCode u korisničkom sučelju.
|
||||
- **Svijest o kontekstu**: Automatski dijelite svoj trenutni odabir ili karticu s OpenCodeom.
|
||||
@@ -16,21 +17,26 @@ OpenCode se integriše sa VS kodom, kursorom ili bilo kojim IDE-om koji podržav
|
||||
---
|
||||
|
||||
## Instalacija
|
||||
|
||||
Da biste instalirali OpenCode na VS Code i popularne viljuške kao što su Cursor, Windsurf, VSCodium:
|
||||
|
||||
1. Otvorite VS Code
|
||||
2. Otvorite integrirani terminal
|
||||
3. Pokrenite `opencode` - ekstenzija se automatski instalira
|
||||
Ako s druge strane želite da koristite svoj vlastiti IDE kada pokrenete `/editor` ili `/export` iz TUI-ja, morat ćete postaviti `export EDITOR="code --wait"`. [Saznajte više](/docs/tui/#editor-setup).
|
||||
Ako s druge strane želite da koristite svoj vlastiti IDE kada pokrenete `/editor` ili `/export` iz TUI-ja, morat ćete postaviti `export EDITOR="code --wait"`. [Saznajte više](/docs/tui/#editor-setup).
|
||||
|
||||
---
|
||||
|
||||
### Ručna instalacija
|
||||
|
||||
Potražite **OpenCode** na Extension Marketplaceu i kliknite na **Instaliraj**.
|
||||
|
||||
---
|
||||
|
||||
### Rješavanje problema
|
||||
|
||||
Ako se ekstenzija ne uspije automatski instalirati:
|
||||
|
||||
- Uvjerite se da koristite `opencode` u integriranom terminalu.
|
||||
- Potvrdite da je CLI za vaš IDE instaliran:
|
||||
- Za VS kod: `code` naredbu
|
||||
@@ -38,4 +44,4 @@ Ako se ekstenzija ne uspije automatski instalirati:
|
||||
- Za jedrenje na dasci: `windsurf` komanda
|
||||
- Za VSCodium: `codium` komanda
|
||||
- Ako ne, pokrenite `Cmd+Shift+P` (Mac) ili `Ctrl+Shift+P` (Windows/Linux) i potražite "Shell Command: Install 'code' command in PATH" (ili ekvivalent za vaš IDE)
|
||||
- Osigurajte da VS Code ima dozvolu za instaliranje ekstenzija
|
||||
- Osigurajte da VS Code ima dozvolu za instaliranje ekstenzija
|
||||
|
||||
@@ -106,6 +106,7 @@ OpenCode ima listu veza ključeva koje možete prilagoditi preko OpenCode konfig
|
||||
---
|
||||
|
||||
## Leader key
|
||||
|
||||
OpenCode koristi `leader` ključ za većinu povezivanja tipki. Ovo izbjegava sukobe u vašem terminalu.
|
||||
Prema zadanim postavkama, `ctrl+x` je vodeći taster i većina radnji zahtijeva da prvo pritisnete vodeći taster, a zatim i prečicu. Na primjer, da biste započeli novu sesiju, prvo pritisnite `ctrl+x`, a zatim pritisnite `n`.
|
||||
Ne morate koristiti vodeći ključ za svoje veze tipki, ali preporučujemo da to učinite.
|
||||
@@ -113,6 +114,7 @@ Ne morate koristiti vodeći ključ za svoje veze tipki, ali preporučujemo da to
|
||||
---
|
||||
|
||||
## Onemogući povezivanje tastera
|
||||
|
||||
Možete onemogućiti spajanje tipki dodavanjem ključa u svoju konfiguraciju s vrijednošću "none".
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -127,6 +129,7 @@ Možete onemogućiti spajanje tipki dodavanjem ključa u svoju konfiguraciju s v
|
||||
---
|
||||
|
||||
## Prečice za radnu površinu
|
||||
|
||||
Unos prompta aplikacije OpenCode za desktop podržava uobičajene prečice u stilu Readline/Emacs za uređivanje teksta. Oni su ugrađeni i trenutno se ne mogu konfigurirati putem `opencode.json`.
|
||||
| Prečica | Akcija || -------- | ---------------------------------------- |
|
||||
| `ctrl+a` | Prelazak na početak tekućeg reda |
|
||||
@@ -146,8 +149,11 @@ Unos prompta aplikacije OpenCode za desktop podržava uobičajene prečice u sti
|
||||
---
|
||||
|
||||
## Shift+Enter
|
||||
|
||||
Neki terminali ne šalju modifikatorske tipke sa Enter prema zadanim postavkama. Možda ćete trebati konfigurirati svoj terminal da pošalje `Shift+Enter` kao escape sekvencu.
|
||||
|
||||
### Windows terminal
|
||||
|
||||
Otvorite svoj `settings.json` na:
|
||||
|
||||
```
|
||||
@@ -179,4 +185,4 @@ Dodajte ovo u niz korijenskog nivoa `keybindings`:
|
||||
]
|
||||
```
|
||||
|
||||
Sačuvajte datoteku i ponovo pokrenite Windows Terminal ili otvorite novu karticu.
|
||||
Sačuvajte datoteku i ponovo pokrenite Windows Terminal ili otvorite novu karticu.
|
||||
|
||||
@@ -3,10 +3,10 @@ title: LSP serveri
|
||||
description: OpenCode se integriše sa vašim LSP serverima.
|
||||
---
|
||||
|
||||
OpenCode se integriše sa vašim jezičkim serverskim protokolom (LSP) kako bi pomogao LLM-u u interakciji s vašom bazom koda. Koristi dijagnostiku za pružanje povratnih informacija LLM-u.
|
||||
---
|
||||
## OpenCode se integriše sa vašim jezičkim serverskim protokolom (LSP) kako bi pomogao LLM-u u interakciji s vašom bazom koda. Koristi dijagnostiku za pružanje povratnih informacija LLM-u.
|
||||
|
||||
## Ugrađeno
|
||||
|
||||
OpenCode dolazi sa nekoliko ugrađenih LSP servera za popularne jezike:
|
||||
| LSP server | Ekstenzije | Zahtjevi || ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| astro | .astro | Automatske instalacije za Astro projekte |
|
||||
@@ -49,13 +49,18 @@ Možete onemogućiti automatska preuzimanja LSP servera tako što ćete postavit
|
||||
---
|
||||
|
||||
## Kako radi
|
||||
|
||||
Kada opencode otvori fajl, on:
|
||||
|
||||
1. Provjerava ekstenziju datoteke u odnosu na sve omogućene LSP servere.
|
||||
2. Pokreće odgovarajući LSP server ako već nije pokrenut.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguriši
|
||||
|
||||
Možete prilagoditi LSP servere kroz `lsp` odjeljak u vašoj opencode konfiguraciji.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -71,10 +76,13 @@ Svaki LSP server podržava sljedeće:
|
||||
| `env` | objekt | Varijable okruženja koje treba postaviti prilikom pokretanja servera |
|
||||
| `initialization` | objekt | Opcije inicijalizacije za slanje na LSP server |
|
||||
Pogledajmo neke primjere.
|
||||
|
||||
---
|
||||
|
||||
### Varijable okruženja
|
||||
|
||||
Koristite svojstvo `env` za postavljanje varijabli okruženja prilikom pokretanja LSP servera:
|
||||
|
||||
```json title="opencode.json" {5-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -91,7 +99,9 @@ Koristite svojstvo `env` za postavljanje varijabli okruženja prilikom pokretanj
|
||||
---
|
||||
|
||||
### Opcije inicijalizacije
|
||||
|
||||
Koristite svojstvo `initialization` da prosledite opcije inicijalizacije na LSP server. Ovo su postavke specifične za server poslane tokom LSP `initialize` zahtjeva:
|
||||
|
||||
```json title="opencode.json" {5-9}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -114,7 +124,9 @@ Opcije inicijalizacije razlikuju se od LSP servera. Provjerite dokumentaciju va
|
||||
---
|
||||
|
||||
### Onemogućavanje LSP servera
|
||||
|
||||
Da biste onemogućili **sve** LSP servere globalno, postavite `lsp` na `false`:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -123,6 +135,7 @@ Da biste onemogućili **sve** LSP servere globalno, postavite `lsp` na `false`:
|
||||
```
|
||||
|
||||
Da onemogućite **specifičan** LSP server, postavite `disabled` na `true`:
|
||||
|
||||
```json title="opencode.json" {5}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -137,7 +150,9 @@ Da onemogućite **specifičan** LSP server, postavite `disabled` na `true`:
|
||||
---
|
||||
|
||||
### Prilagođeni LSP serveri
|
||||
|
||||
Možete dodati prilagođene LSP servere navodeći ekstenzije naredbe i datoteke:
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -153,8 +168,11 @@ Možete dodati prilagođene LSP servere navodeći ekstenzije naredbe i datoteke:
|
||||
---
|
||||
|
||||
## Dodatne informacije
|
||||
|
||||
### PHP Intelephense
|
||||
|
||||
PHP Intelephense nudi vrhunske funkcije putem licencnog ključa. Možete dati licencni ključ postavljanjem (samo) ključa u tekstualnu datoteku na:
|
||||
|
||||
- Na macOS/Linuxu: `$HOME/intelephense/licence.txt`
|
||||
- Na Windowsima: `%USERPROFILE%/intelephense/licence.txt`
|
||||
Datoteka treba da sadrži samo licencni ključ bez dodatnog sadržaja.
|
||||
Datoteka treba da sadrži samo licencni ključ bez dodatnog sadržaja.
|
||||
|
||||
@@ -5,19 +5,22 @@ description: Dodajte lokalne i udaljene MCP alate.
|
||||
|
||||
Možete dodati vanjske alate u OpenCode koristeći _Model Context Protocol_, ili MCP. OpenCode podržava i lokalne i udaljene servere.
|
||||
Jednom dodani, MCP alati su automatski dostupni LLM-u zajedno sa ugrađenim alatima.
|
||||
|
||||
---
|
||||
|
||||
#### Upozorenja
|
||||
|
||||
Kada koristite MCP server, on dodaje u kontekst. Ovo se može brzo zbrojiti ako imate puno alata. Stoga preporučujemo da pazite koje MCP servere koristite.
|
||||
:::tip
|
||||
MCP serveri dodaju vaš kontekst, tako da želite da budete pažljivi s tim koje ćete omogućiti.
|
||||
:::
|
||||
|
||||
Određeni MCP serveri, poput GitHub MCP servera, imaju tendenciju da dodaju mnogo tokena i lako mogu premašiti ograničenje konteksta.
|
||||
---
|
||||
## Određeni MCP serveri, poput GitHub MCP servera, imaju tendenciju da dodaju mnogo tokena i lako mogu premašiti ograničenje konteksta.
|
||||
|
||||
## Omogući
|
||||
|
||||
Možete definirati MCP servere u vašoj [OpenCode Config](https://opencode.ai/docs/config/) pod `mcp`. Dodajte svaki MCP sa jedinstvenim imenom. Možete se pozvati na taj MCP po imenu kada tražite LLM.
|
||||
|
||||
```jsonc title="opencode.jsonc" {6}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -33,12 +36,13 @@ Možete definirati MCP servere u vašoj [OpenCode Config](https://opencode.ai/do
|
||||
}
|
||||
```
|
||||
|
||||
Također možete onemogućiti server postavljanjem `enabled` na `false`. Ovo je korisno ako želite privremeno onemogućiti server bez uklanjanja iz vaše konfiguracije.
|
||||
---
|
||||
## Također možete onemogućiti server postavljanjem `enabled` na `false`. Ovo je korisno ako želite privremeno onemogućiti server bez uklanjanja iz vaše konfiguracije.
|
||||
|
||||
### Poništavanje daljinskih zadanih postavki
|
||||
|
||||
Organizacije mogu obezbijediti zadane MCP servere preko svoje krajnje tačke `.well-known/opencode`. Ovi serveri mogu biti onemogućeni prema zadanim postavkama, omogućavajući korisnicima da se odluče za one koji su im potrebni.
|
||||
Da omogućite određeni server iz udaljene konfiguracije vaše organizacije, dodajte ga u svoju lokalnu konfiguraciju sa `enabled: true`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -52,11 +56,12 @@ Da omogućite određeni server iz udaljene konfiguracije vaše organizacije, dod
|
||||
}
|
||||
```
|
||||
|
||||
Vrijednosti vaše lokalne konfiguracije nadjačavaju udaljene zadane postavke. Pogledajte [config precedence](/docs/config#precedence-order) za više detalja.
|
||||
---
|
||||
## Vrijednosti vaše lokalne konfiguracije nadjačavaju udaljene zadane postavke. Pogledajte [config precedence](/docs/config#precedence-order) za više detalja.
|
||||
|
||||
## Lokalno
|
||||
|
||||
Dodajte lokalne MCP servere koristeći `type` u `"local"` unutar MCP objekta.
|
||||
|
||||
```jsonc title="opencode.jsonc" {15}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -76,6 +81,7 @@ Dodajte lokalne MCP servere koristeći `type` u `"local"` unutar MCP objekta.
|
||||
|
||||
Naredba je način na koji se pokreće lokalni MCP server. Također možete proslijediti listu varijabli okruženja.
|
||||
Na primjer, evo kako možete dodati testni [`@modelcontextprotocol/server-everything`](https://www.npmjs.com/package/@modelcontextprotocol/server-everything) MCP server.
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -89,6 +95,7 @@ Na primjer, evo kako možete dodati testni [`@modelcontextprotocol/server-everyt
|
||||
```
|
||||
|
||||
I da ga koristim mogu dodati `use the mcp_everything tool` u svoje upite.
|
||||
|
||||
```txt "mcp_everything"
|
||||
use the mcp_everything tool to add the number 3 and 4
|
||||
```
|
||||
@@ -96,17 +103,21 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
---
|
||||
|
||||
#### Opcije
|
||||
|
||||
Ovdje su sve opcije za konfiguriranje lokalnog MCP servera.
|
||||
| Opcija | Vrsta | Obavezno | Opis || ------------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | String | Y | Tip veze sa MCP serverom, mora biti `"local"`. |
|
||||
| `command` | Niz | Y | Naredba i argumenti za pokretanje MCP servera. |
|
||||
| `environment` | Objekt | | Varijable okruženja koje treba postaviti prilikom pokretanja servera. |
|
||||
| `enabled` | Boolean | | Omogućite ili onemogućite MCP server pri pokretanju. |
|
||||
| `timeout` | Broj | | Vremensko ograničenje u ms za dohvaćanje alata sa MCP servera. Podrazumevano je 5000 (5 sekundi). |
|
||||
| `type` | String | Y | Tip veze sa MCP serverom, mora biti `"local"`. |
|
||||
| `command` | Niz | Y | Naredba i argumenti za pokretanje MCP servera. |
|
||||
| `environment` | Objekt | | Varijable okruženja koje treba postaviti prilikom pokretanja servera. |
|
||||
| `enabled` | Boolean | | Omogućite ili onemogućite MCP server pri pokretanju. |
|
||||
| `timeout` | Broj | | Vremensko ograničenje u ms za dohvaćanje alata sa MCP servera. Podrazumevano je 5000 (5 sekundi). |
|
||||
|
||||
---
|
||||
|
||||
## Daljinski
|
||||
|
||||
Dodajte udaljene MCP servere postavljanjem `type` na `"remote"`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -123,28 +134,34 @@ Dodajte udaljene MCP servere postavljanjem `type` na `"remote"`.
|
||||
}
|
||||
```
|
||||
|
||||
`url` je URL udaljenog MCP servera i sa opcijom `headers` možete proslijediti listu zaglavlja.
|
||||
---
|
||||
## `url` je URL udaljenog MCP servera i sa opcijom `headers` možete proslijediti listu zaglavlja.
|
||||
|
||||
#### Opcije
|
||||
|
||||
| Opcija | Vrsta | Obavezno | Opis || --------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | String | Y | Tip veze sa MCP serverom, mora biti `"remote"`. |
|
||||
| `url` | String | Y | URL udaljenog MCP servera. |
|
||||
| `enabled` | Boolean | | Omogućite ili onemogućite MCP server pri pokretanju. |
|
||||
| `headers` | Objekt | | Zaglavlja za slanje uz zahtjev. |
|
||||
| `oauth` | Objekt | | Konfiguracija OAuth provjere autentičnosti. Pogledajte odjeljak [OAuth](#oauth) ispod. |
|
||||
| `timeout` | Broj | | Vremensko ograničenje u ms za preuzimanje alata sa MCP servera. Podrazumevano je 5000 (5 sekundi). |
|
||||
| `type` | String | Y | Tip veze sa MCP serverom, mora biti `"remote"`. |
|
||||
| `url` | String | Y | URL udaljenog MCP servera. |
|
||||
| `enabled` | Boolean | | Omogućite ili onemogućite MCP server pri pokretanju. |
|
||||
| `headers` | Objekt | | Zaglavlja za slanje uz zahtjev. |
|
||||
| `oauth` | Objekt | | Konfiguracija OAuth provjere autentičnosti. Pogledajte odjeljak [OAuth](#oauth) ispod. |
|
||||
| `timeout` | Broj | | Vremensko ograničenje u ms za preuzimanje alata sa MCP servera. Podrazumevano je 5000 (5 sekundi). |
|
||||
|
||||
---
|
||||
|
||||
## OAuth
|
||||
|
||||
OpenCode automatski rukuje OAuth autentifikacijom za udaljene MCP servere. Kada server zahtijeva autentifikaciju, OpenCode će:
|
||||
|
||||
1. Otkrijte 401 odgovor i pokrenite OAuth tok
|
||||
2. Koristite **Dynamic Client Registration (RFC 7591)** ako podržava server
|
||||
3. Sigurno čuvajte tokene za buduće zahtjeve
|
||||
|
||||
---
|
||||
|
||||
### Automatski
|
||||
|
||||
Za većinu MCP servera sa omogućenim OAuthom nije potrebna posebna konfiguracija. Samo konfigurirajte udaljeni server:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -157,11 +174,12 @@ Za većinu MCP servera sa omogućenim OAuthom nije potrebna posebna konfiguracij
|
||||
}
|
||||
```
|
||||
|
||||
Ako server zahtijeva autentifikaciju, OpenCode će od vas zatražiti autentifikaciju kada prvi put pokušate da ga koristite. Ako ne, možete [ručno pokrenuti tok](#authenticating) sa `opencode mcp auth <server-name>`.
|
||||
---
|
||||
## Ako server zahtijeva autentifikaciju, OpenCode će od vas zatražiti autentifikaciju kada prvi put pokušate da ga koristite. Ako ne, možete [ručno pokrenuti tok](#authenticating) sa `opencode mcp auth <server-name>`.
|
||||
|
||||
### Prethodno registrovano
|
||||
|
||||
Ako imate klijentske vjerodajnice od dobavljača MCP servera, možete ih konfigurirati:
|
||||
|
||||
```json title="opencode.json" {7-11}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -182,27 +200,32 @@ Ako imate klijentske vjerodajnice od dobavljača MCP servera, možete ih konfigu
|
||||
---
|
||||
|
||||
### Autentifikacija
|
||||
|
||||
Možete ručno pokrenuti autentifikaciju ili upravljati vjerodajnicama.
|
||||
Autentifikacija sa određenim MCP serverom:
|
||||
|
||||
```bash
|
||||
opencode mcp auth my-oauth-server
|
||||
```
|
||||
|
||||
Navedite sve MCP servere i njihov status autentifikacije:
|
||||
|
||||
```bash
|
||||
opencode mcp list
|
||||
```
|
||||
|
||||
Uklonite pohranjene vjerodajnice:
|
||||
|
||||
```bash
|
||||
opencode mcp logout my-oauth-server
|
||||
```
|
||||
|
||||
Komanda `mcp auth` će otvoriti vaš pretraživač za autorizaciju. Nakon što odobrite, OpenCode će sigurno pohraniti tokene u `~/.local/share/opencode/mcp-auth.json`.
|
||||
---
|
||||
## Komanda `mcp auth` će otvoriti vaš pretraživač za autorizaciju. Nakon što odobrite, OpenCode će sigurno pohraniti tokene u `~/.local/share/opencode/mcp-auth.json`.
|
||||
|
||||
#### Onemogućavanje OAuth-a
|
||||
|
||||
Ako želite onemogućiti automatski OAuth za server (npr. za servere koji umjesto toga koriste API ključeve), postavite `oauth` na `false`:
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -222,13 +245,17 @@ Ako želite onemogućiti automatski OAuth za server (npr. za servere koji umjest
|
||||
---
|
||||
|
||||
#### OAuth opcije
|
||||
|
||||
| Opcija | Vrsta | Opis || -------------- | --------------- | -------------------------------------------------------------------------------- |
|
||||
| `oauth` | Objekt \| false | OAuth konfiguracijski objekt, ili `false` da onemogućite automatsko otkrivanje OAuth. |
|
||||
| `oauth` | Objekt \| false | OAuth konfiguracijski objekt, ili `false` da onemogućite automatsko otkrivanje OAuth. |
|
||||
| `clientId` | String | ID OAuth klijenta. Ako nije navedeno, pokušat će se izvršiti dinamička registracija klijenta. |
|
||||
| `clientSecret` | String | Tajna OAuth klijenta, ako to zahtijeva autorizacijski server. |
|
||||
| `scope` | String | OAuth opseg zahtjeva za vrijeme autorizacije. |
|
||||
| `clientSecret` | String | Tajna OAuth klijenta, ako to zahtijeva autorizacijski server. |
|
||||
| `scope` | String | OAuth opseg zahtjeva za vrijeme autorizacije. |
|
||||
|
||||
#### Otklanjanje grešaka
|
||||
|
||||
Ako udaljeni MCP server ne uspije u autentifikaciji, možete dijagnosticirati probleme pomoću:
|
||||
|
||||
```bash
|
||||
# View auth status for all OAuth-capable servers
|
||||
opencode mcp auth list
|
||||
@@ -237,15 +264,16 @@ opencode mcp auth list
|
||||
opencode mcp debug my-oauth-server
|
||||
```
|
||||
|
||||
Komanda `mcp debug` pokazuje trenutni status auth, testira HTTP povezanost i pokušava tok otkrivanja OAuth.
|
||||
---
|
||||
## Komanda `mcp debug` pokazuje trenutni status auth, testira HTTP povezanost i pokušava tok otkrivanja OAuth.
|
||||
|
||||
## Upravljaj
|
||||
Vaši MCP-ovi su dostupni kao alati u OpenCode-u, zajedno sa ugrađenim alatima. Tako da možete upravljati njima kroz OpenCode konfiguraciju kao i svaki drugi alat.
|
||||
---
|
||||
|
||||
## Vaši MCP-ovi su dostupni kao alati u OpenCode-u, zajedno sa ugrađenim alatima. Tako da možete upravljati njima kroz OpenCode konfiguraciju kao i svaki drugi alat.
|
||||
|
||||
### Global
|
||||
|
||||
To znači da ih možete omogućiti ili onemogućiti globalno.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -266,6 +294,7 @@ To znači da ih možete omogućiti ili onemogućiti globalno.
|
||||
```
|
||||
|
||||
Također možemo koristiti glob obrazac da onemogućimo sve odgovarajuće MCP-ove.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -285,13 +314,15 @@ Također možemo koristiti glob obrazac da onemogućimo sve odgovarajuće MCP-ov
|
||||
}
|
||||
```
|
||||
|
||||
Ovdje koristimo glob obrazac `my-mcp*` da onemogućimo sve MCP-ove.
|
||||
---
|
||||
## Ovdje koristimo glob obrazac `my-mcp*` da onemogućimo sve MCP-ove.
|
||||
|
||||
### Po agentu
|
||||
|
||||
Ako imate veliki broj MCP servera, možda ćete želeti da ih omogućite samo po agentu i da ih onemogućite globalno. Da biste to učinili:
|
||||
|
||||
1. Onemogućite ga kao alat globalno.
|
||||
2. U vašem [agent config](/docs/agents#tools), omogućite MCP server kao alat.
|
||||
|
||||
```json title="opencode.json" {11, 14-18}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -318,12 +349,15 @@ Ako imate veliki broj MCP servera, možda ćete želeti da ih omogućite samo po
|
||||
---
|
||||
|
||||
#### Glob uzorci
|
||||
|
||||
Uzorak glob koristi jednostavne šablone globbiranja regularnih izraza:
|
||||
|
||||
- `*` odgovara nuli ili više bilo kojeg znaka (npr. `"my-mcp*"` odgovara `my-mcp_search`, `my-mcp_list`, itd.)
|
||||
- `?` odgovara tačno jednom znaku
|
||||
- Svi ostali likovi se bukvalno podudaraju
|
||||
:::napomena
|
||||
MCP serverski alati se registruju sa imenom servera kao prefiksom, tako da onemogućite sve alate za server jednostavno koristite:
|
||||
:::napomena
|
||||
MCP serverski alati se registruju sa imenom servera kao prefiksom, tako da onemogućite sve alate za server jednostavno koristite:
|
||||
|
||||
```
|
||||
"mymcpservername_*": false
|
||||
```
|
||||
@@ -333,11 +367,13 @@ MCP serverski alati se registruju sa imenom servera kao prefiksom, tako da onemo
|
||||
---
|
||||
|
||||
## Primjeri
|
||||
Ispod su primjeri nekih uobičajenih MCP servera. Možete poslati PR ako želite dokumentirati druge servere.
|
||||
---
|
||||
|
||||
## Ispod su primjeri nekih uobičajenih MCP servera. Možete poslati PR ako želite dokumentirati druge servere.
|
||||
|
||||
### Stražar
|
||||
|
||||
Dodajte [Sentry MCP server](https://mcp.sentry.dev) za interakciju sa vašim Sentry projektima i problemima.
|
||||
|
||||
```json title="opencode.json" {4-8}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -352,12 +388,14 @@ Dodajte [Sentry MCP server](https://mcp.sentry.dev) za interakciju sa vašim Sen
|
||||
```
|
||||
|
||||
Nakon dodavanja konfiguracije, autentifikujte se sa Sentry:
|
||||
|
||||
```bash
|
||||
opencode mcp auth sentry
|
||||
```
|
||||
|
||||
Ovo će otvoriti prozor pretraživača da završite OAuth tok i povežete OpenCode sa vašim Sentry nalogom.
|
||||
Nakon provjere autentičnosti, možete koristiti Sentry alate u svojim upitima za upite o problemima, projektima i podacima o greškama.
|
||||
|
||||
```txt "use sentry"
|
||||
Show me the latest unresolved issues in my project. use sentry
|
||||
```
|
||||
@@ -365,7 +403,9 @@ Show me the latest unresolved issues in my project. use sentry
|
||||
---
|
||||
|
||||
### Kontekst7
|
||||
|
||||
Dodajte [Context7 MCP server](https://github.com/upstash/context7) za pretraživanje dokumenata.
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -379,6 +419,7 @@ Dodajte [Context7 MCP server](https://github.com/upstash/context7) za pretraživ
|
||||
```
|
||||
|
||||
Ako ste se prijavili za besplatni račun, možete koristiti svoj API ključ i dobiti viša ograničenja stope.
|
||||
|
||||
```json title="opencode.json" {7-9}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -396,11 +437,13 @@ Ako ste se prijavili za besplatni račun, možete koristiti svoj API ključ i do
|
||||
|
||||
Ovdje pretpostavljamo da imate postavljenu varijablu okruženja `CONTEXT7_API_KEY`.
|
||||
Dodajte `use context7` vašim upitima za korištenje Context7 MCP servera.
|
||||
|
||||
```txt "use context7"
|
||||
Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7
|
||||
```
|
||||
|
||||
Alternativno, možete dodati nešto poput ovoga na svoj [AGENTS.md](/docs/rules/).
|
||||
|
||||
```md title="AGENTS.md"
|
||||
When you need to search docs, use `context7` tools.
|
||||
```
|
||||
@@ -408,7 +451,9 @@ When you need to search docs, use `context7` tools.
|
||||
---
|
||||
|
||||
### Grep od Vercela
|
||||
|
||||
Dodajte [Grep by Vercel](https://grep.app) MCP server za pretraživanje isječaka koda na GitHubu.
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -422,11 +467,13 @@ Dodajte [Grep by Vercel](https://grep.app) MCP server za pretraživanje isječak
|
||||
```
|
||||
|
||||
Pošto smo naš MCP server nazvali `gh_grep`, možete dodati `use the gh_grep tool` u svoje upite da natjerate agenta da ga koristi.
|
||||
|
||||
```txt "use the gh_grep tool"
|
||||
What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool
|
||||
```
|
||||
|
||||
Alternativno, možete dodati nešto poput ovoga na svoj [AGENTS.md](/docs/rules/).
|
||||
|
||||
```md title="AGENTS.md"
|
||||
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.
|
||||
```
|
||||
|
||||
@@ -3,16 +3,19 @@ title: Modeli
|
||||
description: Konfiguriranje LLM provajdera i modela.
|
||||
---
|
||||
|
||||
OpenCode koristi [AI SDK](https://ai-sdk.dev/) i [Models.dev](https://models.dev) za podršku **75+ LLM provajdera** i podržava pokretanje lokalnih modela.
|
||||
---
|
||||
## OpenCode koristi [AI SDK](https://ai-sdk.dev/) i [Models.dev](https://models.dev) za podršku **75+ LLM provajdera** i podržava pokretanje lokalnih modela.
|
||||
|
||||
## Provajderi
|
||||
|
||||
Većina popularnih provajdera su unaprijed učitani prema zadanim postavkama. Ako ste dodali vjerodajnice za provajdera putem naredbe `/connect`, oni će biti dostupni kada pokrenete OpenCode.
|
||||
Saznajte više o [providers](/docs/providers).
|
||||
|
||||
---
|
||||
|
||||
## Odaberite model
|
||||
|
||||
Nakon što konfigurirate svog provajdera, možete odabrati model koji želite upisivanjem:
|
||||
|
||||
```bash frame="none"
|
||||
/models
|
||||
```
|
||||
@@ -20,6 +23,7 @@ Nakon što konfigurirate svog provajdera, možete odabrati model koji želite up
|
||||
---
|
||||
|
||||
## Preporučeni modeli
|
||||
|
||||
Postoji mnogo modela vani, a novi modeli izlaze svake sedmice.
|
||||
:::tip
|
||||
Razmislite o korištenju jednog od modela koje preporučujemo.
|
||||
@@ -27,17 +31,21 @@ Razmislite o korištenju jednog od modela koje preporučujemo.
|
||||
|
||||
Međutim, postoji samo nekoliko njih koji su dobri i u generiranju koda i u pozivanju alata.
|
||||
Evo nekoliko modela koji dobro rade sa OpenCodeom, bez posebnog redosleda. (Ovo nije potpuna lista niti je nužno ažurirana):
|
||||
|
||||
- GPT 5.2
|
||||
- Kodeks GPT 5.1
|
||||
- Claude Opus 4.5
|
||||
- Claude Sonet 4.5
|
||||
- Minimax M2.1
|
||||
- Gemini 3 Pro
|
||||
|
||||
---
|
||||
|
||||
## Postavite zadano
|
||||
|
||||
Da postavite jedan od ovih kao zadani model, možete postaviti ključ `model` u svom
|
||||
OpenCode config.
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -47,10 +55,13 @@ OpenCode config.
|
||||
|
||||
Ovdje je puni ID `provider_id/model_id`. Na primjer, ako koristite [OpenCode Zen](/docs/zen), koristili biste `opencode/gpt-5.1-codex` za GPT 5.1 Codex.
|
||||
Ako ste konfigurirali [prilagođenog provajdera](/docs/providers#custom), `provider_id` je ključ iz `provider` dijela vaše konfiguracije, a `model_id` je ključ iz `provider.models`.
|
||||
|
||||
---
|
||||
|
||||
## Konfigurišite modele
|
||||
|
||||
Možete globalno konfigurirati opcije modela kroz config.
|
||||
|
||||
```jsonc title="opencode.jsonc" {7-12,19-24}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -87,6 +98,7 @@ Ovdje konfiguriramo globalne postavke za dva ugrađena modela: `gpt-5` kada se p
|
||||
Ugrađeni dobavljač i nazivi modela mogu se naći na [Models.dev](https://models.dev).
|
||||
Također možete konfigurirati ove opcije za sve agente koje koristite. Konfiguracija agenta poništava sve globalne opcije ovdje. [Saznajte više](/docs/agents/#additional).
|
||||
Također možete definirati prilagođene varijante koje proširuju ugrađene. Varijante vam omogućavaju da konfigurirate različite postavke za isti model bez stvaranja duplih unosa:
|
||||
|
||||
```jsonc title="opencode.jsonc" {6-21}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -116,29 +128,35 @@ Također možete definirati prilagođene varijante koje proširuju ugrađene. Va
|
||||
---
|
||||
|
||||
## Varijante
|
||||
|
||||
Mnogi modeli podržavaju više varijanti sa različitim konfiguracijama. OpenCode se isporučuje sa ugrađenim podrazumevanim varijantama za popularne provajdere.
|
||||
|
||||
### Ugrađene varijante
|
||||
|
||||
OpenCode se isporučuje sa zadanim varijantama za mnoge provajdere:
|
||||
**Antropski**:
|
||||
|
||||
- `high` - Visok budžet za razmišljanje (zadano)
|
||||
- `max` - Maksimalni budžet za razmišljanje
|
||||
**OpenAI**:
|
||||
Zavisi od modela, ali otprilike:
|
||||
**OpenAI**:
|
||||
Zavisi od modela, ali otprilike:
|
||||
- `none` - Bez obrazloženja
|
||||
- `minimal` - Minimalni napor za rasuđivanje
|
||||
- `low` - Nizak napor u rasuđivanju
|
||||
- `medium` - Srednji napor u zaključivanju
|
||||
- `high` - Veliki napor u rasuđivanju
|
||||
- `xhigh` - Ekstra visok napor u rasuđivanju
|
||||
**Google**:
|
||||
**Google**:
|
||||
- `low` - Manji trud/budžet tokena
|
||||
- `high` - Veći budžet za trud/token
|
||||
:::tip
|
||||
Ova lista nije sveobuhvatna. Mnogi drugi provajderi također imaju ugrađene zadane postavke.
|
||||
:::
|
||||
:::tip
|
||||
Ova lista nije sveobuhvatna. Mnogi drugi provajderi također imaju ugrađene zadane postavke.
|
||||
:::
|
||||
|
||||
### Prilagođene varijante
|
||||
|
||||
Možete nadjačati postojeće varijante ili dodati svoje:
|
||||
|
||||
```jsonc title="opencode.jsonc" {7-18}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -163,24 +181,21 @@ Možete nadjačati postojeće varijante ili dodati svoje:
|
||||
```
|
||||
|
||||
### Varijante ciklusa
|
||||
Koristite vezu `variant_cycle` za brzo prebacivanje između varijanti. [Saznajte više](/docs/keybinds).
|
||||
---
|
||||
|
||||
## Koristite vezu `variant_cycle` za brzo prebacivanje između varijanti. [Saznajte više](/docs/keybinds).
|
||||
|
||||
## Učitavanje modela
|
||||
|
||||
Kada se OpenCode pokrene, on provjerava modele u sljedećem prioritetnom redoslijedu:
|
||||
|
||||
1. Oznaka komandne linije `--model` ili `-m`. Format je isti kao u konfiguracijskoj datoteci: `provider_id/model_id`.
|
||||
2. Lista modela u OpenCode konfiguraciji.
|
||||
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "anthropic/claude-sonnet-4-20250514"
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "anthropic/claude-sonnet-4-20250514"
|
||||
}
|
||||
```
|
||||
|
||||
Format ovdje je `provider/model`.
|
||||
3. Posljednji korišteni model.
|
||||
4. Prvi model koji koristi interni prioritet.
|
||||
Format ovdje je `provider/model`. 3. Posljednji korišteni model. 4. Prvi model koji koristi interni prioritet.
|
||||
|
||||
@@ -12,34 +12,44 @@ Režimi u otvorenom kodu omogućavaju vam da prilagodite ponašanje, alate i upi
|
||||
Dolazi sa dva ugrađena načina rada: **gradite** i **planirajte**. Možete prilagoditi
|
||||
ove ili konfigurirajte svoje putem opencode config.
|
||||
Možete se prebacivati između režima tokom sesije ili ih konfigurisati u svom konfiguracionom fajlu.
|
||||
|
||||
---
|
||||
|
||||
## Ugrađeno
|
||||
opencode dolazi sa dva ugrađena načina rada.
|
||||
---
|
||||
|
||||
## opencode dolazi sa dva ugrađena načina rada.
|
||||
|
||||
### Build
|
||||
Izrada je **podrazumevani** režim sa svim omogućenim alatima. Ovo je standardni način rada na razvoju gdje vam je potreban pun pristup operacijama datoteka i sistemskim komandama.
|
||||
---
|
||||
|
||||
## Izrada je **podrazumevani** režim sa svim omogućenim alatima. Ovo je standardni način rada na razvoju gdje vam je potreban pun pristup operacijama datoteka i sistemskim komandama.
|
||||
|
||||
### Plan
|
||||
|
||||
Ograničeni način rada dizajniran za planiranje i analizu. U načinu plana, sljedeći alati su onemogućeni prema zadanim postavkama:
|
||||
|
||||
- `write` - Ne mogu kreirati nove fajlove
|
||||
- `edit` - Ne mogu modificirati postojeće fajlove, osim fajlova koji se nalaze na `.opencode/plans/*.md` radi detaljiziranja samog plana
|
||||
- `patch` - Ne mogu primijeniti zakrpe
|
||||
- `bash` - Ne mogu izvršiti naredbe ljuske
|
||||
Ovaj način rada je koristan kada želite da AI analizira kod, predlaže promjene ili kreira planove bez ikakvih stvarnih modifikacija u vašoj bazi kodova.
|
||||
Ovaj način rada je koristan kada želite da AI analizira kod, predlaže promjene ili kreira planove bez ikakvih stvarnih modifikacija u vašoj bazi kodova.
|
||||
|
||||
---
|
||||
|
||||
## Prebacivanje
|
||||
|
||||
Možete se prebacivati između načina rada tokom sesije pomoću tipke _Tab_. Ili vaše konfigurirano `switch_mode` spajanje tipki.
|
||||
Vidi također: [Formatters](/docs/formatters) za informacije o konfiguraciji formatiranja koda.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguriši
|
||||
|
||||
Možete prilagoditi ugrađene načine rada ili kreirati vlastite kroz konfiguraciju. Modovi se mogu konfigurirati na dva načina:
|
||||
|
||||
### JSON konfiguracija
|
||||
|
||||
Konfigurirajte načine rada u svom `opencode.json` konfiguracijskom fajlu:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -66,9 +76,12 @@ Konfigurirajte načine rada u svom `opencode.json` konfiguracijskom fajlu:
|
||||
```
|
||||
|
||||
### Markdown konfiguracija
|
||||
|
||||
Također možete definirati načine rada koristeći mardown datoteke. Postavite ih u:
|
||||
|
||||
- Globalno: `~/.config/opencode/modes/`
|
||||
- Projekat: `.opencode/modes/`
|
||||
|
||||
```markdown title="~/.config/opencode/modes/review.md"
|
||||
---
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
@@ -91,10 +104,13 @@ Provide constructive feedback without making direct changes.
|
||||
|
||||
Naziv datoteke s uštedom postaje naziv načina (npr. `review.md` kreira `review` način rada).
|
||||
Pogledajmo ove opcije konfiguracije detaljno.
|
||||
|
||||
---
|
||||
|
||||
### Model
|
||||
|
||||
Koristite `model` konfiguraciju da nadjačate zadani model za ovaj način rada. Korisno za korištenje različitih modela optimiziranih za različite zadatke. Na primjer, brži model za planiranje, sposobniji model za implementaciju.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
@@ -108,7 +124,9 @@ Koristite `model` konfiguraciju da nadjačate zadani model za ovaj način rada.
|
||||
---
|
||||
|
||||
### Temperatura
|
||||
|
||||
Kontrolišite slučajnost i kreativnost odgovora AI pomoću `temperature` konfiguracije. Niže vrijednosti čine odgovore fokusiranijim i determinističkim, dok veće vrijednosti povećavaju kreativnost i varijabilnost.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
@@ -123,9 +141,11 @@ Kontrolišite slučajnost i kreativnost odgovora AI pomoću `temperature` konfig
|
||||
```
|
||||
|
||||
Vrijednosti temperature obično se kreću od 0,0 do 1,0:
|
||||
|
||||
- **0,0-0,2**: Vrlo fokusirani i deterministički odgovori, idealni za analizu i planiranje koda
|
||||
- **0,3-0,5**: Uravnoteženi odgovori sa malo kreativnosti, dobro za opšte razvojne zadatke
|
||||
- **0,6-1,0**: kreativniji i raznovrsniji odgovori, korisni za razmišljanje i istraživanje
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
@@ -144,11 +164,12 @@ Vrijednosti temperature obično se kreću od 0,0 do 1,0:
|
||||
}
|
||||
```
|
||||
|
||||
Ako temperatura nije navedena, opencode koristi zadane postavke specifične za model (obično 0 za većinu modela, 0,55 za Qwen modele).
|
||||
---
|
||||
## Ako temperatura nije navedena, opencode koristi zadane postavke specifične za model (obično 0 za većinu modela, 0,55 za Qwen modele).
|
||||
|
||||
### Prompt
|
||||
|
||||
Navedite prilagođenu sistemsku datoteku prompta za ovaj način rada s konfiguracijom `prompt`. Datoteka s promptom treba da sadrži upute specifične za svrhu načina rada.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
@@ -161,10 +182,13 @@ Navedite prilagođenu sistemsku datoteku prompta za ovaj način rada s konfigura
|
||||
|
||||
Ova putanja je relativna u odnosu na mjesto gdje se nalazi konfiguracijski fajl. Dakle, ovo radi za
|
||||
i globalnu konfiguraciju otvorenog koda i konfiguraciju specifične za projekat.
|
||||
|
||||
---
|
||||
|
||||
### Alati
|
||||
|
||||
Kontrolirajte koji su alati dostupni u ovom načinu rada pomoću `tools` konfiguracije. Možete omogućiti ili onemogućiti određene alate tako što ćete ih postaviti na `true` ili `false`.
|
||||
|
||||
```json
|
||||
{
|
||||
"mode": {
|
||||
@@ -182,10 +206,10 @@ Kontrolirajte koji su alati dostupni u ovom načinu rada pomoću `tools` konfigu
|
||||
}
|
||||
```
|
||||
|
||||
Ako nijedan alat nije specificiran, svi alati su omogućeni prema zadanim postavkama.
|
||||
---
|
||||
## Ako nijedan alat nije specificiran, svi alati su omogućeni prema zadanim postavkama.
|
||||
|
||||
#### Dostupni alati
|
||||
|
||||
Ovdje su svi alati koji se mogu kontrolirati kroz konfiguraciju načina rada.
|
||||
| Alat | Opis || ----------- | ----------------------- |
|
||||
| `bash` | Izvrši naredbe ljuske |
|
||||
@@ -199,11 +223,15 @@ Ovdje su svi alati koji se mogu kontrolirati kroz konfiguraciju načina rada.
|
||||
| `todowrite` | Upravljanje listama zadataka |
|
||||
| `todoread` | Pročitajte liste obaveza |
|
||||
| `webfetch` | Dohvati web sadržaj |
|
||||
|
||||
---
|
||||
|
||||
## Prilagođeni načini rada
|
||||
|
||||
Možete kreirati vlastite prilagođene modove tako što ćete ih dodati u konfiguraciju. Evo primjera koji koriste oba pristupa:
|
||||
|
||||
### Korištenje JSON konfiguracije
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -224,7 +252,9 @@ Možete kreirati vlastite prilagođene modove tako što ćete ih dodati u konfig
|
||||
```
|
||||
|
||||
### Korištenje mardown fajlova
|
||||
|
||||
Kreirajte fajlove načina u `.opencode/modes/` za specifične načine rada ili `~/.config/opencode/modes/` za globalne načine:
|
||||
|
||||
```markdown title=".opencode/modes/debug.md"
|
||||
---
|
||||
temperature: 0.1
|
||||
@@ -274,10 +304,12 @@ Priorities:
|
||||
---
|
||||
|
||||
### Slučajevi upotrebe
|
||||
|
||||
Evo nekoliko uobičajenih slučajeva upotrebe za različite načine rada.
|
||||
|
||||
- **Način izgradnje**: Potpuni razvojni rad sa svim omogućenim alatima
|
||||
- **Način planiranja**: Analiza i planiranje bez izmjena
|
||||
- **Review mode**: Pregled koda sa pristupom samo za čitanje plus alati za dokumentaciju
|
||||
- **Režim za otklanjanje grešaka**: Fokusiran na istragu sa omogućenim bash i alatima za čitanje
|
||||
- **Režim dokumenata**: Pisanje dokumentacije sa operacijama datoteka, ali bez sistemskih naredbi
|
||||
Možda ćete također otkriti da su različiti modeli dobri za različite slučajeve upotrebe.
|
||||
Možda ćete također otkriti da su različiti modeli dobri za različite slučajeve upotrebe.
|
||||
|
||||
@@ -3,11 +3,12 @@ title: Mreža
|
||||
description: Konfigurirajte proksije i prilagođene certifikate.
|
||||
---
|
||||
|
||||
OpenCode podržava standardne varijable proxy okruženja i prilagođene sertifikate za mrežna okruženja preduzeća.
|
||||
---
|
||||
## OpenCode podržava standardne varijable proxy okruženja i prilagođene sertifikate za mrežna okruženja preduzeća.
|
||||
|
||||
## Proxy
|
||||
|
||||
OpenCode poštuje standardne varijable proxy okruženja.
|
||||
|
||||
```bash
|
||||
# HTTPS proxy (recommended)
|
||||
export HTTPS_PROXY=https://proxy.example.com:8080
|
||||
@@ -23,11 +24,12 @@ export NO_PROXY=localhost,127.0.0.1
|
||||
TUI komunicira sa lokalnim HTTP serverom. Morate zaobići proxy za ovu vezu kako biste spriječili petlje usmjeravanja.
|
||||
:::
|
||||
|
||||
Možete konfigurirati port servera i ime hosta koristeći [CLI flags](/docs/cli#run).
|
||||
---
|
||||
## Možete konfigurirati port servera i ime hosta koristeći [CLI flags](/docs/cli#run).
|
||||
|
||||
### Autentikacija
|
||||
|
||||
Ako vaš proxy zahtijeva osnovnu autentifikaciju, uključite vjerodajnice u URL.
|
||||
|
||||
```bash
|
||||
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
|
||||
```
|
||||
@@ -36,13 +38,14 @@ export HTTPS_PROXY=http://username:password@proxy.example.com:8080
|
||||
Izbjegavajte tvrdo kodiranje lozinki. Koristite varijable okruženja ili sigurno skladište vjerodajnica.
|
||||
:::
|
||||
|
||||
Za proxy servere koji zahtijevaju naprednu autentifikaciju kao što je NTLM ili Kerberos, razmislite o korištenju LLM Gatewaya koji podržava vašu metodu provjere autentičnosti.
|
||||
---
|
||||
## Za proxy servere koji zahtijevaju naprednu autentifikaciju kao što je NTLM ili Kerberos, razmislite o korištenju LLM Gatewaya koji podržava vašu metodu provjere autentičnosti.
|
||||
|
||||
## Prilagođeni certifikati
|
||||
|
||||
Ako vaše preduzeće koristi prilagođene CA-ove za HTTPS veze, konfigurirajte OpenCode da im vjeruje.
|
||||
|
||||
```bash
|
||||
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem
|
||||
```
|
||||
|
||||
Ovo radi i za proxy veze i za direktan pristup API-ju.
|
||||
Ovo radi i za proxy veze i za direktan pristup API-ju.
|
||||
|
||||
@@ -5,17 +5,23 @@ description: Kontrolirajte koje radnje zahtijevaju odobrenje za pokretanje.
|
||||
|
||||
OpenCode koristi `permission` konfiguraciju da odluči da li će se određena radnja pokrenuti automatski, zatražiti od vas ili biti blokirana.
|
||||
Od `v1.1.1`, naslijeđena `tools` logička konfiguracija je zastarjela i spojena je u `permission`. Stara `tools` konfiguracija je još uvijek podržana za kompatibilnost unatrag.
|
||||
|
||||
---
|
||||
|
||||
## Akcije
|
||||
|
||||
Svako pravilo dozvole rješava jedno od:
|
||||
|
||||
- `"allow"` — pokrenuti bez odobrenja
|
||||
- `"ask"` — upit za odobrenje
|
||||
- `"deny"` — blokiraj akciju
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracija
|
||||
|
||||
Dozvole možete postaviti globalno (sa `*`) i nadjačati određene alate.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -28,6 +34,7 @@ Dozvole možete postaviti globalno (sa `*`) i nadjačati određene alate.
|
||||
```
|
||||
|
||||
Također možete postaviti sve dozvole odjednom:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -38,7 +45,9 @@ Također možete postaviti sve dozvole odjednom:
|
||||
---
|
||||
|
||||
## Granularna pravila (sintaksa objekta)
|
||||
|
||||
Za većinu dozvola, možete koristiti objekt za primjenu različitih radnji na osnovu unosa alata.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -58,21 +67,30 @@ Za većinu dozvola, možete koristiti objekt za primjenu različitih radnji na o
|
||||
}
|
||||
```
|
||||
|
||||
Pravila se procjenjuju na osnovu podudaranja uzorka, pri čemu **pobjeđuje **poslednje odgovarajuće pravilo**. Uobičajeni obrazac je da se prvo pravilo `"*"` stavi sveobuhvatno, a poslije njega konkretnija pravila.
|
||||
Pravila se procjenjuju na osnovu podudaranja uzorka, pri čemu **pobjeđuje **poslednje odgovarajuće pravilo\*_. Uobičajeni obrazac je da se prvo pravilo `"_"` stavi sveobuhvatno, a poslije njega konkretnija pravila.
|
||||
|
||||
### Zamjenski znakovi
|
||||
|
||||
Uzorci dozvola koriste jednostavno podudaranje zamjenskih znakova:
|
||||
|
||||
- `*` odgovara nula ili više bilo kojeg znaka
|
||||
- `?` odgovara tačno jednom znaku
|
||||
- Svi ostali likovi se bukvalno podudaraju
|
||||
|
||||
### Proširenje kućnog imenika
|
||||
|
||||
Možete koristiti `~` ili `$HOME` na početku obrasca da referencirate svoj početni direktorij. Ovo je posebno korisno za [`external_directory`](#external-directories) pravila.
|
||||
|
||||
- `~/projects/*` -> `/Users/username/projects/*`
|
||||
- `$HOME/projects/*` -> `/Users/username/projects/*`
|
||||
- `~` -> `/Users/username`
|
||||
|
||||
### Vanjski imenici
|
||||
|
||||
Koristite `external_directory` da dozvolite pozive alata koji dodiruju putanje izvan radnog direktorija gdje je OpenCode pokrenut. Ovo se odnosi na bilo koji alat koji uzima putanju kao ulaz (na primjer `read`, `edit`, `list`, `glob`, `grep` i mnoge `bash` komande).
|
||||
Proširenje kuće (poput `~/...`) utiče samo na način na koji je obrazac napisan. Ne čini vanjsku stazu dijelom trenutnog radnog prostora, tako da staze izvan radnog direktorija i dalje moraju biti dozvoljene preko `external_directory`.
|
||||
Na primjer, ovo omogućava pristup svemu pod `~/projects/personal/`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -85,6 +103,7 @@ Na primjer, ovo omogućava pristup svemu pod `~/projects/personal/`:
|
||||
```
|
||||
|
||||
Svaki direktorij koji je ovdje dozvoljen nasljeđuje iste zadane postavke kao trenutni radni prostor. Pošto je [`read` zadano na `allow`](#defaults), čitanje je također dozvoljeno za unose pod `external_directory` osim ako se ne poništi. Dodajte eksplicitna pravila kada bi alat trebao biti ograničen na ovim stazama, kao što je blokiranje uređivanja uz zadržavanje čitanja:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -99,11 +118,12 @@ Svaki direktorij koji je ovdje dozvoljen nasljeđuje iste zadane postavke kao tr
|
||||
}
|
||||
```
|
||||
|
||||
Neka lista bude fokusirana na pouzdane staze, a dodatni sloj dozvoljava ili odbija pravila prema potrebi za druge alate (na primjer `bash`).
|
||||
---
|
||||
## Neka lista bude fokusirana na pouzdane staze, a dodatni sloj dozvoljava ili odbija pravila prema potrebi za druge alate (na primjer `bash`).
|
||||
|
||||
## Dostupne dozvole
|
||||
|
||||
Dozvole OpenCode-a su označene imenom alata, plus nekoliko sigurnosnih mjera:
|
||||
|
||||
- `read` — čitanje datoteke (odgovara putanji datoteke)
|
||||
- `edit` — sve izmjene fajlova (pokriva `edit`, `write`, `patch`, `multiedit`)
|
||||
- `glob` — globbiranje fajla (odgovara glob uzorku)
|
||||
@@ -118,13 +138,17 @@ Dozvole OpenCode-a su označene imenom alata, plus nekoliko sigurnosnih mjera:
|
||||
- `websearch`, `codesearch` — pretraživanje weba/koda (odgovara upitu)
|
||||
- `external_directory` — pokreće se kada alat dodirne staze izvan radnog direktorija projekta
|
||||
- `doom_loop` — aktivira se kada se isti poziv alata ponovi 3 puta sa identičnim unosom
|
||||
|
||||
---
|
||||
|
||||
## Defaults
|
||||
|
||||
Ako ništa ne navedete, OpenCode počinje od dozvoljenih zadanih vrijednosti:
|
||||
|
||||
- Većina dozvola je zadana na `"allow"`.
|
||||
- `doom_loop` i `external_directory` zadano na `"ask"`.
|
||||
- `read` je `"allow"`, ali `.env` fajlovi su po defaultu odbijeni:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"permission": {
|
||||
@@ -141,14 +165,18 @@ Ako ništa ne navedete, OpenCode počinje od dozvoljenih zadanih vrijednosti:
|
||||
---
|
||||
|
||||
## Šta radi “Ask”.
|
||||
|
||||
Kada OpenCode zatraži odobrenje, korisničko sučelje nudi tri ishoda:
|
||||
|
||||
- `once` — odobri samo ovaj zahtjev
|
||||
- `always` — odobri buduće zahtjeve koji odgovaraju predloženim obrascima (za ostatak trenutne OpenCode sesije)
|
||||
- `reject` — odbiti zahtjev
|
||||
Skup obrazaca koje bi `always` odobrio pruža alat (na primjer, bash odobrenja obično stavljaju na bijelu listu sigurni prefiks komande kao što je `git status*`).
|
||||
Skup obrazaca koje bi `always` odobrio pruža alat (na primjer, bash odobrenja obično stavljaju na bijelu listu sigurni prefiks komande kao što je `git status*`).
|
||||
|
||||
---
|
||||
|
||||
## Agenti
|
||||
|
||||
Možete nadjačati dozvole po agentu. Dozvole agenta su spojene sa globalnom konfiguracijom, a pravila agenta imaju prednost. [Saznajte više](/docs/agents#permissions) o dozvolama agenta.
|
||||
:::napomena
|
||||
Pogledajte gornji odjeljak [Granularna pravila (sintaksa objekata)](#granular-rules-object-syntax) za detaljnije primjere podudaranja uzoraka.
|
||||
@@ -183,6 +211,7 @@ Pogledajte gornji odjeljak [Granularna pravila (sintaksa objekata)](#granular-ru
|
||||
```
|
||||
|
||||
Također možete konfigurirati dozvole agenta u Markdownu:
|
||||
|
||||
```markdown title="~/.config/opencode/agents/review.md"
|
||||
---
|
||||
description: Code review without edits
|
||||
|
||||
@@ -5,21 +5,27 @@ description: Napišite vlastite dodatke za proširenje OpenCode-a.
|
||||
|
||||
Dodaci vam omogućavaju da proširite OpenCode spajanjem na različite događaje i prilagođavanjem ponašanja. Možete kreirati dodatke za dodavanje novih funkcija, integraciju sa eksternim uslugama ili izmenu zadanog ponašanja OpenCode-a.
|
||||
Za primjere, pogledajte [plugins](/docs/ecosystem#plugins) kreirane od strane zajednice.
|
||||
|
||||
---
|
||||
|
||||
## Koristite dodatak
|
||||
Postoje dva načina za učitavanje dodataka.
|
||||
---
|
||||
|
||||
## Postoje dva načina za učitavanje dodataka.
|
||||
|
||||
### Iz lokalnih datoteka
|
||||
|
||||
Postavite JavaScript ili TypeScript datoteke u direktorij dodataka.
|
||||
|
||||
- `.opencode/plugins/` - Dodaci na nivou projekta
|
||||
- `~/.config/opencode/plugins/` - Globalni dodaci
|
||||
Datoteke u ovim direktorijumima se automatski učitavaju pri pokretanju.
|
||||
Datoteke u ovim direktorijumima se automatski učitavaju pri pokretanju.
|
||||
|
||||
---
|
||||
|
||||
### Od npm
|
||||
|
||||
Navedite npm pakete u vašoj konfiguracijskoj datoteci.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -29,29 +35,39 @@ Navedite npm pakete u vašoj konfiguracijskoj datoteci.
|
||||
|
||||
Podržani su i regularni i npm paketi sa opsegom.
|
||||
Pregledajte dostupne dodatke u [ecosystem](/docs/ecosystem#plugins).
|
||||
|
||||
---
|
||||
|
||||
### Kako se instaliraju dodaci
|
||||
|
||||
**npm dodaci** se instaliraju automatski pomoću Bun pri pokretanju. Paketi i njihove zavisnosti su keširani u `~/.cache/opencode/node_modules/`.
|
||||
**Lokalni dodaci** se učitavaju direktno iz direktorija dodataka. Da biste koristili vanjske pakete, morate kreirati `package.json` unutar svog konfiguracijskog direktorija (pogledajte [Zavisnosti](#dependencies)) ili objaviti dodatak na npm i [dodati ga u svoju konfiguraciju](/docs/config#plugins).
|
||||
|
||||
---
|
||||
|
||||
### Učitaj redoslijed
|
||||
|
||||
Dodaci se učitavaju iz svih izvora i svi zakačnjaci rade u nizu. Redoslijed učitavanja je:
|
||||
|
||||
1. Globalna konfiguracija (`~/.config/opencode/opencode.json`)
|
||||
2. Konfiguracija projekta (`opencode.json`)
|
||||
3. Globalni direktorij dodataka (`~/.config/opencode/plugins/`)
|
||||
4. Direktorij dodataka projekta (`.opencode/plugins/`)
|
||||
Duplicirani npm paketi sa istim imenom i verzijom se učitavaju jednom. Međutim, lokalni dodatak i npm dodatak sa sličnim nazivima se učitavaju odvojeno.
|
||||
Duplicirani npm paketi sa istim imenom i verzijom se učitavaju jednom. Međutim, lokalni dodatak i npm dodatak sa sličnim nazivima se učitavaju odvojeno.
|
||||
|
||||
---
|
||||
|
||||
## Kreirajte dodatak
|
||||
|
||||
Dodatak je **JavaScript/TypeScript modul** koji izvozi jedan ili više dodataka
|
||||
funkcije. Svaka funkcija prima objekt konteksta i vraća hooks objekt.
|
||||
|
||||
---
|
||||
|
||||
### Zavisnosti
|
||||
|
||||
Lokalni dodaci i prilagođeni alati mogu koristiti vanjske npm pakete. Dodajte `package.json` u svoj konfiguracijski direktorij sa zavisnostima koje su vam potrebne.
|
||||
|
||||
```json title=".opencode/package.json"
|
||||
{
|
||||
"dependencies": {
|
||||
@@ -61,6 +77,7 @@ Lokalni dodaci i prilagođeni alati mogu koristiti vanjske npm pakete. Dodajte `
|
||||
```
|
||||
|
||||
OpenCode pokreće `bun install` pri pokretanju da ih instalira. Vaši dodaci i alati ih zatim mogu uvesti.
|
||||
|
||||
```ts title=".opencode/plugins/my-plugin.ts"
|
||||
import { escape } from "shescape"
|
||||
|
||||
@@ -78,6 +95,7 @@ export const MyPlugin = async (ctx) => {
|
||||
---
|
||||
|
||||
### Osnovna struktura
|
||||
|
||||
```js title=".opencode/plugins/example.js"
|
||||
export const MyPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
console.log("Plugin initialized!")
|
||||
@@ -89,15 +107,19 @@ export const MyPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
```
|
||||
|
||||
Funkcija dodatka prima:
|
||||
|
||||
- `project`: Trenutne informacije o projektu.
|
||||
- `directory`: Trenutni radni direktorij.
|
||||
- `worktree`: Putanja git radnog stabla.
|
||||
- `client`: Opencode SDK klijent za interakciju sa AI.
|
||||
- `$`: Bun's [shell API](https://bun.com/docs/runtime/shell) za izvršavanje naredbi.
|
||||
|
||||
---
|
||||
|
||||
### Podrška za TypeScript
|
||||
|
||||
Za TypeScript dodatke, možete uvesti tipove iz paketa dodataka:
|
||||
|
||||
```ts title="my-plugin.ts" {1}
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
@@ -111,28 +133,45 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
|
||||
---
|
||||
|
||||
### Događaji
|
||||
|
||||
Dodaci se mogu pretplatiti na događaje kao što je prikazano ispod u odjeljku Primjeri. Evo liste različitih dostupnih događaja.
|
||||
|
||||
#### Komandni događaji
|
||||
|
||||
- `command.executed`
|
||||
|
||||
#### Događaji datoteka
|
||||
|
||||
- `file.edited`
|
||||
- `file.watcher.updated`
|
||||
|
||||
#### Instalacijski događaji
|
||||
|
||||
- `installation.updated`
|
||||
|
||||
#### LSP događaji
|
||||
|
||||
- `lsp.client.diagnostics`
|
||||
- `lsp.updated`
|
||||
|
||||
#### Poruka Događaji
|
||||
|
||||
- `message.part.removed`
|
||||
- `message.part.updated`
|
||||
- `message.removed`
|
||||
- `message.updated`
|
||||
|
||||
#### Događaji dozvole
|
||||
|
||||
- `permission.asked`
|
||||
- `permission.replied`
|
||||
|
||||
#### Serverski događaji
|
||||
|
||||
- `server.connected`
|
||||
|
||||
#### Događaji sesije
|
||||
|
||||
- `session.created`
|
||||
- `session.compacted`
|
||||
- `session.deleted`
|
||||
@@ -141,25 +180,36 @@ Dodaci se mogu pretplatiti na događaje kao što je prikazano ispod u odjeljku P
|
||||
- `session.idle`
|
||||
- `session.status`
|
||||
- `session.updated`
|
||||
|
||||
#### Todo događaji
|
||||
|
||||
- `todo.updated`
|
||||
|
||||
#### Shell događaji
|
||||
|
||||
- `shell.env`
|
||||
|
||||
#### Alat Događaji
|
||||
|
||||
- `tool.execute.after`
|
||||
- `tool.execute.before`
|
||||
|
||||
#### TUI događaji
|
||||
|
||||
- `tui.prompt.append`
|
||||
- `tui.command.execute`
|
||||
- `tui.toast.show`
|
||||
|
||||
---
|
||||
|
||||
## Primjeri
|
||||
Evo nekoliko primjera dodataka koje možete koristiti za proširenje otvorenog koda.
|
||||
---
|
||||
|
||||
## Evo nekoliko primjera dodataka koje možete koristiti za proširenje otvorenog koda.
|
||||
|
||||
### Šalji obavještenja
|
||||
|
||||
Pošaljite obavještenja kada se dogode određeni događaji:
|
||||
|
||||
```js title=".opencode/plugins/notification.js"
|
||||
export const NotificationPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
return {
|
||||
@@ -181,7 +231,9 @@ Ako koristite desktop aplikaciju OpenCode, ona može automatski slati sistemske
|
||||
---
|
||||
|
||||
### .env zaštita
|
||||
|
||||
Spriječite opencode da čita `.env` fajlove:
|
||||
|
||||
```javascript title=".opencode/plugins/env-protection.js"
|
||||
export const EnvProtection = async ({ project, client, $, directory, worktree }) => {
|
||||
return {
|
||||
@@ -197,7 +249,9 @@ export const EnvProtection = async ({ project, client, $, directory, worktree })
|
||||
---
|
||||
|
||||
### Ubacite varijable okruženja
|
||||
|
||||
Ubacite varijable okruženja u sva izvršavanja ljuske (AI alati i korisnički terminali):
|
||||
|
||||
```javascript title=".opencode/plugins/inject-env.js"
|
||||
export const InjectEnvPlugin = async () => {
|
||||
return {
|
||||
@@ -212,7 +266,9 @@ export const InjectEnvPlugin = async () => {
|
||||
---
|
||||
|
||||
### Prilagođeni alati
|
||||
|
||||
Dodaci također mogu dodati prilagođene alate u opencode:
|
||||
|
||||
```ts title=".opencode/plugins/custom-tools.ts"
|
||||
import { type Plugin, tool } from "@opencode-ai/plugin"
|
||||
|
||||
@@ -235,14 +291,18 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
|
||||
```
|
||||
|
||||
Pomoćnik `tool` kreira prilagođeni alat koji opencode može pozvati. Uzima funkciju Zod sheme i vraća definiciju alata sa:
|
||||
|
||||
- `description`: Šta alat radi
|
||||
- `args`: Zod šema za argumente alata
|
||||
- `execute`: Funkcija koja se pokreće kada se pozove alat
|
||||
Vaši prilagođeni alati će biti dostupni za opencode zajedno sa ugrađenim alatima.
|
||||
Vaši prilagođeni alati će biti dostupni za opencode zajedno sa ugrađenim alatima.
|
||||
|
||||
---
|
||||
|
||||
### Logging
|
||||
|
||||
Koristite `client.app.log()` umjesto `console.log` za strukturirano bilježenje:
|
||||
|
||||
```ts title=".opencode/plugins/my-plugin.ts"
|
||||
export const MyPlugin = async ({ client }) => {
|
||||
await client.app.log({
|
||||
@@ -256,11 +316,12 @@ export const MyPlugin = async ({ client }) => {
|
||||
}
|
||||
```
|
||||
|
||||
Nivoi: `debug`, `info`, `warn`, `error`. Pogledajte [SDK dokumentaciju](https://opencode.ai/docs/sdk) za detalje.
|
||||
---
|
||||
## Nivoi: `debug`, `info`, `warn`, `error`. Pogledajte [SDK dokumentaciju](https://opencode.ai/docs/sdk) za detalje.
|
||||
|
||||
### Kuke za sabijanje
|
||||
|
||||
Prilagodite kontekst uključen kada se sesija zbije:
|
||||
|
||||
```ts title=".opencode/plugins/compaction.ts"
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
@@ -283,6 +344,7 @@ Include any state that should persist across compaction:
|
||||
|
||||
`experimental.session.compacting` kuka se aktivira prije nego što LLM generira sažetak nastavka. Koristite ga za ubacivanje konteksta specifičnog za domenu koji bi zadani prompt za sažimanje propustio.
|
||||
Također možete u potpunosti zamijeniti prompt za sabijanje postavljanjem `output.prompt`:
|
||||
|
||||
```ts title=".opencode/plugins/custom-compaction.ts"
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
@@ -306,4 +368,4 @@ Format as a structured prompt that a new agent can use to resume work.
|
||||
}
|
||||
```
|
||||
|
||||
Kada je `output.prompt` postavljen, on u potpunosti zamjenjuje zadani prompt za sažimanje. Niz `output.context` se zanemaruje u ovom slučaju.
|
||||
Kada je `output.prompt` postavljen, on u potpunosti zamjenjuje zadani prompt za sažimanje. Niz `output.context` se zanemaruje u ovom slučaju.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -240,15 +240,13 @@ Da biste ovo riješili:
|
||||
1. Prvo provjerite da li je vaš provajder ispravno postavljen slijedeći [vodič za pružatelje](/docs/providers)
|
||||
2. Ako se problem nastavi, pokušajte obrisati pohranjenu konfiguraciju:
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
rm -rf ~/.local/share/opencode
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
Na Windows-u pritisnite `WIN+R` i izbrišite: `%USERPROFILE%\.local\share\opencode`
|
||||
Na Windows-u pritisnite `WIN+R` i izbrišite: `%USERPROFILE%\.local\share\opencode`
|
||||
|
||||
3. Ponovo izvršite autentifikaciju kod svog provajdera koristeći naredbu `/connect` u TUI.
|
||||
|
||||
@@ -262,15 +260,13 @@ Da biste riješili probleme s paketom dobavljača:
|
||||
|
||||
1. Obrišite keš paketa provajdera:
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
rm -rf ~/.cache/opencode
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
Na Windows-u pritisnite `WIN+R` i izbrišite: `%USERPROFILE%\.cache\opencode`
|
||||
Na Windows-u pritisnite `WIN+R` i izbrišite: `%USERPROFILE%\.cache\opencode`
|
||||
|
||||
2. Ponovo pokrenite opencode da ponovo instalirate najnovije pakete dobavljača
|
||||
|
||||
|
||||
@@ -291,7 +291,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
|
||||
<Tabs>
|
||||
<TabItem label="Linux/macOS">
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
# Example for nano or vim
|
||||
@@ -301,7 +301,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
export EDITOR="code --wait"
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
@@ -311,7 +311,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Windows (CMD)">
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
set EDITOR=notepad
|
||||
@@ -319,7 +319,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
set EDITOR=code --wait
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
@@ -329,7 +329,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Windows (PowerShell)">
|
||||
|
||||
|
||||
|
||||
```powershell
|
||||
$env:EDITOR = "notepad"
|
||||
@@ -337,7 +337,7 @@ Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabl
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
$env:EDITOR = "code --wait"
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user