File size: 10,186 Bytes
89a2873 | 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 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 | ---
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",
"leader_timeout": 2000,
"keybinds": {
"leader": "ctrl+x",
"command_list": "ctrl+p"
},
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": false
},
"diff_style": "auto",
"mouse": true,
"attention": {
"enabled": true,
"notifications": true,
"sound": true,
"volume": 0.4,
"sound_pack": "opencode.default",
"sounds": {
"error": "./sounds/error.mp3"
}
}
}
```
Ovo je odvojeno od `opencode.json`, koji konfiguriše ponašanje servera/izvršavanja.
`keybinds` se spaja s ugrađenim zadanim vrijednostima, tako da trebate konfigurisati samo prečice koje želite promijeniti.
### Opcije
- `theme` - Postavlja vašu UI temu. [Saznajte više](/docs/themes).
- `keybinds` - Prilagođava prečice na tastaturi. [Saznajte više](/docs/keybinds).
- `leader_timeout` - Kontroliše koliko dugo OpenCode čeka nakon leader key. Podrazumijevano je `2000`.
- `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.
- `mouse` - Omogućava ili onemogućava hvatanje miša u TUI (podrazumijevano: `true`). Kada je onemogućeno, zadržava se izvorno ponašanje terminala za označavanje i pomicanje mišem.
- `attention` - Konfiguriše desktop obavještenja i zvukove za TUI. Podrazumijevano je onemogućeno.
Koristite `OPENCODE_TUI_CONFIG` da učitate prilagođenu putanju TUI konfiguracije.
### Attention
Attention omogućava da vas TUI obavijesti kada OpenCode čeka odgovor, treba odobrenje dozvole, prijavi grešku sesije ili završi sesiju. Omogućite ga pomoću `attention.enabled`; ugrađeni događaji reproduciraju zvuk kada se dogode. Desktop obavještenja se šalju samo kada prozor terminala nije u fokusu i ne koriste se za subagent događaje.
- `enabled` - Omogućava sva obavještenja i zvukove za Attention. Podrazumijevano je `false`.
- `notifications` - Kada je Attention omogućen, dozvoljava TUI-ju da šalje desktop obavještenja putem terminala. Podrazumijevano je `true`.
- `sound` - Kada je Attention omogućen, dozvoljava zvukove upozorenja. Podrazumijevano je `true`.
- `volume` - Podrazumijevana jačina zvukova upozorenja od `0` do `1`. Podrazumijevano je `0.4`.
- `sound_pack` - Sound pack ID koji se koristi. Podrazumijevano je `opencode.default`.
- `sounds` - Postavlja prilagođene zvučne datoteke za `default`, `question`, `permission`, `error`, `done` ili `subagent_done`. Putanje mogu biti apsolutne, `file://` URL-ovi ili relativne u odnosu na `tui.json`.
---
## 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
|