---
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.
