fix(docs): locale translations for nav elements and headings

This commit is contained in:
Adam
2026-02-11 18:51:27 -06:00
parent 8eea53a41e
commit aea68c386a
484 changed files with 12718 additions and 11212 deletions

View File

@@ -1,19 +1,19 @@
---
title: ACP Destek
description: opencode'u ACP uyumlu herhangi bir sürdürülebilirde kullanın.
title: ACP Desteği
description: opencode'u ACP uyumlu herhangi bir editörde kullanın.
---
opencode, [Agent Client Protocol](https://agentclientprotocol.com) veya (ACP) dosyalarını destekleyerek onu doğrudan uyumlu tamamlayıcılarda ve IDE'lerde kullanmanızı sağlar.
opencode, [Agent Client Protocol](https://agentclientprotocol.com) veya (ACP) dosyalarını destekleyerek onu doğrudan uyumlu editörlerde ve IDE'lerde kullanmanızı sağlar.
:::tip
ACP'yi destekleyenlerin ve araçların listesi için [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now)'e bakın.
ACP'yi destekleyen editörlerin ve araçların listesi için [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now)'e bakın.
:::
ACP, kod editörleri ile AI kullanma araçları arasındaki iletişimi standartlaştıran açık bir protokoldür.
ACP, kod editörleri ile AI kodlama ajanları arasındaki iletişimi standartlaştıran açık bir protokoldür.
---
## Yapılandır
## Yapılandırma
opencode'u ACP aracılığıyla kullanmak için düzenleyicinizi `opencode acp` komutunu çalıştıracak şekilde yapılandırın.
@@ -25,7 +25,7 @@ Aşağıda ACP'yi destekleyen popüler düzenleyicilere ilişkin örnekler veril
### Zed
[Zed](https://zed.dev) bakımınıza (`~/.config/zed/settings.json`) ekleyin:
[Zed](https://zed.dev) yapılandırmanıza (`~/.config/zed/settings.json`) ekleyin:
```json title="~/.config/zed/settings.json"
{
@@ -82,13 +82,13 @@ Açmak için **Komut Paleti**'ndeki `agent: new thread` eylemini kullanın.
}
```
Açmak için AI Sohbet temsilcisi seçicisindeki yeni 'opencode' aracısını kullanın.
Açmak için AI Chat agent seçicisindeki yeni 'OpenCode' ajanını kullanın.
---
### Avante.nvim
[Avante.nvim](https://github.com/yetone/avante.nvim) miktarınıza ekleyin:
[Avante.nvim](https://github.com/yetone/avante.nvim) yapılandırmanıza ekleyin:
```lua
{
@@ -121,7 +121,7 @@ Ortam değişkenlerini iletmeniz gerekiyor:
### CodeCompanion.nvim
opencode'u [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim)'de ACP aracısı olarak kullanmak için Neovim yapılandırmanıza aşağıdakileri ekleyin:
opencode'u [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim)'de ACP ajanı olarak kullanmak için Neovim yapılandırmanıza aşağıdakileri ekleyin:
```lua
require("codecompanion").setup({
@@ -136,7 +136,7 @@ require("codecompanion").setup({
})
```
Bu yapılandırma, CodeCompanion'ı opencode'u sohbet için ACP aracısı olarak kullanacak şekilde ayarlar.
Bu yapılandırma, CodeCompanion'ı opencode'u sohbet için ACP ajanı olarak kullanacak şekilde ayarlar.
Ortam değişkenlerini (`OPENCODE_API_KEY` gibi) iletmeniz gerekiyorsa, tüm ayrıntılar için CodeCompanion.nvim belgelerindeki [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key)'ye bakın.
@@ -145,12 +145,12 @@ Ortam değişkenlerini (`OPENCODE_API_KEY` gibi) iletmeniz gerekiyorsa, tüm ayr
opencode, terminalde olduğu gibi ACP aracılığıyla aynı şekilde çalışır. Tüm özellikler desteklenir:
:::note
`/undo` ve `/redo` gibi bazı yerleşik eğik çizgi komutları şu anda desteklenmemektedir.
`/undo` ve `/redo` gibi bazı yerleşik slash komutları şu anda desteklenmemektedir.
:::
- Yerleşik araçlar (dosya işlemleri, terminal komutları vb.)
- Özel araçlar ve eğik çizgi komutları
- Özel araçlar ve slash komutları
- opencode yapılandırmanızda yapılandırılmış MCP sunucuları
- `AGENTS.md`'dan projeye özel kurallar
- Özel formatlayıcılar ve linterler
- Özel biçimlendiriciler ve linter'lar
- Aracılar ve izin sistemi

View File

@@ -1,9 +1,9 @@
---
title: Agents
title: Agent'lar
description: Özel agent'ları yapılandırın ve kullanın.
---
Agent'lar, belirli görevler ve iş akışları için yapılandırılabilen uzmanlaşmış AI asistanlarıdır. Özel prompt'lar, modeller ve araç erişimiyle odaklanmış araçlar oluşturmanıza olanak tanır.
Agent'lar, belirli görevler ve iş akışları için yapılandırılabilen uzmanlaşmış AI asistanlarıdır. Özel istemler, modeller ve araç erişimiyle odaklanmış araçlar oluşturmanıza olanak tanır.
:::tip
Herhangi bir kod değişikliği yapmadan kodu analiz etmek ve önerileri gözden geçirmek için Plan agent'ını kullanın.
@@ -15,48 +15,47 @@ Bir oturum sırasında agent'lar arasında geçiş yapabilir veya onları `@` if
## Türler
opencode'da iki tür aracı vardır; birincil ajanlar ve alt ajanlar.
opencode'da iki tür agent vardır; birincil agent'lar ve alt agent'lar.
---
### Primary agent'lar
### Birincil agent'lar
Primary agent'lar, doğrudan etkileşim kurduğunuz ana yardımcılardır. **Sekme** tuşunu veya yapılandırılmış `switch_agent` tuş atamanızı kullanarak bunlar arasında geçiş yapabilirsiniz. Bu agent'lar ana görüşmenizi yönetir. Araç erişimi, izinler aracılığıyla yapılandırılır; örneğin, Plan kısıtlıyken Build'de tüm araçlar etkindir.
Birincil agent'lar, doğrudan etkileşim kurduğunuz ana yardımcılardır. **Sekme** tuşunu veya yapılandırılmış `switch_agent` tuş atamanızı kullanarak bunlar arasında geçiş yapabilirsiniz. Bu agent'lar ana görüşmenizi yönetir. Araç erişimi, izinler aracılığıyla yapılandırılır; örneğin, Plan kısıtlıyken Build'de tüm araçlar etkindir.
:::tip
Bir oturum sırasında primary agent'lar arasında geçiş yapmak için **Sekme** tuşunu kullanabilirsiniz.
Bir oturum sırasında birincil agent'lar arasında geçiş yapmak için **Sekme** tuşunu kullanabilirsiniz.
:::
opencode, **Build** ve **Plan** olmak üzere iki yerleşik primary agent ile birlikte gelir. Kuyu
aşağıdakilere bakın.
opencode, **Build** ve **Plan** olmak üzere iki yerleşik birincil agent ile birlikte gelir. Bunlara aşağıda bakacağız.
---
### Subagent'lar
### Alt agent'lar
Subagent'lar, primary agent'ların belirli görevler için çağırabileceği uzman yardımcılardır. Ayrıca mesajlarınızda **@ bahsederek** bunları manuel olarak da çağırabilirsiniz.
Alt agent'lar, birincil agent'ların belirli görevler için çağırabileceği uzman yardımcılardır. Ayrıca mesajlarınızda **@ bahsederek** bunları manuel olarak da çağırabilirsiniz.
opencode, **General** ve **Explore** olmak üzere iki yerleşik subagent ile birlikte gelir. Buna aşağıda bakacağız.
opencode, **General** ve **Explore** olmak üzere iki yerleşik alt agent ile birlikte gelir. Buna aşağıda bakacağız.
---
## Dahili
## Yerleşik
opencode iki yerleşik primary agent ve iki yerleşik subagent ile birlikte gelir.
opencode iki yerleşik birincil agent ve iki yerleşik alt agent ile birlikte gelir.
---
### Build'i kullan
### Build Kullanımı
_Mode_: `primary`
_Mod_: `primary`
Build, tüm araçların etkin olduğu **varsayılan** primary agent'tır. Bu, dosya işlemlerine ve sistem komutlarına tam erişime ihtiyaç duyduğunuz geliştirme çalışmaları için standart agent'tır.
Build, tüm araçların etkin olduğu **varsayılan** birincil agent'tır. Bu, dosya işlemlerine ve sistem komutlarına tam erişime ihtiyaç duyduğunuz geliştirme çalışmaları için standart agent'tır.
---
### Plan'ı kullan
### Plan Kullanımı
_Mode_: `primary`
_Mod_: `primary`
Planlama ve analiz için tasarlanmış kısıtlı bir agent. Size daha fazla kontrol sağlamak ve istenmeyen değişiklikleri önlemek için bir izin sistemi kullanıyoruz.
Varsayılan olarak aşağıdakilerin tümü `ask` olarak ayarlanmıştır:
@@ -64,45 +63,45 @@ Varsayılan olarak aşağıdakilerin tümü `ask` olarak ayarlanmıştır:
- `file edits`: Tüm yazmalar, yamalar ve düzenler
- `bash`: Tüm bash komutları
Bu agent, LLM'ın kodu analiz etmesini, değişiklik önermesini veya kod tabanınızda herhangi bir gerçek değişiklik yapmadan plan oluşturmasını istediğinizde kullanışlıdır.
Bu agent, LLM'in kodu analiz etmesini, değişiklik önermesini veya kod tabanınızda herhangi bir gerçek değişiklik yapmadan plan oluşturmasını istediğinizde kullanışlıdır.
---
### General'ı kullan
### General Kullanımı
_Mode_: `subagent`
_Mod_: `subagent`
Karmaşık soruları araştırmak ve çok adımlı görevleri yürütmek için genel amaçlı bir agent. Tam araç erişimine sahiptir (yapılacaklar hariç), böylece gerektiğinde dosya değişiklikleri yapabilir. Birden fazla iş birimini paralel olarak çalıştırmak için bunu kullanın.
---
### Explore'u kullan
### Explore Kullanımı
_Mode_: `subagent`
_Mod_: `subagent`
Kod tabanlarını keşfetmeye yönelik hızlı, salt okunur bir agent. Dosyalar değiştirilemiyor. Dosyaları kalıplara göre hızla bulmanız, anahtar sözcükler için kod aramanız veya kod tabanıyla ilgili soruları yanıtlamanız gerektiğinde bunu kullanın.
---
### Compact'i kullan
### Compact Kullanımı
_Mode_: `primary`
_Mod_: `primary`
Uzun bağlamı daha küçük bir özete sıkıştıran gizli sistem agent'ı. Gerektiğinde otomatik olarak çalışır ve kullanıcı arayüzünde seçilemez.
---
### Title'ı kullan
### Title Kullanımı
_Mode_: `primary`
_Mod_: `primary`
Kısa oturum başlıkları oluşturan gizli sistem agent'ı. Otomatik olarak çalışır ve kullanıcı arayüzünde seçilemez.
---
### Summary'yi kullan
### Summary Kullanımı
_Mode_: `primary`
_Mod_: `primary`
Oturum özetleri oluşturan gizli sistem agent'ı. Otomatik olarak çalışır ve kullanıcı arayüzünde seçilemez.
@@ -110,25 +109,25 @@ Oturum özetleri oluşturan gizli sistem agent'ı. Otomatik olarak çalışır v
## Kullanım
1. Primary agent'lar için, oturum sırasında bunlar arasında geçiş yapmak için **Sekme** tuşunu kullanın. Yapılandırılmış `switch_agent` tuş bağınızı da kullanabilirsiniz.
1. Birincil agent'lar için, oturum sırasında bunlar arasında geçiş yapmak için **Sekme** tuşunu kullanın. Yapılandırılmış `switch_agent` tuş bağınızı da kullanabilirsiniz.
2. Subagent'lar çağrılabilir:
- Açıklamalarına göre özel görevler için primary agent'lar tarafından **otomatik olarak**.
- Mesajınızda bir subagent'tan **@ bahsederek** manuel olarak. Örneğin.
2. Alt agent'lar çağrılabilir:
- Açıklamalarına göre özel görevler için birincil agent'lar tarafından **otomatik olarak**.
- Mesajınızda bir alt agent'tan **@ bahsederek** manuel olarak. Örneğin.
```txt frame="none"
@general help me search for this function
```
3. **Oturumlar arasında gezinme**: Subagent'lar kendi alt oturumlarını oluşturduğunda, aşağıdakileri kullanarak ana oturum ile tüm alt oturumlar arasında gezinebilirsiniz:
3. **Oturumlar arasında gezinme**: Alt agent'lar kendi alt oturumlarını oluşturduğunda, aşağıdakileri kullanarak ana oturum ile tüm alt oturumlar arasında gezinebilirsiniz:
- **\<Leader>+Right** (veya yapılandırılmış `session_child_cycle` tuş atamanız) ebeveyn → çocuk1 → çocuk2 → ... → ebeveyn arasında ileri doğru geçiş yapmak için
- **\<Leader>+Left** (veya yapılandırılmış `session_child_cycle_reverse` tuş atamanız) ebeveyn ← çocuk1 ← çocuk2 ← ... ← ebeveyn arasında geriye doğru geçiş yapmak için
Bu, ana görüşme ile özel subagent çalışması arasında sorunsuz bir şekilde geçiş yapmanıza olanak tanır.
Bu, ana görüşme ile özel alt agent çalışması arasında sorunsuz bir şekilde geçiş yapmanıza olanak tanır.
---
## Yapılandır
## Yapılandırma
Yerleşik agent'ları özelleştirebilir veya yapılandırma yoluyla kendinizinkini oluşturabilirsiniz. Agent'lar iki şekilde yapılandırılabilir:
@@ -216,7 +215,7 @@ Bu yapılandırma seçeneklerine ayrıntılı olarak bakalım.
---
### Description
### ıklama
Agent'ın ne yaptığına ve ne zaman kullanılacağına ilişkin kısa bir açıklama sağlamak için `description` seçeneğini kullanın.
@@ -234,9 +233,9 @@ Bu **gerekli** bir yapılandırma seçeneğidir.
---
### Temperature
### Sıcaklık
LLM'nin yanıtlarının rastgeleliğini ve yaratıcılığını `temperature` yapılandırmasıyla kontrol edin.
LLM'in yanıtlarının rastgeleliğini ve yaratıcılığını `temperature` yapılandırmasıyla 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.
@@ -281,7 +280,7 @@ Sıcaklık belirtilmezse opencode modeline özgü varsayılanları kullanır; ç
---
### Max steps
### Maksimum adım
Bir agent'ın yalnızca metinle yanıt vermeye zorlanmadan önce gerçekleştirebileceği maksimum agent yineleme sayısını kontrol edin. Bu, maliyetleri kontrol etmek isteyen kullanıcıların agent eylemlerine bir sınır koymasına olanak tanır.
@@ -307,7 +306,7 @@ Eski `maxSteps` alanı kullanımdan kaldırıldı. Bunun yerine `steps` kullanı
---
### Disable
### Devre dışı bırakma
Agent'ı devre dışı bırakmak için `true` olarak ayarlayın.
@@ -323,7 +322,7 @@ Agent'ı devre dışı bırakmak için `true` olarak ayarlayın.
---
### Prompt
### İstem
Bu agent için `prompt` yapılandırmasıyla özel bir sistem prompt dosyası belirtin. Prompt dosyası, agent'ın amacına özel talimatlar içermelidir.
@@ -346,7 +345,7 @@ Bu yol, yapılandırma dosyasının bulunduğu yere göredir. Yani bu hem global
Bu agent'ın kodu geçersiz 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.
:::tip
Bir model belirtmezseniz, primary agent'lar [model globally configured](/docs/config#models)'yi kullanırken subagent'lar, subagent'ı çağıran primary agent'ın kullanıcı adını kullanır.
Bir model belirtmezseniz, birincil agent'lar [model globally configured](/docs/config#models)'yi kullanırken alt agent'lar, alt agent'ı çağıran birincil agent'ın modelini kullanır.
:::
```json title="opencode.json"
@@ -363,7 +362,7 @@ opencode hesabınızdaki model kimliğini `provider/model-id` biçimini kullanı
---
### Tools
### Araçlar
`tools` yapılandırmasıyla bu agent'ta hangi araçların mevcut olduğunu kontrol edin. Belirli araçları `true` veya `false` olarak ayarlayarak etkinleştirebilir veya devre dışı bırakabilirsiniz.
@@ -410,7 +409,7 @@ Aynı anda birden fazla aracı kontrol etmek için joker karakterleri de kullana
---
### Permissions
### İzinler
Bir agent'ın gerçekleştirebileceği eylemleri yönetmek için izinleri yapılandırabilirsiniz. Şu anda `edit`, `bash` ve `webfetch` araçlarının izinleri şu şekilde yapılandırılabilir:
@@ -522,7 +521,7 @@ Son eşleşen kural öncelikli olduğundan, `*` joker karakterini ilk sıraya ve
---
### Mode
### Mod
Agent'ın modunu `mode` yapılandırmasıyla kontrol edin. `mode` seçeneği agent'ın nasıl kullanılabileceğini belirlemek için kullanılır.
@@ -540,9 +539,9 @@ Agent'ın modunu `mode` yapılandırmasıyla kontrol edin. `mode` seçeneği age
---
### Hidden
### Gizli
`@` otomatik tamamlama menüsünden bir subagent'ı `hidden: true` ile gizleyin. Yalnızca diğer agent'lar tarafından Task aracı aracılığıyla programlı olarak çağrılması gereken dahili subagent'lar için kullanışlıdır.
`@` otomatik tamamlama menüsünden bir alt agent'ı `hidden: true` ile gizleyin. Yalnızca diğer agent'lar tarafından Task aracı aracılığıyla programlı olarak çağrılması gereken dahili alt agent'lar için kullanışlıdır.
```json title="opencode.json"
{
@@ -555,7 +554,7 @@ Agent'ın modunu `mode` yapılandırmasıyla kontrol edin. `mode` seçeneği age
}
```
Bu yalnızca otomatik menüdeki kullanıcının görünümlerinin etkileri. İzinler izin vermesine, gizli agent'lar modeli tarafından Task aracı aracılığıyla çağrılmaya devam edilebilir.
Bu yalnızca otomatik menüdeki görünürlüğü etkiler. İzinler izin verirse, gizli agent'lar model tarafından Task aracı aracılığıyla çağrılmaya devam edilebilir.
:::note
Yalnızca `mode: subagent` agent'ları için geçerlidir.
@@ -563,9 +562,9 @@ Yalnızca `mode: subagent` agent'ları için geçerlidir.
---
### Task permissions
### Görev izinleri
`permission.task` ile bir agent'ın Task aracı aracılığıyla hangi subagent'ları çağırabileceğini kontrol edin. Esnek eşleştirme için küresel desenleri kullanır.
`permission.task` ile bir agent'ın Task aracı aracılığıyla hangi alt agent'ları çağırabileceğini kontrol edin. Esnek eşleştirme için küresel desenleri kullanır.
```json title="opencode.json"
{
@@ -584,19 +583,19 @@ Yalnızca `mode: subagent` agent'ları için geçerlidir.
}
```
`deny` olarak ayarlandığında, subagent Task aracııklamasından tamamen kaldırılır, böylece model onu çağırmaya çalışmaz.
`deny` olarak ayarlandığında, alt agent Task aracııklamasından tamamen kaldırılır, böylece model onu çağırmaya çalışmaz.
:::tip
Kurallar sırayla değerlendirilir ve **son eşleşen kural kazanır**. Yukarıdaki örnekte `orchestrator-planner`, hem `*` (reddet) hem de `orchestrator-*` (izin ver) ile eşleşir, ancak `orchestrator-*`, `*`'den sonra geldiğinden sonuç `allow` olur.
:::
:::tip
Kullanıcılar, agent'ın görev izinleri bunu reddetse bile, her zaman herhangi bir subagent'ı `@` otomatik tamamlama menüsü aracılığıyla doğrudan çağırabilir.
Kullanıcılar, agent'ın görev izinleri bunu reddetse bile, her zaman herhangi bir alt agent'ı `@` otomatik tamamlama menüsü aracılığıyla doğrudan çağırabilir.
:::
---
### Color
### Renk
Agent'ın kullanıcı arayüzündeki görsel görünümünü `color` seçeneğiyle özelleştirin. Bu, agent'ın arayüzde nasıl göründüğünü etkiler.
@@ -635,9 +634,9 @@ Değerler 0,0 ile 1,0 arasında değişir. Düşük değerler daha odaklıdır,
---
### Additional
### Ek
Agent yapılandırmanızdaki düzenlemeleriniz diğer seçenekler, model seçenekleri olarak **doğrudan sağlayıcıya** iletilecektir. Bu, sağlayıcıya özgü özelliklerin ve serbest bırakılmasını sağlar.
Agent yapılandırmanızdaki diğer seçenekler, model seçenekleri olarak **doğrudan sağlayıcıya** iletilecektir. Bu, sağlayıcıya özgü özelliklerin ve parametrelerin kullanılmasını sağlar.
Örneğin OpenAI'nin akıl yürütme modelleriyle akıl yürütme çabasını kontrol edebilirsiniz:
@@ -662,7 +661,7 @@ Mevcut modellerin listesini görmek için `opencode models` komutunu çalıştı
---
## Agent oluşturma
## Agent Oluşturma
Aşağıdaki komutu kullanarak yeni agent'lar oluşturabilirsiniz:
@@ -672,17 +671,17 @@ opencode agent create
Bu etkileşimli komut şunları sağlayacaktır:
1. Agent'ı nereye kaydedeceğinizi sorun; küresel veya projeye özel.
2. Agent'ın ne yapması gerektiğinin açıklaması.
3. Uygun bir sistem prompt'u ve tanımlayıcı oluşturun.
4. Agent'ın hangi araçlara erişebileceğini seçmenize izin verin.
5. Son olarak agent yapılandırmasıyla bir Markdown dosyası oluşturun.
1. Agent'ı nereye kaydedeceğinizi sorar; küresel veya projeye özel.
2. Agent'ın ne yapması gerektiğinin açıklamasını ister.
3. Uygun bir sistem prompt'u ve tanımlayıcı oluşturur.
4. Agent'ın hangi araçlara erişebileceğini seçmenize izin verir.
5. Son olarak agent yapılandırmasıyla bir Markdown dosyası oluşturur.
---
## Kullanım durumları
## Kullanım Senaryoları
Farklı agent'lara yönelik bazı yaygın kullanım durumları aşağıda verilmiştir.
Farklı agent'lara yönelik bazı yaygın kullanım senaryoları aşağıda verilmiştir.
- **Build agent**: Tüm araçların etkinleştirildiği tam geliştirme çalışması
- **Plan agent**: Değişiklik yapmadan analiz ve planlama
@@ -702,7 +701,7 @@ Paylaşmak istediğiniz bir agent'ınız var mı? [Submit a PR](https://github.c
---
### Documentation agent
### Dokümantasyon agent'ı
```markdown title="~/.config/opencode/agents/docs-writer.md"
---
@@ -724,7 +723,631 @@ Focus on:
---
### Security auditor
### Güvenlik denetçisi
```markdown title="~/.config/opencode/agents/security-auditor.md"
---
description: Performs security audits and identifies vulnerabilities
mode: subagent
tools:
write: false
edit: false
---
You are a security expert. Focus on identifying potential security issues.
Look for:
- Input validation vulnerabilities
- Authentication and authorization flaws
- Data exposure risks
- Dependency vulnerabilities
- Configuration security issues
```
3. **Oturumlar arasında gezinme**: Subagent'lar kendi alt oturumlarını oluşturduğunda, aşağıdakileri kullanarak ana oturum ile tüm alt oturumlar arasında gezinebilirsiniz:
- **\<Leader>+Right** (veya yapılandırılmış `session_child_cycle` tuş atamanız) ebeveyn → çocuk1 → çocuk2 → ... → ebeveyn arasında ileri doğru geçiş yapmak için
- **\<Leader>+Left** (veya yapılandırılmış `session_child_cycle_reverse` tuş atamanız) ebeveyn ← çocuk1 ← çocuk2 ← ... ← ebeveyn arasında geriye doğru geçiş yapmak için
Bu, ana görüşme ile özel subagent çalışması arasında sorunsuz bir şekilde geçiş yapmanıza olanak tanır.
---
## Yapılandırma veya yapılandırma yoluyla kendinizinkini oluşturabilirsiniz. Agent'lar iki şekilde yapılandırılabilir:
---
### JSON
Agent'ları `opencode.json` yapılandırma dosyanızda yapılandırın:
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"mode": "primary",
"model": "anthropic/claude-sonnet-4-20250514",
"prompt": "{file:./prompts/build.txt}",
"tools": {
"write": true,
"edit": true,
"bash": true
}
},
"plan": {
"mode": "primary",
"model": "anthropic/claude-haiku-4-20250514",
"tools": {
"write": false,
"edit": false,
"bash": false
}
},
"code-reviewer": {
"description": "Reviews code for best practices and potential issues",
"mode": "subagent",
"model": "anthropic/claude-sonnet-4-20250514",
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
"tools": {
"write": false,
"edit": false
}
}
}
}
```
---
### Markdown
Ayrıca agent'ları Markdown dosyalarını kullanarak da tanımlayabilirsiniz. Bunları şuraya yerleştirin:
- Global: `~/.config/opencode/agents/`
- Per-project: `.opencode/agents/`
```markdown title="~/.config/opencode/agents/review.md"
---
description: Reviews code for quality and best practices
mode: subagent
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ının adı agent'ın adı olur. Örneğin, `review.md` bir `review` agent'ı oluşturur.
---
## Seçenekler
Bu yapılandırma seçeneklerine ayrıntılı olarak bakalım.
---
### Açıklama
Agent'ın ne yaptığına ve ne zaman kullanılacağına ilişkin kısa bir açıklama sağlamak için `description` seçeneğini kullanın.
```json title="opencode.json"
{
"agent": {
"review": {
"description": "Reviews code for best practices and potential issues"
}
}
}
```
Bu **gerekli** bir yapılandırma seçeneğidir.
---
### Sıcaklık
LLM'nin yanıtlarının rastgeleliğini ve yaratıcılığını `temperature` yapılandırmasıyla 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"
{
"agent": {
"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 planlama 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"
{
"agent": {
"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 modeline özgü varsayılanları kullanır; çoğu model için genellikle 0, Qwen modelleri için 0,55.
---
### Maksimum adım
Bir agent'ın yalnızca metinle yanıt vermeye zorlanmadan önce gerçekleştirebileceği maksimum agent yineleme sayısını kontrol edin. Bu, maliyetleri kontrol etmek isteyen kullanıcıların agent eylemlerine bir sınır koymasına olanak tanır.
Bu ayarlanmazsa, model durmayı seçene veya kullanıcı oturumu kesene kadar agent yinelemeye devam edecektir.
```json title="opencode.json"
{
"agent": {
"quick-thinker": {
"description": "Fast reasoning with limited iterations",
"prompt": "You are a quick thinker. Solve problems with minimal steps.",
"steps": 5
}
}
}
```
Sınıra ulaşıldığında, agent, işinin özeti ve önerilen kalan görevlerin bir özetiyle yanıt vermesi talimatını veren özel bir sistem prompt'u alır.
:::caution
Eski `maxSteps` alanı kullanımdan kaldırıldı. Bunun yerine `steps` kullanın.
:::
---
### Devre dışı bırakma
Agent'ı devre dışı bırakmak için `true` olarak ayarlayın.
```json title="opencode.json"
{
"agent": {
"review": {
"disable": true
}
}
}
```
---
### İstem
Bu agent için `prompt` yapılandırmasıyla özel bir sistem prompt dosyası belirtin. Prompt dosyası, agent'ın amacına özel talimatlar içermelidir.
```json title="opencode.json"
{
"agent": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}
```
Bu yol, yapılandırma dosyasının bulunduğu yere göredir. Yani bu hem global opencode yapılandırması hem de projeye özel yapılandırma için işe yarar.
---
### Model
Bu agent'ın 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.
:::tip
Bir model belirtmezseniz, primary agent'lar [model globally configured](/docs/config#models)'yi kullanırken subagent'lar, subagent'ı çağıran primary agent'ın modelini kullanır.
:::
```json title="opencode.json"
{
"agent": {
"plan": {
"model": "anthropic/claude-haiku-4-20250514"
}
}
}
```
opencode hesabınızdaki model kimliğini `provider/model-id` biçimini kullanır. Örneğin, [OpenCode Zen](/docs/zen) kullanıyorsanız, GPT 5.1 Codex için `opencode/gpt-5.1-codex` kullanırsınız.
---
### Araçlar
`tools` yapılandırmasıyla bu agent'ta hangi araçların mevcut olduğunu kontrol edin. Belirli araçları `true` veya `false` olarak ayarlayarak etkinleştirebilir veya devre dışı bırakabilirsiniz.
```json title="opencode.json" {3-6,9-12}
{
"$schema": "https://opencode.ai/config.json",
"tools": {
"write": true,
"bash": true
},
"agent": {
"plan": {
"tools": {
"write": false,
"bash": false
}
}
}
}
```
:::note
Agent'a özgü yapılandırma, genel yapılandırmayı geçersiz kılar.
:::
Aynı anda birden fazla aracı kontrol etmek için joker karakterleri de kullanabilirsiniz. Örneğin, bir MCP sunucusundaki tüm araçları devre dışı bırakmak için:
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"readonly": {
"tools": {
"mymcp_*": false,
"write": false,
"edit": false
}
}
}
}
```
[Araçlar hakkında daha fazla bilgi](/docs/tools).
---
### İzinler
Bir agent'ın gerçekleştirebileceği eylemleri yönetmek için izinleri yapılandırabilirsiniz. Şu anda `edit`, `bash` ve `webfetch` araçlarının izinleri şu şekilde yapılandırılabilir:
- `"ask"` — Agent çalıştırmadan önce onay iste
- `"allow"` — Onay olmadan tüm işlemlere izin ver
- `"deny"` — Agent'ı devre dışı bırakır
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "deny"
}
}
```
Bu izinleri agent başına geçersiz kılabilirsiniz.
```json title="opencode.json" {3-5,8-10}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "deny"
},
"agent": {
"build": {
"permission": {
"edit": "ask"
}
}
}
}
```
İzinleri Markdown agent'larında da ayarlayabilirsiniz.
```markdown title="~/.config/opencode/agents/review.md"
---
description: Code review without edits
mode: subagent
permission:
edit: deny
bash:
"*": ask
"git diff": allow
"git log*": allow
"grep *": allow
webfetch: deny
---
Only analyze code and suggest changes.
```
Belirli bash komutları için izinleri ayarlayabilirsiniz.
```json title="opencode.json" {7}
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git push": "ask",
"grep *": "allow"
}
}
}
}
}
```
Bu küresel bir desen alabilir.
```json title="opencode.json" {7}
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git *": "ask"
}
}
}
}
}
```
Ayrıca tüm komutların izinlerini yönetmek için `*` joker karakterini de kullanabilirsiniz.
Son eşleşen kural öncelikli olduğundan, `*` joker karakterini ilk sıraya ve belirli kuralları sonraya koyun.
```json title="opencode.json" {8}
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"*": "ask",
"git status *": "allow"
}
}
}
}
}
```
[İzinler hakkında daha fazla bilgi](/docs/permissions).
---
### Mod
Agent'ın modunu `mode` yapılandırmasıyla kontrol edin. `mode` seçeneği agent'ın nasıl kullanılabileceğini belirlemek için kullanılır.
```json title="opencode.json"
{
"agent": {
"review": {
"mode": "subagent"
}
}
}
```
`mode` seçeneği `primary`, `subagent` veya `all` olarak ayarlanabilir. `mode` belirtilmezse varsayılan olarak `all` olur.
---
### Gizli
`@` otomatik tamamlama menüsünden bir subagent'ı `hidden: true` ile gizleyin. Yalnızca diğer agent'lar tarafından Task aracı aracılığıyla programlı olarak çağrılması gereken dahili subagent'lar için kullanışlıdır.
```json title="opencode.json"
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}
```
Bu yalnızca otomatik menüdeki kullanıcının görünümlerinin etkileri. İzinler izin vermesine, gizli agent'lar modeli tarafından Task aracı aracılığıyla çağrılmaya devam edilebilir.
:::note
Yalnızca `mode: subagent` agent'ları için geçerlidir.
:::
---
### Görev izinleri
`permission.task` ile bir agent'ın Task aracı aracılığıyla hangi subagent'ları çağırabileceğini kontrol edin. Esnek eşleştirme için küresel desenleri kullanır.
```json title="opencode.json"
{
"agent": {
"orchestrator": {
"mode": "primary",
"permission": {
"task": {
"*": "deny",
"orchestrator-*": "allow",
"code-reviewer": "ask"
}
}
}
}
}
```
`deny` olarak ayarlandığında, subagent Task aracııklamasından tamamen kaldırılır, böylece model onu çağırmaya çalışmaz.
:::tip
Kurallar sırayla değerlendirilir ve **son eşleşen kural kazanır**. Yukarıdaki örnekte `orchestrator-planner`, hem `*` (reddet) hem de `orchestrator-*` (izin ver) ile eşleşir, ancak `orchestrator-*`, `*`'den sonra geldiğinden sonuç `allow` olur.
:::
:::tip
Kullanıcılar, agent'ın görev izinleri bunu reddetse bile, her zaman herhangi bir subagent'ı `@` otomatik tamamlama menüsü aracılığıyla doğrudan çağırabilir.
:::
---
### Renk
Agent'ın kullanıcı arayüzündeki görsel görünümünü `color` seçeneğiyle özelleştirin. Bu, agent'ın arayüzde nasıl göründüğünü etkiler.
geçerli bir onaltılık renk (ör. `#FF5733`) veya tema rengini kullanın: `primary`, `secondary`, `accent`, `success`, `warning`, `error`, `info`.
```json title="opencode.json"
{
"agent": {
"creative": {
"color": "#ff6b6b"
},
"code-reviewer": {
"color": "accent"
}
}
}
```
---
### Top P
`top_p` seçeneğiyle yanıt çeşitliliğini kontrol edin. Rastgeleliği kontrol etmek için sıcaklığa alternatif.
```json title="opencode.json"
{
"agent": {
"brainstorm": {
"top_p": 0.9
}
}
}
```
Değerler 0,0 ile 1,0 arasında değişir. Düşük değerler daha odaklıdır, yüksek değerler ise daha çeşitlidir.
---
### Ek
Agent yapılandırmanızdaki diğer seçenekler, model seçenekleri olarak **doğrudan sağlayıcıya** iletilecektir. Bu, sağlayıcıya özgü özelliklerin kullanılmasını sağlar.
Örneğin OpenAI'nin akıl yürütme modelleriyle akıl yürütme çabasını kontrol edebilirsiniz:
```json title="opencode.json" {6,7}
{
"agent": {
"deep-thinker": {
"description": "Agent that uses high reasoning effort for complex problems",
"model": "openai/gpt-5",
"reasoningEffort": "high",
"textVerbosity": "low"
}
}
}
```
Bu ek seçenekler modele ve sağlayıcıya özeldir. Kullanılabilir parametreler için sağlayıcınızın belgelerine bakın.
:::tip
Mevcut modellerin listesini görmek için `opencode models` komutunu çalıştırın.
:::
---
## Agent Oluşturma
Aşağıdaki komutu kullanarak yeni agent'lar oluşturabilirsiniz:
```bash
opencode agent create
```
Bu etkileşimli komut şunları sağlayacaktır:
1. Agent'ı nereye kaydedeceğinizi sorun; küresel veya projeye özel.
2. Agent'ın ne yapması gerektiğinin açıklaması.
3. Uygun bir sistem istemi ve tanımlayıcı oluşturun.
4. Agent'ın hangi araçlara erişebileceğini seçmenize izin verin.
5. Son olarak agent yapılandırmasıyla bir Markdown dosyası oluşturun.
---
## Kullanım Senaryoları
Farklı agent'lara yönelik bazı yaygın kullanım senaryoları aşağıda verilmiştir.
- **Build agent**: Tüm araçların etkinleştirildiği tam geliştirme çalışması
- **Plan agent**: Değişiklik yapmadan analiz ve planlama
- **Review agent**: Salt okunur erişim ve belgeleme araçlarıyla kod incelemesi
- **Debug agent**: Bash ve okuma araçları etkinken araştırmaya odaklanmıştır
- **Docs agent**: Dosya işlemleriyle ancak sistem komutları olmadan belge yazma
---
## Örnekler
Yararlı bulabileceğiniz bazı örnek agent'ları burada bulabilirsiniz.
:::tip
Paylaşmak istediğiniz bir agent'ınız var mı? [Submit a PR](https://github.com/anomalyco/opencode).
:::
---
### Dokümantasyon agent'ı
```markdown title="~/.config/opencode/agents/docs-writer.md"
---
description: Writes and maintains project documentation
mode: subagent
tools:
bash: false
---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations
- Proper structure
- Code examples
- User-friendly language
```
---
### Güvenlik denetçisi
```markdown title="~/.config/opencode/agents/security-auditor.md"
---

View File

@@ -36,7 +36,7 @@ opencode [project]
| `--fork` | | Devam ederken oturumu fork'lar (`--continue` veya `--session` ile kullanın) |
| `--prompt` | | Kullanılacak prompt |
| `--model` | `-m` | provider/model biçiminde kullanılacak model |
| `--agent` | | Kullanılacak temsilci |
| `--agent` | | Kullanılacak agent |
| `--port` | | Dinlenecek port |
| `--hostname` | | Dinlenecek host adı |
@@ -50,7 +50,7 @@ opencode CLI ayrıca aşağıdaki komutlara da sahiptir.
### agent
opencode için aracıları yönetin.
opencode için agent'ları yönetin.
```bash
opencode agent [command]
@@ -87,13 +87,13 @@ opencode attach http://10.20.30.40:4096
#### create
Özel yapılandırmaya sahip yeni bir aracı oluşturun.
Özel yapılandırmaya sahip yeni bir agent oluşturun.
```bash
opencode agent create
```
Bu komut, özel sistem istemi ve araç yapılandırmasıyla yeni bir aracı oluşturma konusunda size yol gösterecektir.
Bu komut, özel sistem istemi ve araç yapılandırmasıyla yeni bir agent oluşturma konusunda size yol gösterecektir.
---
@@ -553,32 +553,32 @@ opencode CLI aşağıdaki global bayrakları destekler.
opencode ortam değişkenleri kullanılarak yapılandırılabilir.
| Değişken | Tür | Açıklama |
| Değişken | Tip | Açıklama |
| ------------------------------------- | ------- | --------------------------------------------------------------------------- |
| `OPENCODE_AUTO_SHARE` | boole | Oturumları otomatik olarak paylaş |
| `OPENCODE_GIT_BASH_PATH` | dize | Windows'ta yürütülebilir Git Bash'in Yolu |
| `OPENCODE_CONFIG` | dize | Yapılandırma dosyasının yolu |
| `OPENCODE_CONFIG_DIR` | dize | Yapılandırma dizinine giden yol |
| `OPENCODE_AUTO_SHARE` | boolean | Oturumları otomatik olarak paylaş |
| `OPENCODE_GIT_BASH_PATH` | string | Windows'ta yürütülebilir Git Bash'in Yolu |
| `OPENCODE_CONFIG` | string | Yapılandırma dosyasının yolu |
| `OPENCODE_CONFIG_DIR` | string | Yapılandırma dizinine giden yol |
| `OPENCODE_CONFIG_CONTENT` | string | Satır içi JSON config içeriği |
| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | Otomatik güncelleme kontrollerini devre dışı bırak |
| `OPENCODE_DISABLE_PRUNE` | boolean | Eski verilerin temizlenmesini devre dışı bırak |
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boole | Otomatik terminal başlığı güncellemelerini devre dışı bırakın |
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | Otomatik terminal başlığı güncellemelerini devre dışı bırakın |
| `OPENCODE_PERMISSION` | string | Satır içi JSON izin config'i |
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boole | Varsayılan eklentileri devre dışı bırakın |
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boole | Otomatik LSP sunucu indirmelerini devre dışı bırakın |
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolean | Varsayılan eklentileri devre dışı bırakın |
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolean | Otomatik LSP sunucu indirmelerini devre dışı bırakın |
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | Deneysel modelleri etkinleştir |
| `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | Otomatik context sıkıştırmayı devre dışı bırak |
| `OPENCODE_DISABLE_CLAUDE_CODE` | boole | `.claude`'den okumayı devre dışı bırak (istem + beceriler) |
| `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | `.claude`'den okumayı devre dışı bırak (istem + beceriler) |
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | `~/.claude/CLAUDE.md` dosyasını okumayı devre dışı bırak |
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | `.claude/skills` yüklemesini devre dışı bırak |
| `OPENCODE_DISABLE_MODELS_FETCH` | boole | Uzak kaynaklardan model getirmeyi devre dışı bırakın |
| `OPENCODE_FAKE_VCS` | dize | Test amaçlı sahte VCS sağlayıcısı |
| `OPENCODE_DISABLE_FILETIME_CHECK` | boole | Optimizasyon için dosya süresi kontrolünü devre dışı bırakın |
| `OPENCODE_DISABLE_MODELS_FETCH` | boolean | Uzak kaynaklardan model getirmeyi devre dışı bırakın |
| `OPENCODE_FAKE_VCS` | string | Test amaçlı sahte VCS sağlayıcısı |
| `OPENCODE_DISABLE_FILETIME_CHECK` | boolean | Optimizasyon için dosya süresi kontrolünü devre dışı bırakın |
| `OPENCODE_CLIENT` | string | Client kimliği (varsayılan: `cli`) |
| `OPENCODE_ENABLE_EXA` | boolean | Exa web arama araçlarını etkinleştir |
| `OPENCODE_SERVER_PASSWORD` | dize | `serve`/`web` için temel kimlik doğrulamayı etkinleştirin |
| `OPENCODE_SERVER_USERNAME` | dize | Temel kimlik doğrulama kullanıcı adını geçersiz kıl (varsayılan `opencode`) |
| `OPENCODE_MODELS_URL` | dize | Model yapılandırmasını almak için özel URL |
| `OPENCODE_SERVER_PASSWORD` | string | `serve`/`web` için temel kimlik doğrulamayı etkinleştirin |
| `OPENCODE_SERVER_USERNAME` | string | Temel kimlik doğrulama kullanıcı adını geçersiz kıl (varsayılan `opencode`) |
| `OPENCODE_MODELS_URL` | string | Model yapılandırmasını almak için özel URL |
---
@@ -591,8 +591,8 @@ Bu ortam değişkenleri değişebilecek veya kaldırılabilecek deneysel özelli
| `OPENCODE_EXPERIMENTAL` | boolean | Tüm deneysel özellikleri etkinleştir |
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | Simge bulmayı etkinleştir |
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolean | TUI'da seçim yapıldığında kopyalamayı devre dışı bırak |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | sayı | MS cinsinden bash komutları için varsayılan zaman aşımı |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | sayı | LLM yanıtları için maksimum çıktı belirteçleri |
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | number | MS cinsinden bash komutları için varsayılan zaman aşımı |
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | number | LLM yanıtları için maksimum çıktı belirteçleri |
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolean | Tüm dizin için dosya izleyiciyi etkinleştir |
| `OPENCODE_EXPERIMENTAL_OXFMT` | boolean | Oxfmt biçimlendiriciyi etkinleştir |
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolean | Deneysel LSP aracını etkinleştir |

View File

@@ -13,7 +13,7 @@ description: Tekrarlanan görevler için özel komutlar oluşturulur.
---
## Komut dosyaları oluşturun
## Komut dosyaları oluşturma
Özel komutları tanımlamak için `commands/` dizininde işaretleme dosyaları oluşturun.
@@ -40,7 +40,7 @@ Focus on the failing tests and suggest fixes.
---
## Yapılandır
## Yapılandırma
opencode işlemleri aracılığıyla veya `commands/` dizininde işaretleme dosyalarının oluşturulması özel komutlar ile yapılabilir.
@@ -75,7 +75,7 @@ Artık bu komutu TUI'da çalıştırabilirsiniz:
---
### İndirim
### Markdown
Markdown dosyalarını kullanarak komutları da tanımlayabilirsiniz. Bunları şuraya yerleştirin:
@@ -212,7 +212,7 @@ Dosya içeriği otomatik olarak istemde yer alır.
---
## Options
## Seçenekler
Yapılandırma seçeneklerine ayrıntılı olarak bakalım.
@@ -236,7 +236,7 @@ Bu **gerekli** bir yapılandırma seçeneğidir.
---
### Tanım
### ıklama
Komutun ne yaptığına ilişkin kısa bir açıklama sağlamak için `description` seçeneğini kullanın.
@@ -312,7 +312,7 @@ Bu **isteğe bağlı** bir yapılandırma seçeneğidir.
---
## Built-in
## Yerleşik
opencode, `/init`, `/undo`, `/redo`, `/share`, `/help` gibi çeşitli yerleşik komutlar içerir; [learn more](/docs/tui#commands).

View File

@@ -26,7 +26,7 @@ opencode hem **JSON** hem de **JSONC** (JSON Yorumlarla birlikte) formatlarını
## Konumlar
Yapılandırmanızı birkaç farklı konuma yerleştirebilirsiniz ve bunların
farklı öncelik sırası.
farklı öncelik sırası vardır.
:::note
Yapılandırma dosyaları **birleştirilir**, değiştirilmez.
@@ -34,20 +34,20 @@ Yapılandırma dosyaları **birleştirilir**, değiştirilmez.
Yapılandırma dosyaları değiştirilmez, birleştirilir. Aşağıdaki yapılandırma konumlarındaki ayarlar birleştirilir. Daha sonraki yapılandırmalar, yalnızca çakışan anahtarlar için önceki yapılandırmaları geçersiz kılar. Tüm yapılandırmalardaki çakışmayan ayarlar korunur.
Örneğin, genel ayarınız `theme: "opencode"` ve `autoupdate: true`'yi ayarlıyorsa ve proje ayarlarınız `model: "anthropic/claude-sonnet-4-5"`'yi ayarlıyorsa, son tork ayarının tümünü dikkate alır.
Örneğin, genel ayarınız `theme: "opencode"` ve `autoupdate: true`'yi ayarlıyorsa ve proje ayarlarınız `model: "anthropic/claude-sonnet-4-5"`'yi ayarlıyorsa, nihai yapılandırma üç ayarı da içerecektir.
---
### Precedence order
### Öncelik sırası
Yapılandırma kaynakları bu sırayla yüklenir (sonraki kaynaklar öncekileri geçersiz kılar):
1. **Uzaktan yapılandırma** (`.well-known/opencode`'dan) - kurumsal varsayılanlar
2. **Global config** (`~/.config/opencode/opencode.json`) - user preferences
3. **Custom config** (`OPENCODE_CONFIG` env var) - custom overrides
4. **Project config** (`opencode.json` in project) - project-specific settings
5. **`.opencode` dizinleri** - aracılar, komutlar, eklentiler
6. **Inline config** (`OPENCODE_CONFIG_CONTENT` env var) - runtime overrides
1. **Uzak yapılandırma** (`.well-known/opencode`'dan) - kurumsal varsayılanlar
2. **Genel yapılandırma** (`~/.config/opencode/opencode.json`) - kullanıcı tercihleri
3. **Özel yapılandırma** (`OPENCODE_CONFIG` env var) - özel geçersiz kılmalar
4. **Proje yapılandırması** (projedeki `opencode.json`) - projeye özgü ayarlar
5. **`.opencode` dizinleri** - agent'lar, komutlar, eklentiler
6. **Satır içi yapılandırma** (`OPENCODE_CONFIG_CONTENT` env var) - çalışma zamanı geçersiz kılmaları
Bu, proje yapılandırmalarının genel varsayılanları geçersiz kılabileceği ve genel yapılandırmaların uzak organizasyonel varsayılanları geçersiz kılabileceği anlamına gelir.
@@ -61,7 +61,7 @@ Bu, proje yapılandırmalarının genel varsayılanları geçersiz kılabileceğ
Kuruluşlar, `.well-known/opencode` uç noktası aracılığıyla varsayılan yapılandırmayı sağlayabilir. Bu, onu destekleyen bir sağlayıcıyla kimlik doğrulaması yaptığınızda otomatik olarak alınır.
Remote config ilk olarak yüklenir ve temel katman görevi görür. Diğer tüm yapılandırma kaynakları (genel, proje) bu varsayılanları geçersiz kılabilir.
Uzak yapılandırma ilk olarak yüklenir ve temel katman görevi görür. Diğer tüm yapılandırma kaynakları (genel, proje) bu varsayılanları geçersiz kılabilir.
Örneğin, kuruluşunuz varsayılan olarak devre dışı bırakılan MCP sunucuları sağlıyorsa:
@@ -97,7 +97,7 @@ Yerel yapılandırmanızda belirli sunucuları etkinleştirebilirsiniz:
Global opencode yapılandırmanızı `~/.config/opencode/opencode.json` içine yerleştirin. Temalar, sağlayıcılar veya tuş atamaları gibi kullanıcı çapındaki tercihler için genel yapılandırmayı kullanın.
Global config overrides remote organizational defaults.
Genel yapılandırma, uzak kurumsal varsayılanları geçersiz kılar.
---
@@ -131,7 +131,7 @@ opencode run "Hello world"
### Özel dizin
`OPENCODE_CONFIG_DIR` kullanarak özel bir yapılandırma dizini belirtin
ortam değişkeni. Bu dizin aracılar, komutlar için aranacaktır.
ortam değişkeni. Bu dizin agent'lar, komutlar için aranacaktır.
modlar ve eklentiler tıpkı standart `.opencode` dizini gibi olmalıdır ve
aynı yapıyı takip edin.
@@ -144,7 +144,7 @@ opencode run "Hello world"
---
## Schema
## Şema
Yapılandırma dosyası [**`opencode.ai/config.json`**](https://opencode.ai/config.json)'da tanımlanan bir şemaya sahiptir.
@@ -268,7 +268,7 @@ Ayrıca [local models](/docs/models#local) ayarlayabilirsiniz. [Daha fazla bilgi
Bazı sağlayıcılar genel `timeout` ve `apiKey` ayarlarının ötesinde ek yapılandırma seçeneklerini destekler.
##### Amazon Ana Kayası
##### Amazon Bedrock
Amazon Bedrock, AWS'a özgü yapılandırmayı destekler:
@@ -314,9 +314,9 @@ opencode yapılandırmanızda kullanmak istediğiniz temayı `theme` seçeneği
---
### Temsilciler
### Agent'lar
`agent` seçeneği aracılığıyla özel görevlere yönelik özel aracıları yapılandırabilirsiniz.
`agent` seçeneği aracılığıyla özel görevlere yönelik özel agent'ları yapılandırabilirsiniz.
```jsonc title="opencode.jsonc"
{
@@ -330,6 +330,7 @@ opencode yapılandırmanızda kullanmak istediğiniz temayı `theme` seçeneği
// Disable file modification tools for review-only agent
"write": false,
"edit": false,
"bash": true,
},
},
},
@@ -340,9 +341,9 @@ Agent'ları `~/.config/opencode/agents/` veya `.opencode/agents/` içindeki Mark
---
### Varsayılan temsilci
### Varsayılan agent
`default_agent` seçeneğini kullanarak varsayılan aracıyı ayarlayabilirsiniz. Bu, hiçbiri açıkça belirtilmediğinde hangi aracının kullanılacağını belirler.
`default_agent` seçeneğini kullanarak varsayılan agent'ı ayarlayabilirsiniz. Bu, hiçbiri açıkça belirtilmediğinde hangi agent'ın kullanılacağını belirler.
```json title="opencode.json"
{
@@ -351,7 +352,7 @@ Agent'ları `~/.config/opencode/agents/` veya `.opencode/agents/` içindeki Mark
}
```
Varsayılan aracı, birincil aracı olmalıdır (alt aracı değil). Bu, `"build"` veya `"plan"` gibi yerleşik bir aracı ya da tanımladığınız bir [custom agent](/docs/agents) olabilir. Belirtilen aracı mevcut değilse veya bir alt aracı ise, opencode bir uyarıyla birlikte `"build"`'ye geri döner.
Varsayılan agent, birincil agent olmalıdır (alt agent değil). Bu, `"build"` veya `"plan"` gibi yerleşik bir agent ya da tanımladığınız bir [özel agent](/docs/agents) olabilir. Belirtilen agent mevcut değilse veya bir alt agent ise, opencode bir uyarıyla birlikte `"build"`'ye geri döner.
Bu ayar tüm arayüzler için geçerlidir: TUI, CLI (`opencode run`), masaüstü uygulaması ve GitHub Action.
@@ -359,7 +360,7 @@ Bu ayar tüm arayüzler için geçerlidir: TUI, CLI (`opencode run`), masaüstü
### Paylaşma
[share](/docs/share) özelliği `share` seçeneğini aracılığıyla yapılandırabilirsiniz.
[share](/docs/share) özelliğini `share` seçeneği aracılığıyla yapılandırabilirsiniz.
```json title="opencode.json"
{
@@ -374,7 +375,7 @@ Bu şunları gerektirir:
- `"auto"` - Yeni konuşmaları otomatik olarak paylaş
- `"disabled"` - Paylaşımı tamamen devre dışı bırak
Varsayılan olarak paylaşım, `/share` yoğunluğu kullanılarak konuşmalarııkça paylaşmanız gereken manuel moda ayarlanmıştır.
Varsayılan olarak paylaşım, `/share` komutunu kullanarak konuşmalarııkça paylaşmanız gereken manuel moda ayarlanmıştır.
---
@@ -404,7 +405,7 @@ Komutları `~/.config/opencode/commands/` veya `.opencode/commands/` içindeki M
---
### Tuş bağlantıları
### Tuş atamaları
Tuş atamalarınızı `keybinds` seçeneği aracılığıyla özelleştirebilirsiniz.
@@ -419,7 +420,7 @@ Tuş atamalarınızı `keybinds` seçeneği aracılığıyla özelleştirebilirs
---
### Autoupdate
### Otomatik Güncelleme
opencode başlatıldığında yeni güncellemeleri otomatik olarak indirecektir. Bunu `autoupdate` seçeneğiyle devre dışı bırakabilirsiniz.
@@ -461,7 +462,7 @@ Kod formatlayıcılarını `formatter` seçeneği aracılığıyla yapılandıra
---
### Permissions
### İzinler
Varsayılan olarak, opencode açık bir onay gerektirmeden **tüm işlemlere izin verir**. `permission` seçeneğini kullanarak bunu değiştirebilirsiniz.
@@ -500,7 +501,7 @@ Bağlam sıkıştırma davranışını `compaction` seçeneği aracılığıyla
---
### Watcher
### İzleyici
Dosya izleyicinin yok sayma kalıplarını `watcher` seçeneği aracılığıyla yapılandırabilirsiniz.
@@ -532,9 +533,9 @@ Kullanmak istediğiniz MCP sunucularını `mcp` seçeneği aracılığıyla yap
---
### Plugins
### Eklentiler
[Plugins](/docs/plugins) opencode'u özel araçlar, kancalar ve entegrasyonlarla genişletin.
[Eklentiler](/docs/plugins) opencode'u özel araçlar, kancalar ve entegrasyonlarla genişletin.
Eklenti dosyalarını `.opencode/plugins/` veya `~/.config/opencode/plugins/` içine yerleştirin. Ayrıca eklentileri `plugin` seçeneği aracılığıyla npm'den de yükleyebilirsiniz.
@@ -560,12 +561,11 @@ Kullandığınız modele ilişkin talimatları `instructions` seçeneği aracıl
}
```
Bu, talimat dosyalarına giden bir dizi yolu ve glob desenini alır. [Daha fazla bilgi edin
kurallar hakkında burada](/docs/rules).
Bu, talimat dosyalarına giden bir dizi yolu ve glob desenini alır. [Kurallar hakkında daha fazla bilgiyi buradan edinin](/docs/rules).
---
### Disabled providers
### Devre dışı bırakılan sağlayıcılar
`disabled_providers` seçeneği aracılığıyla otomatik olarak yüklenen sağlayıcıları devre dışı bırakabilirsiniz. Bu, belirli sağlayıcıların kimlik bilgileri mevcut olsa bile yüklenmesini engellemek istediğinizde kullanışlıdır.
@@ -582,7 +582,7 @@ kurallar hakkında burada](/docs/rules).
`disabled_providers` seçeneği bir dizi sağlayıcı kimliğini kabul eder. Bir sağlayıcı devre dışı bırakıldığında:
- It won't be loaded even if environment variables are set.
- Ortam değişkenleri ayarlanmış olsa bile yüklenmez.
- API anahtarları `/connect` komutu aracılığıyla yapılandırılsa bile yüklenmeyecektir.
- Sağlayıcının modelleri, model seçim listesinde görünmez.
@@ -609,7 +609,7 @@ Bir sağlayıcı hem `enabled_providers` hem de `disabled_providers`'de görün
---
### Experimental
### Deneysel
`experimental` anahtarı aktif olarak geliştirilmekte olan seçenekleri içerir.
@@ -621,7 +621,7 @@ Bir sağlayıcı hem `enabled_providers` hem de `disabled_providers`'de görün
```
:::caution
Experimental options are not stable. They may change or be removed without notice.
Deneysel seçenekler kararlı değildir. Bildirim yapılmaksızın değişebilir veya kaldırılabilirler.
:::
---
@@ -632,7 +632,7 @@ Ortam değişkenlerine ve dosya içeriklerine referans vermek için yapılandır
---
### Env vars
### Ortam değişkenleri
Ortam değişkenlerini değiştirmek için `{env:VARIABLE_NAME}` kullanın:

View File

@@ -7,7 +7,7 @@ description: LLM'un opencode'da çağırabileceği araçları birleştirebilir.
---
## Creating a tool
## Araç oluşturma
Araçlar **TypeScript** veya **JavaScript** dosyaları olarak tanımlanır. Ancak araç tanımı **herhangi bir dilde** yazılmış komut dosyalarını çağırabilir; TypeScript veya JavaScript yalnızca araç tanımının kendisi için kullanılır.
@@ -22,7 +22,7 @@ Bunlar tanımlanabilir:
---
### Structure
### Yapı
Araç oluşturmanın en kolay yolu, tür güvenliği ve doğrulama sağlayan `tool()` yardımcısını kullanmaktır.
@@ -79,7 +79,7 @@ Bu iki araç oluşturur: `math_add` ve `math_multiply`.
---
### Arguments
### Argümanlar
Bağımsız değişken türlerini tanımlamak için yalnızca [Zod](https://zod.dev) olan `tool.schema` öğesini kullanabilirsiniz.
@@ -131,9 +131,9 @@ Git çalışma ağacı kökü için `context.worktree` kullanın.
---
## Examples
## Örnekler
### Write a tool in Python
### Python ile araç yazma
Araçlarınızı dilediğiniz dilde yazabilirsiniz. İşte Python kullanarak iki sayıyı toplayan bir örnek.

View File

@@ -13,7 +13,7 @@ Ayrıca ekosistemi ve topluluğu bir araya getiren bir topluluk olan [awesome-op
---
## Plugins
## Eklentiler
| İsim | Açıklama |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
@@ -68,7 +68,7 @@ Ayrıca ekosistemi ve topluluğu bir araya getiren bir topluluk olan [awesome-op
---
## Agents
## Agent'lar
| İsim | Açıklama |
| ----------------------------------------------------------------- | --------------------------------------------------------------------------- |

View File

@@ -1,6 +1,6 @@
---
title: Girişim
description: opencode'u kısıtlamanızda güvenli bir şekilde kullanma.
title: Kurumsal
description: opencode'u kuruluşunuzda güvenli bir şekilde kullanma.
---
import config from "../../../../config.mjs"
@@ -19,9 +19,9 @@ opencode Enterprise'ı kullanmaya başlamak için:
---
## Trial
## Deneme
opencode açık kaynaktır ve herhangi bir kodunuzu veya içerik verilerinizi saklamaz; böylece geliştiricileriniz [get started](/docs/) yapıp bir deneme gerçekleştirebilir.
opencode açık kaynaktır ve herhangi bir kodunuzu veya içerik verilerinizi saklamaz; böylece geliştiricileriniz [hemen başlayıp](/docs/) bir deneme gerçekleştirebilir.
---
@@ -36,7 +36,7 @@ saklama alanının tek izolasyonuna bağlı `/share` özelliğidir.
---
#### Sharing conversations
#### Konuşmaları paylaşma
Bir kullanıcı `/share` özelliğini etkinleştirirse, görüşme ve onunla ilişkili veriler, bu paylaşım sayfalarını opencode.ai'de barındırmak için kullandığımız hizmete gönderilir.
@@ -61,9 +61,9 @@ Deneme süreniz için bunu devre dışı bırakmanızı öneririz.
---
## Pricing
## Fiyatlandırma
opencode Enterprise için bilgisayar başına model kullanıyoruz. Kendi LLM ağ geçidiniz varsa, kullanılan jetonlar için ücret talep etmiyoruz. Fiyatlandırma ve uygulama seçenekleri hakkında daha fazla ayrıntı için **<a href={email}>bize ulaşın</a>**.
opencode Enterprise için koltuk başına model kullanıyoruz. Kendi LLM ağ geçidiniz varsa, kullanılan token'lar için ücret talep etmiyoruz. Fiyatlandırma ve uygulama seçenekleri hakkında daha fazla ayrıntı için **<a href={email}>bize ulaşın</a>**.
---
@@ -75,7 +75,7 @@ fiyatlandırma ve uygulama seçenekleri.
---
### Central Config
### Merkezi Yapılandırma
opencode'u tüm organizasyonunuz için tek bir merkezi yapılandırma kullanacak şekilde ayarlayabiliriz.
@@ -91,7 +91,7 @@ Bu, opencode'un mevcut kimlik yönetimi sisteminiz aracılığıyla dahili AI a
---
### Internal AI gateway
### Dahili AI ağ geçidi
Merkezi yapılandırmayla opencode yalnızca dahili AI ağ geçidinizi kullanacak şekilde de yapılandırılabilir.
@@ -108,17 +108,17 @@ Bu şu anda yol haritamızda yer alıyor. İlgileniyorsanız **<a href={email}>b
---
## FAQ
## SSS
<details>
<summary>What is opencode Enterprise?</summary>
<summary>opencode Enterprise nedir?</summary>
opencode Enterprise, kodlarının ve verilerinin altyapılarından asla ayrılmamasını sağlamak isteyen kuruluşlar içindir. Bunu, SSO ve dahili AI ağ geçidinizle entegre olan merkezi bir yapılandırma kullanarak yapabilir.
</details>
<details>
<summary>How do I get started with opencode Enterprise?</summary>
<summary>opencode Enterprise'a nasıl başlarım?</summary>
Ekibinizle dahili bir denemeyle başlayın. opencode varsayılan olarak kodunuzu veya içerik verilerinizi saklamaz, bu da başlamayı kolaylaştırır.
@@ -127,21 +127,21 @@ Daha sonra fiyatlandırma ve uygulama seçeneklerini görüşmek için **<a href
</details>
<details>
<summary>How does enterprise pricing work?</summary>
<summary>Kurumsal fiyatlandırma nasıl çalışır?</summary>
Koltuk başına kurumsal fiyatlandırma sunuyoruz. Kendi LLM ağ geçidiniz varsa, kullanılan jetonlar için ücret talep etmiyoruz. Daha fazla ayrıntı için kuruluşunuzun ihtiyaçlarına göre özel bir fiyat teklifi almak üzere **<a href={email}>bize ulaşın</a>**.
Koltuk başına kurumsal fiyatlandırma sunuyoruz. Kendi LLM ağ geçidiniz varsa, kullanılan token'lar için ücret talep etmiyoruz. Daha fazla ayrıntı için kuruluşunuzun ihtiyaçlarına göre özel bir fiyat teklifi almak üzere **<a href={email}>bize ulaşın</a>**.
</details>
<details>
<summary>Is my data secure with opencode Enterprise?</summary>
<summary>Verilerim opencode Enterprise ile güvende mi?</summary>
Evet. opencode kodunuzu veya içerik verilerinizi saklamaz. Tüm işlemler yerel olarak veya AI sağlayıcınıza doğrudan API çağrıları yoluyla gerçekleşir. Merkezi yapılandırma ve SSO entegrasyonuyla verileriniz kuruluşunuzun altyapısında güvende kalır.
</details>
<details>
<summary>Can we use our own private NPM registry?</summary>
<summary>Kendi özel NPM kayıt defterimizi kullanabilir miyiz?</summary>
opencode, Bun'un yerel `.npmrc` dosya desteği aracılığıyla özel npm kayıtlarını destekler. Kuruluşunuz JFrog Artifactory, Nexus veya benzeri gibi özel bir kayıt defteri kullanıyorsa, opencode'u çalıştırmadan önce geliştiricilerin kimlik doğrulamasının yapıldığından emin olun.
@@ -152,7 +152,7 @@ npm login --registry=https://your-company.jfrog.io/api/npm/npm-virtual/
```
Bu, kimlik doğrulama ayrıntılarını içeren `~/.npmrc` öğesini oluşturur. opencode otomatik olarak
şunu al.
bunu alır.
:::caution
opencode'u çalıştırmadan önce özel kayıt defterinde oturum açmalısınız.

View File

@@ -7,38 +7,38 @@ opencode, dosyaları dile özgü formatlayıcılar kullanılarak yazıldıktan v
---
## Built-in
## Yerleşik
opencode, popüler diller ve çerçeveler için çeşitli yerleşik biçimlendiricilerle birlikte gelir. Aşağıda ihtiyaç duyduğu biçimlendiricilerin, desteklenen dosya uzantılarının ve komutların veya yapılandırma seçeneklerinin bir listesi bulunmaktadır.
| Formatter | Extensions | Requirements |
| -------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| gofmt | .go | `gofmt` komutu mevcut |
| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` komutu mevcut |
| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml ve [more](https://prettier.io/docs/en/index.html) | `package.json` içinde `prettier` bağımlılığı |
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml ve [more](https://biomejs.dev/) | `biome.json(c)` yapılandırma dosyası |
| zig | .zig, .zon | `zig` komutu mevcut |
| clang-format | .c, .cpp, .h, .hpp, .ino ve [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` yapılandırma dosyası |
| ktlint | .kt, .kts | `ktlint` komutu mevcut |
| ruff | .py, .pyi | `ruff` komutu yapılandırmayla kullanılabilir |
| rustfmt | .rs | `rustfmt` komutu mevcut |
| cargofmt | .rs | `cargo fmt` komutu mevcut |
| uv | .py, .pyi | `uv` komutu mevcut |
| rubocop | .rb, .rake, .gemspec, .ru | `rubocop` komutu mevcut |
| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` komutu mevcut |
| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` komutu mevcut |
| air | .R | `air` komutu mevcut |
| dart | .dart | `dart` komutu mevcut |
| ocamlformat | .ml, .mli | `ocamlformat` komutu mevcut ve `.ocamlformat` yapılandırma dosyası |
| terraform | .tf, .tfvars | `terraform` komutu mevcut |
| gleam | .gleam | `gleam` komutu mevcut |
| nixfmt | .nix | `nixfmt` komutu mevcut |
| shfmt | .sh, .bash | `shfmt` komutu mevcut |
| pint | .php | `composer.json` içinde `laravel/pint` bağımlılığı |
| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | `package.json` içinde `oxfmt` bağımlılığı ve [experimental env variable flag](/docs/cli/#experimental) |
| ormolu | .hs | `ormolu` komutu mevcut |
| Biçimlendirici | Uzantılar | Gereksinimler |
| ---------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| gofmt | .go | `gofmt` komutu mevcut |
| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` komutu mevcut |
| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml ve [daha fazla](https://prettier.io/docs/en/index.html) | `package.json` içinde `prettier` bağımlılığı |
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml ve [daha fazla](https://biomejs.dev/) | `biome.json(c)` yapılandırma dosyası |
| zig | .zig, .zon | `zig` komutu mevcut |
| clang-format | .c, .cpp, .h, .hpp, .ino ve [daha fazla](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` yapılandırma dosyası |
| ktlint | .kt, .kts | `ktlint` komutu mevcut |
| ruff | .py, .pyi | `ruff` komutu yapılandırmayla kullanılabilir |
| rustfmt | .rs | `rustfmt` komutu mevcut |
| cargofmt | .rs | `cargo fmt` komutu mevcut |
| uv | .py, .pyi | `uv` komutu mevcut |
| rubocop | .rb, .rake, .gemspec, .ru | `rubocop` komutu mevcut |
| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` komutu mevcut |
| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` komutu mevcut |
| air | .R | `air` komutu mevcut |
| dart | .dart | `dart` komutu mevcut |
| ocamlformat | .ml, .mli | `ocamlformat` komutu mevcut ve `.ocamlformat` yapılandırma dosyası |
| terraform | .tf, .tfvars | `terraform` komutu mevcut |
| gleam | .gleam | `gleam` komutu mevcut |
| nixfmt | .nix | `nixfmt` komutu mevcut |
| shfmt | .sh, .bash | `shfmt` komutu mevcut |
| pint | .php | `composer.json` içinde `laravel/pint` bağımlılığı |
| oxfmt (Deneysel) | .js, .jsx, .ts, .tsx | `package.json` içinde `oxfmt` bağımlılığı ve [experimental env variable flag](/docs/cli/#experimental) |
| ormolu | .hs | `ormolu` komutu mevcut |
Yani eğer projenizin `prettier` dosyasında `package.json` varsa, opencode bunu otomatik olarak kullanacaktır.
Yani eğer projenizin `package.json` dosyasında `prettier` varsa, opencode bunu otomatik olarak kullanacaktır.
---
@@ -54,7 +54,7 @@ Bu işlem arka planda gerçekleşir ve kod stillerinizin herhangi bir manuel ad
---
## Yapılandır
## Yapılandırma
Biçimlendiricileri opencode yapılandırmanızdaki `formatter` bölümü aracılığıyla özelleştirebilirsiniz.
@@ -67,7 +67,7 @@ Biçimlendiricileri opencode yapılandırmanızdaki `formatter` bölümü aracı
Her formatlayıcı yapılandırması aşağıdakileri destekler:
| Property | Type | Açıklama |
| Özellik | Tip | Açıklama |
| ------------- | -------- | ---------------------------------------------------------------------- |
| `disabled` | boolean | Biçimlendiriciyi devre dışı bırakmak için bunu `true` olarak ayarlayın |
| `command` | string[] | Biçimlendirme için çalıştırılacak komut |

View File

@@ -7,7 +7,7 @@ opencode, GitHub iş akışınızla bütünleşir. Yorumunuzda `/opencode` veya
---
## Features
## Özellikler
- **Sorunları önceliklendirin**: opencode'dan bir sorunu araştırıp size açıklamasını isteyin.
- **Düzelt ve uygula**: opencode'dan bir sorunu düzeltmesini veya bir özelliği uygulamasını isteyin. Ve yeni bir şubede çalışacak ve tüm değişiklikleri içeren bir PR gönderecek.
@@ -27,7 +27,7 @@ Bu size GitHub uygulamasını yükleme, iş akışını oluşturma ve gizli dizi
---
### Manual Setup
### Manuel Kurulum
Veya manuel olarak ayarlayabilirsiniz.
@@ -101,11 +101,11 @@ Veya manuel olarak ayarlayabilirsiniz.
---
## Supported Events
## Desteklenen Olaylar
opencode aşağıdaki GitHub olayları tarafından tetiklenebilir:
| Event Type | Triggered By | Details |
| Olay Tipi | Tetikleyen | Detaylar |
| ----------------------------- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `issue_comment` | Bir soruna veya halkla ilişkilere yorum yapın | Yorumunuzda `/opencode` veya `/oc`'den bahsedin. opencode bağlamı okur ve şubeler oluşturabilir, PR'leri açabilir veya yanıt verebilir. |
| `pull_request_review_comment` | PR'deki belirli kod satırlarına yorum yapın | Kodu incelerken `/opencode` veya `/oc`'den bahsedin. opencode dosya yolunu, satır numaralarını ve fark içeriğini alır. |
@@ -114,7 +114,7 @@ opencode aşağıdaki GitHub olayları tarafından tetiklenebilir:
| `schedule` | Cron tabanlı program | opencode'u bir programa göre çalıştırın. `prompt` girişi gerektirir. Çıktı, günlüklere ve PR'lere gider (yorum yapılacak bir sorun yoktur). |
| `workflow_dispatch` | GitHub kullanıcı arayüzünden manuel tetikleme | Eylemler sekmesi aracılığıyla opencode'u isteğe bağlı olarak tetikleyin. `prompt` girişi gerektirir. Çıktı günlüklere ve PR'lere gider. |
### Schedule Example
### Zamanlama Örneği
Otomatik görevleri gerçekleştirmek için opencode'u bir zamanlamaya göre çalıştırın:
@@ -195,7 +195,7 @@ jobs:
---
### Issues Triage Example
### Sorun Önceliklendirme Örneği
Yeni sorunları otomatik olarak önceliklendirin. Bu örnek, spam'i azaltmak için 30 günden eski hesapları filtreler:
@@ -269,11 +269,11 @@ Bu, projenizle ilgili spesifik inceleme kriterlerini, kodlama standartlarını v
---
## Examples
## Örnekler
GitHub'da opencode'u nasıl kullanabileceğinize dair bazı örnekleri burada bulabilirsiniz.
- **Explain an issue**
- **Bir sorunu açıklama**
Bu yorumu GitHub sayısına ekleyin.
@@ -283,7 +283,7 @@ GitHub'da opencode'u nasıl kullanabileceğinize dair bazı örnekleri burada bu
opencode, tüm yorumlar da dahil olmak üzere ileti dizisinin tamamını okuyacak ve net bir açıklama ile yanıt verecektir.
- **Fix an issue**
- **Bir sorunu düzeltme**
In a GitHub issue, say:
@@ -303,7 +303,7 @@ GitHub'da opencode'u nasıl kullanabileceğinize dair bazı örnekleri burada bu
opencode istenen değişikliği uygulayacak ve aynı PR'ye uygulayacaktır.
- **Review specific code lines**
- **Belirli kod satırlarını inceleme**
PR'nin "Dosyalar" sekmesindeki kod satırlarına doğrudan yorum bırakın. opencode, kesin yanıtlar sağlamak için dosyayı, satır numaralarını ve fark içeriğini otomatik olarak algılar.
@@ -312,10 +312,10 @@ GitHub'da opencode'u nasıl kullanabileceğinize dair bazı örnekleri burada bu
/oc add error handling here
```
When commenting on specific lines, opencode receives:
Belirli satırlara yorum yaparken opencode şunları alır:
- İncelenmekte olan dosyanın tamamı
- Belirli kod satırları
- Çevreleyen fark bağlamı
- Line number information
- Satır numarası bilgisi
Bu, dosya yollarını veya satır numaralarını manuel olarak belirtmeye gerek kalmadan daha hedefli isteklere olanak tanır.

View File

@@ -1,9 +1,9 @@
---
title: GitLab
description: GitLab sorunlarında ve parçalanma isteğinde opencode'u kullanın.
description: GitLab sorunlarında ve birleştirme isteklerinde opencode'u kullanın.
---
opencode, GitLab CI/CD ardışık düzeniniz veya GitLab Duo aracılığıyla GitLab iş akışınızla bütünleşir.
opencode, GitLab CI/CD işlem hattınız veya GitLab Duo aracılığıyla GitLab iş akışınızla bütünleşir.
Her iki durumda da opencode, GitLab çalıştırıcılarınızda çalışacaktır.
@@ -11,7 +11,7 @@ Her iki durumda da opencode, GitLab çalıştırıcılarınızda çalışacaktı
## GitLab CI
opencode normal bir GitLab hattında çalışır. Bunu bir [CI component](https://docs.gitlab.com/ee/ci/components/) olarak bir boru hattına oluşturabilirsiniz.
opencode normal bir GitLab işlem hattında çalışır. Bunu bir [CI component](https://docs.gitlab.com/ee/ci/components/) olarak bir işlem hattına oluşturabilirsiniz.
Burada opencode için topluluk tarafından oluşturulan bir CI/CD bileşeni kullanıyoruz — [nagyv/gitlab-opencode](https://gitlab.com/nagyv/gitlab-opencode).
@@ -25,7 +25,7 @@ Burada opencode için topluluk tarafından oluşturulan bir CI/CD bileşeni kull
---
### Setup
### Kurulum
1. opencode kimlik doğrulamanızı JSON **Ayarlar** > **CI/CD** > **Değişkenler** altında Dosya türü CI ortam değişkenleri olarak saklayın. Bunları "Maskeli ve gizli" olarak işaretlediğinizden emin olun.
2. Aşağıdakileri `.gitlab-ci.yml` dosyanıza ekleyin.
@@ -51,16 +51,16 @@ Bir yorumda `@opencode`'dan bahsedin; opencode, GitLab CI işlem hattınızdaki
---
### Features
### Özellikler
- **Sorunları önceliklendirin**: opencode'dan bir sorunu araştırıp size açıklamasını isteyin.
- **Düzelt ve uygula**: opencode'dan bir sorunu düzeltmesini veya bir özelliği uygulamasını isteyin.
Yeni bir şube oluşturacak ve değişikliklerle birlikte bir birleştirme isteği oluşturacaktır.
Yeni bir dal oluşturacak ve değişikliklerle birlikte bir birleştirme isteği oluşturacaktır.
- **Güvenli**: opencode, GitLab çalıştırıcılarınızda çalışır.
---
### Kurmak
### Yapılandırma
opencode, GitLab CI/CD işlem hattınızda çalışır; bunu ayarlamak için ihtiyacınız olacaklar:
@@ -75,7 +75,7 @@ Güncel talimatlar için [**GitLab docs**](https://docs.gitlab.com/user/duo_agen
5. CI/CD değişkenlerini yapılandırma
6. Bir akış yapılandırma dosyası oluşturun; işte bir örnek:
<detaylar>
<details>
<summary>Akış yapılandırması</summary>
@@ -150,13 +150,13 @@ Güncel talimatlar için [**GitLab docs**](https://docs.gitlab.com/user/duo_agen
- GITLAB_HOST
```
</detaylar>
</details>
Ayrıntılı talimatlar için [GitLab CLI agents docs](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/)'a başvurabilirsiniz.
---
### Examples
### Örnekler
GitLab'da opencode'u nasıl kullanabileceğinize dair bazı örnekleri burada bulabilirsiniz.
@@ -164,7 +164,7 @@ GitLab'da opencode'u nasıl kullanabileceğinize dair bazı örnekleri burada bu
`@opencode`'dan farklı bir tetikleyici ifade kullanacak şekilde yapılandırabilirsiniz.
:::
- **Explain an issue**
- **Bir sorunu açıklama**
Bu yorumu bir GitLab sayısına ekleyin.
@@ -174,7 +174,7 @@ GitLab'da opencode'u nasıl kullanabileceğinize dair bazı örnekleri burada bu
opencode konuyu okuyacak ve net bir açıklama ile yanıt verecektir.
- **Fix an issue**
- **Bir sorunu düzeltme**
In a GitLab issue, say:
@@ -182,9 +182,9 @@ GitLab'da opencode'u nasıl kullanabileceğinize dair bazı örnekleri burada bu
@opencode fix this
```
opencode yeni bir şube oluşturacak, değişiklikleri uygulayacak ve değişiklikleri içeren bir birleştirme isteği açacaktır.
opencode yeni bir dal oluşturacak, değişiklikleri uygulayacak ve değişiklikleri içeren bir birleştirme isteği açacaktır.
- **Review merge requests**
- **Birleştirme isteklerini inceleme**
GitLab birleştirme isteğine aşağıdaki yorumu bırakın.

View File

@@ -1,17 +1,17 @@
---
title: Giriş
description: opencode'u kullanmaya başlayın.
description: opencode kullanmaya başlayın.
---
import { Tabs, TabItem } from "@astrojs/starlight/components"
import config from "../../../../config.mjs"
export const console = config.console
[**opencode**](/) açık kaynaklı bir AI coding agent'ıdır. Terminal tabanlı bir arayüz, masaüstü uygulaması veya IDE uzantısı olarak mevcuttur.
[**opencode**](/) açık kaynaklı bir AI kodlama ajanıdır. Terminal tabanlı bir arayüz, masaüstü uygulaması veya IDE uzantısı olarak mevcuttur.
![opencode TUI with the opencode theme](../../../assets/lander/screenshot.png)
Hadi başlayalım.
Başlayalım.
---
@@ -129,12 +129,12 @@ opencode'un Bun kullanılarak Windows'a yüklenmesine yönelik destek şu anda d
---
## Yapılandır
## Yapılandırma
opencode ile herhangi bir LLM sağlayıcısının API anahtarlarını yapılandırarak kullanabilirsiniz.
LLM sağlayıcılarını kullanmaya yeni başlıyorsanız, [OpenCode Zen](/docs/zen) kullanmanızı öneririz.
opencode team tarafından test edilmiş ve doğrulanmış modellerin seçilmiş bir listesidir.
opencode ekibi tarafından test edilmiş ve doğrulanmış modellerin seçilmiş bir listesidir.
1. TUI'de `/connect` komutunu çalıştırın, opencode'u seçin ve [opencode.ai/auth](https://opencode.ai/auth)'ye gidin.
@@ -157,7 +157,7 @@ Alternatif olarak diğer sağlayıcılardan birini seçebilirsiniz. [Daha fazla
---
## Başlat
## Başlatma
Artık bir sağlayıcı yapılandırdığınıza göre, bir projeye gidebilirsiniz.
üzerinde çalışmak istiyorsun.
@@ -193,11 +193,11 @@ Bu, opencode'un proje yapısını ve kullanılan kodlama kalıplarını anlamas
Artık projeniz üzerinde çalışmak için opencode'u kullanmaya hazırsınız. Dilediğiniz soruyu sorabilirsiniz.
AI kodlama agent'ı kullanmaya yeniyseniz aşağıdaki örnekler yardımcı olabilir.
AI kodlama ajanını kullanmaya yeniyseniz aşağıdaki örnekler yardımcı olabilir.
---
### Soru sor
### Soru Sorma
opencode'dan kod tabanını size açıklamasını isteyebilirsiniz.
@@ -213,18 +213,18 @@ Kod tabanının üzerinde çalışmadığınız bir kısmı varsa bu yararlı ol
---
### Özellik ekle
### Özellik Ekleme
opencode'dan projenize yeni özellikler eklemesini isteyebilirsiniz. Yine de öncelikle ondan bir plan oluşturmasını istemenizi öneririz.
1. **Bir plan oluşturun**
opencode, değişiklik yapma özelliğini kapatan bir _Plan mode_'a sahiptir.
opencode, değişiklik yapma özelliğini kapatan bir \_Plan modu_na sahiptir.
Bu modda, özelliğin nasıl uygulanacağını önerir.
**Sekme** tuşunu kullanarak buna geçin. Bunun için sağ alt köşede bir gösterge göreceksiniz.
```bash frame="none" title="Switch to Plan mode"
```bash frame="none" title="Plan moduna geç"
<TAB>
```
@@ -243,6 +243,9 @@ opencode'dan projenize yeni özellikler eklemesini isteyebilirsiniz. Yine de ön
opencode'a bol bağlam ve örnek verin.
:::
opencode verdiğiniz görselleri tarayıp prompt'a ekleyebilir.
Bunu bir görseli terminale sürükleyip bırakarak yapabilirsiniz.
2. **Planı yineleyin**
Size bir plan sunduğunda ona geri bildirimde bulunabilir veya daha fazla ayrıntı ekleyebilirsiniz.
@@ -261,7 +264,7 @@ opencode'dan projenize yeni özellikler eklemesini isteyebilirsiniz. Yine de ön
3. **Özelliği oluşturun**
Planı yeterli bulduğunuzda **Sekme** tuşuna tekrar basarak _Build mode_'a dönün.
Planı yeterli bulduğunuzda **Sekme** tuşuna tekrar basarak \_Build modu_na dönün.
```bash frame="none"
<TAB>
@@ -275,7 +278,7 @@ opencode'dan projenize yeni özellikler eklemesini isteyebilirsiniz. Yine de ön
---
### Değişiklik yap
### Değişiklik Yapma
Daha basit değişikliklerde, önce planı incelemeden opencode'dan doğrudan değişiklik yapmasını isteyebilirsiniz.
@@ -289,7 +292,7 @@ opencode'un doğru değişiklikleri yapması için yeterli ayrıntı verdiğiniz
---
### Değişiklikleri geri al
### Değişiklikleri Geri Alma
Diyelim ki opencode'dan bazı değişiklikler yapmasını istediniz.
@@ -324,7 +327,7 @@ Veya `/redo` komutunu kullanarak değişiklikleri **yeniden yapabilirsiniz**.
---
## Paylaş
## Paylaşma
opencode ile yaptığınız görüşmeleri [ekibinizle paylaşabilirsiniz](/docs/share).
@@ -342,8 +345,8 @@ Konuşmalar varsayılan olarak paylaşılmaz.
---
## Özelleştir
## Özelleştirme
İşte bu kadar! Artık opencode'u kullanma konusunda profesyonelsiniz.
Kendinize göre uyarlamak için [tema seçebilir](/docs/themes), [keybind'leri özelleştirebilir](/docs/keybinds), [code formatter ayarlayabilir](/docs/formatters), [özel komutlar oluşturabilir](/docs/commands) veya [opencode config](/docs/config) ile oynayabilirsiniz.
Kendinize göre uyarlamak için [tema seçebilir](/docs/themes), [tuş atamalarını özelleştirebilir](/docs/keybinds), [kod biçimlendirici ayarlayabilir](/docs/formatters), [özel komutlar oluşturabilir](/docs/commands) veya [opencode config](/docs/config) ile oynayabilirsiniz.

View File

@@ -1,5 +1,5 @@
---
title: Tuş bağlantıları
title: Tuş atamaları
description: Tuş bağlantılarınızı özelleştirin.
---
@@ -105,7 +105,7 @@ opencode, opencode yapılandırması aracılığıyla özelleştirebileceğiniz
---
## Leader key
## Leader tuşu
opencode çoğu tuş ataması için `leader` anahtarını kullanır. Bu, terminalinizdeki çakışmaları önler.

View File

@@ -1,13 +1,13 @@
---
title: LSP Sunucular
title: LSP Sunucuları
description: opencode, LSP sunucularınızla bütünleşir.
---
opencode, LLM'nin kod tabanınızla etkileşime girmesine yardımcı olmak için Dil Sunucusu Protokolünüzle (LSP) bütünleşir. LLM'ye geri bildirim sağlamak için tanılamayı kullanır.
opencode, LLM'in kod tabanınızla etkileşime girmesine yardımcı olmak için Dil Sunucusu Protokolünüzle (LSP) bütünleşir. LLM'ye geri bildirim sağlamak için tanılamayı kullanır.
---
## Built-in
## Yerleşik
opencode, popüler diller için çeşitli yerleşik LSP sunucularıyla birlikte gelir:
@@ -63,7 +63,7 @@ Opencode bir dosyayı açtığında:
---
## Yapılandır
## Yapılandırma
LSP sunucularını, opencode yapılandırmanızdaki `lsp` bölümü aracılığıyla özelleştirebilirsiniz.
@@ -76,7 +76,7 @@ LSP sunucularını, opencode yapılandırmanızdaki `lsp` bölümü aracılığ
Her LSP sunucusu aşağıdakileri destekler:
| Property | Type | Açıklama |
| Özellik | Tip | Açıklama |
| ---------------- | -------- | -------------------------------------------------------------------- |
| `disabled` | boolean | LSP sunucusunu devre dışı bırakmak için bunu `true` olarak ayarlayın |
| `command` | string[] | LSP sunucusunu başlatma komutu |
@@ -107,7 +107,7 @@ LSP sunucusunu başlatırken ortam değişkenlerini ayarlamak için `env` özell
---
### Initialization options
### Başlatma seçenekleri
Başlatma seçeneklerini LSP sunucusuna iletmek için `initialization` özelliğini kullanın. Bunlar LSP `initialize` isteği sırasında gönderilen sunucuya özel ayarlardır:

View File

@@ -9,7 +9,7 @@ MCP araçları eklendikten sonra yerleşik araçların yanı sıra LLM tarafınd
---
#### Caveats
#### Uyarılar
Bir MCP sunucusu kullandığınızda bağlama eklenir. Çok fazla aletiniz varsa, bu hızla artabilir. Bu nedenle hangi MCP sunucularını kullandığınıza dikkat etmenizi öneririz.
@@ -21,7 +21,7 @@ GitHub MCP sunucusu gibi belirli MCP sunucuları çok sayıda belirteç ekleme e
---
## Olanak vermek
## Etkinleştirme
MCP sunucularını [opencode Config](https://opencode.ai/docs/config/)'nizde `mcp` altında tanımlayabilirsiniz. Her MCP'ü benzersiz bir adla ekleyin. LLM isteminde bulunurken bu MCP adına başvurabilirsiniz.
@@ -44,7 +44,7 @@ Ayrıca `enabled` öğesini `false` olarak ayarlayarak bir sunucuyu devre dış
---
### Overriding remote defaults
### Uzak varsayılanları geçersiz kılma
Kuruluşlar, `.well-known/opencode` uç noktaları aracılığıyla varsayılan MCP sunucularını sağlayabilir. Bu sunucular varsayılan olarak devre dışı bırakılarak kullanıcıların ihtiyaç duydukları sunucuları seçmelerine olanak tanınabilir.
@@ -112,7 +112,7 @@ use the mcp_everything tool to add the number 3 and 4
---
#### Options
#### Seçenekler
Yerel bir MCP sunucusunu yapılandırmak için tüm seçenekler burada verilmiştir.
@@ -150,7 +150,7 @@ Yerel bir MCP sunucusunu yapılandırmak için tüm seçenekler burada verilmiş
---
#### Options
#### Seçenekler
| Seçenek | Tür | Gerekli | Açıklama |
| --------- | ------- | ------- | ---------------------------------------------------------------------------------------------- |
@@ -173,7 +173,7 @@ opencode, uzak MCP sunucuları için OAuth kimlik doğrulamasını otomatik olar
---
### Automatic
### Otomatik
OAuth'un etkin olduğu çoğu MCP sunucusu için özel bir yapılandırmaya gerek yoktur. Uzak sunucuyu yapılandırmanız yeterli:
@@ -216,7 +216,7 @@ MCP sunucu sağlayıcısından istemci kimlik bilgileriniz varsa, bunları yapı
---
### Authenticating
### Kimlik doğrulama
Kimlik doğrulamayı manuel olarak tetikleyebilir veya kimlik bilgilerini yönetebilirsiniz.
@@ -264,7 +264,7 @@ Bir sunucu için otomatik OAuth'u devre dışı bırakmak istiyorsanız (örneğ
---
#### OAuth Options
#### OAuth Seçenekleri
| Seçenek | Tür | Açıklama |
| -------------- | --------------- | -------------------------------------------------------------------------------- |
@@ -273,7 +273,7 @@ Bir sunucu için otomatik OAuth'u devre dışı bırakmak istiyorsanız (örneğ
| `clientSecret` | Dize | Yetkilendirme sunucusu gerektiriyorsa OAuth istemci sırrı. |
| `scope` | String | OAuth scopes to request during authorization. |
#### Debugging
#### Hata Ayıklama
Uzak bir MCP sunucusunun kimlik doğrulaması başarısız olursa aşağıdakileri kullanarak sorunları teşhis edebilirsiniz:
@@ -289,7 +289,7 @@ opencode mcp debug my-oauth-server
---
## Üstesinden gelmek
## Yönetim
MCP'leriniz yerleşik araçların yanı sıra opencode'da araç olarak mevcuttur. Böylece bunları diğer araçlar gibi opencode yapılandırması aracılığıyla yönetebilirsiniz.
@@ -343,7 +343,7 @@ Burada tüm MCP'leri devre dışı bırakmak için `my-mcp*` glob modelini kulla
---
### Temsilci başına
### Agent başına
Çok sayıda MCP sunucunuz varsa, bunları yalnızca aracı başına etkinleştirmek ve genel olarak devre dışı bırakmak isteyebilirsiniz. Bunu yapmak için:
@@ -375,7 +375,7 @@ Burada tüm MCP'leri devre dışı bırakmak için `my-mcp*` glob modelini kulla
---
#### Glob patterns
#### Glob desenleri
Glob modeli, basit normal ifade globbing modellerini kullanır:
@@ -433,7 +433,7 @@ Show me the latest unresolved issues in my project. use sentry
---
### Bağlam7
### Context7
Dokumanlar arasında arama yapmak için [Context7 MCP server](https://github.com/upstash/context7) ekleyin.

View File

@@ -15,7 +15,7 @@ opencode, **75+ LLM sağlayıcısını** desteklemek için [AI SDK](https://ai-s
---
## Bir model seçin
## Model seçimi
Sağlayıcınızı yapılandırdıktan sonra aşağıdaki komutu yazarak istediğiniz modeli seçebilirsiniz:
@@ -46,7 +46,7 @@ Burada, opencode ile belirli bir sıraya göre iyi çalışan birkaç model yer
---
## Varsayılanı ayarla
## Varsayılan ayarlama
Bunlardan birini varsayılan model olarak ayarlamak için `model` anahtarınızı telefonunuzudan ayarlayabilirsiniz.
opencode yapılandırması
@@ -64,7 +64,7 @@ Bir [custom provider](/docs/providers#custom) yapılandırılmışsa, `provider_
---
## Modelleri yapılandırın
## Model yapılandırma
Bir modelin seçeneklerini genel olarak yapılandırma aracılığıyla yapılandırabilirsiniz.
@@ -201,7 +201,7 @@ Mevcut varyantları geçersiz kılabilir veya kendinizinkini ekleyebilirsiniz:
---
## Loading models
## Modelleri yükleme
opencode başlatıldığında modelleri aşağıdaki öncelik sırasına göre kontrol eder:

View File

@@ -17,13 +17,13 @@ Bir oturum sırasında modlar arasında geçiş yapabilir veya bunları yapılan
---
## Built-in
## Yerleşik
opencode iki yerleşik modla birlikte gelir.
---
### İnşa etmek
### 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.
@@ -35,14 +35,14 @@ Planlama ve analiz için tasarlanmış sınırlı bir mod. Plan modunda aşağı
- `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` - Cannot apply patches
- `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.
---
## Anahtarlama
## 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.
@@ -50,11 +50,11 @@ Ayrıca bkz.: Kod biçimlendirme yapılandırması hakkında bilgi için [Format
---
## Yapılandır
## 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 Configuration
### JSON Yapılandırması
`opencode.json` yapılandırma dosyanızdaki modları yapılandırın:
@@ -83,7 +83,7 @@ Yerleşik modları özelleştirebilir veya yapılandırma aracılığıyla kendi
}
```
### Markdown Configuration
### Markdown Yapılandırması
Markdown dosyalarını kullanarak modları da tanımlayabilirsiniz. Bunları şuraya yerleştirin:
@@ -112,13 +112,13 @@ Provide constructive feedback without making direct changes.
Markdown dosyası adı mod adı olur (örneğin, `review.md` bir `review` modu oluşturur).
Let's look at these configuration options in detail.
Bu yapılandırma seçeneklerine ayrıntılı olarak bakalım.
---
### Modeli
### Model
Bu modun varsayılan standardı geçersiz için `model` kontrolü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.
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"
{
@@ -132,7 +132,7 @@ Bu modun varsayılan standardı geçersiz için `model` kontrolünü kullanın.
---
### Temperature
### 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.
@@ -177,9 +177,9 @@ Sıcaklık belirtilmezse, opencode modele özgü varsayılanları kullanır (ço
---
### Çabuk
### İstem
`prompt` analiziyle bu mod için özel bir sistem bilgi istemi dosyası destekleniyor. Bilgi istemi şeması, modun amacına özel talimatlar içermelidir.
`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"
{
@@ -196,7 +196,7 @@ hem global opencode yapılandırması hem de projeye özel yapılandırma.
---
### Tools
### 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.
@@ -225,27 +225,27 @@ Hiçbir araç belirtilmezse tüm araçlar varsayılan olarak etkindir.
İşte mod yapılandırması aracılığıyla kontrol edilebilecek tüm araçlar.
| Alet | Tanım |
| ----------- | ------------------------------- |
| `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 arayın |
| `glob` | Dosyaları desene göre bulun |
| `list` | Dizinin içeriği listele |
| `patch` | Dosyalara yama uygulama |
| `todowrite` | Yapılacaklar listelerini yönet |
| `todoread` | Yapılacaklar listelerini okuyun |
| `webfetch` | Web içeriğini getir |
| Araç | ı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 |
---
## Custom modes
## Ö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ını kullanma
### JSON yapılandırması kullanma
```json title="opencode.json" {4-14}
{
@@ -266,7 +266,7 @@ Yapılandırmaya ekleyerek kendi özel modlarınızı oluşturabilirsiniz. Her i
}
```
### Markdown dosyalarını kullanma
### Markdown dosyaları kullanma
Projeye özel modlar için `.opencode/modes/` veya genel modlar için `~/.config/opencode/modes/`'de mod dosyaları oluşturun:
@@ -318,9 +318,9 @@ Priorities:
---
### Kullanım durumları
### Kullanım Senaryoları
Farklı modlar için bazı yaygın kullanım durumları aşağıda verilmiştir.
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

View File

@@ -7,7 +7,7 @@ opencode, kurumsal ağ ortamları için standart proxy ortam değişkenlerini ve
---
## Proxy
## Vekil Sunucu
opencode respects standard proxy environment variables.
@@ -46,7 +46,7 @@ NTLM veya Kerberos gibi gelişmiş kimlik doğrulaması gerektiren proxy'ler iç
---
## Custom certificates
## Özel sertifikalar
Kuruluşunuz HTTPS bağlantıları için özel CA'lar kullanıyorsa, opencode'u bunlara güvenecek şekilde yapılandırın.

View File

@@ -1,6 +1,6 @@
---
title: İzinler
description: Hangi işlemlerin çalıştırılması için onay işlemini kontrol edin.
description: Hangi işlemlerin çalıştırılması için onay sürecini kontrol edin.
---
opencode, belirli bir eylemin otomatik olarak mı çalıştırılacağına, size sorulacağına veya engelleneceğine karar vermek için `permission` yapılandırmasını kullanır.
@@ -9,9 +9,9 @@ opencode, belirli bir eylemin otomatik olarak mı çalıştırılacağına, size
---
## Actions
## Eylemler
Each permission rule resolves to one of:
Her izin kuralı şunlardan birine çözümlenir:
- `"allow"` — onay olmadan çalıştır
- `"ask"` — onay istemi
@@ -45,7 +45,7 @@ Ayrıca tüm izinleri aynı anda ayarlayabilirsiniz:
---
## Granular Rules (Object Syntax)
## Ayrıntılı Kurallar (Nesne Sözdizimi)
Çoğu izin için, araç girişine bağlı olarak farklı eylemleri uygulamak için bir nesneyi kullanabilirsiniz.
@@ -70,13 +70,13 @@ Ayrıca tüm izinleri aynı anda ayarlayabilirsiniz:
Kurallar, **son eşleşen kuralın kazanması** ile kalıp eşleşmesine göre değerlendirilir. Yaygın bir model, tümünü yakala `"*"` kuralını ilk sıraya koymak ve daha spesifik kuralları ondan sonra koymaktır.
### Wildcards
### Joker Karakterler
İzin kalıpları basit joker karakter eşleştirmesini kullanır:
- `*` herhangi bir karakterin sıfır veya daha fazlasıyla eşleşir
- `?` matches exactly one character
- All other characters match literally
- `?` tam olarak bir karakterle eşleşir
- Diğer tüm karakterler birebir eşleşir
### Ana Dizin Genişletme
@@ -86,7 +86,7 @@ Ana dizininize referans vermek için bir modelin başlangıcında `~` veya `$HOM
- `$HOME/projects/*` -> `/Users/username/projects/*`
- `~` -> `/Users/username`
### Dış Dizinler
### Harici Dizinler
opencode'un başlatıldığı çalışma dizini dışındaki yollara dokunan araç çağrılarına izin vermek için `external_directory` kullanın. Bu, girdi olarak bir yolu alan tüm araçlar için geçerlidir (örneğin `read`, `edit`, `list`, `glob`, `grep` ve birçok `bash` komutu).
@@ -127,7 +127,7 @@ Listeyi güvenilir yollara odaklı tutun ve diğer araçlar için gereken ekstra
## Mevcut İzinler
opencode izinleri araç adına ve birkaç güvenlik görevlisine göre anahtarlanır:
opencode izinleri araç adına ve birkaç güvenlik önlemine göre anahtarlanır:
- `read` — bir dosyayı okumak (dosya yoluyla eşleşir)
- `edit` — tüm dosya değişiklikleri (`edit`, `write`, `patch`, `multiedit`'yi kapsar)
@@ -135,12 +135,12 @@ opencode izinleri araç adına ve birkaç güvenlik görevlisine göre anahtarla
- `grep` — içerik arama (regex modeliyle eşleşir)
- `list` — bir dizideki dosyaları listeleme (dizin yoluyla eşleşir)
- `bash` — kabuk komutlarını çalıştırma (`git status --porcelain` gibi ayrıştırılmış komutlarla eşleşir)
- `task` — alt aracıların başlatılması (alt aracı türüyle eşleşir)
- `skill` — bir beceri yükleniyor (beceri adıyla eşleşir)
- `task` — alt agent'ların başlatılması (alt agent türüyle eşleşir)
- `skill` — bir skill yükleniyor (skill adıyla eşleşir)
- `lsp` — LSP sorgularını çalıştırıyor (şu anda ayrıntılı değil)
- `todoread`, `todowrite` — reading/updating yapılacaklar listesi
- `todoread`, `todowrite` — yapılacaklar listesini okuma/güncelleme
- `webfetch` — URL getiriliyor (URL ile eşleşiyor)
- `websearch`, `codesearch` — web/code arama (sorguyla eşleşir)
- `websearch`, `codesearch` — web/kod arama (sorguyla eşleşir)
- `external_directory` — bir araç proje çalışma dizini dışındaki yollara dokunduğunda tetiklenir
- `doom_loop` — aynı araç çağrısı aynı girdiyle 3 kez tekrarlandığında tetiklenir
@@ -152,7 +152,7 @@ Hiçbir şey belirtmezseniz opencode izin verilen varsayılanlardan başlar:
- Çoğu izin varsayılan olarak `"allow"` şeklindedir.
- `doom_loop` ve `external_directory` varsayılan olarak `"ask"`'dir.
- `read`, `"allow"`'dir, ancak `.env` dosyaları varsayılan olarak reddedilir:
- `read`, `"allow"`'dır, ancak `.env` dosyaları varsayılan olarak reddedilir:
```json title="opencode.json"
{
@@ -181,12 +181,12 @@ opencode onay istediğinde kullanıcı arayüzü üç sonuç sunar:
---
## Agents
## Agent'lar
Agent bazında izinleri geçersiz kılabilirsiniz. Agent izinleri global yapılandırmayla birleştirilir ve agent kuralları önceliklidir. [Daha fazla bilgi](/docs/agents#permissions).
:::note
Daha ayrıntılı desen eşleştirme örnekleri için yukarıdaki [Ayrıntılı kurallar (obje söz dizimi)](#granular-rules-object-syntax) bölümüne bakın.
Daha ayrıntılı desen eşleştirme örnekleri için yukarıdaki [Ayrıntılı kurallar (nesne söz dizimi)](#granular-rules-object-syntax) bölümüne bakın.
:::
```json title="opencode.json"
@@ -217,7 +217,7 @@ Daha ayrıntılı desen eşleştirme örnekleri için yukarıdaki [Ayrıntılı
}
```
Aracı izinlerini Markdown'da da yapılandırabilirsiniz:
Agent izinlerini Markdown'da da yapılandırabilirsiniz:
```markdown title="~/.config/opencode/agents/review.md"
---

View File

@@ -5,13 +5,13 @@ description: opencode'u genişletmek için kendi eklentilerinizi yazın.
Eklentiler, çeşitli olaylara bağlanarak ve davranışı özelleştirerek opencode'u genişletmenize olanak tanır. Yeni özellikler eklemek, harici hizmetlerle entegrasyon sağlamak veya opencode'un varsayılan davranışını değiştirmek için eklentiler oluşturabilirsiniz.
Örnekler için topluluk tarafından oluşturulan [plugins](/docs/ecosystem#plugins)'a göz atın.
Örnekler için topluluk tarafından oluşturulan [eklentilere](/docs/ecosystem#plugins) göz atın.
---
## Bir eklenti kullanın
## Eklenti kullanımı
There are two ways to load plugins.
Eklentileri yüklemenin iki yolu vardır.
---
@@ -39,7 +39,7 @@ Yapılandırma dosyanızda npm paketlerini belirtin.
Hem normal hem de kapsamlı npm paketleri desteklenir.
[ecosystem](/docs/ecosystem#plugins)'daki mevcut eklentilere göz atın.
[Ekosistem](/docs/ecosystem#plugins)'deki mevcut eklentilere göz atın.
---
@@ -47,11 +47,11 @@ Hem normal hem de kapsamlı npm paketleri desteklenir.
**npm eklentileri** başlangıçta Bun kullanılarak otomatik olarak yüklenir. Paketler ve bağımlılıkları `~/.cache/opencode/node_modules/`'da önbelleğe alınır.
**Yerel eklentiler** doğrudan eklenti dizininden yüklenir. Harici paketleri kullanmak için, sisteminizin dizininde bir `package.json` oluşturmanız (bkz. [Dependencies](#dependencies)) veya eklentiyi npm ve [add it to your config](/docs/config#plugins)'de yayınlamanız gerekir.
**Yerel eklentiler** doğrudan eklenti dizininden yüklenir. Harici paketleri kullanmak için, sisteminizin dizininde bir `package.json` oluşturmanız (bkz. [Bağımlılıklar](#dependencies)) veya eklentiyi npm ve [add it to your config](/docs/config#plugins)'de yayınlamanız gerekir.
---
### Load order
### Yükleme sırası
Eklentiler tüm kaynaklardan yüklenir ve tüm kancalar sırayla çalışır. Yükleme sırası şöyledir:
@@ -64,14 +64,14 @@ Aynı ad ve sürüme sahip yinelenen npm paketleri bir kez yüklenir. Ancak benz
---
## Eklenti oluştur
## Eklenti oluşturma
Eklenti, bir veya daha fazla eklentiyi dışa aktaran bir **JavaScript/TypeScript modülüdür**
işlevler. Her işlev bir bağlam nesnesi alır ve bir kanca nesnesi döndürür.
---
### Dependencies
### Bağımlılıklar
Yerel eklentiler ve özel araçlar harici npm paketlerini kullanabilir. İhtiyacınız olan bağımlılıkları içeren config dizininize bir `package.json` ekleyin.
@@ -152,32 +152,32 @@ Eklentiler aşağıdaki Örnekler bölümünde görüldüğü gibi etkinliklere
- `file.edited`
- `file.watcher.updated`
#### Kurulum Etkinlikleri
#### Kurulum Olayları
- `installation.updated`
#### LSP Etkinlikler
#### LSP Olayları
- `lsp.client.diagnostics`
- `lsp.updated`
#### Mesaj Etkinlikleri
#### Mesaj Olayları
- `message.part.removed`
- `message.part.updated`
- `message.removed`
- `message.updated`
#### İzin Etkinlikleri
#### İzin Olayları
- `permission.asked`
- `permission.replied`
#### Sunucu Etkinlikleri
#### Sunucu Olayları
- `server.connected`
#### Oturum Etkinlikleri
#### Oturum Olayları
- `session.created`
- `session.compacted`
@@ -188,11 +188,11 @@ Eklentiler aşağıdaki Örnekler bölümünde görüldüğü gibi etkinliklere
- `session.status`
- `session.updated`
#### Yapılacak Etkinlikler
#### Yapılacaklar Olayları
- `todo.updated`
#### Kabuk Etkinlikleri
#### Kabuk Olayları
- `shell.env`
@@ -201,7 +201,7 @@ Eklentiler aşağıdaki Örnekler bölümünde görüldüğü gibi etkinliklere
- `tool.execute.after`
- `tool.execute.before`
#### TUI Etkinlikler
#### TUI Olayları
- `tui.prompt.append`
- `tui.command.execute`
@@ -209,13 +209,13 @@ Eklentiler aşağıdaki Örnekler bölümünde görüldüğü gibi etkinliklere
---
## Examples
## Örnekler
opencode'u genişletmek için kullanabileceğiniz bazı eklenti örneklerini burada bulabilirsiniz.
---
### Bildirim gönder
### Bildirim Gönderme
Belirli olaylar meydana geldiğinde bildirim gönderin:
@@ -240,7 +240,7 @@ opencode masaüstü uygulamasını kullanıyorsanız yanıt hazır olduğunda ve
---
### .env protection
### .env Koruması
opencode'un `.env` dosyalarını okumasını önleyin:
@@ -275,7 +275,7 @@ export const InjectEnvPlugin = async () => {
---
### Custom tools
### Özel araçlar
Eklentiler ayrıca opencode'a özel araçlar da ekleyebilir:
@@ -331,7 +331,7 @@ Seviyeler: `debug`, `info`, `warn`, `error`. Ayrıntılar için [SDK documentati
---
### Compaction hooks
### Sıkıştırma kancaları
Bir oturum sıkıştırıldığında içerilen bağlamı özelleştirin:

View File

@@ -15,21 +15,21 @@ Bir sağlayıcı eklemek için şunları yapmanız gerekir:
---
### Credentials
### Kimlik Bilgileri
Bir sağlayıcının API anahtarlarını `/connect` komutuyla eklediğinizde, bunlar saklanır
`~/.local/share/opencode/auth.json` içinde.
---
### Config
### Yapılandırma
Sağlayıcıları opencode'unuzdaki `provider` bölümü aracılığıyla özelleştirebilirsiniz.
config.
---
#### Base URL
#### Temel URL
`baseURL` seçeneğini ayarlayarak URL tabanını herhangi bir sağlayıcı için özelleştirebilirsiniz. Bu, proxy hizmetlerini veya özel uç noktaları kullanırken kullanışlıdır.
@@ -137,7 +137,7 @@ Amazon Bedrock'u opencode ile kullanmak için:
#### Ortam Değişkenleri (Hızlı Başlangıç)
Set one of these environment variables while running opencode:
opencode'u çalıştırırken bu ortam değişkenlerinden birini ayarlayın:
```bash
# Option 1: Using AWS access keys
@@ -184,44 +184,46 @@ Amazon Bedrock'u opencode ile kullanmak için:
Yapılandırma dosyası seçenekleri ortam değişkenlerine göre önceliklidir.
:::
#### Advanced: VPC Endpoints
#### Gelişmiş: VPC Uç Noktaları
Bedrock için VPC uç noktaları kullanıyorsanız:
Bedrock için VPC uç noktaları kullanıyorsanız:
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"amazon-bedrock": {
"options": {
"region": "us-east-1",
"profile": "production",
"endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
}
}
}
}
```
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"amazon-bedrock": {
"options": {
"region": "us-east-1",
"profile": "production",
"endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
}
}
}
}
```
:::note
`endpoint` seçeneği, AWS'ye özgü terminolojiyi kullanan genel `baseURL` seçeneğinin takma adıdır. Hem `endpoint` hem de `baseURL` belirtilirse, `endpoint` öncelikli olur.
:::
:::note
`endpoint` seçeneği, AWS'ye özgü terminolojiyi kullanan genel `baseURL` seçeneğinin takma adıdır. Hem `endpoint` hem de `baseURL` belirtilirse, `endpoint` öncelikli olur.
:::
#### Authentication Methods
- **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**: Bir IAM kullanıcısı oluşturun ve AWS Konsolunda erişim anahtarları oluşturun
- **`AWS_PROFILE`**: `~/.aws/credentials`'den adlandırılmış profilleri kullanın. İlk önce `aws configure --profile my-profile` veya `aws sso login` ile yapılandırın
- **`AWS_BEARER_TOKEN_BEDROCK`**: Amazon Bedrock konsolundan uzun vadeli API anahtarları oluşturun
- **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**: EKS IRSA (IAM Hizmet Hesapları için Roller) veya OIDC federasyonuna sahip diğer Kubernetes ortamları için. Bu ortam değişkenleri, hizmet hesabı ek açıklamaları kullanılırken Kubernetes tarafından otomatik olarak eklenir.
#### Kimlik Doğrulama Yöntemleri
#### Authentication Precedence
- **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**: Bir IAM kullanıcısı oluşturun ve AWS Konsolunda erişim anahtarları oluşturun
- **`AWS_PROFILE`**: `~/.aws/credentials`'den adlandırılmış profilleri kullanın. İlk önce `aws configure --profile my-profile` veya `aws sso login` ile yapılandırın
- **`AWS_BEARER_TOKEN_BEDROCK`**: Amazon Bedrock konsolundan uzun vadeli API anahtarları oluşturun
- **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**: EKS IRSA (IAM Hizmet Hesapları için Roller) veya OIDC federasyonuna sahip diğer Kubernetes ortamları için. Bu ortam değişkenleri, hizmet hesabı ek açıklamaları kullanılırken Kubernetes tarafından otomatik olarak eklenir.
Amazon Bedrock aşağıdaki kimlik doğrulama önceliğini kullanır:
1. **Taşıyıcı Belirteç** - `AWS_BEARER_TOKEN_BEDROCK` ortam değişkeni veya `/connect` komutundan belirteç
2. **AWS Credential Chain** - Profile, access keys, shared credentials, IAM roles, Web Identity Tokens (EKS IRSA), instance metadata
#### Kimlik Doğrulama Önceliği
:::note
When a bearer token is set (via `/connect` or `AWS_BEARER_TOKEN_BEDROCK`), it takes precedence over all AWS credential methods including configured profiles.
:::
Amazon Bedrock aşağıdaki kimlik doğrulama önceliğini kullanır:
1. **Taşıyıcı Belirteç** - `AWS_BEARER_TOKEN_BEDROCK` ortam değişkeni veya `/connect` komutundan belirteç
2. **AWS Credential Chain** - Profil, erişim anahtarları, paylaşılan kimlik bilgileri, IAM rolleri, Web Identity Tokens (EKS IRSA), örnek meta verileri
:::note
Bir taşıyıcı belirteç ayarlandığında (`/connect` veya `AWS_BEARER_TOKEN_BEDROCK` yoluyla), yapılandırılmış profiller dahil olmak üzere tüm AWS kimlik bilgisi yöntemlerine göre öncelik kazanır.
:::
3. İstediğiniz modeli seçmek için `/models` komutunu çalıştırın.
@@ -282,7 +284,7 @@ Amazon Bedrock'u opencode ile kullanmak için:
Claude Pro/Max aboneliğinizi opencode'da kullanmak [Anthropic](https://anthropic.com) tarafından resmi olarak desteklenmemektedir.
:::
##### API tuşlarını kullanma
##### API anahtarlarını kullanma
Pro/Max aboneliğiniz yoksa **API Anahtarı Oluştur** seçeneğini de seçebilirsiniz. Ayrıca tarayıcınızı açacak ve Anthropic'te oturum açmanızı isteyecek ve terminalinize yapıştırabileceğiniz bir kod verecektir.
@@ -353,7 +355,7 @@ Veya zaten bir API anahtarınız varsa **API Anahtarını Manuel Olarak Girin**
opencode'un düzgün çalışması için dağıtım adının model adıyla eşleşmesi gerekir.
:::
3. `/connect` komutunu çalıştırın ve **Azure Bilişsel Hizmetler**'i arayın.
3. `/connect` komutunu çalıştırın ve **Azure Cognitive Services**'i arayın.
```txt
/connect
@@ -461,7 +463,7 @@ Cloudflare AI Gateway, OpenAI, Anthropic, Workers AI ve daha fazlasındaki model
/connect
```
4. Cloudflare API jetonunuzu girin.
4. Cloudflare API tokenınızı girin.
```txt
┌ API key
@@ -470,7 +472,7 @@ Cloudflare AI Gateway, OpenAI, Anthropic, Workers AI ve daha fazlasındaki model
└ enter
```
Or set it as an environment variable.
Veya bunu bir ortam değişkeni olarak ayarlayın.
```bash title="~/.bash_profile"
export CLOUDFLARE_API_TOKEN=your-api-token
@@ -682,9 +684,9 @@ GitLab Duo, GitLab'ın Anthropic proxy'si aracılığıyla yerel araç çağırm
to store token in opencode auth storage.
:::
##### Self-Hosted GitLab
##### Kendi Kendine Barındırılan GitLab
:::note[compliance note]
:::note[uyumluluk notu]
opencode, oturum başlığını oluşturmak gibi bazı AI görevleri için küçük bir model kullanır.
Varsayılan olarak Zen tarafından barındırılan gpt-5-nano'yu kullanacak şekilde yapılandırılmıştır. opencode'u kilitlemek için
yalnızca kendi GitLab tarafından barındırılan örneğinizi kullanmak için aşağıdakileri ekleyin:
@@ -748,9 +750,9 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here
Daha fazla belge [opencode-gitlab-auth](https://www.npmjs.com/package/@gitlab/opencode-gitlab-auth) ana sayfasında.
##### Configuration
##### Yapılandırma
Customize through `opencode.json`:
`opencode.json` üzerinden özelleştirin:
```json title="opencode.json"
{
@@ -769,9 +771,9 @@ Customize through `opencode.json`:
}
```
##### GitLab API Tools (Optional, but highly recommended)
##### GitLab API Araçları (İsteğe bağlı, ancak şiddetle önerilir)
To access GitLab tools (merge requests, issues, pipelines, CI/CD, etc.):
GitLab araçlarına (birleştirme istekleri, sorunlar, işlem hatları, CI/CD vb.) erişmek için:
```json title="opencode.json"
{
@@ -834,11 +836,11 @@ Google Vertex AI'yi opencode ile kullanmak için:
2. Gerekli ortam değişkenlerini ayarlayın:
- `GOOGLE_CLOUD_PROJECT`: Google Cloud proje kimliğiniz
- `VERTEX_LOCATION` (isteğe bağlı): Vertex AI bölgesi (varsayılanı `global`'dir)
- Authentication (choose one):
- Kimlik Doğrulama (birini seçin):
- `GOOGLE_APPLICATION_CREDENTIALS`: Hizmet hesabınızın yolu JSON anahtar dosyası
- gcloud kullanarak kimlik doğrulaması yapın CLI: `gcloud auth application-default login`
Set them while running opencode.
Bunları opencode çalıştırılırken ayarlayın.
```bash
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json GOOGLE_CLOUD_PROJECT=your-project-id opencode
@@ -897,13 +899,13 @@ Google Vertex AI'yi opencode ile kullanmak için:
1. Çıkarım Sağlayıcılara çağrı yapma iznine sahip bir belirteç oluşturmak için [Hugging Face settings](https://huggingface.co/settings/tokens/new?ownUserPermissions=inference.serverless.write&tokenType=fineGrained) adresine gidin.
2. `/connect` komutunu çalıştırın ve **Sarılma Yüzünü** arayın.
2. `/connect` komutunu çalıştırın ve **Hugging Face**'i arayın.
```txt
/connect
```
3. Hugging Face jetonunuzu girin.
3. Hugging Face tokenınızı girin.
```txt
┌ API key
@@ -949,7 +951,7 @@ Google Vertex AI'yi opencode ile kullanmak için:
Daha fazla sağlayıcı ve önbelleğe alma ve hız sınırlama gibi gelişmiş özellikler için [Helicone documentation](https://docs.helicone.ai)'yi kontrol edin.
#### Optional Configs
#### İsteğe Bağlı Yapılandırmalar
Helicone'un opencode aracılığıyla otomatik olarak yapılandırılmayan bir özelliği veya modelini görmeniz durumunda bunu her zaman kendiniz yapılandırabilirsiniz.
@@ -979,7 +981,7 @@ Helicone'un opencode aracılığıyla otomatik olarak yapılandırılmayan bir
}
```
#### Custom Headers
#### Özel Başlıklar
Helicone, önbelleğe alma, kullanıcı izleme ve oturum yönetimi gibi özellikler için özel başlıkları destekler. `options.headers` kullanarak bunları sağlayıcınızın yapılandırmasına ekleyin:
@@ -1020,7 +1022,7 @@ Yapılandırmanıza ekleyin.
Eklenti isteklerinize `Helicone-Session-Id` ve `Helicone-Session-Name` başlıklarını enjekte eder. Helicone'un Oturumlar sayfasında her opencode görüşmesinin ayrı bir oturum olarak listelendiğini göreceksiniz.
##### Common Helicone headers
##### Yaygın Helicone başlıkları
| Başlık | Açıklama |
| -------------------------- | ------------------------------------------------------------- |
@@ -1325,7 +1327,7 @@ Ollama Cloud'u opencode ile kullanmak için:
/models
```
##### API tuşlarını kullanma
##### API anahtarlarını kullanma
Zaten bir API anahtarınız varsa, **API Anahtarını Manuel Olarak Girin** seçeneğini seçip terminalinize yapıştırabilirsiniz.
@@ -1635,12 +1637,12 @@ Modelleri opencode yapılandırmanız aracılığıyla da özelleştirebilirsini
}
```
Some useful routing options:
Bazı yararlı yönlendirme seçenekleri:
| Seçenek | Açıklama |
| ------------------- | --------------------------------------------------------------------- |
| `order` | Denenecek sağlayıcı sırası |
| `only` | Restrict to specific providers |
| `only` | Belirli sağlayıcılarla sınırla |
| `zeroDataRetention` | Yalnızca sıfır veri saklama politikasına sahip sağlayıcıları kullanın |
---
@@ -1818,11 +1820,11 @@ OpenAI uyumlu herhangi bir sağlayıcıyı opencode ile kullanabilirsiniz. Çoğ
Yapılandırma seçenekleri şunlardır:
- **npm**: Kullanılacak AI SDK paketi, OpenAI uyumlu sağlayıcılar için `@ai-sdk/openai-compatible`
- **name**: Display name in UI.
- **name**: UI'daki görünen ad.
- **modeller**: Mevcut modeller.
- **options.baseURL**: API endpoint URL.
- **options.apiKey**: Kimlik doğrulama kullanılmıyorsa isteğe bağlı olarak API anahtarını ayarlayın.
- **options.headers**: Optionally set custom headers.
- **options.headers**: İsteğe bağlı olarak özel başlıklar ayarlayın.
Aşağıdaki örnekte gelişmiş seçenekler hakkında daha fazla bilgi bulabilirsiniz.
@@ -1830,7 +1832,7 @@ OpenAI uyumlu herhangi bir sağlayıcıyı opencode ile kullanabilirsiniz. Çoğ
---
##### Example
##### Örnek
Burada `apiKey`, `headers` ve model `limit` seçeneklerini ayarlayan bir örnek verilmiştir.
@@ -1862,18 +1864,18 @@ Burada `apiKey`, `headers` ve model `limit` seçeneklerini ayarlayan bir örnek
}
```
Configuration details:
Yapılandırma ayrıntıları:
- **apiKey**: `env` değişken söz dizimini kullanarak ayarlayın, [learn more](/docs/config#env-vars).
- **başlıklar**: Her istekle birlikte gönderilen özel başlıklar.
- **limit.context**: Modelin kabul ettiği maksimum giriş jetonları.
- **limit.output**: Modelin üretebileceği maksimum jeton sayısı.
- **apiKey**: `env` değişken söz dizimini kullanarak ayarlayın, [daha fazla bilgi](/docs/config#env-vars).
- **headers**: Her istekle birlikte gönderilen özel başlıklar.
- **limit.context**: Modelin kabul ettiği maksimum giriş tokenları.
- **limit.output**: Modelin üretebileceği maksimum token sayısı.
`limit` alanları opencode'un ne kadar bağlamınız kaldığını anlamasını sağlar. Standart sağlayıcılar bunları models.dev'den otomatik olarak alır.
---
## Troubleshooting
## Sorun Giderme
Sağlayıcıyı yapılandırma konusunda sorun yaşıyorsanız aşağıdakileri kontrol edin:

View File

@@ -1,21 +1,21 @@
---
title: SDK
description: opencode serveri icin type-safe JS istemcisi.
description: opencode sunucusu için type-safe JS istemcisi.
---
import config from "../../../../config.mjs"
export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types.gen.ts`
opencode JS/TS SDK, sunucu ile etkilesmek icin type-safe bir istemci saglar.
opencode'u programatik olarak kontrol etmek ve entegrasyonlar olusturmak icin kullanabilirsiniz.
opencode JS/TS SDK, sunucu ile etkileşmek için type-safe bir istemci sağlar.
opencode'u programatik olarak kontrol etmek ve entegrasyonlar oluşturmak için kullanabilirsiniz.
[Sunucu](/docs/server) sayfasinda nasil calistigini gorebilir, ornekler icin toplulugun olusturdugu [projects](/docs/ecosystem#projects) bolumune bakabilirsiniz.
[Sunucu](/docs/server) sayfasında nasıl çalıştığını görebilir, örnekler için topluluğun oluşturduğu [projeler](/docs/ecosystem#projects) bölümüne bakabilirsiniz.
---
## Install
## Kurulum
Install the SDK from npm:
SDK'yı npm'den yükleyin:
```bash
npm install @opencode-ai/sdk
@@ -23,9 +23,9 @@ npm install @opencode-ai/sdk
---
## Create client
## İstemci Oluşturma
Create an instance of opencode:
Bir opencode örneği oluşturun:
```javascript
import { createOpencode } from "@opencode-ai/sdk"
@@ -33,23 +33,23 @@ import { createOpencode } from "@opencode-ai/sdk"
const { client } = await createOpencode()
```
This starts both a server and a client
Bu, hem bir sunucu hem de bir istemci başlatır
#### Options
#### Seçenekler
| Option | Type | Description | Default |
| ---------- | ------------- | ------------------------------ | ----------- |
| `hostname` | `string` | Server hostname | `127.0.0.1` |
| `port` | `number` | Server port | `4096` |
| `signal` | `AbortSignal` | Abort signal for cancellation | `undefined` |
| `timeout` | `number` | Timeout in ms for server start | `5000` |
| `config` | `Config` | Configuration object | `{}` |
| Seçenek | Tip | ıklama | Varsayılan |
| ---------- | ------------- | --------------------------------------------- | ----------- |
| `hostname` | `string` | Sunucu ana bilgisayar adı | `127.0.0.1` |
| `port` | `number` | Sunucu bağlantı noktası | `4096` |
| `signal` | `AbortSignal` | İptal için durdurma sinyali | `undefined` |
| `timeout` | `number` | Sunucu başlatma için ms cinsinden zaman aşımı | `5000` |
| `config` | `Config` | Yapılandırma nesnesi | `{}` |
---
## Config
## Yapılandırma
You can pass a configuration object to customize behavior. The instance still picks up your `opencode.json`, but you can override or add configuration inline:
Davranışı özelleştirmek için bir yapılandırma nesnesi iletebilirsiniz. Örnek yine de `opencode.json` dosyanızı alır, ancak yapılandırmayı satır içi olarak geçersiz kılabilir veya ekleyebilirsiniz:
```javascript
import { createOpencode } from "@opencode-ai/sdk"
@@ -67,9 +67,9 @@ console.log(`Server running at ${opencode.server.url}`)
opencode.server.close()
```
## Client only
## Yalnızca istemci
If you already have a running instance of opencode, you can create a client instance to connect to it:
Halihazırda çalışan bir opencode örneğiniz varsa, ona bağlanmak için bir istemci örneği oluşturabilirsiniz:
```javascript
import { createOpencodeClient } from "@opencode-ai/sdk"
@@ -79,33 +79,33 @@ const client = createOpencodeClient({
})
```
#### Options
#### Seçenekler
| Option | Type | Description | Default |
| --------------- | ---------- | -------------------------------- | ----------------------- |
| `baseUrl` | `string` | URL of the server | `http://localhost:4096` |
| `fetch` | `function` | Custom fetch implementation | `globalThis.fetch` |
| `parseAs` | `string` | Response parsing method | `auto` |
| `responseStyle` | `string` | Return style: `data` or `fields` | `fields` |
| `throwOnError` | `boolean` | Throw errors instead of return | `false` |
| Seçenek | Tip | ıklama | Varsayılan |
| --------------- | ---------- | --------------------------------- | ----------------------- |
| `baseUrl` | `string` | Sunucunun URL'si | `http://localhost:4096` |
| `fetch` | `function` | Özel fetch uygulaması | `globalThis.fetch` |
| `parseAs` | `string` | Yanıt ayrıştırma yöntemi | `auto` |
| `responseStyle` | `string` | Dönüş stili: `data` veya `fields` | `fields` |
| `throwOnError` | `boolean` | Dönüş yerine hata fırlat | `false` |
---
## Types
## Türler
The SDK includes TypeScript definitions for all API types. Import them directly:
SDK, tüm API türleri için TypeScript tanımlarını içerir. Bunları doğrudan içe aktarın:
```typescript
import type { Session, Message, Part } from "@opencode-ai/sdk"
```
All types are generated from the server's OpenAPI specification and available in the <a href={typesUrl}>types file</a>.
Tüm tipler, sunucunun OpenAPI spesifikasyonundan oluşturulur ve <a href={typesUrl}>tipler dosyasında</a> mevcuttur.
---
## Errors
## Hatalar
The SDK can throw errors that you can catch and handle:
SDK, yakalayabileceğiniz ve işleyebileceğiniz hatalar fırlatabilir:
```typescript
try {
@@ -117,21 +117,21 @@ try {
---
## APIs
## API'ler
The SDK exposes all server APIs through a type-safe client.
SDK, tüm sunucu API'lerini type-safe bir istemci aracılığıyla sunar.
---
### Global
| Method | Description | Response |
| ----------------- | ------------------------------- | ------------------------------------ |
| `global.health()` | Check server health and version | `{ healthy: true, version: string }` |
| Yöntem | ıklama | Yanıt |
| ----------------- | --------------------------------------- | ------------------------------------ |
| `global.health()` | Sunucu sağlığını ve sürümünü kontrol et | `{ healthy: true, version: string }` |
---
#### Examples
#### Örnekler
```javascript
const health = await client.global.health()
@@ -142,14 +142,14 @@ console.log(health.data.version)
### App
| Method | Description | Response |
| -------------- | ------------------------- | ------------------------------------------- |
| `app.log()` | Write a log entry | `boolean` |
| `app.agents()` | List all available agents | <a href={typesUrl}><code>Agent[]</code></a> |
| Yöntem | ıklama | Yanıt |
| -------------- | ----------------------------- | ------------------------------------------- |
| `app.log()` | Bir günlük girdisi yaz | `boolean` |
| `app.agents()` | Tüm mevcut agent'ları listele | <a href={typesUrl}><code>Agent[]</code></a> |
---
#### Examples
#### Örnekler
```javascript
// Write a log entry
@@ -169,14 +169,14 @@ const agents = await client.app.agents()
### Project
| Method | Description | Response |
| ------------------- | ------------------- | --------------------------------------------- |
| `project.list()` | List all projects | <a href={typesUrl}><code>Project[]</code></a> |
| `project.current()` | Get current project | <a href={typesUrl}><code>Project</code></a> |
| Yöntem | ıklama | Yanıt |
| ------------------- | --------------------- | --------------------------------------------- |
| `project.list()` | Tüm projeleri listele | <a href={typesUrl}><code>Project[]</code></a> |
| `project.current()` | Mevcut projeyi al | <a href={typesUrl}><code>Project</code></a> |
---
#### Examples
#### Örnekler
```javascript
// List all projects
@@ -190,13 +190,13 @@ const currentProject = await client.project.current()
### Path
| Method | Description | Response |
| ------------ | ---------------- | ---------------------------------------- |
| `path.get()` | Get current path | <a href={typesUrl}><code>Path</code></a> |
| Yöntem | ıklama | Yanıt |
| ------------ | -------------- | ---------------------------------------- |
| `path.get()` | Mevcut yolu al | <a href={typesUrl}><code>Path</code></a> |
---
#### Examples
#### Örnekler
```javascript
// Get current path information
@@ -207,14 +207,14 @@ const pathInfo = await client.path.get()
### Config
| Method | Description | Response |
| -------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `config.get()` | Get config info | <a href={typesUrl}><code>Config</code></a> |
| `config.providers()` | List providers and default models | `{ providers: `<a href={typesUrl}><code>Provider[]</code></a>`, default: { [key: string]: string } }` |
| Yöntem | ıklama | Yanıt |
| -------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `config.get()` | Yapılandırma bilgisini al | <a href={typesUrl}><code>Config</code></a> |
| `config.providers()` | Sağlayıcıları ve varsayılan modelleri listele | `{ providers: `<a href={typesUrl}><code>Provider[]</code></a>`, default: { [key: string]: string } }` |
---
#### Examples
#### Örnekler
```javascript
const config = await client.config.get()
@@ -224,33 +224,33 @@ const { providers, default: defaults } = await client.config.providers()
---
### Sessions
### Oturumlar
| Method | Description | Notes |
| ---------------------------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `session.list()` | List sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
| `session.get({ path })` | Get session | Returns <a href={typesUrl}><code>Session</code></a> |
| `session.children({ path })` | List child sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
| `session.create({ body })` | Create session | Returns <a href={typesUrl}><code>Session</code></a> |
| `session.delete({ path })` | Delete session | Returns `boolean` |
| `session.update({ path, body })` | Update session properties | Returns <a href={typesUrl}><code>Session</code></a> |
| `session.init({ path, body })` | Analyze app and create `AGENTS.md` | Returns `boolean` |
| `session.abort({ path })` | Abort a running session | Returns `boolean` |
| `session.share({ path })` | Share session | Returns <a href={typesUrl}><code>Session</code></a> |
| `session.unshare({ path })` | Unshare session | Returns <a href={typesUrl}><code>Session</code></a> |
| `session.summarize({ path, body })` | Summarize session | Returns `boolean` |
| `session.messages({ path })` | List messages in a session | Returns `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` |
| `session.message({ path })` | Get message details | Returns `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
| `session.prompt({ path, body })` | Send prompt message | `body.noReply: true` returns UserMessage (context only). Default returns <a href={typesUrl}><code>AssistantMessage</code></a> with AI response |
| `session.command({ path, body })` | Send command to session | Returns `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
| `session.shell({ path, body })` | Run a shell command | Returns <a href={typesUrl}><code>AssistantMessage</code></a> |
| `session.revert({ path, body })` | Revert a message | Returns <a href={typesUrl}><code>Session</code></a> |
| `session.unrevert({ path })` | Restore reverted messages | Returns <a href={typesUrl}><code>Session</code></a> |
| `postSessionByIdPermissionsByPermissionId({ path, body })` | Respond to a permission request | Returns `boolean` |
| Yöntem | ıklama | Notlar |
| ---------------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `session.list()` | Oturumları listele | <a href={typesUrl}><code>Session[]</code></a> döndürür |
| `session.get({ path })` | Oturum al | <a href={typesUrl}><code>Session</code></a> döndürür |
| `session.children({ path })` | Alt oturumları listele | <a href={typesUrl}><code>Session[]</code></a> döndürür |
| `session.create({ body })` | Oturum oluştur | <a href={typesUrl}><code>Session</code></a> döndürür |
| `session.delete({ path })` | Oturum sil | `boolean` döndürür |
| `session.update({ path, body })` | Oturum özelliklerini güncelle | <a href={typesUrl}><code>Session</code></a> döndürür |
| `session.init({ path, body })` | Uygulamayı analiz et ve `AGENTS.md` oluştur | `boolean` döndürür |
| `session.abort({ path })` | Çalışan bir oturumu iptal et | `boolean` döndürür |
| `session.share({ path })` | Oturum paylaş | <a href={typesUrl}><code>Session</code></a> döndürür |
| `session.unshare({ path })` | Oturum paylaşımını kaldır | <a href={typesUrl}><code>Session</code></a> döndürür |
| `session.summarize({ path, body })` | Oturumu özetle | `boolean` döndürür |
| `session.messages({ path })` | Oturumdaki mesajları listele | `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` döndürür |
| `session.message({ path })` | Mesaj ayrıntılarını al | `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` döndürür |
| `session.prompt({ path, body })` | İstem mesajı gönder | `body.noReply: true` UserMessage (yalnızca bağlam) döndürür. Varsayılan olarak AI yanıtıyla <a href={typesUrl}><code>AssistantMessage</code></a> döndürür |
| `session.command({ path, body })` | Oturuma komut gönder | `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` döndürür |
| `session.shell({ path, body })` | Bir kabuk komutu çalıştır | <a href={typesUrl}><code>AssistantMessage</code></a> döndürür |
| `session.revert({ path, body })` | Bir mesajı geri al | <a href={typesUrl}><code>Session</code></a> döndürür |
| `session.unrevert({ path })` | Geri alınan mesajları geri yükle | <a href={typesUrl}><code>Session</code></a> döndürür |
| `postSessionByIdPermissionsByPermissionId({ path, body })` | Bir izin isteğine yanıt ver | `boolean` döndürür |
---
#### Examples
#### Örnekler
```javascript
// Create and manage sessions
@@ -281,25 +281,25 @@ await client.session.prompt({
---
### Files
### Dosyalar
| Method | Description | Response |
| ------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------- |
| `find.text({ query })` | Search for text in files | Array of match objects with `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
| `find.files({ query })` | Find files and directories by name | `string[]` (paths) |
| `find.symbols({ query })` | Find workspace symbols | <a href={typesUrl}><code>Symbol[]</code></a> |
| `file.read({ query })` | Read a file | `{ type: "raw" \| "patch", content: string }` |
| `file.status({ query? })` | Get status for tracked files | <a href={typesUrl}><code>File[]</code></a> |
| Yöntem | ıklama | Yanıt |
| ------------------------- | -------------------------------- | ----------------------------------------------------------------------------------------------- |
| `find.text({ query })` | Dosyalarda metin ara | `path`, `lines`, `line_number`, `absolute_offset`, `submatches` içeren eşleşme nesneleri dizisi |
| `find.files({ query })` | Dosya ve dizinleri isme göre bul | `string[]` (yollar) |
| `find.symbols({ query })` | Çalışma alanı sembollerini bul | <a href={typesUrl}><code>Symbol[]</code></a> |
| `file.read({ query })` | Bir dosyayı oku | `{ type: "raw" \| "patch", content: string }` |
| `file.status({ query? })` | İzlenen dosyalar için durumu al | <a href={typesUrl}><code>File[]</code></a> |
`find.files` supports a few optional query fields:
`find.files` birkaç isteğe bağlı sorgu alanını destekler:
- `type`: `"file"` or `"directory"`
- `directory`: override the project root for the search
- `limit`: max results (1-200)
- `type`: `"file"` veya `"directory"`
- `directory`: arama için proje kökünü geçersiz kılma
- `limit`: maksimum sonuç (1-200)
---
#### Examples
#### Örnekler
```javascript
// Search and read files
@@ -324,21 +324,21 @@ const content = await client.file.read({
### TUI
| Method | Description | Response |
| ------------------------------ | ------------------------- | --------- |
| `tui.appendPrompt({ body })` | Append text to the prompt | `boolean` |
| `tui.openHelp()` | Open the help dialog | `boolean` |
| `tui.openSessions()` | Open the session selector | `boolean` |
| `tui.openThemes()` | Open the theme selector | `boolean` |
| `tui.openModels()` | Open the model selector | `boolean` |
| `tui.submitPrompt()` | Submit the current prompt | `boolean` |
| `tui.clearPrompt()` | Clear the prompt | `boolean` |
| `tui.executeCommand({ body })` | Execute a command | `boolean` |
| `tui.showToast({ body })` | Show toast notification | `boolean` |
| Yöntem | ıklama | Yanıt |
| ------------------------------ | --------------------------- | --------- |
| `tui.appendPrompt({ body })` | İsteme metin ekle | `boolean` |
| `tui.openHelp()` | Yardım iletişim kutusunu aç | `boolean` |
| `tui.openSessions()` | Oturum seçiciyi aç | `boolean` |
| `tui.openThemes()` | Tema seçiciyi aç | `boolean` |
| `tui.openModels()` | Model seçiciyi aç | `boolean` |
| `tui.submitPrompt()` | Mevcut istemi gönder | `boolean` |
| `tui.clearPrompt()` | İstemi temizle | `boolean` |
| `tui.executeCommand({ body })` | Bir komut çalıştır | `boolean` |
| `tui.showToast({ body })` | Toast bildirimi göster | `boolean` |
---
#### Examples
#### Örnekler
```javascript
// Control TUI interface
@@ -355,13 +355,13 @@ await client.tui.showToast({
### Auth
| Method | Description | Response |
| ------------------- | ------------------------------ | --------- |
| `auth.set({ ... })` | Set authentication credentials | `boolean` |
| Yöntem | ıklama | Yanıt |
| ------------------- | ------------------------- | --------- |
| `auth.set({ ... })` | Kimlik bilgilerini ayarla | `boolean` |
---
#### Examples
#### Örnekler
```javascript
await client.auth.set({
@@ -372,15 +372,15 @@ await client.auth.set({
---
### Events
### Olaylar
| Method | Description | Response |
| ------------------- | ------------------------- | ------------------------- |
| `event.subscribe()` | Server-sent events stream | Server-sent events stream |
| Yöntem | ıklama | Yanıt |
| ------------------- | --------------------------------------- | --------------------------------------- |
| `event.subscribe()` | Sunucu tarafından gönderilen olay akışı | Sunucu tarafından gönderilen olay akışı |
---
#### Examples
#### Örnekler
```javascript
// Listen to real-time events

View File

@@ -6,27 +6,27 @@ description: opencode sunucusuyla HTTP uzerinden etkilesin.
import config from "../../../../config.mjs"
export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types.gen.ts`
`opencode serve` komutu, opencode istemcisinin kullanabilecegi bir OpenAPI endpoint'i acan headless bir HTTP sunucusu calistirir.
`opencode serve` komutu, opencode istemcisinin kullanabileceği bir OpenAPI endpoint'i açan headless bir HTTP sunucusu çalıştırır.
---
### Kullanim
### Kullanım
```bash
opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
```
#### Secenekler
#### Seçenekler
| Flag | Description | Default |
| --------------- | ----------------------------------- | ---------------- |
| `--port` | Dinlenecek port | `4096` |
| `--hostname` | Dinlenecek host adı | `127.0.0.1` |
| `--mdns` | Enable mDNS discovery | `false` |
| `--mdns-domain` | Custom domain name for mDNS service | `opencode.local` |
| `--cors` | Additional browser origins to allow | `[]` |
| Bayrak | Açıklama | Varsayılan |
| --------------- | ---------------------------------------------- | ---------------- |
| `--port` | Dinlenecek bağlantı noktası | `4096` |
| `--hostname` | Dinlenecek ana bilgisayar adı | `127.0.0.1` |
| `--mdns` | mDNS keşfini etkinleştir | `false` |
| `--mdns-domain` | mDNS hizmeti için özel alan adı | `opencode.local` |
| `--cors` | İzin verilecek ek tarayıcı kaynakları (origin) | `[]` |
`--cors` birden fazla kez gecilebilir:
`--cors` birden fazla kez geçilebilir:
```bash
opencode serve --cors http://localhost:5173 --cors https://app.example.com
@@ -34,9 +34,9 @@ opencode serve --cors http://localhost:5173 --cors https://app.example.com
---
### Kimlik dogrulama
### Kimlik Doğrulama
Sunucuyu HTTP basic auth ile korumak icin `OPENCODE_SERVER_PASSWORD` ayarlayin. Kullanici adi varsayilan olarak `opencode` degeridir; degistirmek isterseniz `OPENCODE_SERVER_USERNAME` ayarlayabilirsiniz. Bu ayar hem `opencode serve` hem de `opencode web` icin gecerlidir.
Sunucuyu HTTP temel kimlik doğrulama (basic auth) ile korumak için `OPENCODE_SERVER_PASSWORD` ayarlayın. Kullanıcı adı varsayılan olarak `opencode` değeridir; değiştirmek isterseniz `OPENCODE_SERVER_USERNAME` ayarlayabilirsiniz. Bu ayar hem `opencode serve` hem de `opencode web` için geçerlidir.
```bash
OPENCODE_SERVER_PASSWORD=your-password opencode serve
@@ -44,242 +44,242 @@ OPENCODE_SERVER_PASSWORD=your-password opencode serve
---
### Nasil calisir
### Nasıl çalışır
`opencode` calistirdiginizda hem TUI hem de sunucu baslar. TUI, sunucuyla konusan istemci tarafidir.
Sunucu bir OpenAPI 3.1 spec endpoint'i acar. Bu endpoint [SDK](/docs/sdk) uretiminde de kullanilir.
`opencode` çalıştırdığınızda hem TUI hem de sunucu başlar. TUI, sunucuyla konuşan istemci tarafıdır.
Sunucu bir OpenAPI 3.1 spesifikasyon uç noktası açar. Bu uç nokta [SDK](/docs/sdk) üretiminde de kullanılır.
:::tip
opencode ile programatik etkilesim icin opencode sunucusunu kullanin.
opencode ile programatik etkileşim için opencode sunucusunu kullanın.
:::
Bu mimari, opencode'un birden fazla istemciyi desteklemesini ve programatik kullanimlari mumkun kilmasini saglar.
Bu mimari, opencode'un birden fazla istemciyi desteklemesini ve programatik kullanımları mümkün kılmasını sağlar.
`opencode serve` ile bagimsiz bir sunucu baslatabilirsiniz. opencode TUI aciksa, `opencode serve` yeni bir sunucu baslatir.
`opencode serve` ile bağımsız bir sunucu başlatabilirsiniz. opencode TUI açıksa, `opencode serve` yeni bir sunucu başlatır.
---
#### Mevcut sunucuya baglanin
#### Mevcut sunucuya bağlanın
TUI baslarken rastgele bir port ve hostname atanir. Bunun yerine `--hostname` ve `--port` [bayraklarini](/docs/cli) verebilirsiniz.
TUI başlarken rastgele bir port ve hostname atanır. Bunun yerine `--hostname` ve `--port` [bayraklarını](/docs/cli) verebilirsiniz.
[`/tui`](#tui) endpoint'i sunucu uzerinden TUI'yi surmek icin kullanilabilir. Ornegin bir istemi onceden doldurabilir veya calistirabilirsiniz. Bu kurulum opencode [IDE](/docs/ide) eklentileri tarafindan kullanilir.
[`/tui`](#tui) uç noktası sunucu üzerinden TUI'yi sürmek için kullanılabilir. Örneğin bir istemi önceden doldurabilir veya çalıştırabilirsiniz. Bu kurulum opencode [IDE](/docs/ide) eklentileri tarafından kullanılır.
---
## Spesifikasyon
Sunucu, su adreste gorulebilen bir OpenAPI 3.1 spec yayinlar:
Sunucu, şu adreste görülebilen bir OpenAPI 3.1 spesifikasyonu yayınlar:
```
http://<hostname>:<port>/doc
```
Ornegin `http://localhost:4096/doc`. Istemci olusturmak, istek/yanit tiplerini incelemek veya Swagger gezgininde acmak icin bu spec'i kullanin.
Örneğin `http://localhost:4096/doc`. İstemci oluşturmak, istek/yanit tiplerini incelemek veya Swagger gezgininde açmak için bu spec'i kullanın.
---
## API'ler
opencode sunucusu asagidaki API'leri sunar.
opencode sunucusu aşağıdaki API'leri sunar.
---
### Global
| Method | Path | Description | Response |
| ------ | ---------------- | ------------------------------ | ------------------------------------ |
| `GET` | `/global/health` | Get server health and version | `{ healthy: true, version: string }` |
| `GET` | `/global/event` | Get global events (SSE stream) | Event stream |
| Yöntem | Yol | ıklama | Yanıt |
| ------ | ---------------- | ------------------------------- | ------------------------------------ |
| `GET` | `/global/health` | Sunucu sağlığını ve sürümünü al | `{ healthy: true, version: string }` |
| `GET` | `/global/event` | Küresel olayları al (SSE akışı) | Olay akışı |
---
### Project
### Proje
| Method | Path | Description | Response |
| ------ | ------------------ | ----------------------- | --------------------------------------------- |
| `GET` | `/project` | List all projects | <a href={typesUrl}><code>Project[]</code></a> |
| `GET` | `/project/current` | Get the current project | <a href={typesUrl}><code>Project</code></a> |
| Yöntem | Yol | ıklama | Yanıt |
| ------ | ------------------ | --------------------- | --------------------------------------------- |
| `GET` | `/project` | Tüm projeleri listele | <a href={typesUrl}><code>Project[]</code></a> |
| `GET` | `/project/current` | Mevcut projeyi al | <a href={typesUrl}><code>Project</code></a> |
---
### Path & VCS
### Yol & VCS
| Method | Path | Description | Response |
| ------ | ------- | ------------------------------------ | ------------------------------------------- |
| `GET` | `/path` | Get the current path | <a href={typesUrl}><code>Path</code></a> |
| `GET` | `/vcs` | Get VCS info for the current project | <a href={typesUrl}><code>VcsInfo</code></a> |
| Yöntem | Yol | Açıklama | Yanıt |
| ------ | ------- | ---------------------------------- | ------------------------------------------- |
| `GET` | `/path` | Mevcut yolu al | <a href={typesUrl}><code>Path</code></a> |
| `GET` | `/vcs` | Mevcut proje için VCS bilgisini al | <a href={typesUrl}><code>VcsInfo</code></a> |
---
### Instance
### Örnek (Instance)
| Method | Path | Description | Response |
| ------ | ------------------- | ---------------------------- | --------- |
| `POST` | `/instance/dispose` | Dispose the current instance | `boolean` |
| Yöntem | Yol | ıklama | Yanıt |
| ------ | ------------------- | ------------------------------ | --------- |
| `POST` | `/instance/dispose` | Mevcut örneği (instance) kapat | `boolean` |
---
### Config
| Method | Path | Description | Response |
| ------- | ------------------- | --------------------------------- | ---------------------------------------------------------------------------------------- |
| `GET` | `/config` | Get config info | <a href={typesUrl}><code>Config</code></a> |
| `PATCH` | `/config` | Update config | <a href={typesUrl}><code>Config</code></a> |
| `GET` | `/config/providers` | List providers and default models | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` |
| Yöntem | Yol | ıklama | Yanıt |
| ------- | ------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `GET` | `/config` | Yapılandırma bilgisini al | <a href={typesUrl}><code>Config</code></a> |
| `PATCH` | `/config` | Yapılandırmayı güncelle | <a href={typesUrl}><code>Config</code></a> |
| `GET` | `/config/providers` | Sağlayıcıları ve varsayılan modelleri listele | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` |
---
### Provider
### Sağlayıcı (Provider)
| Method | Path | Description | Response |
| ------ | -------------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- |
| `GET` | `/provider` | List all providers | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` |
| `GET` | `/provider/auth` | Get provider authentication methods | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
| `POST` | `/provider/{id}/oauth/authorize` | Authorize a provider using OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
| `POST` | `/provider/{id}/oauth/callback` | Handle OAuth callback for a provider | `boolean` |
| Yöntem | Yol | ıklama | Yanıt |
| ------ | -------------------------------- | -------------------------------------------- | ----------------------------------------------------------------------------------- |
| `GET` | `/provider` | Tüm sağlayıcıları listele | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` |
| `GET` | `/provider/auth` | Sağlayıcı kimlik doğrulama yöntemlerini al | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
| `POST` | `/provider/{id}/oauth/authorize` | OAuth kullanarak bir sağlayıcıyı yetkilendir | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
| `POST` | `/provider/{id}/oauth/callback` | Bir sağlayıcı için OAuth geri çağrısını işle | `boolean` |
---
### Sessions
### Oturumlar (Sessions)
| Method | Path | Description | Notes |
| -------- | ---------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------- |
| `GET` | `/session` | List all sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
| `POST` | `/session` | Create a new session | body: `{ parentID?, title? }`, returns <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/status` | Get session status for all sessions | Returns `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
| `GET` | `/session/:id` | Get session details | Returns <a href={typesUrl}><code>Session</code></a> |
| `DELETE` | `/session/:id` | Delete a session and all its data | Returns `boolean` |
| `PATCH` | `/session/:id` | Update session properties | body: `{ title? }`, returns <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/:id/children` | Get a session's child sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
| `GET` | `/session/:id/todo` | Get the todo list for a session | Returns <a href={typesUrl}><code>Todo[]</code></a> |
| `POST` | `/session/:id/init` | Analyze app and create `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` |
| `POST` | `/session/:id/fork` | Fork an existing session at a message | body: `{ messageID? }`, returns <a href={typesUrl}><code>Session</code></a> |
| `POST` | `/session/:id/abort` | Abort a running session | Returns `boolean` |
| `POST` | `/session/:id/share` | Share a session | Returns <a href={typesUrl}><code>Session</code></a> |
| `DELETE` | `/session/:id/share` | Unshare a session | Returns <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/:id/diff` | Get the diff for this session | query: `messageID?`, returns <a href={typesUrl}><code>FileDiff[]</code></a> |
| `POST` | `/session/:id/summarize` | Summarize the session | body: `{ providerID, modelID }`, returns `boolean` |
| `POST` | `/session/:id/revert` | Revert a message | body: `{ messageID, partID? }`, returns `boolean` |
| `POST` | `/session/:id/unrevert` | Restore all reverted messages | Returns `boolean` |
| `POST` | `/session/:id/permissions/:permissionID` | Respond to a permission request | body: `{ response, remember? }`, returns `boolean` |
| Yöntem | Yol | ıklama | Notlar |
| -------- | ---------------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------ |
| `GET` | `/session` | Tüm oturumları listele | <a href={typesUrl}><code>Session[]</code></a> döndürür |
| `POST` | `/session` | Yeni bir oturum oluştur | gövde: `{ parentID?, title? }`, <a href={typesUrl}><code>Session</code></a> döndürür |
| `GET` | `/session/status` | Tüm oturumlar için durumu al | `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` döndürür |
| `GET` | `/session/:id` | Oturum ayrıntılarını al | <a href={typesUrl}><code>Session</code></a> döndürür |
| `DELETE` | `/session/:id` | Bir oturumu ve tüm verilerini sil | `boolean` döndürür |
| `PATCH` | `/session/:id` | Oturum özelliklerini güncelle | gövde: `{ title? }`, <a href={typesUrl}><code>Session</code></a> döndürür |
| `GET` | `/session/:id/children` | Bir oturumun alt oturumlarını al | <a href={typesUrl}><code>Session[]</code></a> döndürür |
| `GET` | `/session/:id/todo` | Bir oturum için yapılacaklar listesini al | <a href={typesUrl}><code>Todo[]</code></a> döndürür |
| `POST` | `/session/:id/init` | Uygulamayı analiz et ve `AGENTS.md` oluştur | gövde: `{ messageID, providerID, modelID }`, `boolean` döndürür |
| `POST` | `/session/:id/fork` | Mevcut bir oturumu bir mesajda çatalla | gövde: `{ messageID? }`, <a href={typesUrl}><code>Session</code></a> döndürür |
| `POST` | `/session/:id/abort` | Çalışan bir oturumu iptal et | `boolean` döndürür |
| `POST` | `/session/:id/share` | Bir oturumu paylaş | <a href={typesUrl}><code>Session</code></a> döndürür |
| `DELETE` | `/session/:id/share` | Bir oturumun paylaşımını kaldır | <a href={typesUrl}><code>Session</code></a> döndürür |
| `GET` | `/session/:id/diff` | Bu oturum için farkı (diff) al | sorgu: `messageID?`, <a href={typesUrl}><code>FileDiff[]</code></a> döndürür |
| `POST` | `/session/:id/summarize` | Oturumu özetle | gövde: `{ providerID, modelID }`, `boolean` döndürür |
| `POST` | `/session/:id/revert` | Bir mesajı geri al | gövde: `{ messageID, partID? }`, `boolean` döndürür |
| `POST` | `/session/:id/unrevert` | Geri alınan tüm mesajları geri yükle | `boolean` döndürür |
| `POST` | `/session/:id/permissions/:permissionID` | Bir izin isteğine yanıt ver | gövde: `{ response, remember? }`, `boolean` döndürür |
---
### Messages
### Mesajlar
| Method | Path | Description | Notes |
| ------ | --------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET` | `/session/:id/message` | List messages in a session | query: `limit?`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
| `POST` | `/session/:id/message` | Send a message and wait for response | body: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `GET` | `/session/:id/message/:messageID` | Get message details | Returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `POST` | `/session/:id/prompt_async` | Send a message asynchronously (no wait) | body: same as `/session/:id/message`, returns `204 No Content` |
| `POST` | `/session/:id/command` | Execute a slash command | body: `{ messageID?, agent?, model?, command, arguments }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| `POST` | `/session/:id/shell` | Run a shell command | body: `{ agent, model?, command }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
| Yöntem | Yol | ıklama | Notlar |
| ------ | --------------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET` | `/session/:id/message` | Bir oturumdaki mesajları listele | sorgu: `limit?`, `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` döndürür |
| `POST` | `/session/:id/message` | Bir mesaj gönder ve yanıt bekle | gövde: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` döndürür |
| `GET` | `/session/:id/message/:messageID` | Mesaj ayrıntılarını al | `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` döndürür |
| `POST` | `/session/:id/prompt_async` | Eşzamansız bir mesaj gönder (bekleme yok) | gövde: `/session/:id/message` ile aynı, `204 No Content` döndürür |
| `POST` | `/session/:id/command` | Bir eğik çizgi (slash) komutu çalıştır | gövde: `{ messageID?, agent?, model?, command, arguments }`, `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` döndürür |
| `POST` | `/session/:id/shell` | Bir kabuk komutu çalıştır | gövde: `{ agent, model?, command }`, `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` döndürür |
---
### Commands
### Komutlar
| Method | Path | Description | Response |
| ------ | ---------- | ----------------- | --------------------------------------------- |
| `GET` | `/command` | List all commands | <a href={typesUrl}><code>Command[]</code></a> |
| Yöntem | Yol | Açıklama | Yanıt |
| ------ | ---------- | --------------------- | --------------------------------------------- |
| `GET` | `/command` | Tüm komutları listele | <a href={typesUrl}><code>Command[]</code></a> |
---
### Files
### Dosyalar
| Method | Path | Description | Response |
| ------ | ------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------- |
| `GET` | `/find?pattern=<pat>` | Search for text in files | Array of match objects with `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
| `GET` | `/find/file?query=<q>` | Find files and directories by name | `string[]` (paths) |
| `GET` | `/find/symbol?query=<q>` | Find workspace symbols | <a href={typesUrl}><code>Symbol[]</code></a> |
| `GET` | `/file?path=<path>` | List files and directories | <a href={typesUrl}><code>FileNode[]</code></a> |
| `GET` | `/file/content?path=<p>` | Read a file | <a href={typesUrl}><code>FileContent</code></a> |
| `GET` | `/file/status` | Get status for tracked files | <a href={typesUrl}><code>File[]</code></a> |
| Yöntem | Yol | ıklama | Yanıt |
| ------ | ------------------------ | -------------------------------- | ----------------------------------------------------------------------------------------------- |
| `GET` | `/find?pattern=<pat>` | Dosyalarda metin ara | `path`, `lines`, `line_number`, `absolute_offset`, `submatches` içeren eşleşme nesneleri dizisi |
| `GET` | `/find/file?query=<q>` | Dosya ve dizinleri isme göre bul | `string[]` (yollar) |
| `GET` | `/find/symbol?query=<q>` | Çalışma alanı sembollerini bul | <a href={typesUrl}><code>Symbol[]</code></a> |
| `GET` | `/file?path=<path>` | Dosya ve dizinleri listele | <a href={typesUrl}><code>FileNode[]</code></a> |
| `GET` | `/file/content?path=<p>` | Bir dosyayı oku | <a href={typesUrl}><code>FileContent</code></a> |
| `GET` | `/file/status` | İzlenen dosyalar için durumu al | <a href={typesUrl}><code>File[]</code></a> |
#### `/find/file` query parametreleri
#### `/find/file` sorgu parametreleri
- `query` (required) - arama metni (fuzzy match)
- `type` (optional) - sonuclari `"file"` veya `"directory"` ile sinirlama
- `directory` (optional) - arama icin proje kokunu gecersiz kilma
- `limit` (optional) - en fazla sonuc (1-200)
- `dirs` (optional) - eski bayrak (`"false"` sadece dosyalari dondurur)
- `query` (gerekli) - arama metni (bulanık eşleşme)
- `type` (isteğe bağlı) - sonuçları `"file"` veya `"directory"` ile sınırlama
- `directory` (isteğe bağlı) - arama için proje kökünü geçersiz kılma
- `limit` (isteğe bağlı) - en fazla sonuç (1-200)
- `dirs` (isteğe bağlı) - eski bayrak (`"false"` sadece dosyaları döndürür)
---
### Tools (Deneysel)
### Araçlar (Deneysel)
| Method | Path | Description | Response |
| ------ | ------------------------------------------- | ---------------------------------------- | -------------------------------------------- |
| `GET` | `/experimental/tool/ids` | List all tool IDs | <a href={typesUrl}><code>ToolIDs</code></a> |
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | List tools with JSON schemas for a model | <a href={typesUrl}><code>ToolList</code></a> |
| Yöntem | Yol | ıklama | Yanıt |
| ------ | ------------------------------------------- | ------------------------------------------------ | -------------------------------------------- |
| `GET` | `/experimental/tool/ids` | Tüm araç kimliklerini listele | <a href={typesUrl}><code>ToolIDs</code></a> |
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | Bir model için araçları JSON şemalarıyla listele | <a href={typesUrl}><code>ToolList</code></a> |
---
### LSP, Formatters & MCP
### LSP, Biçimlendiriciler & MCP
| Method | Path | Description | Response |
| ------ | ------------ | -------------------------- | -------------------------------------------------------- |
| `GET` | `/lsp` | Get LSP server status | <a href={typesUrl}><code>LSPStatus[]</code></a> |
| `GET` | `/formatter` | Get formatter status | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
| `GET` | `/mcp` | Get MCP server status | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
| `POST` | `/mcp` | Add MCP server dynamically | body: `{ name, config }`, returns MCP status object |
| Yöntem | Yol | Açıklama | Yanıt |
| ------ | ------------ | -------------------------------- | -------------------------------------------------------- |
| `GET` | `/lsp` | LSP sunucu durumunu al | <a href={typesUrl}><code>LSPStatus[]</code></a> |
| `GET` | `/formatter` | Biçimlendirici durumunu al | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
| `GET` | `/mcp` | MCP sunucu durumunu al | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
| `POST` | `/mcp` | Dinamik olarak MCP sunucusu ekle | gövde: `{ name, config }`, MCP durum nesnesi döndürür |
---
### Agents
### Agent'lar
| Method | Path | Description | Response |
| ------ | -------- | ------------------------- | ------------------------------------------- |
| `GET` | `/agent` | List all available agents | <a href={typesUrl}><code>Agent[]</code></a> |
| Yöntem | Yol | Açıklama | Yanıt |
| ------ | -------- | ----------------------------- | ------------------------------------------- |
| `GET` | `/agent` | Tüm mevcut agent'ları listele | <a href={typesUrl}><code>Agent[]</code></a> |
---
### Logging
### Günlük (Logging)
| Method | Path | Description | Response |
| ------ | ------ | ------------------------------------------------------------ | --------- |
| `POST` | `/log` | Write log entry. Body: `{ service, level, message, extra? }` | `boolean` |
| Yöntem | Yol | Açıklama | Yanıt |
| ------ | ------ | ---------------------------------------------------------------- | --------- |
| `POST` | `/log` | Günlük girdisi yaz. Gövde: `{ service, level, message, extra? }` | `boolean` |
---
### TUI
| Method | Path | Description | Response |
| ------ | ----------------------- | ------------------------------------------- | ---------------------- |
| `POST` | `/tui/append-prompt` | Append text to the prompt | `boolean` |
| `POST` | `/tui/open-help` | Open the help dialog | `boolean` |
| `POST` | `/tui/open-sessions` | Open the session selector | `boolean` |
| `POST` | `/tui/open-themes` | Open the theme selector | `boolean` |
| `POST` | `/tui/open-models` | Open the model selector | `boolean` |
| `POST` | `/tui/submit-prompt` | Submit the current prompt | `boolean` |
| `POST` | `/tui/clear-prompt` | Clear the prompt | `boolean` |
| `POST` | `/tui/execute-command` | Execute a command (`{ command }`) | `boolean` |
| `POST` | `/tui/show-toast` | Show toast (`{ title?, message, variant }`) | `boolean` |
| `GET` | `/tui/control/next` | Wait for the next control request | Control request object |
| `POST` | `/tui/control/response` | Respond to a control request (`{ body }`) | `boolean` |
| Yöntem | Yol | ıklama | Yanıt |
| ------ | ----------------------- | ------------------------------------------------------- | ---------------------- |
| `POST` | `/tui/append-prompt` | İsteme metin ekle | `boolean` |
| `POST` | `/tui/open-help` | Yardım iletişim kutusunu aç | `boolean` |
| `POST` | `/tui/open-sessions` | Oturum seçiciyi aç | `boolean` |
| `POST` | `/tui/open-themes` | Tema seçiciyi aç | `boolean` |
| `POST` | `/tui/open-models` | Model seçiciyi aç | `boolean` |
| `POST` | `/tui/submit-prompt` | Mevcut istemi gönder | `boolean` |
| `POST` | `/tui/clear-prompt` | İstemi temizle | `boolean` |
| `POST` | `/tui/execute-command` | Bir komut çalıştır (`{ command }`) | `boolean` |
| `POST` | `/tui/show-toast` | Toast bildirimi göster (`{ title?, message, variant }`) | `boolean` |
| `GET` | `/tui/control/next` | Bir sonraki kontrol isteğini bekle | Kontrol isteği nesnesi |
| `POST` | `/tui/control/response` | Bir kontrol isteğine yanıt ver (`{ body }`) | `boolean` |
---
### Auth
### Kimlik Doğrulama (Auth)
| Method | Path | Description | Response |
| ------ | ----------- | --------------------------------------------------------------- | --------- |
| `PUT` | `/auth/:id` | Set authentication credentials. Body must match provider schema | `boolean` |
| Yöntem | Yol | Açıklama | Yanıt |
| ------ | ----------- | ----------------------------------------------------------------- | --------- |
| `PUT` | `/auth/:id` | Kimlik bilgilerini ayarla. Gövde sağlayıcı şemasıyla eşleşmelidir | `boolean` |
---
### Events
### Olaylar (Events)
| Method | Path | Description | Response |
| ------ | -------- | ----------------------------------------------------------------------------- | ------------------------- |
| `GET` | `/event` | Server-sent events stream. First event is `server.connected`, then bus events | Server-sent events stream |
| Yöntem | Yol | Açıklama | Yanıt |
| ------ | -------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------- |
| `GET` | `/event` | Sunucu tarafından gönderilen olay akışı (SSE). İlk olay `server.connected`, ardından veriyolu olayları | Sunucu tarafından gönderilen olay akışı |
---
### Docs
### Dokümanlar (Docs)
| Method | Path | Description | Response |
| ------ | ------ | ------------------------- | --------------------------- |
| `GET` | `/doc` | OpenAPI 3.1 specification | HTML page with OpenAPI spec |
| Yöntem | Yol | Açıklama | Yanıt |
| ------ | ------ | -------------------------- | -------------------------------- |
| `GET` | `/doc` | OpenAPI 3.1 spesifikasyonu | OpenAPI spec içeren HTML sayfası |

View File

@@ -1,67 +1,67 @@
---
title: Temalar
description: Yerlesik bir tema secin veya kendiniz olusturun.
description: Yerleşik bir tema seçin veya kendiniz oluşturun.
---
opencode ile birden fazla yerlesik tema arasindan secim yapabilir, terminal temaniza uyum saglayan bir tema kullanabilir veya kendi ozel temanizi tanimlayabilirsiniz.
opencode ile birden fazla yerleşik tema arasından seçim yapabilir, terminal temanıza uyum sağlayan bir tema kullanabilir veya kendi özel temanızı tanımlayabilirsiniz.
Varsayilan olarak opencode kendi `opencode` temasini kullanir.
Varsayılan olarak opencode kendi `opencode` temasını kullanır.
---
## Terminal gereksinimleri
Temalarin tum renk paletiyle dogru gorunmesi icin terminalinizin **truecolor** (24-bit renk) desteklemesi gerekir. Cogu modern terminal bunu varsayilan olarak destekler, ancak gerekirse etkinlestirmeniz gerekebilir:
Temaların tüm renk paletiyle doğru görünmesi için terminalinizin **truecolor** (24-bit renk) desteklemesi gerekir. Çoğu modern terminal bunu varsayılan olarak destekler, ancak gerekirse etkinleştirmeniz gerekebilir:
- **Destegi kontrol edin**: `echo $COLORTERM` calistirin - cikti `truecolor` veya `24bit` olmalidir
- **Truecolor etkinlestirin**: kabuk profilinizde `COLORTERM=truecolor` ortam degiskenini ayarlayin
- **Terminal uyumlulugu**: terminal emulatorunuzun 24-bit rengi desteklediginden emin olun (iTerm2, Alacritty, Kitty, Windows Terminal ve GNOME Terminal'in yeni surumleri gibi modern terminaller genelde destekler)
- **Desteği kontrol edin**: `echo $COLORTERM` çalıştırın - çıktı `truecolor` veya `24bit` olmalıdır
- **Truecolor etkinleştirin**: kabuk profilinizde `COLORTERM=truecolor` ortam değişkenini ayarlayın
- **Terminal uyumluluğu**: terminal emülatörünüzün 24-bit rengi desteklediğinden emin olun (iTerm2, Alacritty, Kitty, Windows Terminal ve GNOME Terminal'in yeni sürümleri gibi modern terminaller genelde destekler)
Truecolor destegi yoksa temalar daha dusuk renk dogrulugu ile gorunebilir veya en yakin 256 renk yaklasimina dusebilir.
Truecolor desteği yoksa temalar daha düşük renk doğruluğu ile görünebilir veya en yakın 256 renk yaklaşımına düşebilir.
---
## Yerlesik temalar
## Yerleşik temalar
opencode birden fazla yerlesik temayla gelir.
opencode birden fazla yerleşik temayla gelir.
| Ad | Aciklama |
| Ad | Açıklama |
| ---------------------- | ----------------------------------------------------------------------------- |
| `system` | Terminalinizin arka plan rengine uyum saglar |
| `tokyonight` | [tokyonight](https://github.com/folke/tokyonight.nvim) temasini temel alir |
| `everforest` | [Everforest](https://github.com/sainnhe/everforest) temasini temel alir |
| `ayu` | [Ayu](https://github.com/ayu-theme) koyu temasini temel alir |
| `catppuccin` | [Catppuccin](https://github.com/catppuccin) temasini temel alir |
| `catppuccin-macchiato` | [Catppuccin](https://github.com/catppuccin) temasini temel alir |
| `gruvbox` | [Gruvbox](https://github.com/morhetz/gruvbox) temasini temel alir |
| `kanagawa` | [Kanagawa](https://github.com/rebelot/kanagawa.nvim) temasini temel alir |
| `nord` | [Nord](https://github.com/nordtheme/nord) temasini temel alir |
| `matrix` | Hacker tarzi yesil uzerine siyah tema |
| `one-dark` | [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark temasini temel alir |
| `system` | Terminalinizin arka plan rengine uyum sağlar |
| `tokyonight` | [tokyonight](https://github.com/folke/tokyonight.nvim) temasını temel alır |
| `everforest` | [Everforest](https://github.com/sainnhe/everforest) temasını temel alır |
| `ayu` | [Ayu](https://github.com/ayu-theme) koyu temasını temel alır |
| `catppuccin` | [Catppuccin](https://github.com/catppuccin) temasını temel alır |
| `catppuccin-macchiato` | [Catppuccin](https://github.com/catppuccin) temasını temel alır |
| `gruvbox` | [Gruvbox](https://github.com/morhetz/gruvbox) temasını temel alır |
| `kanagawa` | [Kanagawa](https://github.com/rebelot/kanagawa.nvim) temasını temel alır |
| `nord` | [Nord](https://github.com/nordtheme/nord) temasını temel alır |
| `matrix` | Hacker tarzı yeşil üzerine siyah tema |
| `one-dark` | [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark temasını temel alır |
Ve daha fazlasi; surekli yeni temalar ekliyoruz.
Ve daha fazlası; sürekli yeni temalar ekliyoruz.
---
## Sistem temasi
## Sistem teması
`system` temasi, terminalinizin renk duzenine otomatik uyum saglamak icin tasarlanmistir. Sabit renk kullanan klasik temalardan farkli olarak _system_ temasi:
`system` teması, terminalinizin renk düzenine otomatik uyum sağlamak için tasarlanmıştır. Sabit renk kullanan klasik temalardan farklı olarak _system_ teması:
- **Gri olcegi uretir**: En iyi kontrast icin terminal arka planina gore ozel gri tonlari olusturur
- **ANSI renkleri kullanir**: 0-15 arasi standart ANSI renklerini syntax highlighting ve UI ogelerinde kullanir, boylece terminal paletinize uyar
- **Terminal varsayilanlarini korur**: Metin ve arka plan renklerinde `none` kullanarak terminalin yerel gorunumunu korur
- **Gri ölçeği üretir**: En iyi kontrast için terminal arka planına göre özel gri tonları oluşturur
- **ANSI renkleri kullanır**: 0-15 arası standart ANSI renklerini syntax highlighting ve UI öğelerinde kullanır, böylece terminal paletinize uyar
- **Terminal varsayılanlarını korur**: Metin ve arka plan renklerinde `none` kullanarak terminalin yerel görünümünü korur
Sistem temasi su kullanicilar icin idealdir:
Sistem teması şu kullanıcılar için idealdir:
- opencode'un terminal gorunumuyle birebir uyumlu olmasini isteyenler
- Ozel terminal renk semalari kullananlar
- Tum terminal uygulamalarinda tutarli bir gorunum tercih edenler
- opencode'un terminal görünümüyle birebir uyumlu olmasını isteyenler
- Özel terminal renk şemaları kullananlar
- Tüm terminal uygulamalarında tutarlı bir görünüm tercih edenler
---
## Tema kullanin
## Tema kullanımı
`/theme` komutuyla tema secicisini acip tema secebilirsiniz. Isterseniz [config](/docs/config) dosyanizda da belirtebilirsiniz.
`/theme` komutuyla tema seçicisini açıp tema seçebilirsiniz. İsterseniz [config](/docs/config) dosyanızda da belirtebilirsiniz.
```json title="opencode.json" {3}
{
@@ -72,37 +72,37 @@ Sistem temasi su kullanicilar icin idealdir:
---
## Ozel temalar
## Özel temalar
opencode, kullanicilarin kolayca tema olusturup ozellestirebilmesi icin esnek bir JSON tabanli tema sistemi sunar.
opencode, kullanıcıların kolayca tema oluşturup özelleştirebilmesi için esnek bir JSON tabanlı tema sistemi sunar.
---
### Hiyerarsi
### Hiyerarşi
Temalar birden fazla dizinden su sirayla yuklenir; daha sonra gelen dizin oncekini ezer:
Temalar birden fazla dizinden şu sırayla yüklenir; daha sonra gelen dizin öncekini ezer:
1. **Yerlesik temalar** - Binary icine gomuludur
2. **Kullanici config dizini** - `~/.config/opencode/themes/*.json` veya `$XDG_CONFIG_HOME/opencode/themes/*.json`
3. **Proje kok dizini** - `<project-root>/.opencode/themes/*.json`
4. **Gecerli calisma dizini** - `./.opencode/themes/*.json`
1. **Yerleşik temalar** - Binary içine gömülüdür
2. **Kullanıcı yapılandırma dizini** - `~/.config/opencode/themes/*.json` veya `$XDG_CONFIG_HOME/opencode/themes/*.json`
3. **Proje kök dizini** - `<project-root>/.opencode/themes/*.json`
4. **Geçerli çalışma dizini** - `./.opencode/themes/*.json`
Birden fazla dizinde ayni adli tema varsa, onceligi daha yuksek dizindeki tema kullanilir.
Birden fazla dizinde aynı adlı tema varsa, önceliği daha yüksek dizindeki tema kullanılır.
---
### Tema olusturun
### Tema oluşturma
Ozel tema olusturmak icin tema dizinlerinden birinde bir JSON dosyasi olusturun.
Özel tema oluşturmak için tema dizinlerinden birinde bir JSON dosyası oluşturun.
Kullanici geneli temalar icin:
Kullanıcı geneli temalar için:
```bash no-frame
mkdir -p ~/.config/opencode/themes
vim ~/.config/opencode/themes/my-theme.json
```
Proje ozel temalar icin:
Proje özel temalar için:
```bash no-frame
mkdir -p .opencode/themes
@@ -111,36 +111,36 @@ vim .opencode/themes/my-theme.json
---
### JSON formati
### JSON formatı
Temalar asagidaki ozellikleri destekleyen esnek bir JSON formati kullanir:
Temalar aşağıdaki özellikleri destekleyen esnek bir JSON formatı kullanır:
- **Hex renkler**: `"#ffffff"`
- **ANSI renkler**: `3` (0-255)
- **Renk referanslari**: `"primary"` veya ozel tanimlar
- **Koyu/acik varyantlar**: `{"dark": "#000", "light": "#fff"}`
- **Renk yok**: `"none"` - Terminal varsayilan rengi veya seffaflik kullanilir
- **Renk referansları**: `"primary"` veya özel tanımlar
- **Koyu/açık varyantlar**: `{"dark": "#000", "light": "#fff"}`
- **Renk yok**: `"none"` - Terminal varsayılan rengi veya şeffaflık kullanılır
---
### Renk tanimlari
### Renk tanımları
`defs` bolumu istege baglidir ve tema icinde tekrar kullanilabilir renkler tanimlamanizi saglar.
`defs` bölümü isteğe bağlıdır ve tema içinde tekrar kullanılabilir renkler tanımlamanızı sağlar.
---
### Terminal varsayilanlari
### Terminal varsayılanları
Ozel `"none"` degeri, terminalin varsayilan rengini miras almak icin herhangi bir renkte kullanilabilir. Bu, terminalinizin renk semasiyla dogal sekilde butunlesen temalar olustururken ozellikle faydalidir:
Özel `"none"` değeri, terminalin varsayılan rengini miras almak için herhangi bir renkte kullanılabilir. Bu, terminalinizin renk şemasıyla doğal şekilde bütünleşen temalar oluştururken özellikle faydalıdır:
- `"text": "none"` - Terminalin varsayilan on plan rengini kullanir
- `"background": "none"` - Terminalin varsayilan arka plan rengini kullanir
- `"text": "none"` - Terminalin varsayılan ön plan rengini kullanır
- `"background": "none"` - Terminalin varsayılan arka plan rengini kullanır
---
### Ornek
### Örnek
Asagida ozel bir tema ornegi var:
Aşağıda özel bir tema örneği var:
```json title="my-theme.json"
{

View File

@@ -1,17 +1,17 @@
---
title: Araclar
description: LLM'in kullanabilecegi araclari yonetin.
title: Araçlar
description: LLM'in kullanabileceği araçları yönetin.
---
Araclar, LLM'in kod tabaninizda eylem gerceklestirmesini saglar. opencode yerlesik bir arac setiyle gelir, ancak bunu [ozel araclarla](/docs/custom-tools) veya [MCP sunuculariyla](/docs/mcp-servers) genisletebilirsiniz.
Araçlar, LLM'in kod tabanınızda eylem gerçekleştirmesini sağlar. opencode yerleşik bir araç setiyle gelir, ancak bunu [özel araçlarla](/docs/custom-tools) veya [MCP sunucularıyla](/docs/mcp-servers) genişletebilirsiniz.
Varsayilan olarak tum araclar **etkindir** ve calismak icin izin istemez. Arac davranisini [izinler](/docs/permissions) uzerinden kontrol edebilirsiniz.
Varsayılan olarak tüm araçlar **etkindir** ve çalışmak için izin istemez. Araç davranışını [izinler](/docs/permissions) üzerinden kontrol edebilirsiniz.
---
## Yapilandirin
## Yapılandırma
Arac davranisini kontrol etmek icin `permission` alanini kullanin. Her arac icin izin verebilir, reddedebilir veya onay isteyebilirsiniz.
Araç davranışını kontrol etmek için `permission` alanını kullanın. Her araç için izin verebilir, reddedebilir veya onay isteyebilirsiniz.
```json title="opencode.json"
{
@@ -24,7 +24,7 @@ Arac davranisini kontrol etmek icin `permission` alanini kullanin. Her arac icin
}
```
Birden fazla araci ayni anda kontrol etmek icin wildcard da kullanabilirsiniz. Ornegin, bir MCP sunucusundan gelen tum araclar icin onay istemek:
Birden fazla aracı aynı anda kontrol etmek için joker karakterler de kullanabilirsiniz. Örneğin, bir MCP sunucusundan gelen tüm araçlar için onay istemek:
```json title="opencode.json"
{
@@ -35,19 +35,19 @@ Birden fazla araci ayni anda kontrol etmek icin wildcard da kullanabilirsiniz. O
}
```
Izin yapilandirmasi icin [daha fazla bilgi alin](/docs/permissions).
İzin yapılandırması için [daha fazla bilgi alın](/docs/permissions).
---
## Yerlesik
## Yerleşik
opencode icinde bulunan tum yerlesik araclar asagidadir.
opencode içinde bulunan tüm yerleşik araçlar aşağıdadır.
---
### bash
Proje ortaminizda kabuk komutlari calistirir.
Proje ortamınızda kabuk komutları çalıştırır.
```json title="opencode.json" {4}
{
@@ -58,13 +58,13 @@ Proje ortaminizda kabuk komutlari calistirir.
}
```
Bu arac LLM'in `npm install`, `git status` gibi terminal komutlarini veya diger kabuk komutlarini calistirmasini saglar.
Bu araç LLM'in `npm install`, `git status` gibi terminal komutlarını veya diğer kabuk komutlarını çalıştırmasını sağlar.
---
### edit
Birebir metin degistirme ile mevcut dosyalari duzenler.
Birebir metin değiştirme ile mevcut dosyaları düzenler.
```json title="opencode.json" {4}
{
@@ -75,13 +75,13 @@ Birebir metin degistirme ile mevcut dosyalari duzenler.
}
```
Bu arac dosyalarda kesin metin eslesmelerini degistirerek hassas duzenleme yapar. LLM'in kodu degistirmek icin kullandigi temel yontemdir.
Bu araç dosyalarda kesin metin eşleşmelerini değiştirerek hassas düzenleme yapar. LLM'in kodu değiştirmek için kullandığı temel yöntemdir.
---
### write
Yeni dosyalar olusturur veya mevcut dosyalari uzerine yazar.
Yeni dosyalar oluşturur veya mevcut dosyaları üzerine yazar.
```json title="opencode.json" {4}
{
@@ -92,17 +92,17 @@ Yeni dosyalar olusturur veya mevcut dosyalari uzerine yazar.
}
```
LLM'in yeni dosya olusturmasina izin vermek icin bunu kullanin. Dosya zaten varsa uzerine yazar.
LLM'in yeni dosya oluşturmasına izin vermek için bunu kullanın. Dosya zaten varsa üzerine yazar.
:::note
`write` araci `edit` izniyle kontrol edilir; bu izin tum dosya degisikliklerini kapsar (`edit`, `write`, `patch`, `multiedit`).
`write` aracı `edit` izniyle kontrol edilir; bu izin tüm dosya değişikliklerini kapsar (`edit`, `write`, `patch`, `multiedit`).
:::
---
### read
Kod tabaninizdan dosya icerigi okur.
Kod tabanınızdan dosya içeriği okur.
```json title="opencode.json" {4}
{
@@ -113,13 +113,13 @@ Kod tabaninizdan dosya icerigi okur.
}
```
Bu arac dosyalari okur ve iceriklerini dondurur. Buyuk dosyalar icin belirli satir araliklarini okuma destegi vardir.
Bu araç dosyaları okur ve içeriklerini döndürür. Büyük dosyalar için belirli satır aralıklarını okuma desteği vardır.
---
### grep
Duzensiz ifadelerle dosya iceriginde arama yapar.
Düzenli ifadelerle dosya içeriğinde arama yapar.
```json title="opencode.json" {4}
{
@@ -130,13 +130,13 @@ Duzensiz ifadelerle dosya iceriginde arama yapar.
}
```
Kod tabaninda hizli icerik aramasi sunar. Tam regex sozdizimini ve dosya desen filtrelerini destekler.
Kod tabanında hızlı içerik araması sunar. Tam regex sözdizimini ve dosya desen filtrelerini destekler.
---
### glob
Desen eslestirme ile dosya bulur.
Desen eşleştirme ile dosya bulur.
```json title="opencode.json" {4}
{
@@ -147,7 +147,7 @@ Desen eslestirme ile dosya bulur.
}
```
`**/*.js` veya `src/**/*.ts` gibi glob desenleriyle dosya arar. Eslesen dosya yollarini degisim zamanina gore siralar.
`**/*.js` veya `src/**/*.ts` gibi glob desenleriyle dosya arar. Eşleşen dosya yollarını değişim zamanına göre sıralar.
---
@@ -164,16 +164,16 @@ Verilen yoldaki dosya ve dizinleri listeler.
}
```
Bu arac dizin icerigini listeler. Sonuclari filtrelemek icin glob desenlerini kabul eder.
Bu araç dizin içeriğini listeler. Sonuçları filtrelemek için glob desenlerini kabul eder.
---
### lsp (deneysel)
Tanim, referans, hover bilgisi ve cagrilar hiyerarsisi gibi kod zekasi ozellikleri icin yapilandirdiginiz LSP sunuculariyla etkilesir.
Tanım, referans, hover bilgisi ve çağrılar hiyerarşisi gibi kod zekası özellikleri için yapılandırdığınız LSP sunucularıyla etkileşir.
:::note
Bu arac yalnizca `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` (veya `OPENCODE_EXPERIMENTAL=true`) oldugunda kullanilabilir.
Bu araç yalnızca `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` (veya `OPENCODE_EXPERIMENTAL=true`) olduğunda kullanılabilir.
:::
```json title="opencode.json" {4}
@@ -185,9 +185,9 @@ Bu arac yalnizca `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` (veya `OPENCODE_EXPERIMEN
}
```
Desteklenen islemler: `goToDefinition`, `findReferences`, `hover`, `documentSymbol`, `workspaceSymbol`, `goToImplementation`, `prepareCallHierarchy`, `incomingCalls`, `outgoingCalls`.
Desteklenen işlemler: `goToDefinition`, `findReferences`, `hover`, `documentSymbol`, `workspaceSymbol`, `goToImplementation`, `prepareCallHierarchy`, `incomingCalls`, `outgoingCalls`.
Projeniz icin kullanilabilir LSP sunucularini ayarlamak icin [LSP Servers](/docs/lsp) sayfasina bakin.
Projeniz için kullanılabilir LSP sunucularını ayarlamak için [LSP Sunucuları](/docs/lsp) sayfasına bakın.
---
@@ -204,17 +204,17 @@ Dosyalara patch uygular.
}
```
Bu arac patch dosyalarini kod tabaniniza uygular. Farkli kaynaklardan gelen diff ve patch'leri uygulamak icin kullanislidir.
Bu araç patch dosyalarını kod tabanınıza uygular. Farklı kaynaklardan gelen diff ve patch'leri uygulamak için kullanışlıdır.
:::note
`patch` araci `edit` izniyle kontrol edilir; bu izin tum dosya degisikliklerini kapsar (`edit`, `write`, `patch`, `multiedit`).
`patch` aracı `edit` izniyle kontrol edilir; bu izin tüm dosya değişikliklerini kapsar (`edit`, `write`, `patch`, `multiedit`).
:::
---
### skill
Bir [skill](/docs/skills) (`SKILL.md` dosyasi) yukler ve icerigini konusmaya dondurur.
Bir [skill](/docs/skills) (`SKILL.md` dosyası) yükler ve içeriğini konuşmaya döndürür.
```json title="opencode.json" {4}
{
@@ -229,7 +229,7 @@ Bir [skill](/docs/skills) (`SKILL.md` dosyasi) yukler ve icerigini konusmaya don
### todowrite
Kodlama oturumlarinda yapilacaklar listesini yonetir.
Kodlama oturumlarında yapılacaklar listesini yönetir.
```json title="opencode.json" {4}
{
@@ -240,17 +240,17 @@ Kodlama oturumlarinda yapilacaklar listesini yonetir.
}
```
Karmasik islemlerde ilerlemeyi takip etmek icin gorev listeleri olusturur ve gunceller. LLM bunu cok adimli gorevleri duzenlemek icin kullanir.
Karmaşık işlemlerde ilerlemeyi takip etmek için görev listeleri oluşturur ve günceller. LLM bunu çok adımlı görevleri düzenlemek için kullanır.
:::note
Bu arac alt ajanlar icin varsayilan olarak devre disidir, ama manuel etkinlestirebilirsiniz. [Daha fazla bilgi](/docs/agents/#permissions)
Bu araç alt agent'lar için varsayılan olarak devre dışıdır, ama manuel etkinleştirebilirsiniz. [Daha fazla bilgi](/docs/agents/#permissions)
:::
---
### todoread
Mevcut yapilacaklar listesini okur.
Mevcut yapılacaklar listesini okur.
```json title="opencode.json" {4}
{
@@ -261,17 +261,17 @@ Mevcut yapilacaklar listesini okur.
}
```
Guncel todo listesi durumunu okur. LLM bunu hangi gorevlerin bekledigini veya tamamlandigini takip etmek icin kullanir.
Güncel todo listesi durumunu okur. LLM bunu hangi görevlerin beklediğini veya tamamlandığını takip etmek için kullanır.
:::note
Bu arac alt ajanlar icin varsayilan olarak devre disidir, ama manuel etkinlestirebilirsiniz. [Daha fazla bilgi](/docs/agents/#permissions)
Bu araç alt agent'lar için varsayılan olarak devre dışıdır, ama manuel etkinleştirebilirsiniz. [Daha fazla bilgi](/docs/agents/#permissions)
:::
---
### webfetch
Web icerigi getirir.
Web içeriği getirir.
```json title="opencode.json" {4}
{
@@ -282,7 +282,7 @@ Web icerigi getirir.
}
```
LLM'in web sayfalarini getirip okumasini saglar. Dokumantasyon aramak veya cevrimici kaynaklari incelemek icin kullanislidir.
LLM'in web sayfalarını getirip okumasını sağlar. Dokümantasyon aramak veya çevrimiçi kaynakları incelemek için kullanışlıdır.
---
@@ -291,9 +291,9 @@ LLM'in web sayfalarini getirip okumasini saglar. Dokumantasyon aramak veya cevri
Web'de bilgi arar.
:::note
Bu arac yalnizca opencode provider kullanilirken veya `OPENCODE_ENABLE_EXA` ortam degiskeni dogru degerlerden birine ayarlandiginda (ornegin `true` ya da `1`) kullanilabilir.
Bu araç yalnızca opencode provider kullanılırken veya `OPENCODE_ENABLE_EXA` ortam değişkeni doğru değerlerden birine ayarlandığında (örneğin `true` ya da `1`) kullanılabilir.
opencode baslatirken etkinlestirmek icin:
opencode başlatırken etkinleştirmek için:
```bash
OPENCODE_ENABLE_EXA=1 opencode
@@ -310,19 +310,19 @@ OPENCODE_ENABLE_EXA=1 opencode
}
```
Exa AI ile web aramasi yaparak ilgili bilgileri bulur. Egitim verisi kesim tarihinin otesindeki konulari arastirmak, guncel olaylari bulmak veya genel arastirma yapmak icin kullanislidir.
Exa AI ile web araması yaparak ilgili bilgileri bulur. Eğitim verisi kesim tarihinin ötesindeki konuları araştırmak, güncel olayları bulmak veya genel araştırma yapmak için kullanışlıdır.
API anahtari gerekmez - arac Exa AI'nin barindirilan MCP hizmetine dogrudan kimlik dogrulamasi olmadan baglanir.
API anahtarı gerekmez - araç Exa AI'nin barındırılan MCP hizmetine doğrudan kimlik doğrulaması olmadan bağlanır.
:::tip
Bilgi kesfetmeniz gerekiyorsa `websearch`, belirli bir URL'den icerik cekmeniz gerekiyorsa `webfetch` kullanin.
Bilgi keşfetmeniz gerekiyorsa `websearch`, belirli bir URL'den içerik çekmeniz gerekiyorsa `webfetch` kullanın.
:::
---
### question
Calisma sirasinda kullaniciya soru sorar.
Çalışma sırasında kullanıcıya soru sorar.
```json title="opencode.json" {4}
{
@@ -333,42 +333,42 @@ Calisma sirasinda kullaniciya soru sorar.
}
```
Bu arac LLM'in gorev sirasinda kullaniciya soru sormasini saglar. Sunlar icin kullanislidir:
Bu araç LLM'in görev sırasında kullanıcıya soru sormasını sağlar. Şunlar için kullanışlıdır:
- Kullanici tercihleri veya gereksinimleri toplamak
- Belirsiz talimatlari netlestirmek
- Uygulama seceneklerinde karar almak
- Hangi yone gidilecegine dair secenek sunmak
- Kullanıcı tercihleri veya gereksinimleri toplamak
- Belirsiz talimatları netleştirmek
- Uygulama seçeneklerinde karar almak
- Hangi yöne gidileceğine dair seçenek sunmak
Her soru bir baslik, soru metni ve secenek listesi icerir. Kullanicilar seceneklerden birini secebilir veya ozel yanit yazabilir. Birden fazla soru varsa tum yanitlari gondermeden once sorular arasinda gezebilirler.
Her soru bir başlık, soru metni ve seçenek listesi içerir. Kullanıcılar seçeneklerden birini seçebilir veya özel yanıt yazabilir. Birden fazla soru varsa tüm yanıtları göndermeden önce sorular arasında gezebilirler.
---
## Ozel araclar
## Özel araçlar
Ozel araclar, LLM'in cagirabilecegi kendi fonksiyonlarinizi tanimlamanizi saglar. Bunlar config dosyanizda tanimlanir ve keyfi kod calistirabilir.
Özel araçlar, LLM'in çağırabileceği kendi fonksiyonlarınızı tanımlamanızı sağlar. Bunlar config dosyanızda tanımlanır ve keyfi kod çalıştırabilir.
Ozel arac olusturma icin [daha fazla bilgi alin](/docs/custom-tools).
Özel araç oluşturma için [daha fazla bilgi alın](/docs/custom-tools).
---
## MCP sunuculari
## MCP sunucuları
MCP (Model Context Protocol) sunuculari, harici araclari ve servisleri entegre etmenizi saglar. Buna veritabani erisimi, API entegrasyonlari ve ucuncu taraf servisler dahildir.
MCP (Model Context Protocol) sunucuları, harici araçları ve servisleri entegre etmenizi sağlar. Buna veritabanı erişimi, API entegrasyonları ve üçüncü taraf servisler dahildir.
MCP sunucularini yapilandirma icin [daha fazla bilgi alin](/docs/mcp-servers).
MCP sunucularını yapılandırma için [daha fazla bilgi alın](/docs/mcp-servers).
---
## Dahili detaylar
Dahilde `grep`, `glob` ve `list` gibi araclar [ripgrep](https://github.com/BurntSushi/ripgrep) kullanir. Varsayilan olarak ripgrep `.gitignore` desenlerine uyar; yani `.gitignore` icindeki dosya ve dizinler arama ve listeleme sonucuna dahil edilmez.
Dahilde `grep`, `glob` ve `list` gibi araçlar [ripgrep](https://github.com/BurntSushi/ripgrep) kullanır. Varsayılan olarak ripgrep `.gitignore` desenlerine uyar; yani `.gitignore` içindeki dosya ve dizinler arama ve listeleme sonucuna dahil edilmez.
---
### Ignore desenleri
### Yoksayma desenleri
Normalde yok sayilan dosyalari dahil etmek icin proje kokunde bir `.ignore` dosyasi olusturun. Bu dosya belirli yollari acikca izinli yapabilir.
Normalde yok sayılan dosyaları dahil etmek için proje kökünde bir `.ignore` dosyası oluşturun. Bu dosya belirli yolları açıa izinli yapabilir.
```text title=".ignore"
!node_modules/
@@ -376,4 +376,4 @@ Normalde yok sayilan dosyalari dahil etmek icin proje kokunde bir `.ignore` dosy
!build/
```
Ornegin bu `.ignore` dosyasi, `node_modules/` icinde olsalar bile ripgrep'in `dist/`, `build/` ve `.gitignore` dizinlerinde arama yapmasina izin verir.
Örneğin bu `.ignore` dosyası, `node_modules/` içinde olsalar bile ripgrep'in `dist/`, `build/` ve `.gitignore` dizinlerinde arama yapmasına izin verir.

View File

@@ -37,11 +37,11 @@ Bu dizin sunlari icerir:
---
## Masaustu uygulamasi
## Masaüstü uygulaması
opencode Desktop arka planda yerel bir opencode sunucusu (`opencode-cli` sidecar) calistirir. Sorunlarin cogu bozuk bir plugin, hasarli cache veya hatali sunucu ayarindan kaynaklanir.
### Hizli kontroller
### Hızlı kontroller
- Uygulamayi tamamen kapatip yeniden acin
- Uygulama hata ekrani gosteriyorsa **Restart**'a tiklayip hata detaylarini kopyalayin
@@ -49,7 +49,7 @@ opencode Desktop arka planda yerel bir opencode sunucusu (`opencode-cli` sidecar
---
### Pluginleri devre disi birakin
### Eklentileri devre dışı bırakın
Desktop uygulamasi acilista cokuyorsa, takiliyorsa veya garip davranislar gosteriyorsa once pluginleri devre disi birakin.
@@ -70,7 +70,7 @@ Plugin tanimliysa anahtari kaldirarak veya bos bir diziye cekerek gecici olarak
}
```
#### Plugin dizinlerini kontrol edin
#### Eklenti dizinlerini kontrol edin
opencode diskten yerel plugin de yukleyebilir. Bu dizinleri gecici olarak tasiyin (veya klasoru yeniden adlandirin) ve uygulamayi yeniden baslatin:
@@ -99,7 +99,7 @@ Pluginleri kapatmak ise yaramazsa (veya plugin kurulumu takili kaldiysa), openco
---
### Sunucu baglanti sorunlarini duzeltin
### Sunucu bağlantı sorunlarını düzeltin
opencode Desktop ya kendi yerel sunucusunu baslatir (varsayilan) ya da sizin tanimladiginiz bir sunucu URL'sine baglanir.
@@ -121,7 +121,7 @@ Ortamda `OPENCODE_PORT` ayarliysa desktop uygulamasi yerel sunucu icin o portu k
---
### Linux: Wayland / X11 sorunlari
### Linux: Wayland / X11 sorunları
Linux'ta bazi Wayland kurulumlari bos pencere veya compositor hatalarina yol acabilir.
@@ -130,19 +130,19 @@ Linux'ta bazi Wayland kurulumlari bos pencere veya compositor hatalarina yol aca
---
### Windows: WebView2 runtime
### Windows: WebView2 Çalışma Zamanı
Windows'ta opencode Desktop, Microsoft Edge **WebView2 Runtime** gerektirir. Uygulama bos pencereyle aciliyorsa veya hic baslamiyorsa WebView2'yi kurup/guncelleyip tekrar deneyin.
---
### Windows: Genel performans sorunlari
### Windows: Genel performans sorunları
Windows'ta yavaslik, dosya erisim sorunlari veya terminal problemleri yasiyorsaniz [WSL (Windows Subsystem for Linux)](/docs/windows-wsl) kullanmayi deneyin. WSL, opencode ozellikleriyle daha sorunsuz calisan bir Linux ortami saglar.
---
### Bildirimler gorunmuyor
### Bildirimler görünmüyor
opencode Desktop sistem bildirimlerini yalnizca su durumlarda gosterir:
@@ -151,7 +151,7 @@ opencode Desktop sistem bildirimlerini yalnizca su durumlarda gosterir:
---
### Desktop depolamasini sifirlayin (son care)
### Desktop depolamasını sıfırlayın (son çare)
Uygulama acilmiyorsa ve ayarlari arayuz icinden temizleyemiyorsaniz, desktop uygulamasinin kayitli durumunu sifirlayin.
@@ -169,7 +169,7 @@ Dizini hizlica bulmak icin:
---
## Yardim alin
## Yardım alın
opencode ile ilgili bir sorun yasiyorsaniz:
@@ -189,13 +189,13 @@ opencode ile ilgili bir sorun yasiyorsaniz:
---
## Yaygin sorunlar
## Yaygın sorunlar
Asagida yaygin sorunlar ve cozumleri yer aliyor.
---
### opencode baslamiyor
### opencode başlamıyor
1. Hata mesaji icin loglari kontrol edin
2. Terminalde cikti gormek icin `--print-logs` ile calistirin
@@ -203,7 +203,7 @@ Asagida yaygin sorunlar ve cozumleri yer aliyor.
---
### Kimlik dogrulama sorunlari
### Kimlik doğrulama sorunları
1. TUI'da `/connect` komutuyla yeniden kimlik dogrulamasi yapin
2. API anahtarlarinizin gecerli oldugunu kontrol edin
@@ -211,7 +211,7 @@ Asagida yaygin sorunlar ve cozumleri yer aliyor.
---
### Model kullanilamiyor
### Model kullanılamıyor
1. Provider ile kimlik dogrulamasi yaptiginizi kontrol edin
2. Config'teki model adinin dogru oldugunu dogrulayin
@@ -269,7 +269,7 @@ Bu, opencode'un en yeni provider paket surumlerini indirmesini zorlar ve model p
---
### Linux'ta kopyala/yapistir calismiyor
### Linux'ta kopyala/yapıştır çalışmıyor
Linux kullanicilarinin kopyala/yapistir ozelliginin calismasi icin asagidaki pano araclarindan en az birini kurmasi gerekir:

View File

@@ -21,7 +21,7 @@ Bu, `127.0.0.1` üzerinde rastgele kullanılabilir bir bağlantı noktasına sah
`OPENCODE_SERVER_PASSWORD` ayarlanmadıysa sunucunun güvenliği kaldırılacaktır. Bu, yerel kullanım için iyidir ancak ağ erişimi için ayarlanmalıdır.
:::
:::tip[Windows Users]
:::tip[Windows Kullanıcıları]
En iyi deneyim için PowerShell yerine `opencode web`'yi [WSL](/docs/windows-wsl)'den çalıştırın. Bu, uygun dosya sistemi erişimini ve terminal entegrasyonunu sağlar.
:::

View File

@@ -7,7 +7,7 @@ import { Steps } from "@astrojs/starlight/components"
opencode Windows'ta dogrudan calisabilir, ancak en iyi deneyim icin [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install) kullanmanizi oneriyoruz. WSL, opencode ozellikleriyle sorunsuz calisan bir Linux ortami saglar.
:::tip[Why WSL?]
:::tip[Neden WSL?]
WSL, daha iyi dosya sistemi performansi, tam terminal destegi ve opencode'un dayandigi gelistirme araclariyla uyumluluk sunar.
:::
@@ -42,7 +42,7 @@ WSL, daha iyi dosya sistemi performansi, tam terminal destegi ve opencode'un day
---
## Desktop uygulamasi + WSL sunucusu
## Masaüstü uygulaması + WSL sunucusu
opencode Desktop kullanmak isteyip sunucuyu WSL'de calistirmak istiyorsaniz:
@@ -85,7 +85,7 @@ Windows'ta en iyi web deneyimi icin:
---
## Windows dosyalarina erisin
## Windows dosyalarına erişin
WSL, tum Windows dosyalariniza `/mnt/` dizini uzerinden erisebilir:
@@ -106,7 +106,7 @@ En sorunsuz deneyim icin deponuzu WSL dosya sistemine (ornegin `~/code/` altina)
---
## Ipuclari
## İpuçları
- Windows suruculerinde duran projelerde opencode'u WSL icinde calistirin - dosya erisimi daha sorunsuz olur
- Butunlesik bir gelistirme akisi icin opencode ile birlikte VS Code [WSL eklentisini](https://code.visualstudio.com/docs/remote/wsl) kullanin