| --- |
| title: TUI |
| description: Korzystanie z interfejsu użytkownika terminala opencode. |
| --- |
| |
| import { Tabs, TabItem } from "@astrojs/starlight/components" |
|
|
| opencode zapewnia interaktywny interfejs terminala lub TUI do pracy nad projektami za pomocą LLM. |
|
|
| Uruchomienie opencode uruchamia TUI dla bieżącego katalogu. |
|
|
| ```bash |
| opencode |
| ``` |
|
|
| Możesz też uruchomić go dla określonego katalogu roboczego. |
|
|
| ```bash |
| opencode /path/to/project |
| ``` |
|
|
| Gdy znajdziesz się w TUI, możesz wyświetlić monit za pomocą komunikatu. |
|
|
| ```text |
| Give me a quick summary of the codebase. |
| ``` |
|
|
| --- |
| |
| |
|
|
| Możesz odwoływać się do plików w swoich wiadomościach, używając `@`. Spowoduje to rozmyte wyszukiwanie plików w bieżącym katalogu roboczym. |
|
|
| :::tip |
| Możesz także użyć `@` do odwoływania się do plików w swoich wiadomościach. |
| ::: |
|
|
| ```text "@packages/functions/src/api/index.ts" |
| How is auth handled in @packages/functions/src/api/index.ts? |
| ``` |
|
|
| Zawartość pliku jest automatycznie dodawana do rozmowy. |
|
|
| --- |
| |
| |
|
|
| Rozpocznij wiadomość od `!`, aby uruchomić polecenie shell. |
|
|
| ```bash frame="none" |
| !ls -la |
| ``` |
|
|
| Dane wyjściowe polecenia są dodawane do konwersacji jako wynik narzędzia. |
|
|
| --- |
| |
| |
|
|
| Korzystając z TUI opencode, możesz wpisać `/`, po którym następuje nazwa polecenia, aby szybko wykonać działania. Na przykład: |
|
|
| ```bash frame="none" |
| /help |
| ``` |
|
|
| Większość poleceń ma również skrót klawiszowy wykorzystujący `ctrl+x` jako klucz wiodący, gdzie `ctrl+x` jest domyślnym klawiszem wiodącym. [Dowiedz się więcej](/docs/keybinds). |
|
|
| Oto wszystkie dostępne slash commands: |
|
|
| --- |
| |
| |
|
|
| Dodaj dostawcę do opencode. Umożliwia wybór dostępnych dostawców i dodanie ich kluczy API. |
|
|
| ```bash frame="none" |
| /connect |
| ``` |
|
|
| --- |
| |
| |
|
|
| Kompaktuj bieżącą sesję. _Alias_: `/summarize` |
|
|
| ```bash frame="none" |
| /compact |
| ``` |
|
|
| **Keybind:** `ctrl+x c` |
|
|
| --- |
| |
| |
|
|
| Przełącz szczegóły wykonywania narzędzi. |
|
|
| ```bash frame="none" |
| /details |
| ``` |
|
|
| **Keybind:** `ctrl+x d` |
|
|
| --- |
| |
| |
|
|
| Otwórz zewnętrzny edytor do tworzenia wiadomości. Używa edytora ustawionego w zmiennej środowiskowej `EDITOR`. [Dowiedz się więcej](#editor-setup). |
|
|
| ```bash frame="none" |
| /editor |
| ``` |
|
|
| **Keybind:** `ctrl+x e` |
|
|
| --- |
| |
| |
|
|
| Zamknij opencode. _Aliasy_: `/quit`, `/q` |
|
|
| ```bash frame="none" |
| /exit |
| ``` |
|
|
| **Keybind:** `ctrl+x q` |
|
|
| --- |
| |
| |
|
|
| Wyeksportuj bieżącą rozmowę do Markdown i otwórz ją w domyślnym edytorze. Używa edytora ustawionego w zmiennej środowiskowej `EDITOR`. [Dowiedz się więcej](#editor-setup). |
|
|
| ```bash frame="none" |
| /export |
| ``` |
|
|
| **Keybind:** `ctrl+x x` |
|
|
| --- |
| |
| |
|
|
| Pokaż okno pomocy. |
|
|
| ```bash frame="none" |
| /help |
| ``` |
|
|
| **Keybind:** `ctrl+x h` |
|
|
| --- |
| |
| |
|
|
| Utwórz lub zaktualizuj plik `AGENTS.md`. [Dowiedz się więcej](/docs/rules). |
|
|
| ```bash frame="none" |
| /init |
| ``` |
|
|
| **Keybind:** `ctrl+x i` |
|
|
| --- |
| |
| |
|
|
| Lista dostępnych modeli. |
|
|
| ```bash frame="none" |
| /models |
| ``` |
|
|
| **Keybind:** `ctrl+x m` |
|
|
| --- |
| |
| |
|
|
| Rozpocznij nową sesję. _Alias_: `/clear` |
|
|
| ```bash frame="none" |
| /new |
| ``` |
|
|
| **Keybind:** `ctrl+x n` |
|
|
| --- |
| |
| |
|
|
| Ponów cofniętą wcześniej wiadomość. Dostępne tylko po użyciu `/undo`. |
|
|
| :::tip |
| Wszystkie zmiany plików również zostaną przywrócone. |
| ::: |
|
|
| Wewnętrznie używa Git do zarządzania zmianami plików. Więc Twój projekt ** musi |
| be a Git repository**. |
|
|
| ```bash frame="none" |
| /redo |
| ``` |
|
|
| **Keybind:** `ctrl+x r` |
|
|
| --- |
| |
| |
|
|
| Wyświetl listę i przełączaj się między sesjami. _Aliasy_: `/resume`, `/continue` |
|
|
| ```bash frame="none" |
| /sessions |
| ``` |
|
|
| **Keybind:** `ctrl+x l` |
|
|
| --- |
| |
| |
|
|
| Udostępnij bieżącą sesję. [Dowiedz się więcej](/docs/share). |
|
|
| ```bash frame="none" |
| /share |
| ``` |
|
|
| **Keybind:** `ctrl+x s` |
|
|
| --- |
| |
| |
|
|
| Lista dostępnych motywów. |
|
|
| ```bash frame="none" |
| /theme |
| ``` |
|
|
| **Keybind:** `ctrl+x t` |
|
|
| --- |
| |
| |
|
|
| Przełącz widoczność bloków myślenia/rozumowania w rozmowie. Po włączeniu tej opcji można zobaczyć proces wnioskowania modelu w przypadku modeli obsługujących myślenie rozszerzone. |
|
|
| :::note |
| To polecenie kontroluje jedynie, czy bloki myślowe są **wyświetlane** - nie włącza ani nie wyłącza możliwości wnioskowania modelu. Aby przełączyć rzeczywiste możliwości wnioskowania, użyj `ctrl+t` do przełączania wariantów modelu. |
| ::: |
|
|
| ```bash frame="none" |
| /thinking |
| ``` |
|
|
| --- |
| |
| |
|
|
| Cofnij ostatnią wiadomość w rozmowie. Usuwa najnowszą wiadomość użytkownika, wszystkie kolejne odpowiedzi i wszelkie zmiany w plikach. |
|
|
| :::tip |
| Wszystkie zmiany plików również zostaną cofnięte. |
| ::: |
|
|
| Wewnętrznie używa Git do zarządzania zmianami plików. Więc Twój projekt ** musi |
| be a Git repository**. |
|
|
| ```bash frame="none" |
| /undo |
| ``` |
|
|
| **Keybind:** `ctrl+x u` |
|
|
| --- |
| |
| |
|
|
| Anuluj udostępnianie bieżącej sesji. [Dowiedz się więcej](/docs/share#un-sharing). |
|
|
| ```bash frame="none" |
| /unshare |
| ``` |
|
|
| --- |
| |
| |
|
|
| Zarówno polecenia `/editor`, jak i `/export` korzystają z edytora określonego w zmiennej środowiskowej `EDITOR`. |
|
|
| <Tabs> |
| <TabItem label="Linux/macOS"> |
| ```bash |
| |
| export EDITOR=nano |
| export EDITOR=vim |
|
|
| |
| |
| export EDITOR="code --wait" |
| ``` |
|
|
| Aby było to trwałe, dodaj to do swojego profilu shell; |
| `~/.bashrc`, `~/.zshrc`, etc. |
|
|
| </TabItem> |
|
|
| <TabItem label="Windows (CMD)"> |
| ```bash |
| set EDITOR=notepad |
|
|
| |
| |
| set EDITOR=code --wait |
| ``` |
|
|
| Aby ustawić tę opcję na stałe, użyj opcji **Właściwości systemu** > **Środowisko |
| Variables**. |
|
|
| </TabItem> |
|
|
| <TabItem label="Windows (PowerShell)"> |
| ```powershell |
| $env:EDITOR = "notepad" |
|
|
| |
| |
| $env:EDITOR = "code --wait" |
| ``` |
|
|
| Aby uczynić to trwałym, dodaj to do swojego profilu PowerShell. |
|
|
| </TabItem> |
| </Tabs> |
|
|
| Popularne opcje edytora: |
|
|
| - `code` - Visual Studio Code |
| - `cursor` - Cursor |
| - `windsurf` - Windsurf |
| - `nvim` - Neovim editor |
| - `vim` - Vim editor |
| - `nano` - Nano editor |
| - `notepad` - Windows Notepad |
| - `subl` - Sublime Text |
|
|
| :::note |
| Niektóre edytory, takie jak VS Code, należy uruchamiać z flagą `--wait`. |
| ::: |
|
|
| Niektórzy edytory potrzebują argumentów wiersza poleceń, aby działać w trybie blokowania. Flaga `--wait` blokuje proces edytora aż do jego zamknięcia. |
|
|
| --- |
| |
| |
|
|
| Możesz dostosować zachowanie TUI za pomocą pliku `tui.json` (lub `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" |
| } |
| } |
| } |
| ``` |
|
|
| Jest to oddzielny plik od `opencode.json`, który konfiguruje zachowanie serwera/runtime. |
|
|
| `keybinds` jest łączone z wbudowanymi wartościami domyślnymi, więc wystarczy skonfigurować tylko te skróty, które chcesz zmienić. |
|
|
| |
|
|
| - `theme` - Ustawia motyw interfejsu. [Dowiedz się więcej](/docs/themes). |
| - `keybinds` - Dostosowuje skróty klawiszowe. [Dowiedz się więcej](/docs/keybinds). |
| - `leader_timeout` - Określa, jak długo OpenCode czeka po naciśnięciu leader key. Domyślnie `2000`. |
| - `scroll_acceleration.enabled` — Włącz przyspieszenie przewijania w stylu macOS, aby zapewnić płynne, naturalne przewijanie. Po włączeniu prędkość przewijania wzrasta wraz z szybkimi gestami przewijania i pozostaje precyzyjna w przypadku wolniejszych ruchów. **To ustawienie ma pierwszeństwo przed `scroll_speed` i zastępuje je, gdy jest włączone.** |
| - `scroll_speed` - Kontroluje szybkość przewijania TUI podczas korzystania z poleceń przewijania (minimum: `0.001`, obsługuje wartości dziesiętne). Wartość domyślna to `3`. **Uwaga: jest to ignorowane, jeśli `scroll_acceleration.enabled` jest ustawione na `true`.** |
| - `diff_style` - Steruje renderowaniem różnic. `"auto"` dostosowuje się do szerokości terminala, `"stacked"` zawsze pokazuje układ jednokolumnowy. |
| - `mouse` - Włącza lub wyłącza przechwytywanie myszy w TUI (domyślnie `true`). Po wyłączeniu zachowane zostaje natywne zachowanie terminala przy zaznaczaniu i przewijaniu myszą. |
| - `attention` - Konfiguruje powiadomienia pulpitu i dźwięki TUI. Domyślnie wyłączone. |
|
|
| Użyj `OPENCODE_TUI_CONFIG`, aby załadować niestandardową ścieżkę konfiguracji TUI. |
|
|
| |
|
|
| Attention pozwala TUI powiadomić Cię, gdy OpenCode czeka na odpowiedź, wymaga zatwierdzenia uprawnienia, zgłasza błąd sesji albo informuje o zakończeniu sesji. Włącz tę funkcję za pomocą `attention.enabled`; wbudowane zdarzenia odtwarzają dźwięk, gdy wystąpią. Powiadomienia pulpitu są wysyłane tylko wtedy, gdy okno terminala nie jest aktywne, i nie są używane dla zdarzeń subagent. |
|
|
| - `enabled` - Włącza wszystkie powiadomienia i dźwięki Attention. Domyślnie `false`. |
| - `notifications` - Gdy Attention jest włączone, pozwala TUI wysyłać powiadomienia pulpitu przez terminal. Domyślnie `true`. |
| - `sound` - Gdy Attention jest włączone, pozwala odtwarzać dźwięki powiadomień. Domyślnie `true`. |
| - `volume` - Domyślna głośność dźwięków powiadomień od `0` do `1`. Domyślnie `0.4`. |
| - `sound_pack` - ID sound pack do użycia. Domyślnie `opencode.default`. |
| - `sounds` - Ustawia niestandardowe pliki dźwiękowe dla `default`, `question`, `permission`, `error`, `done` lub `subagent_done`. Ścieżki mogą być bezwzględne, być URL-ami `file://` albo być względne względem `tui.json`. |
|
|
| --- |
| |
| |
|
|
| Za pomocą palety poleceń (`ctrl+x h` lub `/help`) można dostosować różne aspekty widoku TUI. Te ustawienia są zachowywane po ponownym uruchomieniu. |
|
|
| --- |
| |
| |
|
|
| Włącz lub wyłącz wyświetlanie Twojej nazwy użytkownika w wiadomościach na czacie. Dostęp do tego poprzez: |
|
|
| - Paleta poleceń: Wyszukaj „nazwę użytkownika” lub „ukryj nazwę użytkownika” |
| - Ustawienie zostanie zapamiętane automatycznie i będzie pamiętane podczas sesji TUI |
|
|