İçeriğe geç

Modlar

farklı kullanım durumları için farklı modlar.

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.


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:

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

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.

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

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.

{
"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
bashKabuk komutlarını yürütün
editMevcut dosyaları değiştirin
writeYeni dosyalar oluştur
readDosya içeriğini oku
grepDosya içeriğini ara
globDosyaları desene göre bul
listDizinin içeriğini listele
patchDosyalara yama uygula
todowriteYapılacaklar listelerini yönet
todoreadYapılacaklar listelerini oku
webfetchWeb 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

opencode.json
{
"$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:

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