chore(docs): i18n sync (#15417)

This commit is contained in:
Adam
2026-02-28 15:27:11 -06:00
committed by GitHub
parent 971bd30516
commit e1e18c7abd
174 changed files with 6358 additions and 4392 deletions

View File

@@ -21,7 +21,7 @@ opencode'da iki tür agent vardır; birincil agent'lar ve alt agent'lar.
### Birincil agent'lar
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.
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, Build'de tüm araçlar etkindir ancak Plan kısıtlıdır.
:::tip
Bir oturum sırasında birincil agent'lar arasında geçiş yapmak için **Sekme** tuşunu kullanabilirsiniz.
@@ -83,7 +83,7 @@ Kod tabanlarını keşfetmeye yönelik hızlı, salt okunur bir agent. Dosyalar
---
### Compact Kullanımı
### Compaction Kullanımı
_Mod_: `primary`
@@ -181,7 +181,7 @@ Agent'ları `opencode.json` yapılandırma dosyanızda yapılandırın:
Ayrıca agent'ları Markdown dosyalarını kullanarak da tanımlayabilirsiniz. Bunları şuraya yerleştirin:
- Global: `~/.config/opencode/agents/`
- Per-project: `.opencode/agents/`
- Proje başına: `.opencode/agents/`
```markdown title="~/.config/opencode/agents/review.md"
---
@@ -342,10 +342,10 @@ Bu yol, yapılandırma dosyasının bulunduğu yere göredir. Yani bu hem global
### Model
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.
Bu agent'ın 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, 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.
Bir model belirtmezseniz, birincil agent'lar [küresel olarak yapılandırılmış modeli](/docs/config#models) kullanırken alt agent'lar, alt agent'ı çağıran birincil agent'ın modelini kullanır.
:::
```json title="opencode.json"
@@ -358,7 +358,7 @@ Bir model belirtmezseniz, birincil agent'lar [model globally configured](/docs/c
}
```
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.
opencode yapılandırmanızdaki model kimliği `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.
---
@@ -599,7 +599,7 @@ Kullanıcılar, agent'ın görev izinleri bunu reddetse bile, her zaman herhangi
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`.
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"
{
@@ -744,627 +744,3 @@ Look for:
- 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"
---
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
```

View File

@@ -558,6 +558,7 @@ opencode ortam değişkenleri kullanılarak yapılandırılabilir.
| `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_TUI_CONFIG` | string | TUI 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 |

View File

@@ -491,13 +491,15 @@ Bağlam sıkıştırma davranışını `compaction` seçeneği aracılığıyla
"$schema": "https://opencode.ai/config.json",
"compaction": {
"auto": true,
"prune": true
"prune": true,
"reserved": 10000
}
}
```
- `auto` - Bağlam dolduğunda oturumu otomatik olarak sıkıştırır (varsayılan: `true`).
- `prune` - Belirteçleri kaydetmek için eski araç çıktılarını kaldırın (varsayılan: `true`).
- `reserved` - Sıkıştırma için belirteç tamponu. Sıkıştırma sırasında taşmayı önlemek için yeterli pencere bırakır.
---

View File

@@ -79,6 +79,32 @@ Bu iki araç oluşturur: `math_add` ve `math_multiply`.
---
#### Yerleşik araçlarla ad çakışmaları
Özel araçlar, araç adına göre anahtarlanır. Özel bir araç yerleşik bir araçla aynı adı kullanıyorsa, özel araç önceliklidir.
Örneğin, bu dosya yerleşik `bash` aracının yerini alır:
```ts title=".opencode/tools/bash.ts"
import { tool } from "@opencode-ai/plugin"
export default tool({
description: "Restricted bash wrapper",
args: {
command: tool.schema.string(),
},
async execute(args) {
return `blocked: ${args.command}`
},
})
```
:::note
Kasıtlı olarak yerleşik bir aracı değiştirmek istemiyorsanız benzersiz adları tercih edin. Yerleşik bir aracı devre dışı bırakmak ancak geçersiz kılmak istemiyorsanız [izinleri](/docs/permissions) kullanın.
:::
---
### 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.

View File

@@ -3,11 +3,11 @@ title: Tuş atamaları
description: Tuş bağlantılarınızı özelleştirin.
---
opencode, opencode yapılandırması aracılığıyla özelleştirebileceğiniz bir tuş bağlantıları listesine sahiptir.
opencode, `tui.json` aracılığıyla özelleştirebileceğiniz bir tuş bağlantıları listesine sahiptir.
```json title="opencode.json"
```json title="tui.json"
{
"$schema": "https://opencode.ai/config.json",
"$schema": "https://opencode.ai/tui.json",
"keybinds": {
"leader": "ctrl+x",
"app_exit": "ctrl+c,ctrl+d,<leader>q",
@@ -119,9 +119,9 @@ Tuş atamalarınız için lider anahtar kullanmanıza gerek yoktur ancak bunu ya
Anahtarı yapılandırmanıza "none" değeriyle ekleyerek bir tuş atamasını devre dışı bırakabilirsiniz.
```json title="opencode.json"
```json title="tui.json"
{
"$schema": "https://opencode.ai/config.json",
"$schema": "https://opencode.ai/tui.json",
"keybinds": {
"session_compact": "none"
}

View File

@@ -1,15 +1,15 @@
---
title: LSP Sunucuları
description: opencode, LSP sunucularınızla bütünleşir.
description: OpenCode, LSP sunucularınızla bütünleşir.
---
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.
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.
---
## Yerleşik
opencode, popüler diller için çeşitli yerleşik LSP sunucularıyla birlikte gelir:
OpenCode, popüler diller için çeşitli yerleşik LSP sunucularıyla birlikte gelir:
| LSP Sunucu | Uzantılar | Gereksinimler |
| ------------------ | ------------------------------------------------------------------- | --------------------------------------------------------------------- |
@@ -27,6 +27,7 @@ opencode, popüler diller için çeşitli yerleşik LSP sunucularıyla birlikte
| gopls | .go | `go` komutu mevcut |
| hls | .hs, .lhs | `haskell-language-server-wrapper` komutu mevcut |
| jdtls | .java | `Java SDK (version 21+)` kurulu |
| julials | .jl | `julia` ve `LanguageServer.jl` kurulu |
| kotlin-ls | .kt, .kts | Kotlin projeleri için otomatik kurulumlar |
| lua-ls | .lua | Lua projeleri için otomatik kurulumlar |
| nixd | .nix | `nixd` komutu mevcut |
@@ -56,7 +57,7 @@ Yukarıdaki dosya uzantılarından biri tespit edildiğinde ve gereksinimler kar
## Nasıl Çalışır?
Opencode bir dosyayı açtığında:
opencode bir dosyayı açtığında:
1. Dosya uzantısını tüm etkin LSP sunucularına göre kontrol eder.
2. Henüz çalışmıyorsa uygun LSP sunucusunu başlatır.
@@ -182,7 +183,7 @@ Komutu ve dosya uzantılarını belirterek özel LSP sunucuları ekleyebilirsini
PHP Intelephense, bir lisans anahtarı aracılığıyla premium özellikler sunar. Anahtarı (yalnızca) şu adresteki bir metin dosyasına yerleştirerek bir lisans anahtarı sağlayabilirsiniz:
- MacOS/Linux'ta: `$HOME/intelephense/license.txt`
- macOS/Linux'ta: `$HOME/intelephense/license.txt`
- Windows'ta: `%USERPROFILE%/intelephense/license.txt`
Dosya, ek içerik olmadan yalnızca lisans anahtarını içermelidir.

View File

@@ -1,9 +1,9 @@
---
title: Eklentiler
description: opencode'u genişletmek için kendi eklentilerinizi yazın.
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.
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 [eklentilere](/docs/ecosystem#plugins) göz atın.
@@ -47,7 +47,7 @@ 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. [Bağımlılıklar](#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 [yapılandırmanıza eklemeniz](/docs/config#plugins) gerekir.
---
@@ -66,8 +66,7 @@ Aynı ad ve sürüme sahip yinelenen npm paketleri bir kez yüklenir. Ancak benz
## 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.
Eklenti, bir veya daha fazla eklenti işlevini dışa aktaran bir **JavaScript/TypeScript modülüdür**. Her işlev bir bağlam nesnesi alır ve bir kanca nesnesi döndürür.
---
@@ -83,7 +82,7 @@ Yerel eklentiler ve özel araçlar harici npm paketlerini kullanabilir. İhtiyac
}
```
opencode bunları yüklemek için başlangıçta `bun install` komutunu çalıştırır. Eklentileriniz ve araçlarınız daha sonra bunları içe aktarabilir.
OpenCode bunları yüklemek için başlangıçta `bun install` komutunu çalıştırır. Eklentileriniz ve araçlarınız daha sonra bunları içe aktarabilir.
```ts title=".opencode/plugins/my-plugin.ts"
import { escape } from "shescape"
@@ -116,9 +115,9 @@ export const MyPlugin = async ({ project, client, $, directory, worktree }) => {
Eklenti işlevi şunları alır:
- `project`: Mevcut proje bilgisi.
- `directory`: güncel çalışma dizini.
- `directory`: Güncel çalışma dizini.
- `worktree`: Git çalışma ağacı yolu.
- `client`: Yapay zeka ile etkileşime geçmek için opencode'lu bir SDK istemcisi.
- `client`: Yapay zeka ile etkileşim kurmak için bir OpenCode SDK istemcisi.
- `$`: Bun'un komutları yürütmek için kullandığı [shell API](https://bun.com/docs/runtime/shell).
---
@@ -211,7 +210,7 @@ Eklentiler aşağıdaki Örnekler bölümünde görüldüğü gibi etkinliklere
## Örnekler
opencode'u genişletmek için kullanabileceğiniz bazı eklenti örneklerini burada bulabilirsiniz.
OpenCode'u genişletmek için kullanabileceğiniz bazı eklenti örneklerini burada bulabilirsiniz.
---
@@ -232,17 +231,17 @@ export const NotificationPlugin = async ({ project, client, $, directory, worktr
}
```
MacOS'ta AppleScript'i çalıştırmak için `osascript` kullanıyoruz. Burada bildirim göndermek için kullanıyoruz.
macOS'ta AppleScript'i çalıştırmak için `osascript` kullanıyoruz. Burada bildirim göndermek için kullanıyoruz.
:::note
opencode masaüstü uygulamasını kullanıyorsanız yanıt hazır olduğunda veya oturum hataları oluştuğunda otomatik olarak sistem bildirimleri gönderebilir.
OpenCode masaüstü uygulamasını kullanıyorsanız yanıt hazır olduğunda veya oturum hataları oluştuğunda otomatik olarak sistem bildirimleri gönderebilir.
:::
---
### .env Koruması
opencode'un `.env` dosyalarını okumasını önleyin:
OpenCode'un `.env` dosyalarını okumasını önleyin:
```javascript title=".opencode/plugins/env-protection.js"
export const EnvProtection = async ({ project, client, $, directory, worktree }) => {
@@ -277,7 +276,7 @@ export const InjectEnvPlugin = async () => {
### Özel araçlar
Eklentiler ayrıca opencode'a özel araçlar da ekleyebilir:
Eklentiler ayrıca OpenCode'a özel araçlar da ekleyebilir:
```ts title=".opencode/plugins/custom-tools.ts"
import { type Plugin, tool } from "@opencode-ai/plugin"
@@ -300,19 +299,23 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
}
```
`tool` yardımcısı, opencode'un çağırabileceği özel bir araç oluşturur. Bir Zod şeması işlevini alır ve aşağıdakileri içeren bir araç tanımı döndürür:
`tool` yardımcısı, OpenCode'un çağırabileceği özel bir araç oluşturur. Bir Zod şeması işlevini alır ve aşağıdakileri içeren bir araç tanımı döndürür:
- `description`: Araç ne yapar?
- `args`: Aracın argümanları için Zod şeması
- `execute`: Araç çağrıldığında çalışan fonksiyon
Özel araçlarınız, yerleşik araçların yanı sıra kod açmaya da hazır olacaktır.
Özel araçlarınız, yerleşik araçların yanı sıra OpenCode'a da hazır olacaktır.
:::note
Eğer bir eklenti aracı yerleşik bir araçla aynı adı kullanırsa, eklenti aracı öncelik kazanır.
:::
---
### Günlüğe kaydetme
Yapılandırılmış günlük kaydı için `client.app.log()` yerine `console.log` kullanın:
Yapılandırılmış günlük kaydı için `console.log` yerine `client.app.log()` kullanın:
```ts title=".opencode/plugins/my-plugin.ts"
export const MyPlugin = async ({ client }) => {
@@ -327,7 +330,7 @@ export const MyPlugin = async ({ client }) => {
}
```
Seviyeler: `debug`, `info`, `warn`, `error`. Ayrıntılar için [SDK documentation](https://opencode.ai/docs/sdk)'e bakın.
Seviyeler: `debug`, `info`, `warn`, `error`. Ayrıntılar için [SDK belgelerine](https://opencode.ai/docs/sdk) bakın.
---

View File

@@ -84,6 +84,37 @@ opencode'daki diğer sağlayıcılar gibi çalışır ve kullanımı tamamen ist
---
## OpenCode Go
OpenCode Go, opencode ile iyi çalıştığı test edilmiş ve doğrulanmış, opencode ekibi tarafından sağlanan popüler açık kodlama modellerine güvenilir erişim sağlayan düşük maliyetli bir abonelik planıdır.
1. TUI'de `/connect` komutunu çalıştırın, `OpenCode Go`'yu seçin ve [opencode.ai/auth](https://opencode.ai/zen) adresine gidin.
```txt
/connect
```
2. Oturum açın, fatura ayrıntılarınızı ekleyin ve API anahtarınızı kopyalayın.
3. API anahtarınızı yapıştırın.
```txt
┌ API key
└ enter
```
4. Önerdiğimiz modellerin listesini görmek için TUI'de `/models` komutunu çalıştırın.
```txt
/models
```
opencode'daki diğer sağlayıcılar gibi çalışır ve kullanımı tamamen isteğe bağlıdır.
---
## Dizin
Sağlayıcılardan bazılarına ayrıntılı olarak bakalım. Bir sağlayıcı eklemek istiyorsanız
@@ -1481,6 +1512,39 @@ SAP AI Core, birleşik bir platform aracılığıyla OpenAI, Anthropic, Google,
---
### STACKIT
STACKIT AI Model Serving, Llama, Mistral ve Qwen gibi LLM'lere odaklanarak, Avrupa altyapısında maksimum veri egemenliğine sahip AI modelleri için tam olarak yönetilen bağımsız barındırma ortamı sağlar.
1. [STACKIT Portal](https://portal.stackit.cloud) adresine gidin, **AI Model Serving**'e gidin ve projeniz için bir yetkilendirme belirteci oluşturun.
:::tip
Yetkilendirme belirteçleri oluşturmadan önce bir STACKIT müşteri hesabına, kullanıcı hesabına ve projesine ihtiyacınız vardır.
:::
2. `/connect` komutunu çalıştırın ve **STACKIT**'i arayın.
```txt
/connect
```
3. STACKIT AI Model Serving yetkilendirme belirtecinizi girin.
```txt
┌ API key
└ enter
```
4. _Qwen3-VL 235B_ veya _Llama 3.3 70B_ gibi mevcut modellerden seçim yapmak için `/models` komutunu çalıştırın.
```txt
/models
```
---
### OVHcloud AI Endpoints
1. [OVHcloud panel](https://ovh.com/manager)'a gidin. `Public Cloud` bölümüne gidin, `AI & Machine Learning` > `AI Endpoints` ve `API Keys` sekmesinde **Yeni bir API anahtarı oluştur**'u tıklayın.

View File

@@ -117,6 +117,78 @@ try {
---
## Yapılandırılmış Çıktı
Bir JSON şeması ile `format` belirterek modelden yapılandırılmış JSON çıktısı isteyebilirsiniz. Model, şemanızla eşleşen doğrulanmış JSON'u döndürmek için bir `StructuredOutput` aracı kullanacaktır.
### Temel Kullanım
```typescript
const result = await client.session.prompt({
path: { id: sessionId },
body: {
parts: [{ type: "text", text: "Anthropic'i araştırın ve şirket bilgileri sağlayın" }],
format: {
type: "json_schema",
schema: {
type: "object",
properties: {
company: { type: "string", description: "Şirket adı" },
founded: { type: "number", description: "Kuruluş yılı" },
products: {
type: "array",
items: { type: "string" },
description: "Ana ürünler",
},
},
required: ["company", "founded"],
},
},
},
})
// Yapılandırılmış çıktıya erişin
console.log(result.data.info.structured_output)
// { company: "Anthropic", founded: 2021, products: ["Claude", "Claude API"] }
```
### Çıktı Format Türleri
| Tür | Açıklama |
| ------------- | ------------------------------------------------------------- |
| `text` | Varsayılan. Standart metin yanıtı (yapılandırılmış çıktı yok) |
| `json_schema` | Sağlanan şema ile eşleşen doğrulanmış JSON döndürür |
### JSON Şema Formatı
`type: 'json_schema'` kullanırken şunları sağlayın:
| Alan | Tür | Açıklama |
| ------------ | --------------- | ------------------------------------------------------------- |
| `type` | `'json_schema'` | Gerekli. JSON şema modunu belirtir |
| `schema` | `object` | Gerekli. Çıktı yapısını tanımlayan JSON Şema nesnesi |
| `retryCount` | `number` | İsteğe bağlı. Doğrulama yeniden deneme sayısı (varsayılan: 2) |
### Hata Yönetimi
Model, tüm yeniden denemelerden sonra geçerli bir yapılandırılmış çıktı üretemezse, yanıt bir `StructuredOutputError` içerecektir:
```typescript
if (result.data.info.error?.name === "StructuredOutputError") {
console.error("Yapılandırılmış çıktı üretilemedi:", result.data.info.error.message)
console.error("Denemeler:", result.data.info.error.retries)
}
```
### En İyi Uygulamalar
1. **Açık açıklamalar sağlayın**: Modelin hangi verileri çıkaracağını anlamasına yardımcı olmak için şema özelliklerinde
2. **`required` kullanın**: Hangi alanların mevcut olması gerektiğini belirtmek için
3. **Şemaları odaklı tutun**: Karmaşık iç içe geçmiş şemaların model tarafından doğru doldurulması daha zor olabilir
4. **Uygun `retryCount` ayarlayın**: Karmaşık şemalar için artırın, basit olanlar için azaltın
---
## API'ler
SDK, tüm sunucu API'lerini type-safe bir istemci aracılığıyla sunar.
@@ -226,27 +298,27 @@ const { providers, default: defaults } = await client.config.providers()
### Oturumlar
| Yöntem | Açı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 |
| Yöntem | Açı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. [yapılandırılmış çıktı](#yapılandırılmış-çıktı) için `body.outputFormat` destekler |
| `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 |
---

View File

@@ -61,11 +61,11 @@ Sistem teması şu kullanıcılar için idealdir:
## Tema kullanımı
`/theme` komutuyla tema seçicisini açıp tema seçebilirsiniz. İsterseniz [config](/docs/config) dosyanızda da belirtebilirsiniz.
`/theme` komutuyla tema seçicisini açıp tema seçebilirsiniz. İsterseniz `tui.json` içinde de belirtebilirsiniz.
```json title="opencode.json" {3}
```json title="tui.json" {3}
{
"$schema": "https://opencode.ai/config.json",
"$schema": "https://opencode.ai/tui.json",
"theme": "tokyonight"
}
```

View File

@@ -1,25 +1,25 @@
---
title: TUI
description: opencode terminal arayuzunu kullanin.
description: OpenCode terminal kullanıcı arayüzünü kullanma.
---
import { Tabs, TabItem } from "@astrojs/starlight/components"
opencode, projelerinizde LLM ile calismak icin etkilesimli bir terminal arayuzu (TUI) sunar.
OpenCode, projelerinizde LLM ile çalışmak için etkileşimli bir terminal arayüzü (TUI) sunar.
opencode'u calistirdiginizda mevcut dizin icin TUI baslar.
OpenCode'u çalıştırdığınızda mevcut dizin için TUI başlar.
```bash
opencode
```
Isterseniz belirli bir calisma dizini icin de baslatabilirsiniz.
İsterseniz belirli bir çalışma dizini için de başlatabilirsiniz.
```bash
opencode /path/to/project
```
TUI icinde bir mesaj yazarak istem gonderebilirsiniz.
TUI içine girdiğinizde, bir mesajla istem gönderebilirsiniz.
```text
Give me a quick summary of the codebase.
@@ -27,51 +27,51 @@ Give me a quick summary of the codebase.
---
## Dosya referanslari
## Dosya referansları
Mesajlarinizda `@` kullanarak dosyalara referans verebilirsiniz. Bu, mevcut calisma dizininde bulanik dosya aramasi yapar.
Mesajlarınızda `@` kullanarak dosyalara referans verebilirsiniz. Bu, mevcut çalışma dizininde bulanık dosya araması yapar.
:::tip
Mesajlarinizda dosyalara referans vermek icin `@` kullanabilirsiniz.
Mesajlarınızda dosyalara referans vermek için `@` kullanabilirsiniz.
:::
```text "@packages/functions/src/api/index.ts"
How is auth handled in @packages/functions/src/api/index.ts?
```
Dosya icerigi otomatik olarak konusmaya eklenir.
Dosya içeriği otomatik olarak konuşmaya eklenir.
---
## Bash komutlari
## Bash komutları
Bir mesaji `!` ile baslatarak shell komutu calistirin.
Bir mesajı `!` ile başlatarak shell komutu çalıştırın.
```bash frame="none"
!ls -la
```
Komut ciktiisi bir arac sonucu olarak konusmaya eklenir.
Komut çıktısı bir araç sonucu olarak konuşmaya eklenir.
---
## Komutlar
opencode TUI kullanirken `/` ve komut adini yazarak hizli eylemler calistirabilirsiniz. Ornek:
OpenCode TUI kullanırken `/` ve ardından komut adını yazarak hızlı eylemler çalıştırabilirsiniz. Örneğin:
```bash frame="none"
/help
```
Komutlarin cogu, lider tusu `ctrl+x` olan bir kisayola da sahiptir. [Daha fazla bilgi](/docs/keybinds).
Komutların çoğu, lider tuşu `ctrl+x` olan bir kısayola da sahiptir. [Daha fazla bilgi](/docs/keybinds).
Mevcut slash komutlarinin tam listesi:
İşte mevcut slash komutlarının tümü:
---
### connect
opencode'a bir provider ekler. Mevcut provider'lari secip API anahtarlari eklemenizi saglar.
OpenCode'a bir sağlayıcı ekler. Mevcut sağlayıcıları seçip API anahtarları eklemenizi sağlar.
```bash frame="none"
/connect
@@ -81,172 +81,172 @@ opencode'a bir provider ekler. Mevcut provider'lari secip API anahtarlari ekleme
### compact
Guncel oturumu sikistirir. _Takma ad_: `/summarize`
Mevcut oturumu sıkıştırır. _Takma ad_: `/summarize`
```bash frame="none"
/compact
```
**Kisayol:** `ctrl+x c`
**Kısayol:** `ctrl+x c`
---
### details
Arac calistirma detaylarini goster/gizle yapar.
Araç çalıştırma detaylarını göster/gizle yapar.
```bash frame="none"
/details
```
**Kisayol:** `ctrl+x d`
**Kısayol:** `ctrl+x d`
---
### editor
Mesaj yazmak icin harici editor acar. `EDITOR` ortam degiskeninde ayarli editoru kullanir. [Daha fazla bilgi](#editor-setup).
Mesaj yazmak için harici editör açar. `EDITOR` ortam değişkeninde ayarlı editörü kullanır. [Daha fazla bilgi](#editor-setup).
```bash frame="none"
/editor
```
**Kisayol:** `ctrl+x e`
**Kısayol:** `ctrl+x e`
---
### exit
opencode'dan cikar. _Takma adlar_: `/quit`, `/q`
OpenCode'dan çıkar. _Takma adlar_: `/quit`, `/q`
```bash frame="none"
/exit
```
**Kisayol:** `ctrl+x q`
**Kısayol:** `ctrl+x q`
---
### export
Mevcut konusmayi Markdown olarak disa aktarir ve varsayilan editorunuzde acar. `EDITOR` ortam degiskenindeki editoru kullanir. [Daha fazla bilgi](#editor-setup).
Mevcut konuşmayı Markdown olarak dışa aktarır ve varsayılan editörünüzde açar. `EDITOR` ortam değişkeninde ayarlı editörü kullanır. [Daha fazla bilgi](#editor-setup).
```bash frame="none"
/export
```
**Kisayol:** `ctrl+x x`
**Kısayol:** `ctrl+x x`
---
### help
Yardim penceresini gosterir.
Yardım penceresini gösterir.
```bash frame="none"
/help
```
**Kisayol:** `ctrl+x h`
**Kısayol:** `ctrl+x h`
---
### init
`AGENTS.md` dosyasini olusturur veya gunceller. [Daha fazla bilgi](/docs/rules).
`AGENTS.md` dosyasını oluşturur veya günceller. [Daha fazla bilgi](/docs/rules).
```bash frame="none"
/init
```
**Kisayol:** `ctrl+x i`
**Kısayol:** `ctrl+x i`
---
### models
Kullanilabilir modelleri listeler.
Kullanılabilir modelleri listeler.
```bash frame="none"
/models
```
**Kisayol:** `ctrl+x m`
**Kısayol:** `ctrl+x m`
---
### new
Yeni bir oturum baslatir. _Takma ad_: `/clear`
Yeni bir oturum başlatır. _Takma ad_: `/clear`
```bash frame="none"
/new
```
**Kisayol:** `ctrl+x n`
**Kısayol:** `ctrl+x n`
---
### redo
Geri alinan bir mesaji tekrar uygular. Yalnizca `/undo` kullanildiktan sonra kullanilabilir.
Geri alınan bir mesajı tekrar uygular. Yalnızca `/undo` kullanıldıktan sonra kullanılabilir.
:::tip
Dosya degisiklikleri de geri yuklenir.
Herhangi bir dosya değişikliği de geri yüklenir.
:::
Dahilde bu islem dosya degisikliklerini yonetmek icin Git kullanir. Bu nedenle projenizin **bir Git deposu olmasi gerekir**.
Dahili olarak bu işlem dosya değişikliklerini yönetmek için Git kullanır. Bu nedenle projenizin **bir Git deposu olması gerekir**.
```bash frame="none"
/redo
```
**Kisayol:** `ctrl+x r`
**Kısayol:** `ctrl+x r`
---
### sessions
Oturumlari listeler ve aralarinda gecis yapar. _Takma adlar_: `/resume`, `/continue`
Oturumları listeler ve aralarında geçiş yapar. _Takma adlar_: `/resume`, `/continue`
```bash frame="none"
/sessions
```
**Kisayol:** `ctrl+x l`
**Kısayol:** `ctrl+x l`
---
### share
Mevcut oturumu paylasir. [Daha fazla bilgi](/docs/share).
Mevcut oturumu paylaşır. [Daha fazla bilgi](/docs/share).
```bash frame="none"
/share
```
**Kisayol:** `ctrl+x s`
**Kısayol:** `ctrl+x s`
---
### themes
Kullanilabilir temalari listeler.
Kullanılabilir temaları listeler.
```bash frame="none"
/theme
/themes
```
**Kisayol:** `ctrl+x t`
**Kısayol:** `ctrl+x t`
---
### thinking
Konusmadaki thinking/reasoning bloklarinin gorunurlugunu degistirir. Etkin oldugunda, genisletilmis dusunmeyi destekleyen modellerin akil yurutmelerini gorebilirsiniz.
Konuşmadaki thinking/reasoning bloklarının görünürlüğünü değiştirir. Etkin olduğunda, genişletilmiş düşünmeyi destekleyen modellerin akıl yürütme sürecini görebilirsiniz.
:::note
Bu komut sadece thinking bloklarinin **gosterimini** kontrol eder, modelin gercek akil yurutmelerini acip kapatmaz. Gercek akil yurutme yetenegini degistirmek icin `ctrl+t` ile model varyantlari arasinda gecis yapin.
Bu komut sadece thinking bloklarının **gösterilip gösterilmeyeceğini** kontrol eder - modelin akıl yürütme yeteneklerini etkinleştirmez veya devre dışı bırakmaz. Gerçek akıl yürütme yeteneklerini değiştirmek için `ctrl+t` kullanarak model varyantları arasında geçiş yapın.
:::
```bash frame="none"
@@ -257,25 +257,25 @@ Bu komut sadece thinking bloklarinin **gosterimini** kontrol eder, modelin gerce
### undo
Konusmadaki son mesaji geri alir. En son kullanici mesaji, sonraki tum yanitlar ve dosya degisiklikleri kaldirilir.
Konuşmadaki son mesajı geri alır. En son kullanıcı mesajını, sonraki tüm yanıtları ve dosya değişikliklerini kaldırır.
:::tip
Yapilan dosya degisiklikleri de geri cevrilir.
Yapılan tüm dosya değişiklikleri de geri alınır.
:::
Dahilde bu islem dosya degisikliklerini yonetmek icin Git kullanir. Bu nedenle projenizin **bir Git deposu olmasi gerekir**.
Dahili olarak bu işlem dosya değişikliklerini yönetmek için Git kullanır. Bu nedenle projenizin **bir Git deposu olması gerekir**.
```bash frame="none"
/undo
```
**Kisayol:** `ctrl+x u`
**Kısayol:** `ctrl+x u`
---
### unshare
Mevcut oturumun paylasimini kaldirir. [Daha fazla bilgi](/docs/share#paylasimi-kaldirma).
Mevcut oturumun paylaşımını kaldırır. [Daha fazla bilgi](/docs/share#un-sharing).
```bash frame="none"
/unshare
@@ -283,9 +283,9 @@ Mevcut oturumun paylasimini kaldirir. [Daha fazla bilgi](/docs/share#paylasimi-k
---
## Editor kurulumu
## Editör kurulumu
`/editor` ve `/export` komutlari, `EDITOR` ortam degiskeninde tanimli editoru kullanir.
Hem `/editor` hem de `/export` komutları, `EDITOR` ortam değişkeninde belirtilen editörü kullanır.
<Tabs>
<TabItem label="Linux/macOS">
@@ -299,7 +299,7 @@ Mevcut oturumun paylasimini kaldirir. [Daha fazla bilgi](/docs/share#paylasimi-k
export EDITOR="code --wait"
```
Kalici yapmak icin bunu kabuk profilinize ekleyin:
Kalıcı yapmak için bunu kabuk profilinize ekleyin;
`~/.bashrc`, `~/.zshrc` vb.
</TabItem>
@@ -313,7 +313,8 @@ Mevcut oturumun paylasimini kaldirir. [Daha fazla bilgi](/docs/share#paylasimi-k
set EDITOR=code --wait
```
Kalici yapmak icin **System Properties** > **Environment Variables** yolunu kullanin.
Kalıcı yapmak için **System Properties** > **Environment
Variables** yolunu kullanın.
</TabItem>
@@ -326,62 +327,72 @@ Mevcut oturumun paylasimini kaldirir. [Daha fazla bilgi](/docs/share#paylasimi-k
$env:EDITOR = "code --wait"
```
Kalici yapmak icin bunu PowerShell profilinize ekleyin.
Kalıcı yapmak için bunu PowerShell profilinize ekleyin.
</TabItem>
</Tabs>
Yaygin editor secenekleri:
Popüler editör seçenekleri şunları içerir:
- `code` - Visual Studio Code
- `cursor` - Cursor
- `windsurf` - Windsurf
- `nvim` - Neovim editoru
- `vim` - Vim editoru
- `nano` - Nano editoru
- `nvim` - Neovim editörü
- `vim` - Vim editörü
- `nano` - Nano editörü
- `notepad` - Windows Notepad
- `subl` - Sublime Text
:::note
VS Code gibi bazi editorlerin `--wait` parametresiyle baslatilmasi gerekir.
VS Code gibi bazı editörlerin `--wait` bayrağı ile başlatılması gerekir.
:::
Bazi editorler bloklayici modda calismak icin komut satiri argumanlari ister. `--wait` bayragi editor surecinin kapanana kadar beklemesini saglar.
Bazı editörler bloklama modunda çalışmak için komut satırı argümanlarına ihtiyaç duyar. `--wait` bayrağı, editör süreci kapanana kadar işlemin bloklanmasını sağlar.
---
## Yapilandirin
## Yapılandırma
TUI davranisini opencode config dosyanizdan ozellestirebilirsiniz.
TUI davranışını `tui.json` (veya `tui.jsonc`) aracılığıyla özelleştirebilirsiniz.
```json title="opencode.json"
```json title="tui.json"
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
"$schema": "https://opencode.ai/tui.json",
"theme": "opencode",
"keybinds": {
"leader": "ctrl+x"
},
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
},
"diff_style": "auto"
}
```
### Secenekler
Bu, sunucu/çalışma zamanı davranışını yapılandıran `opencode.json` dosyasından ayrıdır.
- `scroll_acceleration` - Daha akici ve dogal kaydirma icin macOS tarzı hizlanmayi acar. Etkin oldugunda hizli kaydirma hareketlerinde hiz artar, yavas hareketlerde hassas kalir. **Bu ayar etkin oldugunda `scroll_speed` degerini gecersiz kilar.**
- `scroll_speed` - Kaydirma komutlariyla TUI'nin ne kadar hizli kayacagini belirler (minimum: `1`). Varsayilan `3` degeridir. **Not: `scroll_acceleration.enabled` `true` ise yok sayilir.**
### Seçenekler
- `theme` - UI temanızı ayarlar. [Daha fazla bilgi](/docs/themes).
- `keybinds` - Klavye kısayollarını özelleştirir. [Daha fazla bilgi](/docs/keybinds).
- `scroll_acceleration.enabled` - Pürüzsüz, doğal kaydırma için macOS tarzı kaydırma ivmesini etkinleştirin. Etkinleştirildiğinde, kaydırma hızı hızlı kaydırma hareketleriyle artar ve daha yavaş hareketler için hassas kalır. **Bu ayar `scroll_speed` ayarından önceliklidir ve etkinleştirildiğinde onu geçersiz kılar.**
- `scroll_speed` - Kaydırma komutlarını kullanırken TUI'nin ne kadar hızlı kaydırılacağını kontrol eder (minimum: `0.001`, ondalık değerleri destekler). Varsayılan değer `3`'tür. **Not: `scroll_acceleration.enabled` `true` olarak ayarlanmışsa bu yok sayılır.**
- `diff_style` - Fark (diff) oluşturmayı kontrol eder. `"auto"` terminal genişliğine uyum sağlar, `"stacked"` her zaman tek sütunlu bir düzen gösterir.
Özel bir TUI yapılandırma yolu yüklemek için `OPENCODE_TUI_CONFIG` kullanın.
---
## Ozellestirme
## Özelleştirme
TUI gorunumunun cesitli kisimlarini komut paletiyle (`ctrl+x h` veya `/help`) ozellestirebilirsiniz. Bu ayarlar yeniden baslatmalar arasinda korunur.
Komut paletini (`ctrl+x h` veya `/help`) kullanarak TUI görünümünün çeşitli yönlerini özelleştirebilirsiniz. Bu ayarlar yeniden başlatmalar arasında korunur.
---
#### Kullanici adi gorunumu
#### Kullanıcı adı görünümü
Sohbet mesajlarinda kullanici adinizin gosterilip gosterilmeyecegini degistirir. Sunlardan erisebilirsiniz:
Sohbet mesajlarında kullanıcı adınızın görünüp görünmeyeceğini değiştirin. Buna şuradan erişin:
- Komut paleti: "username" veya "hide username" aratin
- Ayar otomatik saklanir ve TUI oturumlarinda hatirlanir
- Komut paleti: "username" veya "hide username" araması yapın
- Ayar otomatik olarak kalıcı hale gelir ve TUI oturumları arasında hatırlanır

View File

@@ -1,61 +1,61 @@
---
title: Zen
description: opencode ekibinin sundugu secili model listesi.
description: opencode tarafından sağlanan seçilmiş modeller listesi.
---
import config from "../../../../config.mjs"
import config from "../../../config.mjs"
export const console = config.console
export const email = `mailto:${config.email}`
OpenCode Zen, opencode ekibi tarafindan test edilip dogrulanmis modellerin listesidir.
OpenCode Zen, opencode ekibi tarafından test edilip doğrulanmış modellerin bir listesidir.
:::note
OpenCode Zen su anda beta asamasindadir.
OpenCode Zen şu anda beta aşamasındadır.
:::
Zen, opencode'daki diger provider'lar gibi calisir. OpenCode Zen'e giris yapar ve API anahtarinizi alirsiniz.
Tamamen istege baglidir; opencode kullanmak icin Zen kullanmak zorunda degilsiniz.
Zen, opencode'daki diğer sağlayıcılar gibi çalışır. OpenCode Zen'e giriş yapar ve API anahtarınızı alırsınız. Tamamen isteğe bağlıdır ve opencode kullanmak için bunu kullanmanıza gerek yoktur.
---
## Arka plan
Piyasada cok sayida model var, ancak bunlarin sadece bir kismi kodlama ajani olarak iyi calisir. Ayrica provider'larin cogu birbirinden cok farkli sekilde ayarlanir; bu da performans ve kaliteyi ciddi bicimde degistirir.
Piyasada çok sayıda model var ancak bu modellerden sadece birkaçı kodlama ajanı olarak iyi çalışır. Ayrıca çoğu sağlayıcı çok farklı şekilde yapılandırılmıştır; bu nedenle çok farklı performans ve kalite elde edersiniz.
:::tip
opencode ile iyi calisan belirli model/provider kombinasyonlarini test ettik.
opencode ile iyi çalışan seçkin bir grup model ve sağlayıcıyı test ettik.
:::
Bu nedenle OpenRouter benzeri bir servis uzerinden model kullaniyorsaniz, istediginiz modelin en iyi surumunu alip almadiginizdan her zaman emin olamazsiniz.
Bu nedenle, OpenRouter gibi bir şey üzerinden bir model kullanıyorsanız, istediğiniz modelin en iyi sürümünü alıp almadığınızdan asla emin olamazsınız.
Bunu cozmeye yonelik olarak sunlari yaptik:
Bunu düzeltmek için birkaç şey yaptık:
1. Secili bir model grubunu test ettik ve ekipleriyle en iyi calisma sekli uzerine gorustuk
2. Daha sonra bazi provider'larla bu modellerin dogru sekilde sunuldugunu dogruladik
3. Son olarak model/provider kombinasyonlarini benchmark ederek guvenle onerebilecegimiz bir liste olusturduk
1. Seçkin bir grup modeli test ettik ve ekipleriyle bunları en iyi nasıl çalıştıracakları hakkında konuştuk.
2. Daha sonra bunların doğru şekilde sunulduğundan emin olmak için birkaç sağlayıcıyla çalıştık.
3. Son olarak model/sağlayıcı kombinasyonunu karşılaştırdık ve önermekten memnuniyet duyduğumuz bir liste oluşturduk.
OpenCode Zen, bu modellere erisim saglayan bir AI gateway'dir.
OpenCode Zen, bu modellere erişmenizi sağlayan bir AI ağ geçididir.
---
## Nasil calisir
## Nasıl çalışır
OpenCode Zen, opencode'daki diger provider'lar gibi calisir.
OpenCode Zen, opencode'daki diğer sağlayıcılar gibi çalışır.
1. **<a href={console}>OpenCode Zen</a>** hesabina giris yapin, odeme bilgilerinizi ekleyin ve API anahtarinizi kopyalayin
2. TUI'da `/connect` komutunu calistirin, OpenCode Zen'i secin ve API anahtarinizi yapistirin
3. Onerdigimiz model listesini gormek icin TUI'da `/models` calistirin
1. **<a href={console}>OpenCode Zen</a>**'de oturum açın, fatura ayrıntılarınızı ekleyin ve API anahtarınızı kopyalayın.
2. TUI'de `/connect` komutunu çalıştırın, OpenCode Zen'i seçin ve API anahtarınızı yapıştırın.
3. Önerdiğimiz modellerin listesini görmek için TUI'de `/models` komutunu çalıştırın.
Ucretlendirme istek basina yapilir ve hesabiniza kredi yukleyebilirsiniz.
İstek başına ücretlendirilirsiniz ve hesabınıza kredi ekleyebilirsiniz.
---
## Endpoint'ler
## Uç Noktalar
Modellerimize asagidaki API endpoint'leri uzerinden de erisebilirsiniz.
Modellerimize aşağıdaki API uç noktaları aracılığıyla da erişebilirsiniz.
| Model | Model ID | Endpoint | AI SDK Package |
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
| GPT 5.3 Codex | gpt-5.3-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 Codex | gpt-5.2-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
@@ -65,35 +65,36 @@ Modellerimize asagidaki API endpoint'leri uzerinden de erisebilirsiniz.
| GPT 5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Codex | gpt-5-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Nano | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Pro | gemini-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 Free | minimax-m2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.1 Free | minimax-m2.1-free | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.7 Free | glm-4.7-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 Free | kimi-k2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 Thinking | kimi-k2-thinking | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Qwen3 Coder 480B | qwen3-coder | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
opencode config'inizdeki [model id](/docs/config/#models), `opencode/<model-id>` formatini kullanir.
Ornegin GPT 5.2 Codex icin config'te `opencode/gpt-5.2-codex` kullanirsiniz.
opencode yapılandırmanızdaki [model kimliği](/docs/config/#models) `opencode/<model-id>` biçimini kullanır. Örneğin, GPT 5.2 Codex için yapılandırmanızda `opencode/gpt-5.2-codex` kullanırsınız.
---
### Modeller
Mevcut modellerin tam listesini ve metadatasini su adresten cekebilirsiniz:
Mevcut modellerin tam listesini ve meta verilerini şuradan alabilirsiniz:
```
https://opencode.ai/zen/v1/models
@@ -101,36 +102,41 @@ https://opencode.ai/zen/v1/models
---
## Fiyatlandirma
## Fiyatlandırma
Kullandikca ode modelini destekliyoruz. Asagidaki fiyatlar **1M token basina** verilmistir.
Kullandıa öde modelini destekliyoruz. Aşağıda **1 milyon token başına** fiyatlar verilmiştir.
| Model | Input | Output | Cached Read | Cached Write |
| --------------------------------- | ------ | ------ | ----------- | ------------ |
| Big Pickle | Free | Free | Free | - |
| MiniMax M2.1 Free | Free | Free | Free | - |
| MiniMax M2.5 Free | Free | Free | Free | - |
| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| MiniMax M2.1 | $0.30 | $1.20 | $0.10 | - |
| GLM 4.7 Free | Free | Free | Free | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
| GLM 4.7 | $0.60 | $2.20 | $0.10 | - |
| GLM 4.6 | $0.60 | $2.20 | $0.10 | - |
| Kimi K2.5 Free | Free | Free | Free | - |
| Kimi K2.5 | $0.60 | $3.00 | $0.08 | - |
| Kimi K2 Thinking | $0.40 | $2.50 | - | - |
| Kimi K2 | $0.40 | $2.50 | - | - |
| Qwen3 Coder 480B | $0.45 | $1.50 | - | - |
| Claude Opus 4.6 (≤ 200K tokens) | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 (> 200K tokens) | $10.00 | $37.50 | $1.00 | $12.50 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
| Claude Sonnet 4.6 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.6 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Claude Haiku 3.5 | $0.80 | $4.00 | $0.08 | $1.00 |
| Claude Opus 4.6 (≤ 200K tokens) | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 (> 200K tokens) | $10.00 | $37.50 | $1.00 | $12.50 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
| Gemini 3.1 Pro (> 200K tokens) | $4.00 | $18.00 | $0.40 | - |
| Gemini 3 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
| Gemini 3 Pro (> 200K tokens) | $4.00 | $18.00 | $0.40 | - |
| Gemini 3 Flash | $0.50 | $3.00 | $0.05 | - |
| GPT 5.3 Codex | $1.75 | $14.00 | $0.175 | - |
| GPT 5.2 | $1.75 | $14.00 | $0.175 | - |
| GPT 5.2 Codex | $1.75 | $14.00 | $0.175 | - |
| GPT 5.1 | $1.07 | $8.50 | $0.107 | - |
@@ -141,98 +147,94 @@ Kullandikca ode modelini destekliyoruz. Asagidaki fiyatlar **1M token basina** v
| GPT 5 Codex | $1.07 | $8.50 | $0.107 | - |
| GPT 5 Nano | Free | Free | Free | - |
Kullanim gecmisinizde _Claude Haiku 3.5_ gorebilirsiniz. Bu, oturum basliklarini olusturmak icin kullanilan [dusuk maliyetli bir modeldir](/docs/config/#models).
Kullanım geçmişinizde _Claude Haiku 3.5_ fark edebilirsiniz. Bu, oturumlarınızın başlıklarını oluşturmak için kullanılan [düşük maliyetli bir modeldir](/docs/config/#models).
:::note
Kredi karti ucretleri maliyetine yansitilir (islem basina %4.4 + $0.30); bunun disinda ek ucret almiyoruz.
Kredi kartı ücretleri maliyetine yansıtılır (işlem başına %4,4 + 0,30$); bunun ötesinde hiçbir ücret talep etmiyoruz.
:::
Ucretsiz modeller:
Ücretsiz modeller:
- GLM 4.7 Free, sinirli bir sure icin opencode'da ucretsizdir. Ekip bu surede geri bildirim toplayip modeli iyilestiriyor
- Kimi K2.5 Free, sinirli bir sure icin opencode'da ucretsizdir. Ekip bu surede geri bildirim toplayip modeli iyilestiriyor
- MiniMax M2.1 Free, sinirli bir sure icin opencode'da ucretsizdir. Ekip bu surede geri bildirim toplayip modeli iyilestiriyor
- Big Pickle, sinirli bir sure icin opencode'da ucretsiz olan gizli bir modeldir. Ekip bu surede geri bildirim toplayip modeli iyilestiriyor
- MiniMax M2.5 Free, sınırlı bir süre için OpenCode'da ücretsizdir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor.
- Big Pickle, sınırlı bir süre için OpenCode'da ücretsiz olan gizli bir modeldir. Ekip bu süreyi geri bildirim toplamak ve modeli iyileştirmek için kullanıyor.
Sorunuz varsa <a href={email}>bize ulasin</a>.
Sorularınız varsa <a href={email}>bizimle iletişime geçin</a>.
---
### Otomatik yukleme
### Otomatik yükleme
Bakiyeniz $5'in altina dustugunde Zen otomatik olarak $20 yukler.
Bakiyeniz 5$'ın altına düşerse, Zen otomatik olarak 20$ yükler.
Otomatik yukleme tutarini degistirebilir veya bu ozelligi tamamen kapatabilirsiniz.
Otomatik yükleme tutarını değiştirebilirsiniz. Otomatik yüklemeyi tamamen devre dışı da bırakabilirsiniz.
---
### Aylik limitler
### Aylık limitler
Tum calisma alani ve ekip uyeleri icin aylik kullanim limiti belirleyebilirsiniz.
Ayrıca tüm çalışma alanı ve ekibinizin her üyesi için aylık kullanım limiti belirleyebilirsiniz.
Ornegin aylik limiti $20 yaptiysaniz Zen bir ayda $20'den fazla kullandirtmaz. Ancak otomatik yukleme aciksa bakiye $5 altina dustugunde toplam odemeniz $20'nin uzerine cikabilir.
Örneğin, aylık kullanım limitini 20$ olarak ayarladığınızı varsayalım, Zen bir ayda 20$'dan fazla kullanmaz. Ancak otomatik yüklemeyi etkinleştirdiyseniz, bakiyeniz 5$'ın altına düşerse Zen sizden 20$'dan fazla ücret alabilir.
---
## Gizlilik
Tum modellerimiz ABD'de barindiriliyor. Provider'larimiz sifir saklama politikasini izler ve verilerinizi model egitimi icin kullanmaz; asagidaki istisnalar haric:
Tüm modellerimiz ABD'de barındırılmaktadır. Sağlayıcılarımız sıfır saklama politikasını izler ve aşağıdaki istisnalar dışında verilerinizi model eğitimi için kullanmaz:
- Big Pickle: Ucretsiz donemde toplanan veriler modeli iyilestirmek icin kullanilabilir
- GLM 4.7 Free: Ucretsiz donemde toplanan veriler modeli iyilestirmek icin kullanilabilir
- Kimi K2.5 Free: Ucretsiz donemde toplanan veriler modeli iyilestirmek icin kullanilabilir
- MiniMax M2.1 Free: Ucretsiz donemde toplanan veriler modeli iyilestirmek icin kullanilabilir
- OpenAI API'leri: Istekler [OpenAI veri politikalari](https://platform.openai.com/docs/guides/your-data) kapsaminda 30 gun saklanir
- Anthropic API'leri: Istekler [Anthropic veri politikalari](https://docs.anthropic.com/en/docs/claude-code/data-usage) kapsaminda 30 gun saklanir
- Big Pickle: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir.
- MiniMax M2.5 Free: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir.
- OpenAI API'leri: İstekler [OpenAI'nin Veri Politikaları](https://platform.openai.com/docs/guides/your-data) uyarınca 30 gün boyunca saklanır.
- Anthropic API'leri: İstekler [Anthropic'in Veri Politikaları](https://docs.anthropic.com/en/docs/claude-code/data-usage) uyarınca 30 gün boyunca saklanır.
---
## Ekipler icin
## Ekipler İçin
Zen ekipler icin de guclu bir cozumdur. Ekip arkadaslarini davet edebilir, roller atayabilir, kullanilacak modelleri yonetebilir ve daha fazlasini yapabilirsiniz.
Zen ekipler için de harika çalışır. Ekip arkadaşlarınızı davet edebilir, roller atayabilir, ekibinizin kullandığı modelleri düzenleyebilir ve daha fazlasını yapabilirsiniz.
:::note
Calisma alanlari beta kapsaminda su anda ekipler icin ucretsizdir.
Çalışma alanları şu anda beta'nın bir parçası olarak ekipler için ücretsizdir.
:::
Calisma alani yonetimi su anda beta kapsaminda ucretsizdir. Fiyatlandirma detaylarini yakinda paylasacagiz.
Çalışma alanınızı yönetmek şu anda beta'nın bir parçası olarak ekipler için ücretsizdir. Yakında fiyatlandırma hakkında daha fazla ayrıntı paylaşacağız.
---
### Roller
Calisma alaniniza ekip arkadaslarini davet edip rol atayabilirsiniz:
Ekip arkadaşlarınızı çalışma alanınıza davet edebilir ve roller atayabilirsiniz:
- **Admin**: Modelleri, uyeleri, API anahtarlarini ve faturalandirmayi yonetir
- **Member**: Yalnizca kendi API anahtarlarini yonetir
- **Admin**: Modelleri, üyeleri, API anahtarlarını ve faturalandırmayı yönetin
- **Member**: Yalnızca kendi API anahtarlarını yönetin
Admin'ler maliyet kontrolu icin uye bazinda aylik harcama limitleri de ayarlayabilir.
Yöneticiler, maliyetleri kontrol altında tutmak için her üye için aylık harcama limitleri de belirleyebilir.
---
### Model erisimi
### Model erişimi
Admin'ler calisma alani icin belirli modelleri acip kapatabilir. Devre disi bir modele yapilan istekler hata dondurur.
Yöneticiler çalışma alanı için belirli modelleri etkinleştirebilir veya devre dışı bırakabilir. Devre dışı bırakılmış bir modele yapılan istekler bir hata döndürür.
Bu, veri toplayan bir modelin kullanimini kapatmak istediginiz durumlarda kullanislidir.
Bu, veri toplayan bir modelin kullanımını devre dışı bırakmak istediğiniz durumlarda kullanışlıdır.
---
### Kendi anahtarinizi kullanin
### Kendi anahtarınızı getirin
Zen'deki diger modellere erisirken kendi OpenAI veya Anthropic API anahtarlarinizi da kullanabilirsiniz.
Zen'deki diğer modellere erişmeye devam ederken kendi OpenAI veya Anthropic API anahtarlarınızı kullanabilirsiniz.
Kendi anahtarinizi kullandiginizda token ucreti Zen yerine dogrudan provider tarafindan faturalandirilir.
Kendi anahtarlarınızı kullandığınızda, tokenler Zen tarafından değil, doğrudan sağlayıcı tarafından faturalandırılır.
Ornegin kurulusunuzun zaten OpenAI veya Anthropic anahtari varsa Zen'in sagladigi anahtar yerine onu kullanabilirsiniz.
Örneğin, kuruluşunuzun halihazırda OpenAI veya Anthropic için bir anahtarı olabilir ve Zen'in sağladığı anahtar yerine onu kullanmak isteyebilirsiniz.
---
## Hedefler
OpenCode Zen'i su amaclarla olusturduk:
OpenCode Zen'i şu amaçlarla oluşturduk:
1. Kodlama ajanlari icin en iyi model/provider kombinasyonlarini **benchmark etmek**
2. Performansi dusurmeden veya daha ucuz provider'a yonlendirmeden **en yuksek kaliteye** erismek
3. Maliyetine satarak fiyat dususlerini kullaniciya yansitmak ve yalnizca islem ucretlerini kapsayan pay birakmak
4. Herhangi bir kodlama ajaniyla kullanima izin vererek **kilitlenmeyi onlemek** ve opencode'da diger provider'lari her zaman acik tutmak
1. Kodlama ajanları için en iyi modelleri/sağlayıcıları **kıyaslamak**.
2. **En yüksek kaliteli** seçeneklere erişmek ve performansı düşürmemek veya daha ucuz sağlayıcılara yönlendirmemek.
3. Maliyetine satış yaparak herhangi bir **fiyat düşüşünü** yansıtmak; böylece tek kâr marjı işlem ücretlerimizi kaılamaktır.
4. Başka bir kodlama ajanıyla kullanmanıza izin vererek **kilitlenmeyi önlemek**. Ve her zaman OpenCode ile başka bir sağlayıcıyı kullanmanıza izin vermek.