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
|
---
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.
```
---
## Dosya referansları
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.
---
## Bash komutları
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.
---
## Komutlar
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ü:
---
### connect
OpenCode'a bir sağlayıcı ekler. Mevcut sağlayıcıları seçip API anahtarları eklemenizi sağlar.
```bash frame="none"
/connect
```
---
### compact
Mevcut oturumu sıkıştırır. _Takma ad_: `/summarize`
```bash frame="none"
/compact
```
**Kısayol:** `ctrl+x c`
---
### details
Araç çalıştırma detaylarını göster/gizle yapar.
```bash frame="none"
/details
```
**Kısayol:** `ctrl+x d`
---
### editor
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`
---
### exit
OpenCode'dan çıkar. _Takma adlar_: `/quit`, `/q`
```bash frame="none"
/exit
```
**Kısayol:** `ctrl+x q`
---
### export
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`
---
### help
Yardım penceresini gösterir.
```bash frame="none"
/help
```
**Kısayol:** `ctrl+x h`
---
### init
`AGENTS.md` dosyasını oluşturur veya günceller. [Daha fazla bilgi](/docs/rules).
```bash frame="none"
/init
```
**Kısayol:** `ctrl+x i`
---
### models
Kullanılabilir modelleri listeler.
```bash frame="none"
/models
```
**Kısayol:** `ctrl+x m`
---
### new
Yeni bir oturum başlatır. _Takma ad_: `/clear`
```bash frame="none"
/new
```
**Kısayol:** `ctrl+x n`
---
### redo
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`
---
### sessions
Oturumları listeler ve aralarında geçiş yapar. _Takma adlar_: `/resume`, `/continue`
```bash frame="none"
/sessions
```
**Kısayol:** `ctrl+x l`
---
### share
Mevcut oturumu paylaşır. [Daha fazla bilgi](/docs/share).
```bash frame="none"
/share
```
**Kısayol:** `ctrl+x s`
---
### themes
Kullanılabilir temaları listeler.
```bash frame="none"
/themes
```
**Kısayol:** `ctrl+x t`
---
### thinking
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
```
---
### undo
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`
---
### unshare
Mevcut oturumun paylaşımını kaldırır. [Daha fazla bilgi](/docs/share#un-sharing).
```bash frame="none"
/unshare
```
---
## Editör kurulumu
Hem `/editor` hem de `/export` komutları, `EDITOR` ortam değişkeninde belirtilen editörü kullanır.
<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"
```
Kalıcı yapmak için bunu kabuk profilinize ekleyin;
`~/.bashrc`, `~/.zshrc` vb.
</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
```
Kalıcı yapmak için **System Properties** > **Environment
Variables** yolunu kullanın.
</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"
```
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.
---
## Yapılandırma
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",
"keybinds": {
"leader": "ctrl+x"
},
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
},
"diff_style": "auto"
}
```
Bu, sunucu/çalışma zamanı davranışını yapılandıran `opencode.json` dosyasından ayrıdır.
### Seçenekler
- `theme` - UI temanızı ayarlar. [Daha fazla bilgi](/docs/themes).
- `keybinds` - Klavye kısayollarını özelleştirir. [Daha fazla bilgi](/docs/keybinds).
- `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.
Özel bir TUI yapılandırma yolu yüklemek için `OPENCODE_TUI_CONFIG` kullanın.
---
## Özelleştirme
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.
---
#### Kullanıcı adı görünümü
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
|