331 lines
8.9 KiB
Text
331 lines
8.9 KiB
Text
---
|
||
title: Modlar
|
||
description: farklı kullanım durumları için farklı modlar.
|
||
---
|
||
|
||
:::caution
|
||
Modlar artık opencode yapılandırmasındaki `agent` seçeneği aracılığıyla yapılandırılıyor.
|
||
`mode` seçeneği artık kullanımdan kaldırıldı. [Daha fazla bilgi](/docs/agents).
|
||
:::
|
||
|
||
opencode'daki modlar, farklı kullanım durumları için davranışı, araçları ve istemleri özelleştirmenize olanak tanır.
|
||
|
||
İki yerleşik modla birlikte gelir: **build** ve **plan**. Kişiselleştirebilirsiniz
|
||
bunları veya opencode yapılandırması aracılığıyla kendinizinkini yapılandırın.
|
||
|
||
Bir oturum sırasında modlar arasında geçiş yapabilir veya bunları yapılandırma dosyanızda yapılandırabilirsiniz.
|
||
|
||
---
|
||
|
||
## Yerleşik
|
||
|
||
opencode iki yerleşik modla birlikte gelir.
|
||
|
||
---
|
||
|
||
### Build
|
||
|
||
Derleme, tüm araçların etkin olduğu **varsayılan** moddur. Bu, dosya işlemlerine ve sistem komutlarına tam erişime ihtiyaç duyduğunuz geliştirme çalışmaları için standart moddur.
|
||
|
||
---
|
||
|
||
### Plan
|
||
|
||
Planlama ve analiz için tasarlanmış sınırlı bir mod. Plan modunda aşağıdaki araçlar varsayılan olarak devre dışıdır:
|
||
|
||
- `write` - Yeni dosyalar oluşturulamıyor
|
||
- `edit` - Planın kendisini detaylandırmak için `.opencode/plans/*.md` adresinde bulunan dosyalar dışında mevcut dosyalar değiştirilemez
|
||
- `patch` - Yamalar uygulanamaz
|
||
- `bash` - Kabuk komutları yürütülemiyor
|
||
|
||
Bu mod, yapay zekanın kod tabanınızda herhangi bir gerçek değişiklik yapmadan kodu analiz etmesini, değişiklik önermesini veya plan oluşturmasını istediğinizde kullanışlıdır.
|
||
|
||
---
|
||
|
||
## Geçiş
|
||
|
||
Bir oturum sırasında _Tab_ tuşunu kullanarak modlar arasında geçiş yapabilirsiniz. Veya yapılandırılmış `switch_mode` tuş bağlantınız.
|
||
|
||
Ayrıca bkz.: Kod biçimlendirme yapılandırması hakkında bilgi için [Formatters](/docs/formatters).
|
||
|
||
---
|
||
|
||
## Yapılandırma
|
||
|
||
Yerleşik modları özelleştirebilir veya yapılandırma aracılığıyla kendinizinkini oluşturabilirsiniz. Modlar iki şekilde yapılandırılabilir:
|
||
|
||
### JSON Yapılandırması
|
||
|
||
`opencode.json` yapılandırma dosyanızdaki modları yapılandırın:
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"mode": {
|
||
"build": {
|
||
"model": "anthropic/claude-sonnet-4-20250514",
|
||
"prompt": "{file:./prompts/build.txt}",
|
||
"tools": {
|
||
"write": true,
|
||
"edit": true,
|
||
"bash": true
|
||
}
|
||
},
|
||
"plan": {
|
||
"model": "anthropic/claude-haiku-4-20250514",
|
||
"tools": {
|
||
"write": false,
|
||
"edit": false,
|
||
"bash": false
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### Markdown Yapılandırması
|
||
|
||
Markdown dosyalarını kullanarak modları da tanımlayabilirsiniz. Bunları şuraya yerleştirin:
|
||
|
||
- Global: `~/.config/opencode/modes/`
|
||
- Project: `.opencode/modes/`
|
||
|
||
```markdown title="~/.config/opencode/modes/review.md"
|
||
---
|
||
model: anthropic/claude-sonnet-4-20250514
|
||
temperature: 0.1
|
||
tools:
|
||
write: false
|
||
edit: false
|
||
bash: false
|
||
---
|
||
|
||
You are in code review mode. Focus on:
|
||
|
||
- Code quality and best practices
|
||
- Potential bugs and edge cases
|
||
- Performance implications
|
||
- Security considerations
|
||
|
||
Provide constructive feedback without making direct changes.
|
||
```
|
||
|
||
Markdown dosyası adı mod adı olur (örneğin, `review.md` bir `review` modu oluşturur).
|
||
|
||
Bu yapılandırma seçeneklerine ayrıntılı olarak bakalım.
|
||
|
||
---
|
||
|
||
### Model
|
||
|
||
Bu modun varsayılan modelini geçersiz kılmak için `model` ayarını kullanın. Farklı bölümler için optimize edilmiş farklı modelleri kullanmak için kullanışlıdır. Örneğin planlama için daha hızlı bir model, uygulama için daha yetenekli bir model.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"mode": {
|
||
"plan": {
|
||
"model": "anthropic/claude-haiku-4-20250514"
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### Sıcaklık
|
||
|
||
`temperature` yapılandırmasıyla yapay zekanın yanıtlarının rastgeleliğini ve yaratıcılığını kontrol edin. Düşük değerler yanıtları daha odaklı ve belirleyici hale getirirken, yüksek değerler yaratıcılığı ve değişkenliği artırır.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"mode": {
|
||
"plan": {
|
||
"temperature": 0.1
|
||
},
|
||
"creative": {
|
||
"temperature": 0.8
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
Sıcaklık değerleri tipik olarak 0,0 ila 1,0 arasındadır:
|
||
|
||
- **0,0-0,2**: Çok odaklı ve belirleyici yanıtlar, kod analizi ve planlaması için idealdir
|
||
- **0,3-0,5**: Biraz yaratıcılık içeren dengeli yanıtlar, genel gelişim görevleri için iyi
|
||
- **0,6-1,0**: Daha yaratıcı ve çeşitli yanıtlar, beyin fırtınası ve keşif için yararlı
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"mode": {
|
||
"analyze": {
|
||
"temperature": 0.1,
|
||
"prompt": "{file:./prompts/analysis.txt}"
|
||
},
|
||
"build": {
|
||
"temperature": 0.3
|
||
},
|
||
"brainstorm": {
|
||
"temperature": 0.7,
|
||
"prompt": "{file:./prompts/creative.txt}"
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
Sıcaklık belirtilmezse, opencode modele özgü varsayılanları kullanır (çoğu model için genellikle 0, Qwen modelleri için 0,55).
|
||
|
||
---
|
||
|
||
### İstem
|
||
|
||
`prompt` yapılandırmasıyla bu mod için özel bir sistem bilgi istemi dosyası belirtin. Bilgi istemi dosyası, modun amacına özel talimatlar içermelidir.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"mode": {
|
||
"review": {
|
||
"prompt": "{file:./prompts/code-review.txt}"
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
Bu yol, yapılandırma dosyasının bulunduğu yere göredir. Yani bu işe yarıyor
|
||
hem global opencode yapılandırması hem de projeye özel yapılandırma.
|
||
|
||
---
|
||
|
||
### Araçlar
|
||
|
||
`tools` yapılandırmasıyla bu modda hangi araçların kullanılabileceğini kontrol edin. Belirli araçları `true` veya `false` olarak ayarlayarak etkinleştirebilir veya devre dışı bırakabilirsiniz.
|
||
|
||
```json
|
||
{
|
||
"mode": {
|
||
"readonly": {
|
||
"tools": {
|
||
"write": false,
|
||
"edit": false,
|
||
"bash": false,
|
||
"read": true,
|
||
"grep": true,
|
||
"glob": true
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
Hiçbir araç belirtilmezse tüm araçlar varsayılan olarak etkindir.
|
||
|
||
---
|
||
|
||
#### Mevcut araçlar
|
||
|
||
İşte mod yapılandırması aracılığıyla kontrol edilebilecek tüm araçlar.
|
||
|
||
| Araç | Açıklama |
|
||
| ----------- | ------------------------------ |
|
||
| `bash` | Kabuk komutlarını yürütün |
|
||
| `edit` | Mevcut dosyaları değiştirin |
|
||
| `write` | Yeni dosyalar oluştur |
|
||
| `read` | Dosya içeriğini oku |
|
||
| `grep` | Dosya içeriğini ara |
|
||
| `glob` | Dosyaları desene göre bul |
|
||
| `list` | Dizinin içeriğini listele |
|
||
| `patch` | Dosyalara yama uygula |
|
||
| `todowrite` | Yapılacaklar listelerini yönet |
|
||
| `todoread` | Yapılacaklar listelerini oku |
|
||
| `webfetch` | Web içeriğini getir |
|
||
|
||
---
|
||
|
||
## Özel modlar
|
||
|
||
Yapılandırmaya ekleyerek kendi özel modlarınızı oluşturabilirsiniz. Her iki yaklaşımın kullanıldığı örnekler aşağıda verilmiştir:
|
||
|
||
### JSON yapılandırması kullanma
|
||
|
||
```json title="opencode.json" {4-14}
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"mode": {
|
||
"docs": {
|
||
"prompt": "{file:./prompts/documentation.txt}",
|
||
"tools": {
|
||
"write": true,
|
||
"edit": true,
|
||
"bash": false,
|
||
"read": true,
|
||
"grep": true,
|
||
"glob": true
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### Markdown dosyaları kullanma
|
||
|
||
Projeye özel modlar için `.opencode/modes/` veya genel modlar için `~/.config/opencode/modes/`'de mod dosyaları oluşturun:
|
||
|
||
```markdown title=".opencode/modes/debug.md"
|
||
---
|
||
temperature: 0.1
|
||
tools:
|
||
bash: true
|
||
read: true
|
||
grep: true
|
||
write: false
|
||
edit: false
|
||
---
|
||
|
||
You are in debug mode. Your primary goal is to help investigate and diagnose issues.
|
||
|
||
Focus on:
|
||
|
||
- Understanding the problem through careful analysis
|
||
- Using bash commands to inspect system state
|
||
- Reading relevant files and logs
|
||
- Searching for patterns and anomalies
|
||
- Providing clear explanations of findings
|
||
|
||
Do not make any changes to files. Only investigate and report.
|
||
```
|
||
|
||
```markdown title="~/.config/opencode/modes/refactor.md"
|
||
---
|
||
model: anthropic/claude-sonnet-4-20250514
|
||
temperature: 0.2
|
||
tools:
|
||
edit: true
|
||
read: true
|
||
grep: true
|
||
glob: true
|
||
---
|
||
|
||
You are in refactoring mode. Focus on improving code quality without changing functionality.
|
||
|
||
Priorities:
|
||
|
||
- Improve code readability and maintainability
|
||
- Apply consistent naming conventions
|
||
- Reduce code duplication
|
||
- Optimize performance where appropriate
|
||
- Ensure all tests continue to pass
|
||
```
|
||
|
||
---
|
||
|
||
### Kullanım Senaryoları
|
||
|
||
Farklı modlar için bazı yaygın kullanım senaryoları aşağıda verilmiştir.
|
||
|
||
- **Derleme modu**: Tüm araçların etkinleştirildiği tam geliştirme çalışması
|
||
- **Plan modu**: Değişiklik yapmadan analiz ve planlama
|
||
- **İnceleme modu**: Salt okunur erişim ve belgeleme araçlarıyla kod incelemesi
|
||
- **Hata ayıklama modu**: Bash ve okuma araçları etkinken araştırmaya odaklanıldı
|
||
- **Belgeler modu**: Dosya işlemleriyle ancak sistem komutları olmadan belge yazma
|
||
|
||
Ayrıca farklı modellerin farklı kullanım durumları için iyi olduğunu da görebilirsiniz.
|