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