1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
|
---
title: TUI
description: Korištenje korisničkog interfejsa OpenCode terminala.
---
import { Tabs, TabItem } from "@astrojs/starlight/components"
OpenCode pruža interaktivni terminalski interfejs ili TUI za rad na vašim projektima sa LLM.
Pokretanje OpenCode pokreće TUI za trenutni direktorij.
```bash
opencode
```
Ili ga možete pokrenuti za određeni radni direktorij.
```bash
opencode /path/to/project
```
Kada uđete u TUI, možete to zatražiti porukom.
```text
Give me a quick summary of the codebase.
```
---
## Reference datoteka
Možete referencirati datoteke u svojim porukama koristeći `@`. Ovo vrši nejasnu pretragu datoteka u trenutnom radnom direktoriju.
:::tip
Također možete koristiti `@` da referencirate datoteke u svojim porukama.
:::
```text "@packages/functions/src/api/index.ts"
How is auth handled in @packages/functions/src/api/index.ts?
```
Sadržaj datoteke se automatski dodaje u razgovor.
---
## Bash naredbe
Započnite poruku sa `!` da pokrenete komandu ljuske.
```bash frame="none"
!ls -la
```
Izlaz naredbe se dodaje u razgovor kao rezultat alata.
---
## Naredbe
Kada koristite OpenCode TUI, možete upisati `/` nakon čega slijedi ime komande da biste brzo izvršili radnje. na primjer:
```bash frame="none"
/help
```
Većina naredbi također ima vezu pomoću `ctrl+x` kao vodeće tipke, gdje je `ctrl+x` zadani vodeći ključ. [Saznajte više](/docs/keybinds).
Ovdje su sve dostupne komande kose crte:
---
### connect
Dodajte provajdera u OpenCode. Omogućava vam da odaberete između dostupnih provajdera i dodate njihove API ključeve.
```bash frame="none"
/connect
```
---
### compact
Sažimanje trenutne sesije. _Alias_: `/summarize`
```bash frame="none"
/compact
```
**Tastatura:** `ctrl+x c`
---
### details
Prebacite detalje o izvršavanju alata.
```bash frame="none"
/details
```
**Tastatura:** `ctrl+x d`
---
### editor
Otvorite vanjski uređivač za sastavljanje poruka. Koristi editor postavljen u vašoj varijabli okruženja `EDITOR`. [Saznajte više](#editor-setup).
```bash frame="none"
/editor
```
**Tastatura:** `ctrl+x e`
---
### exit
Izađite iz OpenCode. _Aliases_: `/quit`, `/q`
```bash frame="none"
/exit
```
**Tastatura:** `ctrl+x q`
---
### export
Izvezite trenutni razgovor u Markdown i otvorite ga u zadanom uređivaču. Koristi editor postavljen u vašoj varijabli okruženja `EDITOR`. [Saznajte više](#editor-setup).
```bash frame="none"
/export
```
**Tastatura:** `ctrl+x x`
---
### help
Prikaži dijalog pomoći.
```bash frame="none"
/help
```
**Tastatura:** `ctrl+x h`
---
### init
Kreirajte ili ažurirajte datoteku `AGENTS.md`. [Saznajte više](/docs/rules).
```bash frame="none"
/init
```
**Tastatura:** `ctrl+x i`
---
### models
Navedite dostupne modele.
```bash frame="none"
/models
```
**Tastatura:** `ctrl+x m`
---
### new
Započnite novu sesiju. _Alias_: `/clear`
```bash frame="none"
/new
```
**Tastatura:** `ctrl+x n`
---
### redo
Ponovite prethodno poništenu poruku. Dostupno samo nakon korištenja `/undo`.
:::tip
Sve promjene fajla će također biti vraćene.
:::
Interno, ovo koristi Git za upravljanje promjenama datoteke. Dakle, vaš projekat **treba
biti Git spremište**.
```bash frame="none"
/redo
```
**Tastatura:** `ctrl+x r`
---
### sessions
Listanje i prebacivanje između sesija. _Aliases_: `/resume`, `/continue`
```bash frame="none"
/sessions
```
**Tastatura:** `ctrl+x l`
---
### share
Podijelite trenutnu sesiju. [Saznajte više](/docs/share).
```bash frame="none"
/share
```
**Tastatura:** `ctrl+x s`
---
### themes
Navedite dostupne teme.
```bash frame="none"
/themes
```
**Tastatura:** `ctrl+x t`
---
### thinking
Uključite/isključite vidljivost blokova razmišljanja/rezoniranja u razgovoru. Kada je omogućeno, možete vidjeti proces rezonovanja modela za modele koji podržavaju prošireno razmišljanje.
:::note
Ova naredba samo kontrolira da li se blokovi razmišljanja **prikažu** - ne omogućava niti onemogućuje mogućnosti razmišljanja modela. Da biste uključili stvarne mogućnosti zaključivanja, koristite `ctrl+t` za kretanje kroz varijante modela.
:::
```bash frame="none"
/thinking
```
---
### undo
Poništi posljednju poruku u razgovoru. Uklanja najnoviju korisničku poruku, sve naknadne odgovore i sve promjene datoteke.
:::tip
Sve promjene u fajlu će također biti poništene.
:::
Interno, ovo koristi Git za upravljanje promjenama datoteke. Dakle, vaš projekat **treba
biti Git spremište**.
```bash frame="none"
/undo
```
**Tastatura:** `ctrl+x u`
---
### unshare
Poništi dijeljenje trenutne sesije. [Saznajte više](/docs/share#un-sharing).
```bash frame="none"
/unshare
```
---
## Podešavanje uređivača
Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabli okruženja `EDITOR`.
<Tabs>
<TabItem label="Linux/macOS">
```bash
# Example for nano or vim
export EDITOR=nano
export EDITOR=vim
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
export EDITOR="code --wait"
```
Da biste ga učinili trajnim, dodajte ovo u svoj shell profil;
`~/.bashrc`, `~/.zshrc`, itd.
</TabItem>
<TabItem label="Windows (CMD)">
```bash
set EDITOR=notepad
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
set EDITOR=code --wait
```
Da biste ga učinili trajnim, koristite **Svojstva sistema** > **Okruženje
Varijable**.
</TabItem>
<TabItem label="Windows (PowerShell)">
```powershell
$env:EDITOR = "notepad"
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
$env:EDITOR = "code --wait"
```
Da biste ga učinili trajnim, dodajte ovo u svoj PowerShell profil.
</TabItem>
</Tabs>
Popularne opcije uređivača uključuju:
- `code` - Visual Studio Code
- `cursor` - Cursor
- `windsurf` - Windsurf
- `nvim` - Neovim editorom
- `vim` - Vim editor
- `nano` - Nano editor
- `notepad` - Windows Notepad
- `subl` - Sublime Text
:::note
Neki uređivači kao što je VS Code moraju biti pokrenuti sa `--wait` zastavicom.
:::
Nekim uređivačima su potrebni argumenti komandne linije da bi se pokrenuli u načinu blokiranja. Oznaka `--wait` blokira proces uređivača dok se ne zatvori.
---
## Konfiguracija
Možete prilagoditi TUI ponašanje putem `tui.json` (ili `tui.jsonc`).
```json title="tui.json"
{
"$schema": "https://opencode.ai/tui.json",
"theme": "opencode",
"keybinds": {
"leader": "ctrl+x"
},
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
},
"diff_style": "auto"
}
```
Ovo je odvojeno od `opencode.json`, koji konfiguriše ponašanje servera/izvršavanja.
### Opcije
- `theme` - Postavlja vašu UI temu. [Saznajte više](/docs/themes).
- `keybinds` - Prilagođava prečice na tastaturi. [Saznajte više](/docs/keybinds).
- `scroll_acceleration.enabled` - Omogućite ubrzanje pomicanja u macOS stilu za glatko, prirodno pomicanje. Kada je omogućeno, brzina pomicanja se povećava brzim pokretima pomicanja i ostaje precizna za sporije pokrete. **Ova postavka ima prednost nad `scroll_speed` i nadjačava je kada je omogućena.**
- `scroll_speed` - Kontrolira koliko brzo TUI skroluje kada se koriste komande za pomeranje (minimum: `0.001`, podržava decimalne vrijednosti). Podrazumevano je `3`. **Napomena: Ovo se zanemaruje ako je `scroll_acceleration.enabled` postavljeno na `true`.**
- `diff_style` - Kontrolira prikazivanje razlike. `"auto"` se prilagođava širini terminala, `"stacked"` uvijek prikazuje raspored u jednoj koloni.
Koristite `OPENCODE_TUI_CONFIG` da učitate prilagođenu putanju TUI konfiguracije.
---
## Prilagođavanje
Možete prilagoditi različite aspekte TUI prikaza koristeći paletu komandi (`ctrl+x h` ili `/help`). Ove postavke traju i nakon ponovnog pokretanja.
---
#### Prikaz korisničkog imena
Uključite da li se vaše korisničko ime pojavljuje u porukama za ćaskanje. Pristupite ovome putem:
- Paleta naredbi: Potražite "korisničko ime" ili "sakrij korisničko ime"
- Postavka se automatski nastavlja i pamtit će se tijekom TUI sesija
|