| --- |
| 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. |
| ``` |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| --- |
| |
| |
|
|
| Započnite poruku sa `!` da pokrenete komandu ljuske. |
|
|
| ```bash frame="none" |
| !ls -la |
| ``` |
|
|
| Izlaz naredbe se dodaje u razgovor kao rezultat alata. |
|
|
| --- |
| |
| |
|
|
| 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: |
|
|
| --- |
| |
| |
|
|
| Dodajte provajdera u OpenCode. Omogućava vam da odaberete između dostupnih provajdera i dodate njihove API ključeve. |
|
|
| ```bash frame="none" |
| /connect |
| ``` |
|
|
| --- |
| |
| |
|
|
| Sažimanje trenutne sesije. _Alias_: `/summarize` |
|
|
| ```bash frame="none" |
| /compact |
| ``` |
|
|
| **Tastatura:** `ctrl+x c` |
|
|
| --- |
| |
| |
|
|
| Prebacite detalje o izvršavanju alata. |
|
|
| ```bash frame="none" |
| /details |
| ``` |
|
|
| **Tastatura:** `ctrl+x d` |
|
|
| --- |
| |
| |
|
|
| 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` |
|
|
| --- |
| |
| |
|
|
| Izađite iz OpenCode. _Aliases_: `/quit`, `/q` |
|
|
| ```bash frame="none" |
| /exit |
| ``` |
|
|
| **Tastatura:** `ctrl+x q` |
|
|
| --- |
| |
| |
|
|
| 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` |
|
|
| --- |
| |
| |
|
|
| Prikaži dijalog pomoći. |
|
|
| ```bash frame="none" |
| /help |
| ``` |
|
|
| **Tastatura:** `ctrl+x h` |
|
|
| --- |
| |
| |
|
|
| Kreirajte ili ažurirajte datoteku `AGENTS.md`. [Saznajte više](/docs/rules). |
|
|
| ```bash frame="none" |
| /init |
| ``` |
|
|
| **Tastatura:** `ctrl+x i` |
|
|
| --- |
| |
| |
|
|
| Navedite dostupne modele. |
|
|
| ```bash frame="none" |
| /models |
| ``` |
|
|
| **Tastatura:** `ctrl+x m` |
|
|
| --- |
| |
| |
|
|
| Započnite novu sesiju. _Alias_: `/clear` |
|
|
| ```bash frame="none" |
| /new |
| ``` |
|
|
| **Tastatura:** `ctrl+x n` |
|
|
| --- |
| |
| |
|
|
| 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` |
|
|
| --- |
| |
| |
|
|
| Listanje i prebacivanje između sesija. _Aliases_: `/resume`, `/continue` |
|
|
| ```bash frame="none" |
| /sessions |
| ``` |
|
|
| **Tastatura:** `ctrl+x l` |
|
|
| --- |
| |
| |
|
|
| Podijelite trenutnu sesiju. [Saznajte više](/docs/share). |
|
|
| ```bash frame="none" |
| /share |
| ``` |
|
|
| **Tastatura:** `ctrl+x s` |
|
|
| --- |
| |
| |
|
|
| Navedite dostupne teme. |
|
|
| ```bash frame="none" |
| /themes |
| ``` |
|
|
| **Tastatura:** `ctrl+x t` |
|
|
| --- |
| |
| |
|
|
| 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 |
| ``` |
|
|
| --- |
| |
| |
|
|
| 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` |
|
|
| --- |
| |
| |
|
|
| Poništi dijeljenje trenutne sesije. [Saznajte više](/docs/share#un-sharing). |
|
|
| ```bash frame="none" |
| /unshare |
| ``` |
|
|
| --- |
| |
| |
|
|
| Obje naredbe `/editor` i `/export` koriste editor specificiran u vašoj varijabli okruženja `EDITOR`. |
|
|
| <Tabs> |
| <TabItem label="Linux/macOS"> |
|
|
| ```bash |
| |
| export EDITOR=nano |
| export EDITOR=vim |
|
|
| |
| |
| 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 |
|
|
| |
| |
| 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" |
|
|
| |
| |
| $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. |
|
|
| --- |
| |
| |
|
|
| 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. |
|
|
| |
|
|
| - `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 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`. |
|
|
| --- |
| |
| |
|
|
| Možete prilagoditi različite aspekte TUI prikaza koristeći paletu komandi (`ctrl+x h` ili `/help`). Ove postavke traju i nakon ponovnog pokretanja. |
|
|
| --- |
| |
| |
|
|
| 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 |
|
|