| --- |
| title: TUI |
| description: OpenCode terminal kullanıcı arayüzünü kullanma. |
| --- |
| |
| import { Tabs, TabItem } from "@astrojs/starlight/components" |
|
|
| OpenCode, projelerinizde LLM ile çalışmak için etkileşimli bir terminal arayüzü (TUI) sunar. |
|
|
| OpenCode'u çalıştırdığınızda mevcut dizin için TUI başlar. |
|
|
| ```bash |
| opencode |
| ``` |
|
|
| İsterseniz belirli bir çalışma dizini için de başlatabilirsiniz. |
|
|
| ```bash |
| opencode /path/to/project |
| ``` |
|
|
| TUI içine girdiğinizde, bir mesajla istem gönderebilirsiniz. |
|
|
| ```text |
| Give me a quick summary of the codebase. |
| ``` |
|
|
| --- |
| |
| |
|
|
| Mesajlarınızda `@` kullanarak dosyalara referans verebilirsiniz. Bu, mevcut çalışma dizininde bulanık dosya araması yapar. |
|
|
| :::tip |
| Mesajlarınızda dosyalara referans vermek için `@` kullanabilirsiniz. |
| ::: |
|
|
| ```text "@packages/functions/src/api/index.ts" |
| How is auth handled in @packages/functions/src/api/index.ts? |
| ``` |
|
|
| Dosya içeriği otomatik olarak konuşmaya eklenir. |
|
|
| --- |
| |
| |
|
|
| Bir mesajı `!` ile başlatarak shell komutu çalıştırın. |
|
|
| ```bash frame="none" |
| !ls -la |
| ``` |
|
|
| Komut çıktısı bir araç sonucu olarak konuşmaya eklenir. |
|
|
| --- |
| |
| |
|
|
| OpenCode TUI kullanırken `/` ve ardından komut adını yazarak hızlı eylemler çalıştırabilirsiniz. Örneğin: |
|
|
| ```bash frame="none" |
| /help |
| ``` |
|
|
| Komutların çoğu, lider tuşu `ctrl+x` olan bir kısayola da sahiptir. [Daha fazla bilgi](/docs/keybinds). |
|
|
| İşte mevcut slash komutlarının tümü: |
|
|
| --- |
| |
| |
|
|
| OpenCode'a bir sağlayıcı ekler. Mevcut sağlayıcıları seçip API anahtarları eklemenizi sağlar. |
|
|
| ```bash frame="none" |
| /connect |
| ``` |
|
|
| --- |
| |
| |
|
|
| Mevcut oturumu sıkıştırır. _Takma ad_: `/summarize` |
|
|
| ```bash frame="none" |
| /compact |
| ``` |
|
|
| **Kısayol:** `ctrl+x c` |
|
|
| --- |
| |
| |
|
|
| Araç çalıştırma detaylarını göster/gizle yapar. |
|
|
| ```bash frame="none" |
| /details |
| ``` |
|
|
| **Kısayol:** `ctrl+x d` |
|
|
| --- |
| |
| |
|
|
| Mesaj yazmak için harici editör açar. `EDITOR` ortam değişkeninde ayarlı editörü kullanır. [Daha fazla bilgi](#editor-setup). |
|
|
| ```bash frame="none" |
| /editor |
| ``` |
|
|
| **Kısayol:** `ctrl+x e` |
|
|
| --- |
| |
| |
|
|
| OpenCode'dan çıkar. _Takma adlar_: `/quit`, `/q` |
|
|
| ```bash frame="none" |
| /exit |
| ``` |
|
|
| **Kısayol:** `ctrl+x q` |
|
|
| --- |
| |
| |
|
|
| Mevcut konuşmayı Markdown olarak dışa aktarır ve varsayılan editörünüzde açar. `EDITOR` ortam değişkeninde ayarlı editörü kullanır. [Daha fazla bilgi](#editor-setup). |
|
|
| ```bash frame="none" |
| /export |
| ``` |
|
|
| **Kısayol:** `ctrl+x x` |
|
|
| --- |
| |
| |
|
|
| Yardım penceresini gösterir. |
|
|
| ```bash frame="none" |
| /help |
| ``` |
|
|
| **Kısayol:** `ctrl+x h` |
|
|
| --- |
| |
| |
|
|
| `AGENTS.md` dosyasını oluşturur veya günceller. [Daha fazla bilgi](/docs/rules). |
|
|
| ```bash frame="none" |
| /init |
| ``` |
|
|
| **Kısayol:** `ctrl+x i` |
|
|
| --- |
| |
| |
|
|
| Kullanılabilir modelleri listeler. |
|
|
| ```bash frame="none" |
| /models |
| ``` |
|
|
| **Kısayol:** `ctrl+x m` |
|
|
| --- |
| |
| |
|
|
| Yeni bir oturum başlatır. _Takma ad_: `/clear` |
|
|
| ```bash frame="none" |
| /new |
| ``` |
|
|
| **Kısayol:** `ctrl+x n` |
|
|
| --- |
| |
| |
|
|
| Geri alınan bir mesajı tekrar uygular. Yalnızca `/undo` kullanıldıktan sonra kullanılabilir. |
|
|
| :::tip |
| Herhangi bir dosya değişikliği de geri yüklenir. |
| ::: |
|
|
| Dahili olarak bu işlem dosya değişikliklerini yönetmek için Git kullanır. Bu nedenle projenizin **bir Git deposu olması gerekir**. |
|
|
| ```bash frame="none" |
| /redo |
| ``` |
|
|
| **Kısayol:** `ctrl+x r` |
|
|
| --- |
| |
| |
|
|
| Oturumları listeler ve aralarında geçiş yapar. _Takma adlar_: `/resume`, `/continue` |
|
|
| ```bash frame="none" |
| /sessions |
| ``` |
|
|
| **Kısayol:** `ctrl+x l` |
|
|
| --- |
| |
| |
|
|
| Mevcut oturumu paylaşır. [Daha fazla bilgi](/docs/share). |
|
|
| ```bash frame="none" |
| /share |
| ``` |
|
|
| **Kısayol:** `ctrl+x s` |
|
|
| --- |
| |
| |
|
|
| Kullanılabilir temaları listeler. |
|
|
| ```bash frame="none" |
| /themes |
| ``` |
|
|
| **Kısayol:** `ctrl+x t` |
|
|
| --- |
| |
| |
|
|
| Konuşmadaki thinking/reasoning bloklarının görünürlüğünü değiştirir. Etkin olduğunda, genişletilmiş düşünmeyi destekleyen modellerin akıl yürütme sürecini görebilirsiniz. |
|
|
| :::note |
| Bu komut sadece thinking bloklarının **gösterilip gösterilmeyeceğini** kontrol eder - modelin akıl yürütme yeteneklerini etkinleştirmez veya devre dışı bırakmaz. Gerçek akıl yürütme yeteneklerini değiştirmek için `ctrl+t` kullanarak model varyantları arasında geçiş yapın. |
| ::: |
|
|
| ```bash frame="none" |
| /thinking |
| ``` |
|
|
| --- |
| |
| |
|
|
| Konuşmadaki son mesajı geri alır. En son kullanıcı mesajını, sonraki tüm yanıtları ve dosya değişikliklerini kaldırır. |
|
|
| :::tip |
| Yapılan tüm dosya değişiklikleri de geri alınır. |
| ::: |
|
|
| Dahili olarak bu işlem dosya değişikliklerini yönetmek için Git kullanır. Bu nedenle projenizin **bir Git deposu olması gerekir**. |
|
|
| ```bash frame="none" |
| /undo |
| ``` |
|
|
| **Kısayol:** `ctrl+x u` |
|
|
| --- |
| |
| |
|
|
| Mevcut oturumun paylaşımını kaldırır. [Daha fazla bilgi](/docs/share#un-sharing). |
|
|
| ```bash frame="none" |
| /unshare |
| ``` |
|
|
| --- |
| |
| |
|
|
| Hem `/editor` hem de `/export` komutları, `EDITOR` ortam değişkeninde belirtilen editörü kullanır. |
|
|
| <Tabs> |
| <TabItem label="Linux/macOS"> |
| ```bash |
| |
| export EDITOR=nano |
| export EDITOR=vim |
|
|
| |
| |
| export EDITOR="code --wait" |
| ``` |
|
|
| Kalıcı yapmak için bunu kabuk profilinize ekleyin; |
| `~/.bashrc`, `~/.zshrc` vb. |
|
|
| </TabItem> |
|
|
| <TabItem label="Windows (CMD)"> |
| ```bash |
| set EDITOR=notepad |
|
|
| |
| |
| set EDITOR=code --wait |
| ``` |
|
|
| Kalıcı yapmak için **System Properties** > **Environment |
| Variables** yolunu kullanın. |
|
|
| </TabItem> |
|
|
| <TabItem label="Windows (PowerShell)"> |
| ```powershell |
| $env:EDITOR = "notepad" |
|
|
| |
| |
| $env:EDITOR = "code --wait" |
| ``` |
|
|
| Kalıcı yapmak için bunu PowerShell profilinize ekleyin. |
|
|
| </TabItem> |
| </Tabs> |
|
|
| Popüler editör seçenekleri şunları içerir: |
|
|
| - `code` - Visual Studio Code |
| - `cursor` - Cursor |
| - `windsurf` - Windsurf |
| - `nvim` - Neovim editörü |
| - `vim` - Vim editörü |
| - `nano` - Nano editörü |
| - `notepad` - Windows Notepad |
| - `subl` - Sublime Text |
|
|
| :::note |
| VS Code gibi bazı editörlerin `--wait` bayrağı ile başlatılması gerekir. |
| ::: |
|
|
| Bazı editörler bloklama modunda çalışmak için komut satırı argümanlarına ihtiyaç duyar. `--wait` bayrağı, editör süreci kapanana kadar işlemin bloklanmasını sağlar. |
|
|
| --- |
| |
| |
|
|
| TUI davranışını `tui.json` (veya `tui.jsonc`) aracılığıyla özelleştirebilirsiniz. |
|
|
| ```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" |
| } |
| } |
| } |
| ``` |
|
|
| Bu, sunucu/çalışma zamanı davranışını yapılandıran `opencode.json` dosyasından ayrıdır. |
|
|
| `keybinds` yerleşik varsayılanlarla birleştirilir; bu yüzden yalnızca değiştirmek istediğiniz kısayolları yapılandırmanız yeterlidir. |
|
|
| |
|
|
| - `theme` - UI temanızı ayarlar. [Daha fazla bilgi](/docs/themes). |
| - `keybinds` - Klavye kısayollarını özelleştirir. [Daha fazla bilgi](/docs/keybinds). |
| - `leader_timeout` - OpenCode'un leader key sonrasında ne kadar bekleyeceğini kontrol eder. Varsayılan değer `2000`. |
| - `scroll_acceleration.enabled` - Pürüzsüz, doğal kaydırma için macOS tarzı kaydırma ivmesini etkinleştirin. Etkinleştirildiğinde, kaydırma hızı hızlı kaydırma hareketleriyle artar ve daha yavaş hareketler için hassas kalır. **Bu ayar `scroll_speed` ayarından önceliklidir ve etkinleştirildiğinde onu geçersiz kılar.** |
| - `scroll_speed` - Kaydırma komutlarını kullanırken TUI'nin ne kadar hızlı kaydırılacağını kontrol eder (minimum: `0.001`, ondalık değerleri destekler). Varsayılan değer `3`'tür. **Not: `scroll_acceleration.enabled` `true` olarak ayarlanmışsa bu yok sayılır.** |
| - `diff_style` - Fark (diff) oluşturmayı kontrol eder. `"auto"` terminal genişliğine uyum sağlar, `"stacked"` her zaman tek sütunlu bir düzen gösterir. |
| - `mouse` - TUI içinde fare yakalamayı etkinleştirir veya devre dışı bırakır (varsayılan: `true`). Devre dışı bırakıldığında terminalin yerel fareyle seçme ve kaydırma davranışı korunur. |
| - `attention` - TUI masaüstü bildirimlerini ve seslerini yapılandırır. Varsayılan olarak devre dışıdır. |
|
|
| Özel bir TUI yapılandırma yolu yüklemek için `OPENCODE_TUI_CONFIG` kullanın. |
|
|
| |
|
|
| Attention, OpenCode bir yanıt beklediğinde, izin onayı gerektiğinde, oturum hatası oluştuğunda veya oturum tamamlandığında TUI'nin sizi ses ve masaüstü bildirimiyle uyarmasını sağlar. `attention.enabled` ile etkinleştirin; yerleşik olaylar gerçekleştiğinde ses çalar. Masaüstü bildirimleri yalnızca terminal penceresi odakta değilken gönderilir ve subagent olayları için kullanılmaz. |
|
|
| - `enabled` - Attention için tüm bildirimleri ve sesleri etkinleştirir. Varsayılan değer `false`. |
| - `notifications` - Attention etkin olduğunda TUI'nin terminal üzerinden masaüstü bildirimi göndermesine izin verir. Varsayılan değer `true`. |
| - `sound` - Attention etkin olduğunda uyarı seslerinin çalmasına izin verir. Varsayılan değer `true`. |
| - `volume` - Uyarı sesleri için varsayılan ses düzeyi, `0` ile `1` arasındadır. Varsayılan değer `0.4`. |
| - `sound_pack` - Kullanılacak sound pack ID. Varsayılan değer `opencode.default`. |
| - `sounds` - `default`, `question`, `permission`, `error`, `done` veya `subagent_done` için özel ses dosyaları ayarlar. Yollar mutlak, `file://` URL'leri veya `tui.json` dosyasına göre göreli olabilir. |
|
|
| --- |
| |
| |
|
|
| Komut paletini (`ctrl+x h` veya `/help`) kullanarak TUI görünümünün çeşitli yönlerini özelleştirebilirsiniz. Bu ayarlar yeniden başlatmalar arasında korunur. |
|
|
| --- |
| |
| |
|
|
| Sohbet mesajlarında kullanıcı adınızın görünüp görünmeyeceğini değiştirin. Buna şuradan erişin: |
|
|
| - Komut paleti: "username" veya "hide username" araması yapın |
| - Ayar otomatik olarak kalıcı hale gelir ve TUI oturumları arasında hatırlanır |
|
|