# Yönergeler, onaylar ve yapılandırma

Yazım tercihlerini ayarlayın, asistanın ne zaman soracağını seçin ve yeniden kullanılabilir proje kurallarını yapılandırın.

Asistana net yazım tercihleri verin ve değişiklikleri nasıl ele alacağını seçin. Yönergeler istediğiniz işi tanımlar; onay denetimleri hangi araç eylemlerinin devam edebileceğine karar verir.

![Ayarlar → Yapay Zeka Asistanı → Yönergeler. Varsayılan modeli ayarlayın, yönergelerinizi yazın, sonra Yönergeleri kaydet'i kullanın. PDF sayfa yakalama, metin alanının altındadır.](https://cdn.oleafly.com/images/screenshots/desktop/docs/settings-instructions-dark-window-v2.png#view=519,89,883,724)

## Varsayılan sohbet modeli

**Ayarlar → Yapay Zeka Asistanı → Yönergeler** bölümünü açın. Yeni bir sohbette kullanılacak modeli belirlemek için **Varsayılan sohbet modeli**'ni seçin. Liste, yapılandırdığınız sağlayıcılardaki etkin modelleri içerir. Tek bir konuşmada modeli yine de değiştirebilirsiniz.

## Özel yönergeler

Tercihlerinizi **Özel yönergeler** altına yazın, sonra **Yönergeleri kaydet**'e tıklayın. Bir araştırma makalesi için yararlı bir başlangıç noktası:

```text title="Örnek yazma yönergeleri"
Use British English and preserve the terminology already used in the paper.
Keep citation keys, labels, equations, and numerical results unchanged unless
I explicitly ask you to edit them.
When a statement needs evidence, mark it for a source check. Do not invent
references or results.
Explain substantive changes briefly so I can review them.
```

Bu yönergeleri, tüm proje isteklerinizi yinelemeden bir gözden geçirmeye yön verecek kadar somut yazın. Bunlar asistanın yerleşik davranışına eklenir ve araç izinlerini değiştirmez.

## Yönergeleri kaydet

Düzenlemeden sonra **Yönergeleri kaydet**'e tıklayın. **Kaydedildi** göstergesi kalıcılığı onaylar. Bu alandaki kaydedilmemiş bir düzenleme yeni varsayılanınız olmaz.

## Yapay zeka için PDF sayfa yakalamaya izin ver

Asistanın derlenmiş sayfaları görü destekli bir modelle incelemesine izin vermek için **Yapay zeka için PDF sayfa yakalamaya izin ver**'i etkinleştirin. `verify_pdf_pages` aracı, düzen denetimleri için derlenmiş sayfaları görsele çevirir. Sayfa görsellerinin yapılandırılan sağlayıcıya gönderilmesini istemiyorsanız bu denetimi kapatın.

## Araç kataloğunu inceleyin

Yönergeler sekmesindeki **Asistan şu anda bu araçları destekliyor** bölümünü genişletin. Asistanın yapabileceği işleri görmek için bunu kullanın; sonra bir bölümü derlemek, PDF'i incelemek ya da çözülmemiş bir başvuru bulmak gibi bir sonuç isteyin.

## Personalar

![Ayarlar → Yapay Zeka Asistanı → Personalar. Persona oluştur listenin üstündedir; düzenleme ve silme denetimleri her personanın yanında durur.](https://cdn.oleafly.com/images/screenshots/desktop/docs/settings-personas-dark-window-v2.png#view=519,89,883,902)

Persona, adlandırılmış bir yönerge hazır ayarıdır. **Ayarlar → Yapay Zeka Asistanı → Personalar** altında bir tane oluşturun, sonra belirli bir iş türü için onu ileti alanından seçin. Örneğin, kısa bir redaksiyon personası ve ayrı bir inceleyici persona bulundurun.

Etkin bir persona, konuşmanın yönerge hazır ayarını varsayılan özel yönerge metni yerine sağlar. Personanın da gereksinim duyduğu kalıcı tercihleri içine yazın. Persona yönlendirmeyi değiştirir; araç izni vermez.

## Bir onay kipi seçin

![İleti alanının altındaki onay menüsünü açın. Seçili kip onay işaretiyle gösterilir; projeniz için istediğiniz ilkeyi seçin.](https://cdn.oleafly.com/images/screenshots/desktop/docs/llama-approval-menu-dark-window-v2.png#view=1448,770,465,305)

İleti alanındaki onay seçicisini kullanın. Seçim geçerli proje için kaydedilir.

| Kip | Davranış |
|---|---|
| **Onay iste** | Okuma sınıfındaki araçlar çalışabilir; diğer eylemler önce sorar |
| **Benim için onayla** | Okuma ve ağ araçları çalışabilir; dosya değişiklikleri ve kabuk komutları önce sorar |
| **Tam erişim** | Bir `deny` kuralının engellediği araçlar dışında, araç eylemleri onay istemeden devam edebilir |
| **Özel** | Kayıtlı `allow` ve `deny` kuralları uygulanır; kuralı olmayan araçlar standart risk ilkesini kullanır |

Varsayılan kip **Benim için onayla**'dır. Bazı araçların bir işlem içinde kendi denetimleri vardır. PDF derlemek ve incelemek, bir kaynak dosya yazmaktan ya da kabuk komutu yürütmekten farklı ele alınır.

## Önerilen bir eylemi onaylayın

Onay kartındaki araç adını ve önerilen işlemi okuyun. Bu eylemi çalıştırmak için onaylayın ya da önerilen değişikliğin uygulanmaması için reddedin. İstenen eylem fazla genişse, konuşmaya daha dar bir yönergeyle devam edin.

## Bu projede her zaman

**Özel** kipte, bir araç için kural kaydetmek üzere onay istemindeki **Bu projede her zaman** seçeneğini kullanın. Bir kuralın sonraki çalıştırmayı etkilemesini bekliyorsanız seçili kipi denetleyin.

## Bir kuralı gözden geçirin ya da kaldırın

Proje açıkken **Ayarlar → Yapay Zeka Asistanı → Sağlayıcılar ve anahtarlar** bölümüne gidin ve **Araç onayları**'na inin. Her satır, araç adını ve her zaman izinli mi yoksa reddedilmiş mi olduğunu gösterir. Bir aracı Özel kipte standart risk ilkesine döndürmek için kuralını kaldırın.

## approvals.toml dosyasını düzenleyin

**Araç onayları**'nın altındaki **Onay kuralları dosyası**, `~/.oleafly/approvals.toml` dosyasını düzenler. Geçerli dosyayı okumak için **Yeniden yükle**'yi, kaydedilmemiş düzenlemeleri bırakmak için **Değişiklikleri at**'ı, örnek bir yapılandırmayla başlamak için **Bir örnek ekle**'yi kullanın. **Dosya nasıl çalışır** biçimi açıklar ve açık projenin kimliğini gösterir. Kaydetme, uygulamadan önce TOML'u doğrular; kurallar bir sonraki araç çağrısından itibaren geçerli olur.

Dosya, bir kip tablosu ve görünen ad yerine **proje klasörü kimliğiyle** anahtarlanmış araç kuralı tabloları içerir:

```toml title="~/.oleafly/approvals.toml"
["$approval_modes"]
"my-project-folder-id" = "custom"

["my-project-folder-id"]
write_file = "allow"
replace_in_file = "allow"
run_command = "deny"
delete_file = "deny"
```

`my-project-folder-id` yerine projenizin gerçek klasör kimliğini yazın. Proje kimlikleri, `~/.oleafly/projects` altındaki klasör adlarıdır. Kip değerleri `ask-for-approval`, `approve-for-me`, `full-access` ve `custom`'dur. Listede olmayan bir proje Benim için onayla'yı kullanır. Araç kuralı değerleri `allow` ve `deny`'dir. Bir `deny` kuralı Tam erişim dahil her kipte geçerlidir; bu yüzden reddedilen bir araç hiç çalışmaz. Bir `allow` kuralı yalnızca Özel kipte geçerlidir. Kuralı olmayan bir araç normal risk ilkesini kullanır.

`#` ile başlayan açıklamalar Ayarlar'dan yapılan bir kayıtta korunur; ancak bir onay kartında **Bu projede her zaman**'ı seçmek dosyayı onlarsız yeniden yazar.

Katalogdaki tam araç adlarını kullanın. Sık kullanılan adlar arasında `write_file`, `replace_in_file`, `create_file`, `rename_file`, `delete_file`, `run_command`, `compile`, `insert_figure` ve `set_main_doc` vardır.

## Hangi yapılandırma dosyasını kullanmalıyım?

| Dosya | Amaç |
|---|---|
| `~/.oleafly/config.json` | Ayarlar üzerinden yönetilen uygulama yapılandırması |
| `~/.oleafly/approvals.toml` | Proje onay kipleri ve araç başına kurallar |
| `~/.oleafly/agent.toml` | İleri düzey çoklu ajan sınırları ve yönergeleri |
| Dış ajanınızın yapılandırması, örneğin `~/.codex/config.toml` | O ajanın kendi ayarları ve MCP bağlantıları |

Oleafly, tüm bu ayarlar için tek bir `config.toml` kullanmaz. Sağlayıcı anahtarları ve uygulama tercihleri için Ayarlar arayüzünü kullanın; kimlik bilgilerinin ayrı, şifrelenmiş bir deposu vardır. Uygulamanızın tüm yapılandırmasını kısa bir örnekle değiştirmeyin.

## agent.toml dosyasını yapılandırın

İleri düzey kullanıcılar, asistanın çoklu ajan ayarlarını ince ayarlamak için `~/.oleafly/agent.toml` oluşturabilir. Bu ayarlar, bağlı bir CLI ajanının yapılandırmasından ayrı olarak Oleafly'nin kendi ajan çalışma zamanını yönetir.

```toml title="~/.oleafly/agent.toml"
maxAgentDepth = 2
maxConcurrentSubagents = 8
minWaitTimeoutMs = 1000
maxWaitTimeoutMs = 300000
defaultWaitTimeoutMs = 120000
waitAgentEnabled = true

usageHintText = """
Delegate independent checks with clear scopes. Keep writing decisions with
the parent agent, and close completed agents when their work is collected.
"""

subagentDeveloperInstructions = """
Work only on the assigned task. Report the files and evidence you inspected.
Do not spawn additional agents.
"""
```

### maxAgentDepth

İç içe derinliği sınırlar. Varsayılan `2`'dir: bir çalıştırmanın alt öğeleri daha fazla iş devretmez. Kabul edilen en küçük değer `1`'dir.

### maxConcurrentSubagents

Bir oturumdaki eşzamanlı alt ajanları sınırlar. Varsayılan `8`, en küçük değer `1`'dir. Daha çok ajan model kullanımını artırabilir; gerçekten bağımsız yürüyebilen işler için sınırı yükseltin.

### minWaitTimeoutMs

Bir ajan bekleme süresinin alt sınırını milisaniye cinsinden belirler. Varsayılan `1000`'dir.

### maxWaitTimeoutMs

Bir ajan bekleme süresinin üst sınırını belirler. Varsayılan `300000`'dir, yani beş dakika. Bu değer minimumda ya da üzerinde tutulur.

### defaultWaitTimeoutMs

Varsayılan bekleme süresini belirler. Varsayılan `120000`'dir, yani iki dakika. Değerler, yapılandırılmış alt ve üst sınırlara göre kısıtlanır.

### waitAgentEnabled

Bekleme ajanı yeteneğinin kullanılabilirliğini denetler. Varsayılan `true`'dur.

### usageHintText

Ana ajana iş devretme rehberliği sağlar. Yukarıdaki örnek, varsayılan rehberliği kendi metninizle değiştirir.

### subagentDeveloperInstructions

Alt ajanlara yönergeler sağlar. Kapsamı, raporlama beklentilerini ve daha fazla iş devretmenin uygun olup olmadığını belirtmek için kullanın.

Çalışma zamanı bu anahtarların `max_agent_depth` gibi snake_case sürümlerini de kabul eder. Atlanan alanlar varsayılanları kullanır. Eksik ya da bozuk bir dosya varsayılanlara döner; bu yüzden söz dizimini dikkatle denetleyin ve yapılandırmayı değiştirdikten sonra yeni bir çalıştırma başlatın.

## Bir kuralı küçük bir görevle sınayın

1. Bir alıştırma projesi açın ve **Onay iste**'yi seçin.
2. Şunu isteyin: “Ana belgeyi oku ve daha net bir başlık öner. Dosyayı değiştirmeden önce sor.”
3. Önerilen değişikliği inceleyin ve onaylayın ya da reddedin.
4. Özel kipe geçmeden önce kayıtlı kuralları Ayarlar'da gözden geçirin.
5. Düzenlemeler başlamadan önce birkaç adım üzerinde anlaşmak istediğinizde [Plan kipi](/docs/ai-chat/#plan-before-editing) özelliğini kullanın.

Oleafly MCP üzerinden bağlanan dış asistanlar, ayrıca yapılandırılan [MCP sunucusunun ilkesini](/docs/mcp/#approvals-and-safety) kullanır.
