fix: logo 右半部分从 CODING 改为 CODE
去掉难以正确渲染的 N 和 G 字母,右半部分简化为 CODE(4 字母), 与左半部分 AIR 组合为 AIR CODE。
This commit is contained in:
156
packages/web/src/content/docs/tr/acp.mdx
Normal file
156
packages/web/src/content/docs/tr/acp.mdx
Normal file
@@ -0,0 +1,156 @@
|
||||
---
|
||||
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 editörlerde ve IDE'lerde kullanmanızı sağlar.
|
||||
|
||||
:::tip
|
||||
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 kodlama ajanları arasındaki iletişimi standartlaştıran açık bir protokoldü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.
|
||||
|
||||
Komut, opencode'u, editörünüzle stdio aracılığıyla JSON-RPC üzerinden iletişim kuran ACP uyumlu bir alt süreç olarak başlatır.
|
||||
|
||||
Aşağıda ACP'yi destekleyen popüler düzenleyicilere ilişkin örnekler verilmiştir.
|
||||
|
||||
---
|
||||
|
||||
### Zed
|
||||
|
||||
[Zed](https://zed.dev) yapılandırmanıza (`~/.config/zed/settings.json`) ekleyin:
|
||||
|
||||
```json title="~/.config/zed/settings.json"
|
||||
{
|
||||
"agent_servers": {
|
||||
"OpenCode": {
|
||||
"command": "opencode",
|
||||
"args": ["acp"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Açmak için **Komut Paleti**'ndeki `agent: new thread` eylemini kullanın.
|
||||
|
||||
`keymap.json` dosyanızı düzenleyerek de bir klavye kısayolunu bağlayabilirsiniz:
|
||||
|
||||
```json title="keymap.json"
|
||||
[
|
||||
{
|
||||
"bindings": {
|
||||
"cmd-alt-o": [
|
||||
"agent::NewExternalAgentThread",
|
||||
{
|
||||
"agent": {
|
||||
"custom": {
|
||||
"name": "OpenCode",
|
||||
"command": {
|
||||
"command": "opencode",
|
||||
"args": ["acp"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### JetBrains IDEs
|
||||
|
||||
[documentation](https://www.jetbrains.com/help/ai-assistant/acp.html) uyarınca [JetBrains IDE](https://www.jetbrains.com/) acp.json dosyanıza ekleyin:
|
||||
|
||||
```json title="acp.json"
|
||||
{
|
||||
"agent_servers": {
|
||||
"OpenCode": {
|
||||
"command": "/absolute/path/bin/opencode",
|
||||
"args": ["acp"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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) yapılandırmanıza ekleyin:
|
||||
|
||||
```lua
|
||||
{
|
||||
acp_providers = {
|
||||
["opencode"] = {
|
||||
command = "opencode",
|
||||
args = { "acp" }
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ortam değişkenlerini iletmeniz gerekiyor:
|
||||
|
||||
```lua {6-8}
|
||||
{
|
||||
acp_providers = {
|
||||
["opencode"] = {
|
||||
command = "opencode",
|
||||
args = { "acp" },
|
||||
env = {
|
||||
OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### CodeCompanion.nvim
|
||||
|
||||
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({
|
||||
interactions = {
|
||||
chat = {
|
||||
adapter = {
|
||||
name = "opencode",
|
||||
model = "claude-sonnet-4",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
## Destek
|
||||
|
||||
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 slash komutları şu anda desteklenmemektedir.
|
||||
:::
|
||||
|
||||
- Yerleşik araçlar (dosya işlemleri, terminal komutları vb.)
|
||||
- Özel araçlar ve slash komutları
|
||||
- opencode yapılandırmanızda yapılandırılmış MCP sunucuları
|
||||
- `AGENTS.md`'dan projeye özel kurallar
|
||||
- Özel biçimlendiriciler ve linter'lar
|
||||
- Aracılar ve izin sistemi
|
||||
754
packages/web/src/content/docs/tr/agents.mdx
Normal file
754
packages/web/src/content/docs/tr/agents.mdx
Normal file
@@ -0,0 +1,754 @@
|
||||
---
|
||||
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 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.
|
||||
:::
|
||||
|
||||
Bir oturum sırasında agent'lar arasında geçiş yapabilir veya onları `@` ifadesi ile çağırabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Türler
|
||||
|
||||
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, 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.
|
||||
:::
|
||||
|
||||
opencode, **Build** ve **Plan** olmak üzere iki yerleşik birincil agent ile birlikte gelir. Bunlara aşağıda bakacağız.
|
||||
|
||||
---
|
||||
|
||||
### Alt agent'lar
|
||||
|
||||
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**, **Explore** ve **Scout** olmak üzere üç yerleşik alt agent ile birlikte gelir. Buna aşağıda bakacağız.
|
||||
|
||||
---
|
||||
|
||||
## Yerleşik
|
||||
|
||||
OpenCode iki yerleşik birincil agent ve üç yerleşik alt agent ile birlikte gelir.
|
||||
|
||||
---
|
||||
|
||||
### Build Kullanımı
|
||||
|
||||
_Mod_: `primary`
|
||||
|
||||
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ımı
|
||||
|
||||
_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:
|
||||
|
||||
- `file edits`: Tüm yazmalar, yamalar ve düzenler
|
||||
- `bash`: Tüm bash komutları
|
||||
|
||||
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ımı
|
||||
|
||||
_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 Kullanımı
|
||||
|
||||
_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.
|
||||
|
||||
---
|
||||
|
||||
### Scout Kullanımı
|
||||
|
||||
_Mod_: `subagent`
|
||||
|
||||
Harici dokümanlar ve bağımlılık araştırmaları için salt okunur bir agent. Bir bağımlılık repository'sini OpenCode'un yönetilen cache'ine clone etmeniz, kütüphane kaynak kodunu incelemeniz veya workspace'inizi değiştirmeden yerel kodu upstream implementasyonlarla karşılaştırmanız gerektiğinde bunu kullanın.
|
||||
|
||||
---
|
||||
|
||||
### Compaction Kullanımı
|
||||
|
||||
_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ımı
|
||||
|
||||
_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 Kullanımı
|
||||
|
||||
_Mod_: `primary`
|
||||
|
||||
Oturum özetleri oluşturan gizli sistem agent'ı. Otomatik olarak çalışır ve kullanıcı arayüzünde seçilemez.
|
||||
|
||||
---
|
||||
|
||||
## Kullanım
|
||||
|
||||
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. 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**: 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 alt agent çalışması arasında sorunsuz bir şekilde geçiş yapmanıza olanak tanı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:
|
||||
|
||||
---
|
||||
|
||||
### 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/`
|
||||
- Proje başına: `.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'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.
|
||||
|
||||
```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 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 [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"
|
||||
{
|
||||
"agent": {
|
||||
"plan": {
|
||||
"model": "anthropic/claude-haiku-4-20250514"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### 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 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"
|
||||
{
|
||||
"agent": {
|
||||
"internal-helper": {
|
||||
"mode": "subagent",
|
||||
"hidden": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Görev izinleri
|
||||
|
||||
`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"
|
||||
{
|
||||
"agent": {
|
||||
"orchestrator": {
|
||||
"mode": "primary",
|
||||
"permission": {
|
||||
"task": {
|
||||
"*": "deny",
|
||||
"orchestrator-*": "allow",
|
||||
"code-reviewer": "ask"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`deny` olarak ayarlandığında, alt agent Task aracı açı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 alt agent'ı `@` 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 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:
|
||||
|
||||
```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 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 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
|
||||
```
|
||||
617
packages/web/src/content/docs/tr/cli.mdx
Normal file
617
packages/web/src/content/docs/tr/cli.mdx
Normal file
@@ -0,0 +1,617 @@
|
||||
---
|
||||
title: CLI
|
||||
description: opencode CLI seçenekleri ve komutları.
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
|
||||
opencode CLI herhangi bir argüman olmadan çalıştırıldığında varsayılan olarak [TUI](/docs/tui)'yi başlatır.
|
||||
|
||||
```bash
|
||||
opencode
|
||||
```
|
||||
|
||||
Ancak bu sayfada belgelendiği gibi komutları da kabul eder. Bu, opencode ile programlı olarak etkileşim kurmanıza olanak tanır.
|
||||
|
||||
```bash
|
||||
opencode run "Explain how closures work in JavaScript"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### tui
|
||||
|
||||
opencode terminal kullanıcı arayüzünü başlatır.
|
||||
|
||||
```bash
|
||||
opencode [project]
|
||||
```
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Kısa | Açıklama |
|
||||
| ---------------------------------------- | ---- | --------------------------------------------------------------------------- |
|
||||
| <nobr><code>{"--continue"}</code></nobr> | `-c` | Son oturuma devam et |
|
||||
| <nobr><code>{"--session"}</code></nobr> | `-s` | Devam edecek oturum kimliği |
|
||||
| <nobr><code>{"--fork"}</code></nobr> | | Devam ederken oturumu fork'lar (`--continue` veya `--session` ile kullanın) |
|
||||
| <nobr><code>{"--prompt"}</code></nobr> | | Kullanılacak prompt |
|
||||
| <nobr><code>{"--model"}</code></nobr> | `-m` | provider/model biçiminde kullanılacak model |
|
||||
| <nobr><code>{"--agent"}</code></nobr> | | Kullanılacak agent |
|
||||
| <nobr><code>{"--port"}</code></nobr> | | Dinlenecek port |
|
||||
| <nobr><code>{"--hostname"}</code></nobr> | | Dinlenecek host adı |
|
||||
|
||||
---
|
||||
|
||||
## Komutlar
|
||||
|
||||
opencode CLI ayrıca aşağıdaki komutlara da sahiptir.
|
||||
|
||||
---
|
||||
|
||||
### agent
|
||||
|
||||
opencode için agent'ları yönetin.
|
||||
|
||||
```bash
|
||||
opencode agent [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### attach
|
||||
|
||||
`serve` veya `web` komutlarıyla başlatılan, halihazırda çalışan bir opencode arka uç sunucusuna bir terminal ekleyin.
|
||||
|
||||
```bash
|
||||
opencode attach [url]
|
||||
```
|
||||
|
||||
Bu, TUI öğesinin uzak bir opencode arka ucuyla kullanılmasına olanak tanır. Örneğin:
|
||||
|
||||
```bash
|
||||
# Start the backend server for web/mobile access
|
||||
opencode web --port 4096 --hostname 0.0.0.0
|
||||
|
||||
# In another terminal, attach the TUI to the running backend
|
||||
opencode attach http://10.20.30.40:4096
|
||||
```
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Kısa | Tanım |
|
||||
| ---------------------------------------- | ---- | --------------------------------------------------------------------------------------------- |
|
||||
| <nobr><code>{"--dir"}</code></nobr> | | TUI'yi başlatmak için çalışma dizini |
|
||||
| <nobr><code>{"--continue"}</code></nobr> | `-c` | Son oturuma devam et |
|
||||
| <nobr><code>{"--session"}</code></nobr> | `-s` | Devam edecek oturum açma bilgileri |
|
||||
| <nobr><code>{"--fork"}</code></nobr> | | Devam ederken oturumu çatalla (`--continue` veya `--session` ile kullanın) |
|
||||
| <nobr><code>{"--password"}</code></nobr> | `-p` | Temel kimlik doğrulama parolası (varsayılan: `OPENCODE_SERVER_PASSWORD`) |
|
||||
| <nobr><code>{"--username"}</code></nobr> | `-u` | Temel kimlik doğrulama kullanıcı adı (varsayılan: `OPENCODE_SERVER_USERNAME` veya `opencode`) |
|
||||
|
||||
---
|
||||
|
||||
#### create
|
||||
|
||||
Ö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 agent oluşturma konusunda size yol gösterecektir.
|
||||
|
||||
---
|
||||
|
||||
#### list
|
||||
|
||||
Mevcut tüm agent'ları listeleyin.
|
||||
|
||||
```bash
|
||||
opencode agent list
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### auth
|
||||
|
||||
Sağlayıcılar için kimlik bilgilerini ve oturum açmayı yönetme komutu.
|
||||
|
||||
```bash
|
||||
opencode auth [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### login
|
||||
|
||||
opencode, [Models.dev](https://models.dev) adresindeki sağlayıcı listesi tarafından desteklenmektedir, dolayısıyla kullanmak istediğiniz herhangi bir sağlayıcı için API anahtarlarını ayarlamak üzere `opencode auth login` kullanabilirsiniz. Bu `~/.local/share/opencode/auth.json`'de saklanıyor.
|
||||
|
||||
```bash
|
||||
opencode auth login
|
||||
```
|
||||
|
||||
opencode başlatıldığında sağlayıcıları kimlik bilgileri dosyasından yükler. Ayrıca ortam değişkenlerindeki veya projenizdeki `.env` dosyasındaki anahtarları da kullanır.
|
||||
|
||||
---
|
||||
|
||||
#### list
|
||||
|
||||
Kimlik bilgileri dosyasında depolanan tüm kimliği doğrulanmış sağlayıcıları listeler.
|
||||
|
||||
```bash
|
||||
opencode auth list
|
||||
```
|
||||
|
||||
Veya kısa versiyonu.
|
||||
|
||||
```bash
|
||||
opencode auth ls
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### logout
|
||||
|
||||
Bir sağlayıcıyı kimlik bilgileri dosyasından temizleyerek oturumunuzu kapatır.
|
||||
|
||||
```bash
|
||||
opencode auth logout
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### github
|
||||
|
||||
Depo otomasyonu için GitHub aracısını yönetin.
|
||||
|
||||
```bash
|
||||
opencode github [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### install
|
||||
|
||||
GitHub aracısını deponuza yükleyin.
|
||||
|
||||
```bash
|
||||
opencode github install
|
||||
```
|
||||
|
||||
Bu komut gerekli GitHub Actions workflow'unu kurar ve yapılandırma adımlarında size rehberlik eder. [Daha fazla bilgi](/docs/github).
|
||||
|
||||
---
|
||||
|
||||
#### run
|
||||
|
||||
GitHub aracısını çalıştırın. Bu genellikle GitHub Eylemlerinde kullanılır.
|
||||
|
||||
```bash
|
||||
opencode github run
|
||||
```
|
||||
|
||||
##### Bayraklar
|
||||
|
||||
| Bayrak | Açıklama |
|
||||
| ------------------------------------- | ------------------------------------------- |
|
||||
| <nobr><code>{"--event"}</code></nobr> | Aracıyı çalıştırmak için GitHub sahte olayı |
|
||||
| <nobr><code>{"--token"}</code></nobr> | GitHub personal access token |
|
||||
|
||||
---
|
||||
|
||||
### mcp
|
||||
|
||||
Model Bağlam Protokolü sunucularını yönetin.
|
||||
|
||||
```bash
|
||||
opencode mcp [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### add
|
||||
|
||||
Yapılandırmanıza bir MCP sunucusu ekleyin.
|
||||
|
||||
```bash
|
||||
opencode mcp add
|
||||
```
|
||||
|
||||
Bu komut, yerel veya uzak bir MCP sunucusu ekleme konusunda size yol gösterecektir.
|
||||
|
||||
---
|
||||
|
||||
#### list
|
||||
|
||||
Yapılandırılmış tüm MCP sunucularını ve bağlantı durumlarını listeleyin.
|
||||
|
||||
```bash
|
||||
opencode mcp list
|
||||
```
|
||||
|
||||
Veya kısa versiyonunu kullanın.
|
||||
|
||||
```bash
|
||||
opencode mcp ls
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### auth
|
||||
|
||||
OAuth'un etkin olduğu bir MCP sunucusuyla kimlik doğrulaması yapın.
|
||||
|
||||
```bash
|
||||
opencode mcp auth [name]
|
||||
```
|
||||
|
||||
Sunucu adı belirtmezseniz mevcut OAuth özellikli sunucular arasından seçim yapmanız istenir.
|
||||
|
||||
Ayrıca OAuth özellikli sunucuları ve bunların kimlik doğrulama durumlarını da listeleyebilirsiniz.
|
||||
|
||||
```bash
|
||||
opencode mcp auth list
|
||||
```
|
||||
|
||||
Veya kısa versiyonunu kullanın.
|
||||
|
||||
```bash
|
||||
opencode mcp auth ls
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### logout
|
||||
|
||||
MCP sunucusu için OAuth kimlik bilgilerini kaldırın.
|
||||
|
||||
```bash
|
||||
opencode mcp logout [name]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### debug
|
||||
|
||||
MCP sunucusu için OAuth bağlantı sorunlarının hatalarını ayıklayın.
|
||||
|
||||
```bash
|
||||
opencode mcp debug <name>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### models
|
||||
|
||||
Yapılandırılmış sağlayıcıların tüm mevcut modellerini listeleyin.
|
||||
|
||||
```bash
|
||||
opencode models [provider]
|
||||
```
|
||||
|
||||
Bu komut, yapılandırdığınız sağlayıcılardaki modelleri `provider/model` formatında listeler.
|
||||
|
||||
Bu, [config dosyanızda](/docs/config/) kullanmanız gereken tam model adını bulmak için kullanışlıdır.
|
||||
|
||||
Modelleri bu sağlayıcıya göre filtrelemek için isteğe bağlı olarak bir sağlayıcı kimliğini iletebilirsiniz.
|
||||
|
||||
```bash
|
||||
opencode models anthropic
|
||||
```
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Tanım |
|
||||
| --------------------------------------- | --------------------------------------------------------------------------- |
|
||||
| <nobr><code>{"--refresh"}</code></nobr> | Modeller.dev'den model önbelleğini yenileyin |
|
||||
| <nobr><code>{"--verbose"}</code></nobr> | Daha ayrıntılı model çıktısı kullanın (maliyetler gibi meta veriler içerir) |
|
||||
|
||||
Önbelleğe alınan model listesini güncellemek için `--refresh` bayrağını kullanın. Bu, bir sağlayıcıya yeni modeller eklendiğinde ve bunları opencode'da görmek istediğinizde kullanışlıdır.
|
||||
|
||||
```bash
|
||||
opencode models --refresh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### run
|
||||
|
||||
Doğrudan bir istem ileterek opencode'u etkileşimli olmayan modda çalıştırın.
|
||||
|
||||
```bash
|
||||
opencode run [message..]
|
||||
```
|
||||
|
||||
Bu, komut dosyası oluşturma, otomasyon veya TUI'un tamamını başlatmadan hızlı bir yanıt istediğinizde kullanışlıdır. Örneğin.
|
||||
|
||||
```bash "opencode run"
|
||||
opencode run Explain the use of context in Go
|
||||
```
|
||||
|
||||
Ayrıca, her çalıştırmada MCP sunucusunun soğuk önyükleme sürelerini önlemek için çalışan bir `opencode serve` örneğine de ekleyebilirsiniz:
|
||||
|
||||
```bash
|
||||
# Start a headless server in one terminal
|
||||
opencode serve
|
||||
|
||||
# In another terminal, run commands that attach to it
|
||||
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
|
||||
```
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Kısa | Açıklama |
|
||||
| ---------------------------------------- | ---- | --------------------------------------------------------------------------------------------- |
|
||||
| <nobr><code>{"--command"}</code></nobr> | | Çalıştırılacak komut, args için mesajı kullanın |
|
||||
| <nobr><code>{"--continue"}</code></nobr> | `-c` | Son oturuma devam et |
|
||||
| <nobr><code>{"--session"}</code></nobr> | `-s` | Devam edecek oturum kimliği |
|
||||
| <nobr><code>{"--fork"}</code></nobr> | | Devam ederken oturumu fork'lar (`--continue` veya `--session` ile kullanın) |
|
||||
| <nobr><code>{"--share"}</code></nobr> | | Oturumu paylaşın |
|
||||
| <nobr><code>{"--model"}</code></nobr> | `-m` | provider/model biçiminde kullanılacak model |
|
||||
| <nobr><code>{"--agent"}</code></nobr> | | Kullanılacak temsilci |
|
||||
| <nobr><code>{"--file"}</code></nobr> | `-f` | Mesaja eklenecek dosya(lar) |
|
||||
| <nobr><code>{"--format"}</code></nobr> | | Biçim: varsayılan (biçimlendirilmiş) veya json (ham JSON olayları) |
|
||||
| <nobr><code>{"--title"}</code></nobr> | | Oturumun başlığı (değer sağlanmazsa kısaltılmış bilgi istemi kullanılır) |
|
||||
| <nobr><code>{"--attach"}</code></nobr> | | Çalışan bir opencode sunucusuna ekleyin (ör. http://localhost:4096) |
|
||||
| <nobr><code>{"--password"}</code></nobr> | `-p` | Temel kimlik doğrulama parolası (varsayılan: `OPENCODE_SERVER_PASSWORD`) |
|
||||
| <nobr><code>{"--username"}</code></nobr> | `-u` | Temel kimlik doğrulama kullanıcı adı (varsayılan: `OPENCODE_SERVER_USERNAME` veya `opencode`) |
|
||||
| <nobr><code>{"--dir"}</code></nobr> | | Çalıştırılacak dizin veya bağlanırken uzak sunucudaki yol |
|
||||
| <nobr><code>{"--variant"}</code></nobr> | | Model varyantı (sağlayıcıya özgü muhakeme düzeyi) |
|
||||
| <nobr><code>{"--thinking"}</code></nobr> | | Düşünme bloklarını göster |
|
||||
| <nobr><code>{"--port"}</code></nobr> | | Yerel sunucunun bağlantı noktası (varsayılan olarak rastgele bağlantı noktasıdır) |
|
||||
|
||||
---
|
||||
|
||||
### serve
|
||||
|
||||
API erişimi için headless bir opencode sunucusu başlatır. Tam HTTP arayüzü için [server docs](/docs/server) sayfasına bakın.
|
||||
|
||||
```bash
|
||||
opencode serve
|
||||
```
|
||||
|
||||
Bu, TUI arayüzü olmadan opencode işlevselliğine API erişimi sağlayan bir HTTP sunucusunu başlatır. HTTP temel kimlik doğrulamasını etkinleştirmek için `OPENCODE_SERVER_PASSWORD` öğesini ayarlayın (kullanıcı adı varsayılan olarak `opencode` şeklindedir).
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Tanım |
|
||||
| ---------------------------------------- | ------------------------------------------ |
|
||||
| <nobr><code>{"--port"}</code></nobr> | Dinlenecek bağlantı noktası |
|
||||
| <nobr><code>{"--hostname"}</code></nobr> | Dinlenecek ana bilgisayar adı |
|
||||
| <nobr><code>{"--mdns"}</code></nobr> | mDNS bulmayı etkinleştir |
|
||||
| <nobr><code>{"--cors"}</code></nobr> | CORS'a izin verecek ek tarayıcı kaynakları |
|
||||
|
||||
---
|
||||
|
||||
### session
|
||||
|
||||
opencode oturumlarını yönetin.
|
||||
|
||||
```bash
|
||||
opencode session [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### list
|
||||
|
||||
Tüm opencode oturumlarını listeleyin.
|
||||
|
||||
```bash
|
||||
opencode session list
|
||||
```
|
||||
|
||||
##### Bayraklar
|
||||
|
||||
| Bayrak | Kısa | Tanım |
|
||||
| ----------------------------------------- | ---- | -------------------------------------- |
|
||||
| <nobr><code>{"--max-count"}</code></nobr> | `-n` | En son N oturumla sınırla |
|
||||
| <nobr><code>{"--format"}</code></nobr> | | Çıkış formatı: tablo veya json (tablo) |
|
||||
|
||||
---
|
||||
|
||||
### stats
|
||||
|
||||
opencode oturumlarınız için belirteç kullanımı ve maliyet istatistiklerini gösterin.
|
||||
|
||||
```bash
|
||||
opencode stats
|
||||
```
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Açıklama |
|
||||
| --------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| <nobr><code>{"--days"}</code></nobr> | Son N güne ait istatistikleri göster (tüm zamanlar) |
|
||||
| <nobr><code>{"--tools"}</code></nobr> | Gösterilecek araç sayısı (tümü) |
|
||||
| <nobr><code>{"--models"}</code></nobr> | Model kullanım dökümünü göster (varsayılan olarak gizlidir). En üstteki N'yi göstermek için bir sayı iletin |
|
||||
| <nobr><code>{"--project"}</code></nobr> | Projeye göre filtrele (tüm projeler, boş değer: mevcut proje) |
|
||||
|
||||
---
|
||||
|
||||
### export
|
||||
|
||||
Oturum verilerini JSON olarak dışa aktarın.
|
||||
|
||||
```bash
|
||||
opencode export [sessionID]
|
||||
```
|
||||
|
||||
Bir oturum kimliği sağlamazsanız mevcut oturumlar arasından seçim yapmanız istenir.
|
||||
|
||||
---
|
||||
|
||||
### import
|
||||
|
||||
Bir JSON dosyasından veya opencode paylaşımından URL oturum verilerini içe aktarın.
|
||||
|
||||
```bash
|
||||
opencode import <file>
|
||||
```
|
||||
|
||||
Yerel bir dosyadan veya opencode paylaşımından (URL) içe aktarabilirsiniz.
|
||||
|
||||
```bash
|
||||
opencode import session.json
|
||||
opencode import https://opncd.ai/s/abc123
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### web
|
||||
|
||||
Web arayüzüyle başsız bir opencode sunucusu başlatın.
|
||||
|
||||
```bash
|
||||
opencode web
|
||||
```
|
||||
|
||||
Bu, bir HTTP sunucusunu başlatır ve bir web arayüzü aracılığıyla opencode'a erişmek için bir web tarayıcısı açar. HTTP temel kimlik doğrulamasını etkinleştirmek için `OPENCODE_SERVER_PASSWORD` öğesini ayarlayın (kullanıcı adı varsayılan olarak `opencode` şeklindedir).
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Tanım |
|
||||
| ---------------------------------------- | ------------------------------------------ |
|
||||
| <nobr><code>{"--port"}</code></nobr> | Dinlenecek bağlantı noktası |
|
||||
| <nobr><code>{"--hostname"}</code></nobr> | Dinlenecek ana bilgisayar adı |
|
||||
| <nobr><code>{"--mdns"}</code></nobr> | mDNS bulmayı etkinleştir |
|
||||
| <nobr><code>{"--cors"}</code></nobr> | CORS'a izin verecek ek tarayıcı kaynakları |
|
||||
|
||||
---
|
||||
|
||||
### acp
|
||||
|
||||
Bir ACP (Ajan İstemci Protokolü) sunucusu başlatın.
|
||||
|
||||
```bash
|
||||
opencode acp
|
||||
```
|
||||
|
||||
Bu komut, nd-JSON kullanarak stdin/stdout aracılığıyla iletişim kuran bir ACP sunucusunu başlatır.
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Açıklama |
|
||||
| ---------------------------------------- | ------------------- |
|
||||
| <nobr><code>{"--cwd"}</code></nobr> | Çalışma dizini |
|
||||
| <nobr><code>{"--port"}</code></nobr> | Dinlenecek port |
|
||||
| <nobr><code>{"--hostname"}</code></nobr> | Dinlenecek host adı |
|
||||
|
||||
---
|
||||
|
||||
### uninstall
|
||||
|
||||
opencode'u kaldırın ve ilgili tüm dosyaları kaldırın.
|
||||
|
||||
```bash
|
||||
opencode uninstall
|
||||
```
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Kısa | Tanım |
|
||||
| ------------------------------------------- | ---- | ----------------------------------------------- |
|
||||
| <nobr><code>{"--keep-config"}</code></nobr> | `-c` | Yapılandırma dosyalarını sakla |
|
||||
| <nobr><code>{"--keep-data"}</code></nobr> | `-d` | Oturum verilerini ve anlık görüntüleri saklayın |
|
||||
| <nobr><code>{"--dry-run"}</code></nobr> | | Nelerin kaldırılmadan kaldırılacağı göster |
|
||||
| <nobr><code>{"--force"}</code></nobr> | `-f` | Onay istemlerini atla |
|
||||
|
||||
---
|
||||
|
||||
### upgrade
|
||||
|
||||
opencode'u en son sürüme veya belirli bir sürüme günceller.
|
||||
|
||||
```bash
|
||||
opencode upgrade [target]
|
||||
```
|
||||
|
||||
En son sürüme yükseltmek için.
|
||||
|
||||
```bash
|
||||
opencode upgrade
|
||||
```
|
||||
|
||||
Belirli bir sürüme yükseltmek için:
|
||||
|
||||
```bash
|
||||
opencode upgrade v0.1.48
|
||||
```
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Kısa | Açıklama |
|
||||
| -------------------------------------- | ---- | ------------------------------------------------------ |
|
||||
| <nobr><code>{"--method"}</code></nobr> | `-m` | Kullanılan kurulum yöntemi: curl, npm, pnpm, bun, brew |
|
||||
|
||||
---
|
||||
|
||||
## Global bayraklar
|
||||
|
||||
opencode CLI aşağıdaki global bayrakları destekler.
|
||||
|
||||
| Bayrak | Kısa | Tanım |
|
||||
| ------------------------------------------ | ---- | ---------------------------------------- |
|
||||
| <nobr><code>{"--help"}</code></nobr> | `-h` | Yardımı görüntüle |
|
||||
| <nobr><code>{"--version"}</code></nobr> | `-v` | Sürüm numarasını yazdır |
|
||||
| <nobr><code>{"--print-logs"}</code></nobr> | | Günlükleri stderr'e yazdır |
|
||||
| <nobr><code>{"--log-level"}</code></nobr> | | Günlük düzeyi (DEBUG, INFO, WARN, ERROR) |
|
||||
|
||||
---
|
||||
|
||||
## Ortam değişkenleri
|
||||
|
||||
opencode ortam değişkenleri kullanılarak yapılandırılabilir.
|
||||
|
||||
| Değişken | Tip | Açıklama |
|
||||
| ------------------------------------- | ------- | --------------------------------------------------------------------------- |
|
||||
| `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 |
|
||||
| `OPENCODE_DISABLE_PRUNE` | boolean | Eski verilerin temizlenmesini devre dışı bırak |
|
||||
| `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` | 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` | 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` | boolean | Uzak kaynaklardan model getirmeyi devre dışı bırakın |
|
||||
| `OPENCODE_FAKE_VCS` | string | Test amaçlı sahte VCS sağlayıcısı |
|
||||
| `OPENCODE_CLIENT` | string | Client kimliği (varsayılan: `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | boolean | Exa web arama araçlarını etkinleştir |
|
||||
| `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 |
|
||||
|
||||
---
|
||||
|
||||
### Deneysel
|
||||
|
||||
Bu ortam değişkenleri değişebilecek veya kaldırılabilecek deneysel özellikleri etkinleştirir.
|
||||
|
||||
| Değişken | Tip | Tanım |
|
||||
| ----------------------------------------------- | ------- | ------------------------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | boolean | Şemsiye bayrağa bağlı 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` | 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 |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | Dosya izleyiciyi devre dışı bırak |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | boolean | Deneysel Exa özelliklerini etkinleştirin |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | python dosyaları için TY LSP'yi etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Plan modunu etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTS` | boolean | Arka plan alt ajan görevlerini etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_EVENT_SYSTEM` | boolean | Deneysel olay sistemini etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_NATIVE_LLM` | boolean | Yerel LLM istek yolunu etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_PARALLEL` | boolean | Paralel web araması yürütmesini etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_SCOUT` | boolean | Scout alt ajanını etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_WORKSPACES` | boolean | Çalışma alanı desteğini etkinleştir |
|
||||
323
packages/web/src/content/docs/tr/commands.mdx
Normal file
323
packages/web/src/content/docs/tr/commands.mdx
Normal file
@@ -0,0 +1,323 @@
|
||||
---
|
||||
title: Komutlar
|
||||
description: Tekrarlanan görevler için özel komutlar oluşturulur.
|
||||
---
|
||||
|
||||
Özel komutlar, söz konusu komut TUI'da yürütüldüğünde çalıştırmak istediğiniz istemi belirtmenize olanak tanır.
|
||||
|
||||
```bash frame="none"
|
||||
/my-command
|
||||
```
|
||||
|
||||
Özel komutlar, `/init`, `/undo`, `/redo`, `/share`, `/help` gibi komutlara ek olarak sunulur. [Daha fazla bilgi](/docs/tui#commands).
|
||||
|
||||
---
|
||||
|
||||
## Komut dosyaları oluşturma
|
||||
|
||||
Özel komutları tanımlamak için `commands/` dizininde işaretleme dosyaları oluşturun.
|
||||
|
||||
`.opencode/commands/test.md` oluştur:
|
||||
|
||||
```md title=".opencode/commands/test.md"
|
||||
---
|
||||
description: Run tests with coverage
|
||||
agent: build
|
||||
model: anthropic/claude-3-5-sonnet-20241022
|
||||
---
|
||||
|
||||
Run the full test suite with coverage report and show any failures.
|
||||
Focus on the failing tests and suggest fixes.
|
||||
```
|
||||
|
||||
Ön madde komut özelliklerini tanımlar. İçerik şablon haline gelir.
|
||||
|
||||
`/` ve ardından komut adını yazarak komutu kullanın.
|
||||
|
||||
```bash frame="none"
|
||||
"/test"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
opencode işlemleri aracılığıyla veya `commands/` dizininde işaretleme dosyalarının oluşturulması özel komutlar ile yapılabilir.
|
||||
|
||||
---
|
||||
|
||||
### JSON
|
||||
|
||||
opencode [config](/docs/config)'deki `command` seçeneğini kullanın:
|
||||
|
||||
```json title="opencode.jsonc" {4-12}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"command": {
|
||||
// This becomes the name of the command
|
||||
"test": {
|
||||
// This is the prompt that will be sent to the LLM
|
||||
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
|
||||
// This is shown as the description in the TUI
|
||||
"description": "Run tests with coverage",
|
||||
"agent": "build",
|
||||
"model": "anthropic/claude-3-5-sonnet-20241022"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Artık bu komutu TUI'da çalıştırabilirsiniz:
|
||||
|
||||
```bash frame="none"
|
||||
/test
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Markdown
|
||||
|
||||
Markdown dosyalarını kullanarak komutları da tanımlayabilirsiniz. Bunları şuraya yerleştirin:
|
||||
|
||||
- Küresel: `~/.config/opencode/commands/`
|
||||
- Proje başına: `.opencode/commands/`
|
||||
|
||||
```markdown title="~/.config/opencode/commands/test.md"
|
||||
---
|
||||
description: Run tests with coverage
|
||||
agent: build
|
||||
model: anthropic/claude-3-5-sonnet-20241022
|
||||
---
|
||||
|
||||
Run the full test suite with coverage report and show any failures.
|
||||
Focus on the failing tests and suggest fixes.
|
||||
```
|
||||
|
||||
Markdown dosyasının adı komut adı olur. Örneğin, `test.md` şunu sağlar:
|
||||
sen koşuyorsun:
|
||||
|
||||
```bash frame="none"
|
||||
/test
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## İstem yapılandırması
|
||||
|
||||
Özel komut istemleri birçok özel yer tutucuyu ve sözdizimini destekler.
|
||||
|
||||
---
|
||||
|
||||
### Argümanlar
|
||||
|
||||
`$ARGUMENTS` yer tutucusunu kullanarak komutlara argümanları iletin.
|
||||
|
||||
```md title=".opencode/commands/component.md"
|
||||
---
|
||||
description: Create a new component
|
||||
---
|
||||
|
||||
Create a new React component named $ARGUMENTS with TypeScript support.
|
||||
Include proper typing and basic structure.
|
||||
```
|
||||
|
||||
Komutu bağımsız değişkenlerle çalıştırın:
|
||||
|
||||
```bash frame="none"
|
||||
/component Button
|
||||
```
|
||||
|
||||
Ve `$ARGUMENTS`, `Button` ile değiştirilecektir.
|
||||
|
||||
Konumsal parametreleri kullanarak bağımsız değişkenlere de erişebilirsiniz:
|
||||
|
||||
- `$1` - İlk argüman
|
||||
- `$2` - İkinci argüman
|
||||
- `$3` - Üçüncü argüman
|
||||
- Ve benzeri...
|
||||
|
||||
Örneğin:
|
||||
|
||||
```md title=".opencode/commands/create-file.md"
|
||||
---
|
||||
description: Create a new file with content
|
||||
---
|
||||
|
||||
Create a file named $1 in the directory $2
|
||||
with the following content: $3
|
||||
```
|
||||
|
||||
Komutu çalıştırın:
|
||||
|
||||
```bash frame="none"
|
||||
/create-file config.json src "{ \"key\": \"value\" }"
|
||||
```
|
||||
|
||||
Bu şunun yerini alır:
|
||||
|
||||
- `$1` ile `config.json`
|
||||
- `$2` ile `src`
|
||||
- `$3` ile `{ "key": "value" }`
|
||||
|
||||
---
|
||||
|
||||
### Shell output
|
||||
|
||||
İsteminize [bash command](/docs/tui#bash-commands) çıktısını enjekte etmek için \__!`command`_ kullanın.
|
||||
|
||||
Örneğin, test kapsamını analiz eden özel bir komut oluşturmak için:
|
||||
|
||||
```md title=".opencode/commands/analyze-coverage.md"
|
||||
---
|
||||
description: Analyze test coverage
|
||||
---
|
||||
|
||||
Here are the current test results:
|
||||
!`npm test`
|
||||
|
||||
Based on these results, suggest improvements to increase coverage.
|
||||
```
|
||||
|
||||
Or to review recent changes:
|
||||
|
||||
```md title=".opencode/commands/review-changes.md"
|
||||
---
|
||||
description: Review recent changes
|
||||
---
|
||||
|
||||
Recent git commits:
|
||||
!`git log --oneline -10`
|
||||
|
||||
Review these changes and suggest any improvements.
|
||||
```
|
||||
|
||||
Komutlar projenizin kök dizininde çalışır ve çıktıları istemin bir parçası olur.
|
||||
|
||||
---
|
||||
|
||||
### Dosya referansları
|
||||
|
||||
Komutunuza `@` ve ardından dosya adını kullanarak dosyaları ekleyin.
|
||||
|
||||
```md title=".opencode/commands/review-component.md"
|
||||
---
|
||||
description: Review component
|
||||
---
|
||||
|
||||
Review the component in @src/components/Button.tsx.
|
||||
Check for performance issues and suggest improvements.
|
||||
```
|
||||
|
||||
Dosya içeriği otomatik olarak istemde yer alır.
|
||||
|
||||
---
|
||||
|
||||
## Seçenekler
|
||||
|
||||
Yapılandırma seçeneklerine ayrıntılı olarak bakalım.
|
||||
|
||||
---
|
||||
|
||||
### Şablon
|
||||
|
||||
`template` seçeneği, komut yürütüldüğünde LLM'ye gönderilecek olan istemi tanımlar.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"command": {
|
||||
"test": {
|
||||
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes."
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu **gerekli** bir yapılandırma seçeneğidir.
|
||||
|
||||
---
|
||||
|
||||
### Açıklama
|
||||
|
||||
Komutun ne yaptığına ilişkin kısa bir açıklama sağlamak için `description` seçeneğini kullanın.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"command": {
|
||||
"test": {
|
||||
"description": "Run tests with coverage"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu, komutu yazdığınızda TUI içindeki açıklama olarak gösterilir.
|
||||
|
||||
---
|
||||
|
||||
### Ajan
|
||||
|
||||
İsteğe bağlı olarak bu komutu hangi [agent](/docs/agents)'nin yürütmesi gerektiğini belirtmek için `agent` yapılandırmasını kullanın.
|
||||
Bu bir [subagent](/docs/agents/#subagents) ise, komut varsayılan olarak bir alt aracı çağrısını tetikleyecektir.
|
||||
Bu davranışı devre dışı bırakmak için `subtask` öğesini `false` olarak ayarlayın.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"command": {
|
||||
"review": {
|
||||
"agent": "plan"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu **isteğe bağlı** bir yapılandırma seçeneğidir. Belirtilmemişse, varsayılan olarak mevcut temsilciniz kullanılır.
|
||||
|
||||
---
|
||||
|
||||
### Subtask
|
||||
|
||||
Komutu bir [subagent](/docs/agents/#subagents) çağrısını tetiklemeye zorlamak için `subtask` boolean'ını kullanın.
|
||||
Bu, komutun birincil bağlamınızı kirletmemesini ve aracıyı bir alt aracı olarak davranmaya **zorlamasını** istiyorsanız kullanışlıdır.
|
||||
`mode`, [agent](/docs/agents) yapılandırmasında `primary` olarak ayarlanmış olsa bile.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"command": {
|
||||
"analyze": {
|
||||
"subtask": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu **isteğe bağlı** bir yapılandırma seçeneğidir.
|
||||
|
||||
---
|
||||
|
||||
### Modeli
|
||||
|
||||
Bu parçanın varsayılan kodu geçersiz için `model` kontrolünü kullanın.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"command": {
|
||||
"analyze": {
|
||||
"model": "anthropic/claude-3-5-sonnet-20241022"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu **isteğe bağlı** bir yapılandırma seçeneğidir.
|
||||
|
||||
---
|
||||
|
||||
## Yerleşik
|
||||
|
||||
opencode, `/init`, `/undo`, `/redo`, `/share`, `/help` gibi çeşitli yerleşik komutlar içerir; [learn more](/docs/tui#commands).
|
||||
|
||||
:::note
|
||||
Özel komutlar yerleşik komutları geçersiz kılabilir.
|
||||
:::
|
||||
|
||||
Aynı adda özel bir komut tanımlarsanız yerleşik komutu geçersiz kılar.
|
||||
687
packages/web/src/content/docs/tr/config.mdx
Normal file
687
packages/web/src/content/docs/tr/config.mdx
Normal file
@@ -0,0 +1,687 @@
|
||||
---
|
||||
title: Yapılandırma
|
||||
description: opencode JSON yapılandırması kullanır.
|
||||
---
|
||||
|
||||
opencode'u JSON yapılandırma dosyası kullanarak yapılandırabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Format
|
||||
|
||||
opencode hem **JSON** hem de **JSONC** (JSON Yorumlarla birlikte) formatlarını destekler.
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
// Theme configuration
|
||||
"theme": "opencode",
|
||||
"model": "anthropic/claude-sonnet-4-5",
|
||||
"autoupdate": true,
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Konumlar
|
||||
|
||||
Yapılandırmanızı birkaç farklı konuma yerleştirebilirsiniz ve bunların
|
||||
farklı öncelik sırası vardır.
|
||||
|
||||
:::note
|
||||
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, nihai yapılandırma üç ayarı da içerecektir.
|
||||
|
||||
---
|
||||
|
||||
### Öncelik sırası
|
||||
|
||||
Yapılandırma kaynakları bu sırayla yüklenir (sonraki kaynaklar öncekileri geçersiz kılar):
|
||||
|
||||
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.
|
||||
|
||||
:::note
|
||||
`.opencode` ve `~/.config/opencode` dizinleri alt dizinler için **çoğul adlar** kullanır: `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/` ve `themes/`. Tekil adlar (örneğin, `agent/`) da geriye dönük uyumluluk açısından desteklenir.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Uzak
|
||||
|
||||
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.
|
||||
|
||||
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:
|
||||
|
||||
```json title="Remote config from .well-known/opencode"
|
||||
{
|
||||
"mcp": {
|
||||
"jira": {
|
||||
"type": "remote",
|
||||
"url": "https://jira.example.com/mcp",
|
||||
"enabled": false
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Yerel yapılandırmanızda belirli sunucuları etkinleştirebilirsiniz:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mcp": {
|
||||
"jira": {
|
||||
"type": "remote",
|
||||
"url": "https://jira.example.com/mcp",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Global
|
||||
|
||||
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.
|
||||
|
||||
Genel yapılandırma, uzak kurumsal varsayılanları geçersiz kılar.
|
||||
|
||||
---
|
||||
|
||||
### Proje başına
|
||||
|
||||
Proje kökünüze `opencode.json` ekleyin. Proje yapılandırması, standart yapılandırma dosyaları arasında en yüksek önceliğe sahiptir; hem genel hem de uzak yapılandırmaları geçersiz kılar.
|
||||
|
||||
:::tip
|
||||
Projeye özel yapılandırmayı projenizin köküne yerleştirin.
|
||||
:::
|
||||
|
||||
opencode başlatıldığında geçerli dizinde bir yapılandırma dosyası arar veya en yakın Git dizinine gider.
|
||||
|
||||
Bunun Git'te kontrol edilmesi de güvenlidir ve global olanla aynı şemayı kullanır.
|
||||
|
||||
---
|
||||
|
||||
### Özel yol
|
||||
|
||||
`OPENCODE_CONFIG` ortam değişkenini kullanarak özel bir yapılandırma dosyası yolu belirtin.
|
||||
|
||||
```bash
|
||||
export OPENCODE_CONFIG=/path/to/my/custom-config.json
|
||||
opencode run "Hello world"
|
||||
```
|
||||
|
||||
Özel yapılandırma genel ve proje yapılandırmaları arasında öncelik sırasına göre yüklenir.
|
||||
|
||||
---
|
||||
|
||||
### Özel dizin
|
||||
|
||||
`OPENCODE_CONFIG_DIR` kullanarak özel bir yapılandırma dizini belirtin
|
||||
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.
|
||||
|
||||
```bash
|
||||
export OPENCODE_CONFIG_DIR=/path/to/my/config-directory
|
||||
opencode run "Hello world"
|
||||
```
|
||||
|
||||
Özel dizin, genel yapılandırma ve `.opencode` dizinlerinden sonra yüklenir, böylece bunların ayarlarını **geçersiz kılabilir**.
|
||||
|
||||
---
|
||||
|
||||
## Şema
|
||||
|
||||
Yapılandırma dosyası [**`opencode.ai/config.json`**](https://opencode.ai/config.json)'da tanımlanan bir şemaya sahiptir.
|
||||
|
||||
Editörünüz şemaya göre doğrulama ve otomatik tamamlama yapabilmelidir.
|
||||
|
||||
---
|
||||
|
||||
### TUI
|
||||
|
||||
TUI'ye özgü ayarları `tui` seçeneği aracılığıyla yapılandırabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"tui": {
|
||||
"scroll_speed": 3,
|
||||
"scroll_acceleration": {
|
||||
"enabled": true
|
||||
},
|
||||
"diff_style": "auto"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Mevcut seçenekler:
|
||||
|
||||
- `scroll_acceleration.enabled` - MacOS tarzı kaydırma hızlandırmayı etkinleştirin. **`scroll_speed`'ye göre önceliklidir.**
|
||||
- `scroll_speed` - Özel kaydırma hızı çarpanı (varsayılan: `3`, minimum: `1`). `scroll_acceleration.enabled` `true` ise dikkate alınmaz.
|
||||
- `diff_style` - Fark oluşturmayı kontrol edin. `"auto"` terminal genişliğine uyum sağlar, `"stacked"` her zaman tek sütunu gösterir.
|
||||
|
||||
[TUI kullanımı hakkında daha fazla bilgi](/docs/tui).
|
||||
|
||||
---
|
||||
|
||||
### Sunucu
|
||||
|
||||
`opencode serve` ve `opencode web` komutları için sunucu ayarlarını `server` seçeneği aracılığıyla yapılandırabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"server": {
|
||||
"port": 4096,
|
||||
"hostname": "0.0.0.0",
|
||||
"mdns": true,
|
||||
"mdnsDomain": "myproject.local",
|
||||
"cors": ["http://localhost:5173"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Mevcut seçenekler:
|
||||
|
||||
- `port` - Dinlenecek port.
|
||||
- `hostname` - Dinlenecek ana bilgisayar adı. `mdns` etkinleştirildiğinde ve hiçbir ana bilgisayar adı ayarlanmadığında, varsayılan değer `0.0.0.0` olur.
|
||||
- `mdns` - mDNS hizmet bulmayı etkinleştirin. Bu, ağdaki diğer cihazların opencode sunucunuzu keşfetmesine olanak tanır.
|
||||
- `mdnsDomain` - mDNS hizmeti için özel alan adı. Varsayılan olarak `opencode.local` şeklindedir. Aynı ağda birden fazla örneği çalıştırmak için kullanışlıdır.
|
||||
- `cors` - Tarayıcı tabanlı bir istemciden HTTP sunucusunu kullanırken CORS'ye izin verecek ek kaynaklar. Değerler tam kaynaklar olmalıdır (şema + ana bilgisayar + isteğe bağlı bağlantı noktası), örneğin `https://app.example.com`.
|
||||
|
||||
[Sunucu hakkında daha fazla bilgi](/docs/server).
|
||||
|
||||
---
|
||||
|
||||
### Araçlar
|
||||
|
||||
Bir LLM'nin kullanabileceği araçları `tools` seçeneği aracılığıyla yönetebilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"tools": {
|
||||
"write": false,
|
||||
"bash": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Araçlar hakkında daha fazla bilgi](/docs/tools).
|
||||
|
||||
---
|
||||
|
||||
### Modeller
|
||||
|
||||
opencode yapılandırmanızda kullanmak istediğiniz sağlayıcıları ve modelleri `provider`, `model` ve `small_model` seçenekleri aracılığıyla yapılandırabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {},
|
||||
"model": "anthropic/claude-sonnet-4-5",
|
||||
"small_model": "anthropic/claude-haiku-4-5"
|
||||
}
|
||||
```
|
||||
|
||||
`small_model` seçeneği, başlık oluşturma gibi hafif görevler için ayrı bir model yapılandırır. Varsayılan olarak opencode, sağlayıcınızda mevcutsa daha ucuz bir model kullanmaya çalışır, aksi takdirde ana modelinize geri döner.
|
||||
|
||||
Sağlayıcı seçenekleri `timeout` ve `setCacheKey` içerebilir:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"anthropic": {
|
||||
"options": {
|
||||
"timeout": 600000,
|
||||
"setCacheKey": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- `timeout` - Milisaniye cinsinden istek zaman aşımı (varsayılan: 300000). Devre dışı bırakmak için `false` olarak ayarlayın.
|
||||
- `setCacheKey` - Belirlenen sağlayıcı için her zaman bir önbellek anahtarının ayarlandığından emin olun.
|
||||
|
||||
Ayrıca [local models](/docs/models#local) ayarlayabilirsiniz. [Daha fazla bilgi](/docs/models).
|
||||
|
||||
---
|
||||
|
||||
#### Sağlayıcıya Özel Seçenekler
|
||||
|
||||
Bazı sağlayıcılar genel `timeout` ve `apiKey` ayarlarının ötesinde ek yapılandırma seçeneklerini destekler.
|
||||
|
||||
##### Amazon Bedrock
|
||||
|
||||
Amazon Bedrock, AWS'a özgü yapılandırmayı destekler:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"amazon-bedrock": {
|
||||
"options": {
|
||||
"region": "us-east-1",
|
||||
"profile": "my-aws-profile",
|
||||
"endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- `region` - Bedrock için AWS bölgesi (varsayılanı `AWS_REGION` env var veya `us-east-1`'dir)
|
||||
- `profile` - `~/.aws/credentials`'den AWS adlı profil (varsayılanı `AWS_PROFILE` env var'dır)
|
||||
- `endpoint` - VPC uç noktaları için özel uç nokta URL. Bu, AWS'e özgü terminolojiyi kullanan genel `baseURL` seçeneğinin takma adıdır. Her ikisi de belirtilirse `endpoint` öncelikli olur.
|
||||
|
||||
:::note
|
||||
Taşıyıcı belirteçleri (`AWS_BEARER_TOKEN_BEDROCK` veya `/connect`) profil tabanlı kimlik doğrulamaya göre önceliklidir. Ayrıntılar için [authentication precedence](/docs/providers#authentication-precedence)'ye bakın.
|
||||
:::
|
||||
|
||||
[Amazon Bedrock yapılandırması hakkında daha fazla bilgi](/docs/providers#amazon-bedrock).
|
||||
|
||||
---
|
||||
|
||||
### Temalar
|
||||
|
||||
opencode yapılandırmanızda kullanmak istediğiniz temayı `theme` seçeneği aracılığıyla yapılandırabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"theme": ""
|
||||
}
|
||||
```
|
||||
|
||||
[Daha fazla bilgi](/docs/themes).
|
||||
|
||||
---
|
||||
|
||||
### Agent'lar
|
||||
|
||||
`agent` seçeneği aracılığıyla özel görevlere yönelik özel agent'ları yapılandırabilirsiniz.
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"code-reviewer": {
|
||||
"description": "Reviews code for best practices and potential issues",
|
||||
"model": "anthropic/claude-sonnet-4-5",
|
||||
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
|
||||
"tools": {
|
||||
// Disable file modification tools for review-only agent
|
||||
"write": false,
|
||||
"edit": false,
|
||||
"bash": true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Agent'ları `~/.config/opencode/agents/` veya `.opencode/agents/` içindeki Markdown dosyalarıyla da tanımlayabilirsiniz. [Daha fazla bilgi](/docs/agents).
|
||||
|
||||
---
|
||||
|
||||
### Varsayılan agent
|
||||
|
||||
`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"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"default_agent": "plan"
|
||||
}
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### Paylaşma
|
||||
|
||||
[share](/docs/share) özelliğini `share` seçeneği aracılığıyla yapılandırabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"share": "manual"
|
||||
}
|
||||
```
|
||||
|
||||
Bu şunları gerektirir:
|
||||
|
||||
- `"manual"` - Komutlar aracılığıyla manuel paylaşıma izin ver (varsayılan)
|
||||
- `"auto"` - Yeni konuşmaları otomatik olarak paylaş
|
||||
- `"disabled"` - Paylaşımı tamamen devre dışı bırak
|
||||
|
||||
Varsayılan olarak paylaşım, `/share` komutunu kullanarak konuşmaları açıkça paylaşmanız gereken manuel moda ayarlanmıştır.
|
||||
|
||||
---
|
||||
|
||||
### Komutlar
|
||||
|
||||
`command` seçeneği aracılığıyla tekrarlanan görevler için özel komutlar yapılandırabilirsiniz.
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"command": {
|
||||
"test": {
|
||||
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
|
||||
"description": "Run tests with coverage",
|
||||
"agent": "build",
|
||||
"model": "anthropic/claude-haiku-4-5",
|
||||
},
|
||||
"component": {
|
||||
"template": "Create a new React component named $ARGUMENTS with TypeScript support.\nInclude proper typing and basic structure.",
|
||||
"description": "Create a new component",
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Komutları `~/.config/opencode/commands/` veya `.opencode/commands/` içindeki Markdown dosyalarıyla da tanımlayabilirsiniz. [Daha fazla bilgi](/docs/commands).
|
||||
|
||||
---
|
||||
|
||||
### Tuş atamaları
|
||||
|
||||
Tuş atamalarınızı `keybinds` seçeneği aracılığıyla özelleştirebilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"keybinds": {}
|
||||
}
|
||||
```
|
||||
|
||||
[Daha fazla bilgi](/docs/keybinds).
|
||||
|
||||
---
|
||||
|
||||
### Otomatik Güncelleme
|
||||
|
||||
opencode başlatıldığında yeni güncellemeleri otomatik olarak indirecektir. Bunu `autoupdate` seçeneğiyle devre dışı bırakabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"autoupdate": false
|
||||
}
|
||||
```
|
||||
|
||||
Güncelleme istemiyor ancak yeni bir sürüm mevcut olduğunda bilgilendirilmek istiyorsanız `autoupdate` öğesini `"notify"` olarak ayarlayın.
|
||||
Bunun yalnızca Homebrew gibi bir paket yöneticisi kullanılarak yüklenmemişse işe yaradığına dikkat edin.
|
||||
|
||||
---
|
||||
|
||||
### Biçimlendiriciler
|
||||
|
||||
Kod formatlayıcılarını `formatter` seçeneği aracılığıyla yapılandırabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {
|
||||
"prettier": {
|
||||
"disabled": true
|
||||
},
|
||||
"custom-prettier": {
|
||||
"command": ["npx", "prettier", "--write", "$FILE"],
|
||||
"environment": {
|
||||
"NODE_ENV": "development"
|
||||
},
|
||||
"extensions": [".js", ".ts", ".jsx", ".tsx"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Formatter'lar hakkında daha fazla bilgi](/docs/formatters).
|
||||
|
||||
---
|
||||
|
||||
### İ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.
|
||||
|
||||
Örneğin, `edit` ve `bash` araçlarının kullanıcı onayı gerektirdiğinden emin olmak için:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "ask",
|
||||
"bash": "ask"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[İzinler hakkında daha fazla bilgi](/docs/permissions).
|
||||
|
||||
---
|
||||
|
||||
### Sıkıştırma
|
||||
|
||||
Bağlam sıkıştırma davranışını `compaction` seçeneği aracılığıyla kontrol edebilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"compaction": {
|
||||
"auto": true,
|
||||
"prune": false,
|
||||
"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: `false`).
|
||||
- `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.
|
||||
|
||||
---
|
||||
|
||||
### İzleyici
|
||||
|
||||
Dosya izleyicinin yok sayma kalıplarını `watcher` seçeneği aracılığıyla yapılandırabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"watcher": {
|
||||
"ignore": ["node_modules/**", "dist/**", ".git/**"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Desenler glob sözdizimini takip eder. Gürültülü dizinleri dosya izlemenin dışında bırakmak için bunu kullanın.
|
||||
|
||||
---
|
||||
|
||||
### MCP sunucuları
|
||||
|
||||
Kullanmak istediğiniz MCP sunucularını `mcp` seçeneği aracılığıyla yapılandırabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {}
|
||||
}
|
||||
```
|
||||
|
||||
[Daha fazla bilgi](/docs/mcp-servers).
|
||||
|
||||
---
|
||||
|
||||
### Eklentiler
|
||||
|
||||
[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.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"plugin": ["opencode-helicone-session", "@my-org/custom-plugin"]
|
||||
}
|
||||
```
|
||||
|
||||
[Daha fazla bilgi](/docs/plugins).
|
||||
|
||||
---
|
||||
|
||||
### Talimatlar
|
||||
|
||||
Kullandığınız modele ilişkin talimatları `instructions` seçeneği aracılığıyla yapılandırabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
|
||||
}
|
||||
```
|
||||
|
||||
Bu, talimat dosyalarına giden bir dizi yolu ve glob desenini alır. [Kurallar hakkında daha fazla bilgiyi buradan edinin](/docs/rules).
|
||||
|
||||
---
|
||||
|
||||
### 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.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"disabled_providers": ["openai", "gemini"]
|
||||
}
|
||||
```
|
||||
|
||||
:::note
|
||||
`disabled_providers`, `enabled_providers`'ye göre önceliklidir.
|
||||
:::
|
||||
|
||||
`disabled_providers` seçeneği bir dizi sağlayıcı kimliğini kabul eder. Bir sağlayıcı devre dışı bırakıldığında:
|
||||
|
||||
- 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.
|
||||
|
||||
---
|
||||
|
||||
### Etkin sağlayıcılar
|
||||
|
||||
`enabled_providers` seçeneğini kullanarak sağlayıcıların izin verilenler listesini belirtebilirsiniz. Ayarlandığında yalnızca belirtilen sağlayıcılar etkinleştirilecek ve diğerleri göz ardı edilecektir.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"enabled_providers": ["anthropic", "openai"]
|
||||
}
|
||||
```
|
||||
|
||||
Bu, opencode'u tek tek devre dışı bırakmak yerine yalnızca belirli sağlayıcıları kullanacak şekilde kısıtlamak istediğinizde kullanışlıdır.
|
||||
|
||||
:::note
|
||||
`disabled_providers`, `enabled_providers`'ye göre önceliklidir.
|
||||
:::
|
||||
|
||||
Bir sağlayıcı hem `enabled_providers` hem de `disabled_providers`'de görünüyorsa, geriye dönük uyumluluk için `disabled_providers` önceliğe sahiptir.
|
||||
|
||||
---
|
||||
|
||||
### Deneysel
|
||||
|
||||
`experimental` anahtarı aktif olarak geliştirilmekte olan seçenekleri içerir.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"experimental": {}
|
||||
}
|
||||
```
|
||||
|
||||
:::caution
|
||||
Deneysel seçenekler kararlı değildir. Bildirim yapılmaksızın değişebilir veya kaldırılabilirler.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Değişkenler
|
||||
|
||||
Ortam değişkenlerine ve dosya içeriklerine referans vermek için yapılandırma dosyalarınızda değişken değiştirmeyi kullanabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Ortam değişkenleri
|
||||
|
||||
Ortam değişkenlerini değiştirmek için `{env:VARIABLE_NAME}` kullanın:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "{env:OPENCODE_MODEL}",
|
||||
"provider": {
|
||||
"anthropic": {
|
||||
"models": {},
|
||||
"options": {
|
||||
"apiKey": "{env:ANTHROPIC_API_KEY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ortam değişkeni ayarlanmamışsa boş bir dizeyle değiştirilecektir.
|
||||
|
||||
---
|
||||
|
||||
### Dosyalar
|
||||
|
||||
Bir dosyanın biçimini değiştirmek için `{file:path/to/file}` kullanın:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["./custom-instructions.md"],
|
||||
"provider": {
|
||||
"openai": {
|
||||
"options": {
|
||||
"apiKey": "{file:~/.secrets/openai-key}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Dosya yolları şunlar olabilir:
|
||||
|
||||
- Yapılandırma dosyası dizinine göre
|
||||
- Veya `/` veya `~` ile başlayan mutlak yollar
|
||||
|
||||
Bunlar aşağıdakiler için faydalıdır:
|
||||
|
||||
- API anahtarları gibi hassas verileri ayrı dosyalarda tutmak.
|
||||
- Yapılandırmanızı karmaşıklaştırmadan büyük talimat dosyaları içerir.
|
||||
- Birden fazla yapılandırma dosyasında ortak yapılandırma parçacıklarının paylaşılması.
|
||||
196
packages/web/src/content/docs/tr/custom-tools.mdx
Normal file
196
packages/web/src/content/docs/tr/custom-tools.mdx
Normal file
@@ -0,0 +1,196 @@
|
||||
---
|
||||
title: Özel Araçlar
|
||||
description: LLM'un opencode'da çağırabileceği araçları birleştirebilir.
|
||||
---
|
||||
|
||||
Özel araçlar, LLM'un konuşmalar sırasında arayabileceği, oluşturduğunuz işlevlerdir. opencode'un [built-in tools](/docs/tools) ile birlikte `read`, `write` ve `bash` gibi çalışırlar.
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
---
|
||||
|
||||
### Konum
|
||||
|
||||
Bunlar tanımlanabilir:
|
||||
|
||||
- Yerel olarak bunları projenizin `.opencode/tools/` dizinine yerleştirerek.
|
||||
- Veya küresel olarak bunları `~/.config/opencode/tools/` içine yerleştirerek.
|
||||
|
||||
---
|
||||
|
||||
### 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.
|
||||
|
||||
```ts title=".opencode/tools/database.ts" {1}
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
|
||||
export default tool({
|
||||
description: "Query the project database",
|
||||
args: {
|
||||
query: tool.schema.string().describe("SQL query to execute"),
|
||||
},
|
||||
async execute(args) {
|
||||
// Your database logic here
|
||||
return `Executed query: ${args.query}`
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
**dosya adı**, **araç adı** olur. Yukarıdakiler bir `database` aracı oluşturur.
|
||||
|
||||
---
|
||||
|
||||
#### Dosya başına birden fazla araç
|
||||
|
||||
Ayrıca tek bir dosyadan birden fazla aracı dışa aktarabilirsiniz. Her dışa aktarma, **`<filename>_<exportname>`** adıyla **ayrı bir araç** haline gelir:
|
||||
|
||||
```ts title=".opencode/tools/math.ts"
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
|
||||
export const add = tool({
|
||||
description: "Add two numbers",
|
||||
args: {
|
||||
a: tool.schema.number().describe("First number"),
|
||||
b: tool.schema.number().describe("Second number"),
|
||||
},
|
||||
async execute(args) {
|
||||
return args.a + args.b
|
||||
},
|
||||
})
|
||||
|
||||
export const multiply = tool({
|
||||
description: "Multiply two numbers",
|
||||
args: {
|
||||
a: tool.schema.number().describe("First number"),
|
||||
b: tool.schema.number().describe("Second number"),
|
||||
},
|
||||
async execute(args) {
|
||||
return args.a * args.b
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
```ts "tool.schema"
|
||||
args: {
|
||||
query: tool.schema.string().describe("SQL query to execute")
|
||||
}
|
||||
```
|
||||
|
||||
Ayrıca [Zod](https://zod.dev) öğesini doğrudan içe aktarabilir ve düz bir nesne döndürebilirsiniz:
|
||||
|
||||
```ts {6}
|
||||
import { z } from "zod"
|
||||
|
||||
export default {
|
||||
description: "Tool description",
|
||||
args: {
|
||||
param: z.string().describe("Parameter description"),
|
||||
},
|
||||
async execute(args, context) {
|
||||
// Tool implementation
|
||||
return "result"
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Bağlam
|
||||
|
||||
Araçlar geçerli oturumla ilgili bağlamı alır:
|
||||
|
||||
```ts title=".opencode/tools/project.ts" {8}
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
|
||||
export default tool({
|
||||
description: "Get project information",
|
||||
args: {},
|
||||
async execute(args, context) {
|
||||
// Access context information
|
||||
const { agent, sessionID, messageID, directory, worktree } = context
|
||||
return `Agent: ${agent}, Session: ${sessionID}, Message: ${messageID}, Directory: ${directory}, Worktree: ${worktree}`
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
Oturum çalışma dizisi için `context.directory` kullanın.
|
||||
Git çalışma ağacı kökü için `context.worktree` kullanın.
|
||||
|
||||
---
|
||||
|
||||
## Örnekler
|
||||
|
||||
### Python ile araç yazma
|
||||
|
||||
Araçlarınızı dilediğiniz dilde yazabilirsiniz. İşte Python kullanarak iki sayıyı toplayan bir örnek.
|
||||
|
||||
Öncelikle aracı bir Python betiği olarak oluşturun:
|
||||
|
||||
```python title=".opencode/tools/add.py"
|
||||
import sys
|
||||
|
||||
a = int(sys.argv[1])
|
||||
b = int(sys.argv[2])
|
||||
print(a + b)
|
||||
```
|
||||
|
||||
Ardından onu çağıran araç tanımını oluşturun:
|
||||
|
||||
```ts title=".opencode/tools/python-add.ts" {10}
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
import path from "path"
|
||||
|
||||
export default tool({
|
||||
description: "Add two numbers using Python",
|
||||
args: {
|
||||
a: tool.schema.number().describe("First number"),
|
||||
b: tool.schema.number().describe("Second number"),
|
||||
},
|
||||
async execute(args, context) {
|
||||
const script = path.join(context.worktree, ".opencode/tools/add.py")
|
||||
const result = await Bun.$`python3 ${script} ${args.a} ${args.b}`.text()
|
||||
return result.trim()
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
Burada Python betiğini çalıştırmak için [`Bun.$`](https://bun.com/docs/runtime/shell) yardımcı programını kullanıyoruz.
|
||||
78
packages/web/src/content/docs/tr/ecosystem.mdx
Normal file
78
packages/web/src/content/docs/tr/ecosystem.mdx
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
title: Ekosistem
|
||||
description: OpenCode ile geliştirilen projeler ve entegrasyonlar.
|
||||
---
|
||||
|
||||
OpenCode üzerine inşa edilmiş topluluk projeleri koleksiyonu.
|
||||
|
||||
:::note
|
||||
OpenCode ile ilgili projenizi bu listeye eklemek ister misiniz? Bir PR gönderin.
|
||||
:::
|
||||
|
||||
Ayrıca ekosistemi ve topluluğu bir araya getiren [awesome-opencode](https://github.com/awesome-opencode/awesome-opencode) ve [opencode.cafe](https://opencode.cafe) adreslerine de göz atabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Eklentiler
|
||||
|
||||
| İsim | Açıklama |
|
||||
| -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/daytonaio/daytona/tree/main/libs/opencode-plugin) | OpenCode oturumlarını, git senkronizasyonu ve canlı önizlemelerle izole Daytona sanal alanlarında otomatik olarak çalıştırın |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | İstek gruplaması için Helicone oturum başlıklarını otomatik olarak ekleyin |
|
||||
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | Arama araçlarıyla TypeScript/Svelte türlerini dosya okumalarına otomatik olarak enjekte edin |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | API kredisi yerine ChatGPT Plus/Pro aboneliğinizi kullanın |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | API faturalandırması yerine mevcut Gemini planınızı kullanın |
|
||||
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | API faturalandırması yerine Antigravity'nin ücretsiz modellerini kullanın |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Sığ klonlar ve otomatik atanan portlarla çok dallı devcontainer izolasyonu |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Arama desteği ve daha sağlam API işleme özelliğiyle Google Antigravity OAuth Eklentisi |
|
||||
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Eski araç çıktılarını budayarak token kullanımını optimize edin |
|
||||
| [opencode-vibeguard](https://github.com/inkdust2021/opencode-vibeguard) | LLM çağrılarından önce sırları/kişisel verileri VibeGuard tarzı yer tutucularla gizleyin; yerel olarak geri yükleyin |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Desteklenen sağlayıcılar için Google kaynaklı stil ile yerel web araması desteği ekleyin |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Yapay zeka aracılarının bir PTY'de arka plan işlemlerini çalıştırmasına ve onlara etkileşimli girdi göndermesine olanak tanır |
|
||||
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Etkileşimli olmayan kabuk komutları için talimatlar - TTY bağımlı işlemlerden kaynaklanan takılmaları önler |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Wakatime ile OpenCode kullanımını takip edin |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | LLM'ler tarafından üretilen markdown tablolarını temizleyin |
|
||||
| [opencode-morph-plugin](https://github.com/morphllm/opencode-morph-plugin) | Fast Apply düzenleme, WarpGrep kod tabanı araması ve Morph ile bağlam sıkıştırma |
|
||||
| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Arka plan aracıları, hazır LSP/AST/MCP araçları, seçilmiş aracılar, Claude Code uyumlu |
|
||||
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | OpenCode oturumları için masaüstü bildirimleri ve sesli uyarılar |
|
||||
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | İzin, tamamlanma ve hata olayları için masaüstü bildirimleri ve sesli uyarılar |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | OpenCode bağlamına dayalı yapay zeka destekli otomatik Zellij oturum isimlendirmesi |
|
||||
| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | OpenCode aracılarının, beceri keşfi ve enjeksiyonu ile istemleri talep üzerine tembel yüklemesine (lazy load) izin verin |
|
||||
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | Supermemory kullanarak oturumlar arası kalıcı hafıza |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Görsel not alma ve özel/çevrimdışı paylaşım ile etkileşimli plan incelemesi |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | opencode /commands komutlarını, ayrıntılı akış kontrolü ile güçlü bir orkestrasyon sistemine genişletin |
|
||||
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | Launchd (Mac) veya systemd (Linux) kullanarak cron sözdizimi ile tekrarlayan işler planlayın |
|
||||
| [micode](https://github.com/vtemian/micode) | Oturum sürekliliği ile Yapılandırılmış Beyin Fırtınası → Planlama → Uygulama iş akışı |
|
||||
| [octto](https://github.com/vtemian/octto) | Çok sorulu formlarla yapay zeka beyin fırtınası için etkileşimli tarayıcı arayüzü |
|
||||
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | Asenkron delegasyon ve bağlam kalıcılığına sahip Claude Code tarzı arka plan aracıları |
|
||||
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | OpenCode için yerel işletim sistemi bildirimleri – görevlerin ne zaman tamamlandığını bilin |
|
||||
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | Paketlenmiş çoklu aracı orkestrasyon donanımı – 16 bileşen, tek kurulum |
|
||||
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | OpenCode için sıfır sürtünmeli git çalışma ağaçları (worktrees) |
|
||||
| [opencode-sentry-monitor](https://github.com/stolinski/opencode-sentry-monitor) | Sentry AI Monitoring ile yapay zeka aracılarınızı izleyin ve hatalarını ayıklayın |
|
||||
|
||||
---
|
||||
|
||||
## Projeler
|
||||
|
||||
| İsim | Açıklama |
|
||||
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | SDK üzerine inşa edilmiş, OpenCode oturumlarını kontrol eden Discord botu |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | API üzerine inşa edilmiş, editör farkındalıklı istemler için Neovim eklentisi |
|
||||
| [portal](https://github.com/hosenur/portal) | Tailscale/VPN üzerinden OpenCode için mobil öncelikli web arayüzü |
|
||||
| [opencode plugin template](https://github.com/zenobi-us/opencode-plugin-template/) | OpenCode eklentileri oluşturmak için şablon |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | opencode için Neovim ön yüzü - terminal tabanlı bir yapay zeka kodlama aracısı |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | @opencode-ai/sdk aracılığıyla OpenCode kullanmak için Vercel AI SDK sağlayıcısı |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | OpenCode için Web / Masaüstü Uygulaması ve VS Code Uzantısı |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | OpenCode'u Obsidian arayüzüne gömen Obsidian eklentisi |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | OpenCode tarafından desteklenen, Claude Cowork'e açık kaynaklı bir alternatif |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | Taşınabilir, izole profillere sahip OpenCode eklenti yöneticisi |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | OpenCode için Masaüstü, Web, Mobil ve Uzak İstemci Uygulaması |
|
||||
|
||||
---
|
||||
|
||||
## Aracılar
|
||||
|
||||
| İsim | Açıklama |
|
||||
| ----------------------------------------------------------------- | --------------------------------------------------------------------------- |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | Yapılandırılmış geliştirme için modüler yapay zeka aracıları ve komutları |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Gelişmiş iş akışları için yapılandırmalar, istemler, aracılar ve eklentiler |
|
||||
170
packages/web/src/content/docs/tr/enterprise.mdx
Normal file
170
packages/web/src/content/docs/tr/enterprise.mdx
Normal file
@@ -0,0 +1,170 @@
|
||||
---
|
||||
title: Kurumsal
|
||||
description: opencode'u kuruluşunuzda güvenli bir şekilde kullanma.
|
||||
---
|
||||
|
||||
import config from "../../../../config.mjs"
|
||||
export const email = `mailto:${config.email}`
|
||||
|
||||
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.
|
||||
|
||||
:::note
|
||||
opencode kodunuzu veya içerik verilerinizi saklamaz.
|
||||
:::
|
||||
|
||||
opencode Enterprise'ı kullanmaya başlamak için:
|
||||
|
||||
1. Ekibinizle dahili olarak bir deneme yapın.
|
||||
2. Fiyatlandırma ve uygulama seçeneklerini görüşmek için **<a href={email}>bize ulaşın</a>**.
|
||||
|
||||
---
|
||||
|
||||
## Deneme
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### Veri işleme
|
||||
|
||||
**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ştirilir.
|
||||
|
||||
Bu, güvendiğiniz bir sağlayıcıyı veya dahili bir sağlayıcıyı kullandığınız sürece
|
||||
AI ağ geçidi, opencode'u güvenli bir şekilde kullanabilirsiniz.
|
||||
|
||||
saklama alanının tek izolasyonuna bağlı `/share` özelliğidir.
|
||||
|
||||
---
|
||||
|
||||
#### 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.
|
||||
|
||||
Veriler şu anda CDN uç ağımız üzerinden sunuluyor ve kullanıcılarınızın yakınındaki uçta önbelleğe alınıyor.
|
||||
|
||||
Deneme süreniz için bunu devre dışı bırakmanızı öneririz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"share": "disabled"
|
||||
}
|
||||
```
|
||||
|
||||
[Paylaşım hakkında daha fazla bilgi](/docs/share).
|
||||
|
||||
---
|
||||
|
||||
### Kod sahipliği
|
||||
|
||||
**opencode tarafından üretilen tüm kodlara sahipsiniz.** Herhangi bir lisans kısıtlaması veya mülkiyet iddiası yoktur.
|
||||
|
||||
---
|
||||
|
||||
## Fiyatlandırma
|
||||
|
||||
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>**.
|
||||
|
||||
---
|
||||
|
||||
## Dağıtım
|
||||
|
||||
Deneme sürenizi tamamladıktan ve opencode'u şu adreste kullanmaya hazır olduğunuzda:
|
||||
kuruluşunuz hakkında görüşmek üzere **<a href={email}>bizimle iletişime geçebilirsiniz</a>**
|
||||
fiyatlandırma ve uygulama seçenekleri.
|
||||
|
||||
---
|
||||
|
||||
### Merkezi Yapılandırma
|
||||
|
||||
opencode'u tüm organizasyonunuz için tek bir merkezi yapılandırma kullanacak şekilde ayarlayabiliriz.
|
||||
|
||||
Bu merkezi yapılandırma, SSO sağlayıcınızla entegre olabilir ve tüm kullanıcıların yalnızca dahili AI ağ geçidinize erişmesini sağlar.
|
||||
|
||||
---
|
||||
|
||||
### SSO entegrasyonu
|
||||
|
||||
Merkezi yapılandırma aracılığıyla opencode, kimlik doğrulama için kuruluşunuzun SSO sağlayıcısıyla entegre olabilir.
|
||||
|
||||
Bu, opencode'un mevcut kimlik yönetimi sisteminiz aracılığıyla dahili AI ağ geçidiniz için kimlik bilgileri almasına olanak tanır.
|
||||
|
||||
---
|
||||
|
||||
### Dahili AI ağ geçidi
|
||||
|
||||
Merkezi yapılandırmayla opencode yalnızca dahili AI ağ geçidinizi kullanacak şekilde de yapılandırılabilir.
|
||||
|
||||
Ayrıca tüm isteklerin kuruluşunuzun onaylı altyapısından geçmesini sağlayarak diğer tüm AI sağlayıcılarını devre dışı bırakabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Kendi kendine barındırma
|
||||
|
||||
Verilerinizin asla silinmediğinden emin olmak için paylaşım sayfalarını devre dışı bırakmanızı öneririz.
|
||||
Kuruluşunuzda, bunları altyapınızda kendiniz barındırmanıza da yardımcı olabiliriz.
|
||||
|
||||
Bu şu anda yol haritamızda yer alıyor. İlgileniyorsanız **<a href={email}>bize bildirin</a>**.
|
||||
|
||||
---
|
||||
|
||||
## SSS
|
||||
|
||||
<details>
|
||||
<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>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.
|
||||
|
||||
Daha sonra fiyatlandırma ve uygulama seçeneklerini görüşmek için **<a href={email}>bizimle iletişime geçin</a>**.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Kurumsal fiyatlandırma nasıl çalışır?</summary>
|
||||
|
||||
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>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>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.
|
||||
|
||||
Özel kayıt defterinizle kimlik doğrulamayı ayarlamak için:
|
||||
|
||||
```bash
|
||||
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
|
||||
bunu alır.
|
||||
|
||||
:::caution
|
||||
opencode'u çalıştırmadan önce özel kayıt defterinde oturum açmalısınız.
|
||||
:::
|
||||
|
||||
Alternatif olarak, bir `.npmrc` dosyasını manuel olarak yapılandırabilirsiniz:
|
||||
|
||||
```bash title="~/.npmrc"
|
||||
registry=https://your-company.jfrog.io/api/npm/npm-virtual/
|
||||
//your-company.jfrog.io/api/npm/npm-virtual/:_authToken=${NPM_AUTH_TOKEN}
|
||||
```
|
||||
|
||||
Paketlerin kurumsal kayıt defterinizden yüklenebildiğinden emin olmak için geliştiricilerin opencode'u çalıştırmadan önce özel kayıt defterinde oturum açmaları gerekir.
|
||||
|
||||
</details>
|
||||
131
packages/web/src/content/docs/tr/formatters.mdx
Normal file
131
packages/web/src/content/docs/tr/formatters.mdx
Normal file
@@ -0,0 +1,131 @@
|
||||
---
|
||||
title: Biçimlendiriciler
|
||||
description: opencode dile özgü biçimlendiriciler kullanır.
|
||||
---
|
||||
|
||||
opencode, dosyaları dile özgü formatlayıcılar kullanılarak yazıldıktan veya düzenlendikten sonra otomatik olarak formatlar. Bu, oluşturulan kodun projenizin kod stillerine uymasını sağlar.
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
| 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 |
|
||||
| dfmt | .d | `dfmt` 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 `package.json` dosyasında `prettier` varsa, opencode bunu otomatik olarak kullanacaktır.
|
||||
|
||||
---
|
||||
|
||||
## Nasıl çalışır?
|
||||
|
||||
opencode bir dosyayı yazdığında veya düzenlediğinde:
|
||||
|
||||
1. Dosya uzantısını tüm etkin formatlayıcılara göre kontrol eder.
|
||||
2. Dosyada uygun biçimlendirici komutunu çalıştırır.
|
||||
3. Biçimlendirme değişikliklerini otomatik olarak uygular.
|
||||
|
||||
Bu işlem arka planda gerçekleşir ve kod stillerinizin herhangi bir manuel adım olmadan korunmasını sağlar.
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
Biçimlendiricileri opencode yapılandırmanızdaki `formatter` bölümü aracılığıyla özelleştirebilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {}
|
||||
}
|
||||
```
|
||||
|
||||
Her formatlayıcı yapılandırması aşağıdakileri destekler:
|
||||
|
||||
| Ö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 |
|
||||
| `environment` | object | Biçimlendiriciyi çalıştırırken ayarlanacak ortam değişkenleri |
|
||||
| `extensions` | string[] | Bu formatlayıcının işlemesi gereken dosya uzantıları |
|
||||
|
||||
Bazı örneklere bakalım.
|
||||
|
||||
---
|
||||
|
||||
### Biçimlendiricileri devre dışı bırakma
|
||||
|
||||
**tüm** biçimlendiricileri genel olarak devre dışı bırakmak için `formatter` değerini `false` olarak ayarlayın:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": false
|
||||
}
|
||||
```
|
||||
|
||||
**Belirli** bir biçimlendiriciyi devre dışı bırakmak için `disabled` değerini `true` olarak ayarlayın:
|
||||
|
||||
```json title="opencode.json" {5}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {
|
||||
"prettier": {
|
||||
"disabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Özel biçimlendiriciler
|
||||
|
||||
Komutu, ortam değişkenlerini ve dosya uzantılarını belirterek yerleşik biçimlendiricileri geçersiz kılabilir veya yenilerini ekleyebilirsiniz:
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {
|
||||
"prettier": {
|
||||
"command": ["npx", "prettier", "--write", "$FILE"],
|
||||
"environment": {
|
||||
"NODE_ENV": "development"
|
||||
},
|
||||
"extensions": [".js", ".ts", ".jsx", ".tsx"]
|
||||
},
|
||||
"custom-markdown-formatter": {
|
||||
"command": ["deno", "fmt", "$FILE"],
|
||||
"extensions": [".md"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Komuttaki **`$FILE` yer tutucusu**, biçimlendirilen dosyanın yolu ile değiştirilecektir.
|
||||
321
packages/web/src/content/docs/tr/github.mdx
Normal file
321
packages/web/src/content/docs/tr/github.mdx
Normal file
@@ -0,0 +1,321 @@
|
||||
---
|
||||
title: GitHub
|
||||
description: GitHub sorunlarında ve çekme isteklerinde opencode'u kullanın.
|
||||
---
|
||||
|
||||
opencode, GitHub iş akışınızla bütünleşir. Yorumunuzda `/opencode` veya `/oc`'den bahsedin; opencode, GitHub Actions çalıştırıcınızdaki görevleri yürütecektir.
|
||||
|
||||
---
|
||||
|
||||
## Ö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.
|
||||
- **Güvenli**: opencode, GitHub'ınızın çalıştırıcılarının içinde çalışır.
|
||||
|
||||
---
|
||||
|
||||
## Kurulum
|
||||
|
||||
GitHub deposundaki bir projede aşağıdaki komutu çalıştırın:
|
||||
|
||||
```bash
|
||||
opencode github install
|
||||
```
|
||||
|
||||
Bu size GitHub uygulamasını yükleme, iş akışını oluşturma ve gizli dizileri ayarlama adımlarında yol gösterecektir.
|
||||
|
||||
---
|
||||
|
||||
### Manuel Kurulum
|
||||
|
||||
Veya manuel olarak ayarlayabilirsiniz.
|
||||
|
||||
1. **GitHub uygulamasını yükleyin**
|
||||
|
||||
[**github.com/apps/opencode-agent**](https://github.com/apps/opencode-agent)'a gidin. Hedef depoya kurulu olduğundan emin olun.
|
||||
|
||||
2. **İş akışını ekleyin**
|
||||
|
||||
Aşağıdaki iş akışı dosyasını deponuzdaki `.github/workflows/opencode.yml`'a ekleyin. `model`'de uygun `env` ve gerekli API anahtarlarını ayarladığınızdan emin olun.
|
||||
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
opencode:
|
||||
if: |
|
||||
contains(github.event.comment.body, '/oc') ||
|
||||
contains(github.event.comment.body, '/opencode')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
||||
- name: Run OpenCode
|
||||
uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
# github_token: xxxx
|
||||
```
|
||||
|
||||
3. **API anahtarlarını gizli olarak saklayın**
|
||||
|
||||
Kuruluşunuzda veya projenizde **ayarlarda**, soldaki **Gizli bilgiler ve değişkenler**'i genişletin ve **Eylemler**'i seçin. Ve gerekli API anahtarlarını ekleyin.
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
- `model`: opencode ile kullanılacak model. `provider/model` biçimini alır. Bu **gerekli**.
|
||||
- `agent`: Kullanılacak aracı. Birincil ajan olmalı. Yapılandırmadan `default_agent`'ye veya bulunamazsa `"build"`'ye geri döner.
|
||||
- `share`: opencode hesabının paylaşılıp paylaşılmayacağı. Genel depolar için varsayılan olarak **true** olur.
|
||||
- `prompt`: Varsayılan çalışma geçersiz olduğundan dolayı özel istem. opencode'un işleme biçimini kişiselleştirmek için bunu kullanın.
|
||||
- `token`: Yorum oluşturma, değişiklik yapma ve çekme isteklerini açma gibi işlemleri gerçekleştirmek için isteğe bağlı GitHub erişim belirteci. Varsayılan olarak opencode, opencode GitHub Uygulamasındaki kurulum erişim belirtecini kullanır, bu nedenle taahhütler, yorumlar ve çekme istekleri uygulamadan geliyormuş gibi görünür.
|
||||
|
||||
Alternatif olarak, opencode GitHub'u yüklemeden GitHub Eylem çalıştırıcısının [built-in `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) akışını kullanabilirsiniz. İşinizde gerekli izinlere sahip olduğunuzdan emin olun:
|
||||
|
||||
```yaml
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
```
|
||||
|
||||
Tercih edilirse [personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)(PAT) de kullanabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Desteklenen Olaylar
|
||||
|
||||
opencode aşağıdaki GitHub olayları tarafından tetiklenebilir:
|
||||
|
||||
| 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. |
|
||||
| `issues` | Sayı açıldı veya düzenlendi | Sorunlar oluşturulduğunda veya değiştirildiğinde opencode'u otomatik olarak tetikleyin. `prompt` girişi gerektirir. |
|
||||
| `pull_request` | PR açıldı veya güncellendi | PR'ler açıldığında, senkronize edildiğinde veya yeniden açıldığında opencode'u otomatik olarak tetikleyin. Otomatik incelemeler için kullanışlıdır. |
|
||||
| `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. |
|
||||
|
||||
### Zamanlama Örneği
|
||||
|
||||
Otomatik görevleri gerçekleştirmek için opencode'u bir zamanlamaya göre çalıştırın:
|
||||
|
||||
```yaml title=".github/workflows/opencode-scheduled.yml"
|
||||
name: Scheduled OpenCode Task
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 9 * * 1" # Every Monday at 9am UTC
|
||||
|
||||
jobs:
|
||||
opencode:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Run OpenCode
|
||||
uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
prompt: |
|
||||
Review the codebase for any TODO comments and create a summary.
|
||||
If you find issues worth addressing, open an issue to track them.
|
||||
```
|
||||
|
||||
Zamanlanmış etkinlikler için, talimatların alınabileceği bir yorum bulunmadığından `prompt` girişi **gereklidir**. Zamanlanmış iş akışları, izin kontrolü yapılacak bir kullanıcı bağlamı olmadan çalışır; bu nedenle, opencode'un şubeler veya PR'ler oluşturmasını bekliyorsanız iş akışının `contents: write` ve `pull-requests: write` vermesi gerekir.
|
||||
|
||||
---
|
||||
|
||||
### Çekme İsteği Örneği
|
||||
|
||||
PR'leri açıldığında veya güncellendiğinde otomatik olarak inceleyin:
|
||||
|
||||
```yaml title=".github/workflows/opencode-review.yml"
|
||||
name: opencode-review
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened, ready_for_review]
|
||||
|
||||
jobs:
|
||||
review:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
pull-requests: read
|
||||
issues: read
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
persist-credentials: false
|
||||
- uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
use_github_token: true
|
||||
prompt: |
|
||||
Review this pull request:
|
||||
- Check for code quality issues
|
||||
- Look for potential bugs
|
||||
- Suggest improvements
|
||||
```
|
||||
|
||||
`pull_request` olaylar için, `prompt` sağlanmazsa, opencode varsayılan olarak çekme isteklerini inceler.
|
||||
|
||||
---
|
||||
|
||||
### Sorun Önceliklendirme Örneği
|
||||
|
||||
Yeni sorunları otomatik olarak önceliklendirin. Bu örnek, spam'i azaltmak için 30 günden eski hesapları filtreler:
|
||||
|
||||
```yaml title=".github/workflows/opencode-triage.yml"
|
||||
name: Issue Triage
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
steps:
|
||||
- name: Check account age
|
||||
id: check
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const user = await github.rest.users.getByUsername({
|
||||
username: context.payload.issue.user.login
|
||||
});
|
||||
const created = new Date(user.data.created_at);
|
||||
const days = (Date.now() - created) / (1000 * 60 * 60 * 24);
|
||||
return days >= 30;
|
||||
result-encoding: string
|
||||
|
||||
- uses: actions/checkout@v6
|
||||
if: steps.check.outputs.result == 'true'
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: anomalyco/opencode/github@latest
|
||||
if: steps.check.outputs.result == 'true'
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
prompt: |
|
||||
Review this issue. If there's a clear fix or relevant docs:
|
||||
- Provide documentation links
|
||||
- Add error handling guidance for code examples
|
||||
Otherwise, do not comment.
|
||||
```
|
||||
|
||||
`issues` olayları için, talimatların çıkarılacağı bir yorum olmadığından `prompt` girişi **gereklidir**.
|
||||
|
||||
---
|
||||
|
||||
## Özel istemler
|
||||
|
||||
opencode'un davranışını iş akışınız için özelleştirmek için varsayılan istemi geçersiz kılın.
|
||||
|
||||
```yaml title=".github/workflows/opencode.yml"
|
||||
- uses: anomalyco/opencode/github@latest
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-5
|
||||
prompt: |
|
||||
Review this pull request:
|
||||
- Check for code quality issues
|
||||
- Look for potential bugs
|
||||
- Suggest improvements
|
||||
```
|
||||
|
||||
Bu, projenizle ilgili spesifik inceleme kriterlerini, kodlama standartlarını veya odak alanlarını uygulamak için kullanışlıdır.
|
||||
|
||||
---
|
||||
|
||||
## Örnekler
|
||||
|
||||
GitHub'da opencode'u nasıl kullanabileceğinize dair bazı örnekleri burada bulabilirsiniz.
|
||||
|
||||
- **Bir sorunu açıklama**
|
||||
|
||||
Bu yorumu GitHub sayısına ekleyin.
|
||||
|
||||
```
|
||||
/opencode explain this issue
|
||||
```
|
||||
|
||||
opencode, tüm yorumlar da dahil olmak üzere ileti dizisinin tamamını okuyacak ve net bir açıklama ile yanıt verecektir.
|
||||
|
||||
- **Bir sorunu düzeltme**
|
||||
|
||||
In a GitHub issue, say:
|
||||
|
||||
```
|
||||
/opencode fix this
|
||||
```
|
||||
|
||||
Ve opencode yeni bir şube oluşturacak, değişiklikleri uygulayacak ve değişiklikleri içeren bir PR açacak.
|
||||
|
||||
- **PR'leri inceleyin ve değişiklik yapın**
|
||||
|
||||
GitHub PR'a aşağıdaki yorumu bırakın.
|
||||
|
||||
```
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
```
|
||||
|
||||
opencode istenen değişikliği uygulayacak ve aynı PR'ye uygulayacaktır.
|
||||
|
||||
- **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.
|
||||
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
```
|
||||
|
||||
Belirli satırlara yorum yaparken opencode şunları alır:
|
||||
- İncelenmekte olan dosyanın tamamı
|
||||
- Belirli kod satırları
|
||||
- Çevreleyen fark bağlamı
|
||||
- Satır numarası bilgisi
|
||||
|
||||
Bu, dosya yollarını veya satır numaralarını manuel olarak belirtmeye gerek kalmadan daha hedefli isteklere olanak tanır.
|
||||
195
packages/web/src/content/docs/tr/gitlab.mdx
Normal file
195
packages/web/src/content/docs/tr/gitlab.mdx
Normal file
@@ -0,0 +1,195 @@
|
||||
---
|
||||
title: GitLab
|
||||
description: GitLab sorunlarında ve birleştirme isteklerinde opencode'u kullanın.
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## GitLab CI
|
||||
|
||||
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).
|
||||
|
||||
---
|
||||
|
||||
### Özellikler
|
||||
|
||||
- **İş başına özel işlemleri kullanın**: opencode parçalarının kullanıma veya devre dışı bırakmak için opencode'u özel bir yapılandırma dizini ile yapılandırın; örneğin `./config/#custom-directory`.
|
||||
- **Minimum kurulum**: CI bileşeni opencode'u arka planda kurar; yalnızca opencode yapılandırmasını ve ilk istemi oluşturmanız gerekir.
|
||||
- **Esnek**: CI bileşeni, davranışını özelleştirmek için çeşitli girişleri destekler
|
||||
|
||||
---
|
||||
|
||||
### 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.
|
||||
|
||||
```yaml title=".gitlab-ci.yml"
|
||||
include:
|
||||
- component: $CI_SERVER_FQDN/nagyv/gitlab-opencode/opencode@2
|
||||
inputs:
|
||||
config_dir: ${CI_PROJECT_DIR}/opencode-config
|
||||
auth_json: $OPENCODE_AUTH_JSON # The variable name for your OpenCode authentication JSON
|
||||
command: optional-custom-command
|
||||
message: "Your prompt here"
|
||||
```
|
||||
|
||||
Daha fazla girdi ve bu bileşene yönelik kullanım durumları için [check out the docs](https://gitlab.com/explore/catalog/nagyv/gitlab-opencode).
|
||||
|
||||
---
|
||||
|
||||
## GitLab Duo
|
||||
|
||||
opencode, GitLab iş akışınızla bütünleşir.
|
||||
Bir yorumda `@opencode`'dan bahsedin; opencode, GitLab CI işlem hattınızdaki görevleri yürütecektir.
|
||||
|
||||
---
|
||||
|
||||
### Ö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 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.
|
||||
|
||||
---
|
||||
|
||||
### Yapılandırma
|
||||
|
||||
opencode, GitLab CI/CD işlem hattınızda çalışır; bunu ayarlamak için ihtiyacınız olacaklar:
|
||||
|
||||
:::tip
|
||||
Güncel talimatlar için [**GitLab docs**](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/)'a göz atın.
|
||||
:::
|
||||
|
||||
1. GitLab ortamınızı yapılandırın
|
||||
2. CI/CD'yi kurma
|
||||
3. Bir AI model sağlayıcısı API anahtarını gösterir
|
||||
4. Hizmet hesabı oluşturun
|
||||
5. CI/CD değişkenlerini yapılandırma
|
||||
6. Bir akış yapılandırma dosyası oluşturun; işte bir örnek:
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Akış yapılandırması</summary>
|
||||
|
||||
```yaml
|
||||
image: node:22-slim
|
||||
commands:
|
||||
- echo "Installing opencode"
|
||||
- npm install --global opencode-ai
|
||||
- echo "Installing glab"
|
||||
- export GITLAB_TOKEN=$GITLAB_TOKEN_OPENCODE
|
||||
- apt-get update --quiet && apt-get install --yes curl wget gpg git && rm --recursive --force /var/lib/apt/lists/*
|
||||
- curl --silent --show-error --location "https://raw.githubusercontent.com/upciti/wakemeops/main/assets/install_repository" | bash
|
||||
- apt-get install --yes glab
|
||||
- echo "Configuring glab"
|
||||
- echo $GITLAB_HOST
|
||||
- echo "Creating OpenCode auth configuration"
|
||||
- mkdir --parents ~/.local/share/opencode
|
||||
- |
|
||||
cat > ~/.local/share/opencode/auth.json << EOF
|
||||
{
|
||||
"anthropic": {
|
||||
"type": "api",
|
||||
"key": "$ANTHROPIC_API_KEY"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
- echo "Configuring git"
|
||||
- git config --global user.email "opencode@gitlab.com"
|
||||
- git config --global user.name "OpenCode"
|
||||
- echo "Testing glab"
|
||||
- glab issue list
|
||||
- echo "Running OpenCode"
|
||||
- |
|
||||
opencode run "
|
||||
You are an AI assistant helping with GitLab operations.
|
||||
|
||||
Context: $AI_FLOW_CONTEXT
|
||||
Task: $AI_FLOW_INPUT
|
||||
Event: $AI_FLOW_EVENT
|
||||
|
||||
Please execute the requested task using the available GitLab tools.
|
||||
Be thorough in your analysis and provide clear explanations.
|
||||
|
||||
<important>
|
||||
Please use the glab CLI to access data from GitLab. The glab CLI has already been authenticated. You can run the corresponding commands.
|
||||
|
||||
If you are asked to summarize an MR or issue or asked to provide more information then please post back a note to the MR/Issue so that the user can see it.
|
||||
You don't need to commit or push up changes, those will be done automatically based on the file changes you make.
|
||||
</important>
|
||||
"
|
||||
- git checkout --branch $CI_WORKLOAD_REF origin/$CI_WORKLOAD_REF
|
||||
- echo "Checking for git changes and pushing if any exist"
|
||||
- |
|
||||
if ! git diff --quiet || ! git diff --cached --quiet || [ --not --zero "$(git ls-files --others --exclude-standard)" ]; then
|
||||
echo "Git changes detected, adding and pushing..."
|
||||
git add .
|
||||
if git diff --cached --quiet; then
|
||||
echo "No staged changes to commit"
|
||||
else
|
||||
echo "Committing changes to branch: $CI_WORKLOAD_REF"
|
||||
git commit --message "Codex changes"
|
||||
echo "Pushing changes up to $CI_WORKLOAD_REF"
|
||||
git push https://gitlab-ci-token:$GITLAB_TOKEN@$GITLAB_HOST/gl-demo-ultimate-dev-ai-epic-17570/test-java-project.git $CI_WORKLOAD_REF
|
||||
echo "Changes successfully pushed"
|
||||
fi
|
||||
else
|
||||
echo "No git changes detected, skipping push"
|
||||
fi
|
||||
variables:
|
||||
- ANTHROPIC_API_KEY
|
||||
- GITLAB_TOKEN_OPENCODE
|
||||
- GITLAB_HOST
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
Ayrıntılı talimatlar için [GitLab CLI agents docs](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/)'a başvurabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Örnekler
|
||||
|
||||
GitLab'da opencode'u nasıl kullanabileceğinize dair bazı örnekleri burada bulabilirsiniz.
|
||||
|
||||
:::tip
|
||||
`@opencode`'dan farklı bir tetikleyici ifade kullanacak şekilde yapılandırabilirsiniz.
|
||||
:::
|
||||
|
||||
- **Bir sorunu açıklama**
|
||||
|
||||
Bu yorumu bir GitLab sayısına ekleyin.
|
||||
|
||||
```
|
||||
@opencode explain this issue
|
||||
```
|
||||
|
||||
opencode konuyu okuyacak ve net bir açıklama ile yanıt verecektir.
|
||||
|
||||
- **Bir sorunu düzeltme**
|
||||
|
||||
In a GitLab issue, say:
|
||||
|
||||
```
|
||||
@opencode fix this
|
||||
```
|
||||
|
||||
opencode yeni bir dal oluşturacak, değişiklikleri uygulayacak ve değişiklikleri içeren bir birleştirme isteği açacaktır.
|
||||
|
||||
- **Birleştirme isteklerini inceleme**
|
||||
|
||||
GitLab birleştirme isteğine aşağıdaki yorumu bırakın.
|
||||
|
||||
```
|
||||
@opencode review this merge request
|
||||
```
|
||||
|
||||
opencode, birleştirme isteğini inceleyecek ve geri bildirim sağlayacaktır.
|
||||
199
packages/web/src/content/docs/tr/go.mdx
Normal file
199
packages/web/src/content/docs/tr/go.mdx
Normal file
@@ -0,0 +1,199 @@
|
||||
---
|
||||
title: Go
|
||||
description: Açık kodlama modelleri için düşük maliyetli abonelik.
|
||||
---
|
||||
|
||||
import config from "../../../../config.mjs"
|
||||
export const console = config.console
|
||||
export const email = `mailto:${config.email}`
|
||||
|
||||
OpenCode Go, popüler açık kodlama modellerine güvenilir erişim sağlayan düşük maliyetli bir aboneliktir — **ilk ayınız için 5$**, sonrasında **aylık 10$**.
|
||||
|
||||
Go, OpenCode'daki diğer sağlayıcılar gibi çalışır. OpenCode Go'ya abone olur ve API anahtarınızı alırsınız. Bu **tamamen isteğe bağlıdır** ve OpenCode'u kullanmak için bunu kullanmanıza gerek yoktur.
|
||||
|
||||
Dünya çapında istikrarlı erişim için ABD, AB ve Singapur'da barındırılan modellerle temel olarak uluslararası kullanıcılar için tasarlanmıştır.
|
||||
|
||||
---
|
||||
|
||||
## Arka Plan
|
||||
|
||||
Açık modeller gerçekten çok iyi hale geldi. Artık kodlama görevleri için özel mülk modellere yakın bir performansa ulaşıyorlar. Ve birçok sağlayıcı onlara rekabetçi bir şekilde hizmet verebildiği için genellikle çok daha ucuzdurlar.
|
||||
|
||||
Ancak, bu modellere güvenilir, düşük gecikmeli erişim sağlamak zor olabilir. Sağlayıcılar kalite ve erişilebilirlik açısından farklılık gösterir.
|
||||
|
||||
:::tip
|
||||
OpenCode ile iyi çalışan seçili bir model ve sağlayıcı grubunu test ettik.
|
||||
:::
|
||||
|
||||
Bunu çözmek için birkaç şey yaptık:
|
||||
|
||||
1. Seçili bir grup açık modeli test ettik ve bu modelleri en iyi nasıl çalıştırabileceğimizi öğrenmek için ekipleriyle görüştük.
|
||||
2. Ardından, bunların doğru şekilde sunulduğundan emin olmak için birkaç sağlayıcıyla birlikte çalıştık.
|
||||
3. Son olarak, model/sağlayıcı kombinasyonunu kıyasladık (benchmark) ve gönül rahatlığıyla önerebileceğimiz bir liste oluşturduk.
|
||||
|
||||
OpenCode Go, bu modellere **ilk ayınız için 5$**, ardından **aylık 10$** karşılığında erişmenizi sağlar.
|
||||
|
||||
---
|
||||
|
||||
## Nasıl çalışır?
|
||||
|
||||
OpenCode Go, OpenCode'daki diğer sağlayıcılar gibi çalışır.
|
||||
|
||||
1. **<a href={console}>OpenCode Zen</a>**'e giriş yapın, Go'ya abone olun ve API anahtarınızı kopyalayın.
|
||||
2. TUI'de `/connect` komutunu çalıştırın, `OpenCode Go`yu seçin ve API anahtarınızı yapıştırın.
|
||||
3. Go üzerinden kullanabileceğiniz modellerin listesini görmek için TUI'de `/models` komutunu çalıştırın.
|
||||
|
||||
:::note
|
||||
Her çalışma alanından yalnızca bir üye OpenCode Go'ya abone olabilir.
|
||||
:::
|
||||
|
||||
Mevcut model listesi şunları içerir:
|
||||
|
||||
- **GLM-5**
|
||||
- **GLM-5.1**
|
||||
- **Kimi K2.5**
|
||||
- **Kimi K2.6**
|
||||
- **MiMo-V2.5**
|
||||
- **MiMo-V2.5-Pro**
|
||||
- **MiniMax M2.5**
|
||||
- **MiniMax M2.7**
|
||||
- **MiniMax M3**
|
||||
- **Qwen3.6 Plus**
|
||||
- **Qwen3.7 Plus**
|
||||
- **Qwen3.7 Max**
|
||||
- **DeepSeek V4 Pro**
|
||||
- **DeepSeek V4 Flash**
|
||||
|
||||
Test edip yenilerini ekledikçe model listesi değişebilir.
|
||||
|
||||
---
|
||||
|
||||
## Kullanım limitleri
|
||||
|
||||
OpenCode Go aşağıdaki limitleri içerir:
|
||||
|
||||
- **5 saatlik limit** — 12$ kullanım
|
||||
- **Haftalık limit** — 30$ kullanım
|
||||
- **Aylık limit** — 60$ kullanım
|
||||
|
||||
Limitler dolar değeri üzerinden belirlenmiştir. Bu, gerçek istek sayınızın kullandığınız modele bağlı olduğu anlamına gelir. DeepSeek V4 Flash gibi daha ucuz modeller daha fazla isteğe izin verirken, GLM-5.1 gibi yüksek maliyetli modeller daha azına izin verir.
|
||||
|
||||
Aşağıdaki tablo, tipik Go kullanım modellerine dayalı tahmini bir istek sayısı sunmaktadır:
|
||||
|
||||
| Model | 5 saatte bir istek | haftalık istek | aylık istek |
|
||||
| ----------------- | ------------------ | -------------- | ----------- |
|
||||
| GLM-5.1 | 880 | 2,150 | 4,300 |
|
||||
| GLM-5 | 1,150 | 2,880 | 5,750 |
|
||||
| Kimi K2.5 | 1,850 | 4,630 | 9,250 |
|
||||
| Kimi K2.6 | 1,150 | 2,880 | 5,750 |
|
||||
| MiMo-V2.5 | 30,100 | 75,200 | 150,400 |
|
||||
| MiMo-V2.5-Pro | 3,250 | 8,150 | 16,300 |
|
||||
| MiniMax M3 | 3,200 | 8,000 | 16,000 |
|
||||
| MiniMax M2.7 | 3,400 | 8,500 | 17,000 |
|
||||
| MiniMax M2.5 | 6,300 | 15,900 | 31,800 |
|
||||
| Qwen3.7 Max | 950 | 2,390 | 4,770 |
|
||||
| Qwen3.7 Plus | 4,300 | 10,800 | 21,600 |
|
||||
| Qwen3.6 Plus | 3,300 | 8,200 | 16,300 |
|
||||
| DeepSeek V4 Pro | 3,450 | 8,550 | 17,150 |
|
||||
| DeepSeek V4 Flash | 31,650 | 79,050 | 158,150 |
|
||||
|
||||
Tahminler, gözlemlenen ortalama istek modellerine dayanır:
|
||||
|
||||
- GLM-5/5.1 — İstek başına 700 girdi, 52.000 önbelleğe alınmış, 150 çıktı token'ı
|
||||
- Kimi K2.5/K2.6 — İstek başına 870 girdi, 55.000 önbelleğe alınmış, 200 çıktı token'ı
|
||||
- DeepSeek V4 Pro — İstek başına 750 girdi, 82.000 önbelleğe alınmış, 290 çıktı token'ı
|
||||
- DeepSeek V4 Flash — İstek başına 790 girdi, 68.000 önbelleğe alınmış, 280 çıktı token'ı
|
||||
- MiniMax M3 — İstek başına 510 girdi, 56.000 önbelleğe alınmış, 190 çıktı token'ı
|
||||
- MiniMax M2.7/M2.5 — İstek başına 300 girdi, 55.000 önbelleğe alınmış, 125 çıktı token'ı
|
||||
- Qwen3.7 Max — İstek başına 420 girdi, 66.000 önbelleğe alınmış, 200 çıktı token'ı
|
||||
- Qwen3.7 Plus — İstek başına 500 girdi, 57.000 önbelleğe alınmış, 190 çıktı token'ı
|
||||
- Qwen3.6 Plus — İstek başına 500 girdi, 57.000 önbelleğe alınmış, 190 çıktı token'ı
|
||||
- MiMo-V2.5 — İstek başına 830 girdi, 71.500 önbelleğe alınmış, 295 çıktı token'ı
|
||||
- MiMo-V2.5-Pro — İstek başına 790 girdi, 86.000 önbelleğe alınmış, 305 çıktı token'ı
|
||||
|
||||
Tahminler ayrıca 1M token başına aşağıdaki fiyatlara da dayanır:
|
||||
|
||||
| Model | Input | Output | Cached Read | Cached Write |
|
||||
| ---------------------------- | ----- | ------ | ----------- | ------------ |
|
||||
| GLM-5.1 | $1.40 | $4.40 | $0.26 | - |
|
||||
| GLM-5 | $1.00 | $3.20 | $0.20 | - |
|
||||
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
|
||||
| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
|
||||
| MiMo V2.5 | $0.14 | $0.28 | $0.0028 | - |
|
||||
| MiMo V2.5 Pro | $1.74 | $3.48 | $0.0145 | - |
|
||||
| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
|
||||
| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
|
||||
| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
|
||||
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
|
||||
| Qwen3.7 Plus (≤ 256K tokens) | $0.40 | $1.60 | $0.04 | $0.50 |
|
||||
| Qwen3.7 Plus (> 256K tokens) | $1.20 | $4.80 | $0.12 | $1.50 |
|
||||
| Qwen3.6 Plus (≤ 256K tokens) | $0.50 | $3.00 | $0.05 | $0.625 |
|
||||
| Qwen3.6 Plus (> 256K tokens) | $2.00 | $6.00 | $0.20 | $2.50 |
|
||||
| DeepSeek V4 Pro | $1.74 | $3.48 | $0.0145 | - |
|
||||
| DeepSeek V4 Flash | $0.14 | $0.28 | $0.0028 | - |
|
||||
|
||||
Mevcut kullanımınızı **<a href={console}>konsoldan</a>** takip edebilirsiniz.
|
||||
|
||||
:::tip
|
||||
Kullanım sınırına ulaşırsanız, ücretsiz modelleri kullanmaya devam edebilirsiniz.
|
||||
:::
|
||||
|
||||
Erken kullanımlardan ve geri bildirimlerden edindiğimiz deneyimlere bağlı olarak kullanım limitleri değişebilir.
|
||||
|
||||
---
|
||||
|
||||
### Limit dışı kullanım
|
||||
|
||||
Eğer Zen bakiyenizde kredileriniz varsa, konsoldan **Bakiye kullan (Use balance)** seçeneğini etkinleştirebilirsiniz. Bu özellik etkinleştirildiğinde, kullanım limitlerinize ulaştıktan sonra Go, istekleri engellemek yerine Zen bakiyenizi kullanmaya devam edecektir.
|
||||
|
||||
---
|
||||
|
||||
## Uç Noktalar
|
||||
|
||||
Go modellerine aşağıdaki API uç noktaları aracılığıyla da erişebilirsiniz.
|
||||
|
||||
| Model | Model ID | Uç Nokta | AI SDK Paketi |
|
||||
| ----------------- | ----------------- | ------------------------------------------------ | --------------------------- |
|
||||
| GLM-5.1 | glm-5.1 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM-5 | glm-5 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiMo-V2.5 | mimo-v2.5 | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiMo-V2.5-Pro | mimo-v2.5-pro | `https://opencode.ai/zen/go/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/go/v1/messages` | `@ai-sdk/anthropic` |
|
||||
|
||||
OpenCode yapılandırmanızdaki [model id](/docs/config/#models) formatı `opencode-go/<model-id>` şeklindedir. Örneğin, Kimi K2.6 için yapılandırmanızda `opencode-go/kimi-k2.6` kullanmalısınız.
|
||||
|
||||
---
|
||||
|
||||
### Modeller
|
||||
|
||||
Mevcut modellerin tam listesini ve metadata'larını şuradan alabilirsiniz:
|
||||
|
||||
```
|
||||
https://opencode.ai/zen/go/v1/models
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Gizlilik
|
||||
|
||||
Plan, öncelikle uluslararası kullanıcılar için tasarlanmıştır; dünya genelinde istikrarlı erişim sağlamak için modeller US, EU ve Singapore'da barındırılır. Sağlayıcılarımız sıfır veri saklama politikası uygular ve verilerinizi model eğitimi için kullanmaz.
|
||||
|
||||
---
|
||||
|
||||
## Hedefler
|
||||
|
||||
OpenCode Go'yu şu amaçlarla oluşturduk:
|
||||
|
||||
1. Düşük maliyetli bir abonelik ile yapay zeka destekli kodlamayı daha fazla kişi için **erişilebilir** kılmak.
|
||||
2. En iyi açık kodlama modellerine **güvenilir** erişim sağlamak.
|
||||
3. Kodlama aracısı (agent) kullanımı için **test edilmiş ve kıyaslanmış** modelleri bir araya getirmek.
|
||||
4. OpenCode ile diğer sağlayıcıları da kullanmanıza olanak tanıyarak **kilitlenme (vendor lock-in) olmamasını** sağlamak.
|
||||
48
packages/web/src/content/docs/tr/ide.mdx
Normal file
48
packages/web/src/content/docs/tr/ide.mdx
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: IDE
|
||||
description: VS Code, Cursor ve diğer IDE'ler için opencode uzantısı
|
||||
---
|
||||
|
||||
opencode, VS Code, Cursor veya bir terminali destekleyen herhangi bir IDE ile entegre olur. Başlamak için terminalde `opencode` komutunu çalıştırmanız yeterli.
|
||||
|
||||
---
|
||||
|
||||
## Kullanım
|
||||
|
||||
- **Hızlı Başlatma**: opencode'u bölünmüş terminal görünümünde açmak veya zaten çalışıyorsa mevcut bir terminal oturumuna odaklanmak için `Cmd+Esc` (Mac) veya `Ctrl+Esc` (Windows/Linux) kullanın.
|
||||
- **Yeni Oturum**: Zaten açık olsa bile yeni bir opencode terminal oturumu başlatmak için `Cmd+Shift+Esc` (Mac) veya `Ctrl+Shift+Esc` (Windows/Linux) kullanın. Ayrıca kullanıcı arayüzündeki opencode düğmesini de tıklayabilirsiniz.
|
||||
- **Bağlam Farkındalığı**: Geçerli seçiminizi veya sekmenizi opencode ile otomatik olarak paylaşın.
|
||||
- **Dosya Referansı Kısayolları**: Dosya referansları eklemek için `Cmd+Option+K` (Mac) veya `Alt+Ctrl+K` (Linux/Windows) kullanın. Örneğin, `@File#L37-42`.
|
||||
|
||||
---
|
||||
|
||||
## Kurulum
|
||||
|
||||
opencode'u VS Code'a ve Cursor, Windsurf, VSCodium gibi popüler çatallara yüklemek için:
|
||||
|
||||
1. VS Code'u Aç
|
||||
2. Entegre terminali açın
|
||||
3. `opencode` komutunu çalıştırın - uzantı otomatik olarak yüklenir
|
||||
|
||||
TUI içinden `/editor` veya `/export` komutlarını çalıştırdığınızda kendi IDE'nizi kullanmak istiyorsanız `export EDITOR="code --wait"` ayarlayın. [Daha fazla bilgi](/docs/tui/#editor-setup).
|
||||
|
||||
---
|
||||
|
||||
### Manuel Kurulum
|
||||
|
||||
Extension Marketplace'te **opencode**'u arayın ve **Yükle**'ye tıklayın.
|
||||
|
||||
---
|
||||
|
||||
### Sorun giderme
|
||||
|
||||
Uzantı otomatik olarak yüklenemezse:
|
||||
|
||||
- Entegre terminalde `opencode` çalıştırdığınızdan emin olun.
|
||||
- IDE cihazınız için CLI'nin kurulu olduğunu doğrulayın:
|
||||
- VS Code için: `code` komutu
|
||||
- Cursor için: `cursor` komutu
|
||||
- Windsurf için: `windsurf` komutu
|
||||
- VSCodium için: `codium` komutu
|
||||
- Değilse `Cmd+Shift+P` (Mac) veya `Ctrl+Shift+P` (Windows/Linux) çalıştırın ve "Shell Command: Install 'code' command in PATH" komutunu seçin (veya IDE'nizdeki eşdeğerini kullanın).
|
||||
- VS Code'un uzantı yükleme iznine sahip olduğundan emin olun
|
||||
347
packages/web/src/content/docs/tr/index.mdx
Normal file
347
packages/web/src/content/docs/tr/index.mdx
Normal file
@@ -0,0 +1,347 @@
|
||||
---
|
||||
title: Giriş
|
||||
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 kodlama ajanıdır. Terminal tabanlı bir arayüz, masaüstü uygulaması veya IDE uzantısı olarak mevcuttur.
|
||||
|
||||

|
||||
|
||||
Başlayalım.
|
||||
|
||||
---
|
||||
|
||||
#### Ön koşullar
|
||||
|
||||
OpenCode'u terminalinizde kullanmak için ihtiyacınız olacak:
|
||||
|
||||
1. Şu gibi modern bir terminal emülatörü:
|
||||
- [WezTerm](https://wezterm.org), cross-platform (tüm platformlarda)
|
||||
- [Alacritty](https://alacritty.org), cross-platform (tüm platformlarda)
|
||||
- [Ghostty](https://ghostty.org), Linux ve macOS
|
||||
- [Kitty](https://sw.kovidgoyal.net/kitty/), Linux ve macOS
|
||||
|
||||
2. Kullanmak istediğiniz LLM sağlayıcılarının API anahtarları.
|
||||
|
||||
---
|
||||
|
||||
## Kurulum
|
||||
|
||||
OpenCode'u kurmanın en kolay yolu kurulum betiğidir.
|
||||
|
||||
```bash
|
||||
curl -fsSL https://opencode.ai/install | bash
|
||||
```
|
||||
|
||||
Ayrıca aşağıdaki komutlarla da yükleyebilirsiniz:
|
||||
|
||||
- **Node.js'yi kullanma**
|
||||
|
||||
<Tabs>
|
||||
|
||||
<TabItem label="npm">
|
||||
```bash
|
||||
npm install -g opencode-ai
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Bun">
|
||||
```bash
|
||||
bun install -g opencode-ai
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="pnpm">
|
||||
```bash
|
||||
pnpm install -g opencode-ai
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Yarn">
|
||||
```bash
|
||||
yarn global add opencode-ai
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
|
||||
</Tabs>
|
||||
|
||||
- **Homebrew'u macOS ve Linux'ta kullanma**
|
||||
|
||||
```bash
|
||||
brew install anomalyco/tap/opencode
|
||||
```
|
||||
|
||||
> En güncel sürümler için OpenCode tap'ini kullanmanızı öneririz. Resmi `brew install opencode` formülü Homebrew ekibi tarafından korunur ve daha sık güncellenir.
|
||||
|
||||
- **Paru'yu Arch Linux'ta kullanma**
|
||||
|
||||
```bash
|
||||
sudo pacman -S opencode # Arch Linux (Stable)
|
||||
paru -S opencode-bin # Arch Linux (Latest from AUR)
|
||||
```
|
||||
|
||||
#### Windows
|
||||
|
||||
:::tip[Önerilen: WSL kullanın]
|
||||
Windows'ta en iyi deneyim için [Windows Subsystem for Linux (WSL)](/docs/windows-wsl) kullanılmasını öneririz. Daha iyi performans ve OpenCode'un özellikleriyle tam uyumluluğu sağlar.
|
||||
:::
|
||||
|
||||
- **Chocolatey Kullanımı**
|
||||
|
||||
```bash
|
||||
choco install opencode
|
||||
```
|
||||
|
||||
- **Scoop Kullanımı**
|
||||
|
||||
```bash
|
||||
scoop install opencode
|
||||
```
|
||||
|
||||
- **NPM kullanarak**
|
||||
|
||||
```bash
|
||||
npm install -g opencode-ai
|
||||
```
|
||||
|
||||
- **Mise Kullanımı**
|
||||
|
||||
```bash
|
||||
mise use -g github:anomalyco/opencode
|
||||
```
|
||||
|
||||
- **Docker'ı kullanma**
|
||||
|
||||
```bash
|
||||
docker run -it --rm ghcr.io/anomalyco/opencode
|
||||
```
|
||||
|
||||
OpenCode'un Bun kullanılarak Windows'a yüklenmesine yönelik destek şu anda devam etmektedir.
|
||||
|
||||
İkili dosyayı [Releases](https://github.com/anomalyco/opencode/releases)'dan da alabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## 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 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.
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
Alternatif olarak diğer sağlayıcılardan birini seçebilirsiniz. [Daha fazla bilgi](/docs/providers#directory).
|
||||
|
||||
---
|
||||
|
||||
## Başlatma
|
||||
|
||||
Artık bir sağlayıcı yapılandırdığınıza göre, üzerinde çalışmak istediğiniz bir projeye gidebilirsiniz.
|
||||
|
||||
```bash
|
||||
cd /path/to/project
|
||||
```
|
||||
|
||||
Ve OpenCode'u çalıştırın.
|
||||
|
||||
```bash
|
||||
opencode
|
||||
```
|
||||
|
||||
Daha sonra aşağıdaki komutu çalıştırarak proje için OpenCode'u başlatın.
|
||||
|
||||
```bash frame="none"
|
||||
/init
|
||||
```
|
||||
|
||||
Bu, OpenCode'un projenizi analiz etmesini ve bir `AGENTS.md` proje kökünde dosyası oluşturmasını sağlayacaktır.
|
||||
|
||||
:::tip
|
||||
Projenizin `AGENTS.md` dosyasını Git'e göndermelisiniz.
|
||||
:::
|
||||
|
||||
Bu, OpenCode'un proje yapısını ve kullanılan kodlama kalıplarını anlamasına yardımcı olur.
|
||||
|
||||
---
|
||||
|
||||
## Kullanım
|
||||
|
||||
Artık projeniz üzerinde çalışmak için OpenCode'u kullanmaya hazırsınız. Dilediğiniz soruyu sorabilirsiniz.
|
||||
|
||||
AI kodlama ajanını kullanmaya yeniyseniz aşağıdaki örnekler yardımcı olabilir.
|
||||
|
||||
---
|
||||
|
||||
### Soru Sorma
|
||||
|
||||
OpenCode'dan kod tabanını size açıklamasını isteyebilirsiniz.
|
||||
|
||||
:::tip
|
||||
Projedeki dosyaları bulanık aramak için `@` tuşunu kullanın.
|
||||
:::
|
||||
|
||||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||||
How is authentication handled in @packages/functions/src/api/index.ts
|
||||
```
|
||||
|
||||
Kod tabanının üzerinde çalışmadığınız bir kısmı varsa bu yararlı olur.
|
||||
|
||||
---
|
||||
|
||||
### Ö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 modu\_\na sahiptir.
|
||||
Bu modda, özelliğin nasıl uygulanacağını önerir.
|
||||
|
||||
**Tab** tuşunu kullanarak buna geçin. Bunun için sağ alt köşede bir gösterge göreceksiniz.
|
||||
|
||||
```bash frame="none" title="Plan moduna geç"
|
||||
<TAB>
|
||||
```
|
||||
|
||||
Şimdi ne yapmasını istediğimizi anlatalım.
|
||||
|
||||
```txt frame="none"
|
||||
When a user deletes a note, we'd like to flag it as deleted in the database.
|
||||
Then create a screen that shows all the recently deleted notes.
|
||||
From this screen, the user can undelete a note or permanently delete it.
|
||||
```
|
||||
|
||||
OpenCode'un isteğinizi anlaması için yeterli ayrıntı verin.
|
||||
Ekibinizdeki junior bir geliştiriciyle konuşur gibi yazmak genelde iyi sonuç verir.
|
||||
|
||||
:::tip
|
||||
OpenCode'a ne istediğinizi anlamasına yardımcı olacak bol miktarda bağlam ve örnek verin.
|
||||
:::
|
||||
|
||||
2. **Planı yineleyin**
|
||||
|
||||
Size bir plan sunduğunda ona geri bildirimde bulunabilir veya daha fazla ayrıntı ekleyebilirsiniz.
|
||||
|
||||
```txt frame="none"
|
||||
We'd like to design this new screen using a design I've used before.
|
||||
[Image #1] Take a look at this image and use it as a reference.
|
||||
```
|
||||
|
||||
:::tip
|
||||
İsteme eklemek için görüntüleri terminale sürükleyip bırakın.
|
||||
:::
|
||||
|
||||
OpenCode verdiğiniz görselleri tarayıp prompt'a ekleyebilir.
|
||||
Bunu bir görseli terminale sürükleyip bırakarak yapabilirsiniz.
|
||||
|
||||
3. **Özelliği oluşturun**
|
||||
|
||||
Planı yeterli bulduğunuzda **Tab** tuşuna tekrar basarak \_Build modu\_\na dönün.
|
||||
|
||||
```bash frame="none"
|
||||
<TAB>
|
||||
```
|
||||
|
||||
Ardından değişiklikleri yapmasını isteyin.
|
||||
|
||||
```bash frame="none"
|
||||
Sounds good! Go ahead and make the changes.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Değişiklik Yapma
|
||||
|
||||
Daha basit değişikliklerde, önce planı incelemeden OpenCode'dan doğrudan değişiklik yapmasını isteyebilirsiniz.
|
||||
|
||||
```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
|
||||
We need to add authentication to the /settings route. Take a look at how this is
|
||||
handled in the /notes route in @packages/functions/src/notes.ts and implement
|
||||
the same logic in @packages/functions/src/settings.ts
|
||||
```
|
||||
|
||||
OpenCode'un doğru değişiklikleri yapması için yeterli ayrıntı verdiğinizden emin olun.
|
||||
|
||||
---
|
||||
|
||||
### Değişiklikleri Geri Alma
|
||||
|
||||
Diyelim ki OpenCode'dan bazı değişiklikler yapmasını istediniz.
|
||||
|
||||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||||
Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
```
|
||||
|
||||
Ama istediğinin bu olmadığını anlıyorsun. `/undo` komutunu kullanarak değişiklikleri **geri alabilirsiniz**.
|
||||
|
||||
```bash frame="none"
|
||||
/undo
|
||||
```
|
||||
|
||||
OpenCode değişiklikleri geri alır ve orijinal mesajınızı tekrar gösterir.
|
||||
|
||||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||||
Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
```
|
||||
|
||||
Buradan komut isteminde ince ayar yapabilir ve OpenCode'dan tekrar denemesini isteyebilirsiniz.
|
||||
|
||||
:::tip
|
||||
Birden çok değişikliği geri almak için `/undo` komutunu birden çok kez çalıştırabilirsiniz.
|
||||
:::
|
||||
|
||||
Veya `/redo` komutunu kullanarak değişiklikleri **yeniden yapabilirsiniz**.
|
||||
|
||||
```bash frame="none"
|
||||
/redo
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Paylaşma
|
||||
|
||||
OpenCode ile yaptığınız görüşmeleri [ekibinizle paylaşabilirsiniz](/docs/share).
|
||||
|
||||
```bash frame="none"
|
||||
/share
|
||||
```
|
||||
|
||||
Bu, mevcut konuşmaya bir bağlantı oluşturacak ve bunu panonuza kopyalayacaktır.
|
||||
|
||||
:::note
|
||||
Konuşmalar varsayılan olarak paylaşılmaz.
|
||||
:::
|
||||
|
||||
İşte OpenCode ile bir [örnek konuşma](https://opencode.ai/s/4XP1fce5).
|
||||
|
||||
---
|
||||
|
||||
## Özelleştirme
|
||||
|
||||
İşte bu kadar! Artık OpenCode'u kullanma konusunda profesyonelsiniz.
|
||||
|
||||
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.
|
||||
194
packages/web/src/content/docs/tr/keybinds.mdx
Normal file
194
packages/web/src/content/docs/tr/keybinds.mdx
Normal file
@@ -0,0 +1,194 @@
|
||||
---
|
||||
title: Tuş atamaları
|
||||
description: Tuş bağlantılarınızı özelleştirin.
|
||||
---
|
||||
|
||||
opencode, `tui.json` aracılığıyla özelleştirebileceğiniz bir tuş bağlantıları listesine sahiptir.
|
||||
|
||||
```json title="tui.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/tui.json",
|
||||
"keybinds": {
|
||||
"leader": "ctrl+x",
|
||||
"app_exit": "ctrl+c,ctrl+d,<leader>q",
|
||||
"editor_open": "<leader>e",
|
||||
"theme_list": "<leader>t",
|
||||
"sidebar_toggle": "<leader>b",
|
||||
"scrollbar_toggle": "none",
|
||||
"username_toggle": "none",
|
||||
"status_view": "<leader>s",
|
||||
"tool_details": "none",
|
||||
"session_export": "<leader>x",
|
||||
"session_new": "<leader>n",
|
||||
"session_list": "<leader>l",
|
||||
"session_timeline": "<leader>g",
|
||||
"session_fork": "none",
|
||||
"session_rename": "none",
|
||||
"session_share": "none",
|
||||
"session_unshare": "none",
|
||||
"session_interrupt": "escape",
|
||||
"session_compact": "<leader>c",
|
||||
"session_child_first": "<leader>down",
|
||||
"session_child_cycle": "<leader>right",
|
||||
"session_child_cycle_reverse": "<leader>left",
|
||||
"session_parent": "<leader>up",
|
||||
"messages_page_up": "pageup,ctrl+alt+b",
|
||||
"messages_page_down": "pagedown,ctrl+alt+f",
|
||||
"messages_line_up": "ctrl+alt+y",
|
||||
"messages_line_down": "ctrl+alt+e",
|
||||
"messages_half_page_up": "ctrl+alt+u",
|
||||
"messages_half_page_down": "ctrl+alt+d",
|
||||
"messages_first": "ctrl+g,home",
|
||||
"messages_last": "ctrl+alt+g,end",
|
||||
"messages_next": "none",
|
||||
"messages_previous": "none",
|
||||
"messages_copy": "<leader>y",
|
||||
"messages_undo": "<leader>u",
|
||||
"messages_redo": "<leader>r",
|
||||
"messages_last_user": "none",
|
||||
"messages_toggle_conceal": "<leader>h",
|
||||
"model_list": "<leader>m",
|
||||
"model_cycle_recent": "f2",
|
||||
"model_cycle_recent_reverse": "shift+f2",
|
||||
"model_cycle_favorite": "none",
|
||||
"model_cycle_favorite_reverse": "none",
|
||||
"variant_cycle": "ctrl+t",
|
||||
"variant_list": "none",
|
||||
"command_list": "ctrl+p",
|
||||
"agent_list": "<leader>a",
|
||||
"agent_cycle": "tab",
|
||||
"agent_cycle_reverse": "shift+tab",
|
||||
"input_clear": "ctrl+c",
|
||||
"input_paste": "ctrl+v",
|
||||
"input_submit": "return",
|
||||
"input_newline": "shift+return,ctrl+return,alt+return,ctrl+j",
|
||||
"input_move_left": "left,ctrl+b",
|
||||
"input_move_right": "right,ctrl+f",
|
||||
"input_move_up": "up",
|
||||
"input_move_down": "down",
|
||||
"input_select_left": "shift+left",
|
||||
"input_select_right": "shift+right",
|
||||
"input_select_up": "shift+up",
|
||||
"input_select_down": "shift+down",
|
||||
"input_line_home": "ctrl+a",
|
||||
"input_line_end": "ctrl+e",
|
||||
"input_select_line_home": "ctrl+shift+a",
|
||||
"input_select_line_end": "ctrl+shift+e",
|
||||
"input_visual_line_home": "alt+a",
|
||||
"input_visual_line_end": "alt+e",
|
||||
"input_select_visual_line_home": "alt+shift+a",
|
||||
"input_select_visual_line_end": "alt+shift+e",
|
||||
"input_buffer_home": "home",
|
||||
"input_buffer_end": "end",
|
||||
"input_select_buffer_home": "shift+home",
|
||||
"input_select_buffer_end": "shift+end",
|
||||
"input_delete_line": "ctrl+shift+d",
|
||||
"input_delete_to_line_end": "ctrl+k",
|
||||
"input_delete_to_line_start": "ctrl+u",
|
||||
"input_backspace": "backspace,shift+backspace",
|
||||
"input_delete": "ctrl+d,delete,shift+delete",
|
||||
"input_undo": "ctrl+-,super+z",
|
||||
"input_redo": "ctrl+.,super+shift+z",
|
||||
"input_word_forward": "alt+f,alt+right,ctrl+right",
|
||||
"input_word_backward": "alt+b,alt+left,ctrl+left",
|
||||
"input_select_word_forward": "alt+shift+f,alt+shift+right",
|
||||
"input_select_word_backward": "alt+shift+b,alt+shift+left",
|
||||
"input_delete_word_forward": "alt+d,alt+delete,ctrl+delete",
|
||||
"input_delete_word_backward": "ctrl+w,ctrl+backspace,alt+backspace",
|
||||
"history_previous": "up",
|
||||
"history_next": "down",
|
||||
"terminal_suspend": "ctrl+z",
|
||||
"terminal_title_toggle": "none",
|
||||
"tips_toggle": "<leader>h",
|
||||
"display_thinking": "none"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Leader tuşu
|
||||
|
||||
opencode çoğu tuş ataması için `leader` anahtarını kullanır. Bu, terminalinizdeki çakışmaları önler.
|
||||
|
||||
Varsayılan olarak `ctrl+x` lider tuştur ve çoğu eylem önce lider tuşa, ardından kısayola basmanızı gerektirir. Örneğin, yeni bir oturum başlatmak için önce `ctrl+x` tuşuna, ardından `n` tuşuna basarsınız.
|
||||
|
||||
Tuş atamalarınız için lider anahtar kullanmanıza gerek yoktur ancak bunu yapmanızı öneririz.
|
||||
|
||||
---
|
||||
|
||||
## Tuş atamasını devre dışı bırak
|
||||
|
||||
Anahtarı yapılandırmanıza "none" değeriyle ekleyerek bir tuş atamasını devre dışı bırakabilirsiniz.
|
||||
|
||||
```json title="tui.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/tui.json",
|
||||
"keybinds": {
|
||||
"session_compact": "none"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Masaüstü istemi kısayolları
|
||||
|
||||
opencode masaüstü uygulaması bilgi istemi girişi, metni düzenlemek için yaygın Readline/Emacs tarzı kısayolları destekler. Bunlar yerleşiktir ve şu anda `opencode.json` aracılığıyla yapılandırılamaz.
|
||||
|
||||
| Shortcut | Action |
|
||||
| -------- | --------------------------------------------------- |
|
||||
| `ctrl+a` | Geçerli satırın başına git |
|
||||
| `ctrl+e` | Geçerli satırın sonuna git |
|
||||
| `ctrl+b` | İmleci bir karakter geri taşı |
|
||||
| `ctrl+f` | İmleci bir karakter ileri taşı |
|
||||
| `alt+b` | İmleci bir kelime geri taşı |
|
||||
| `alt+f` | İmleci bir kelime ileri taşı |
|
||||
| `ctrl+d` | İmleç altındaki karakteri sil |
|
||||
| `ctrl+k` | Satırın sonuna kadar sil |
|
||||
| `ctrl+u` | Satırın başına kadar sil |
|
||||
| `ctrl+w` | Önceki kelimeyi sil |
|
||||
| `alt+d` | Sonraki kelimeyi sil |
|
||||
| `ctrl+t` | Karakterlerin yerini değiştir |
|
||||
| `ctrl+g` | Açılır pencereleri iptal et / çalışan yanıtı durdur |
|
||||
|
||||
---
|
||||
|
||||
## Shift+Enter
|
||||
|
||||
Bazı terminaller varsayılan olarak Enter ile değiştirici tuşlar göndermez. Terminalinizi, kaçış dizisi olarak `Shift+Enter` gönderecek şekilde yapılandırmanız gerekebilir.
|
||||
|
||||
### Windows Terminali
|
||||
|
||||
`settings.json` dosyasını şurada açın:
|
||||
|
||||
```
|
||||
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
|
||||
```
|
||||
|
||||
Bunu kök düzeyindeki `actions` dizisine ekleyin:
|
||||
|
||||
```json
|
||||
"actions": [
|
||||
{
|
||||
"command": {
|
||||
"action": "sendInput",
|
||||
"input": "\u001b[13;2u"
|
||||
},
|
||||
"id": "User.sendInput.ShiftEnterCustom"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
Bunu kök düzeyindeki `keybindings` dizisine ekleyin:
|
||||
|
||||
```json
|
||||
"keybindings": [
|
||||
{
|
||||
"keys": "shift+enter",
|
||||
"id": "User.sendInput.ShiftEnterCustom"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
Dosyayı kaydedin ve Windows Terminalini yeniden başlatın veya yeni bir sekme açın.
|
||||
208
packages/web/src/content/docs/tr/lsp.mdx
Normal file
208
packages/web/src/content/docs/tr/lsp.mdx
Normal file
@@ -0,0 +1,208 @@
|
||||
---
|
||||
title: LSP Sunucuları
|
||||
description: OpenCode, LSP sunucularınızla bütünleşir.
|
||||
---
|
||||
|
||||
OpenCode, tanılamayı agent için geri bildirim olarak kullanmak üzere Language Server Protocol (LSP) sunucularıyla bütünleşebilir.
|
||||
|
||||
---
|
||||
|
||||
## Yerleşik
|
||||
|
||||
OpenCode, popüler diller için çeşitli yerleşik LSP sunucularıyla birlikte gelir:
|
||||
|
||||
| LSP Sunucu | Uzantılar | Gereksinimler |
|
||||
| ------------------ | ------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| astro | .astro | Astro projeleri için otomatik kurulumlar |
|
||||
| bash | .sh, .bash, .zsh, .ksh | `bash-language-server`'ı otomatik olarak yükler |
|
||||
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | C/C++ projeleri için otomatik kurulumlar |
|
||||
| csharp | .cs | `.NET SDK` kurulu |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` komutu mevcut |
|
||||
| dart | .dart | `dart` komutu mevcut |
|
||||
| deno | .ts, .tsx, .js, .jsx, .mjs | `deno` komutu mevcut (deno.json/deno.jsonc otomatik olarak algılanır) |
|
||||
| elixir-ls | .ex, .exs | `elixir` komutu mevcut |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | Projede `eslint` bağımlılığı |
|
||||
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` kurulu |
|
||||
| gleam | .gleam | `gleam` komutu mevcut |
|
||||
| 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 |
|
||||
| ocaml-lsp | .ml, .mli | `ocamllsp` komutu mevcut |
|
||||
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | Projede `oxlint` bağımlılığı |
|
||||
| php intelephense | .php | PHP projeleri için otomatik yüklemeler |
|
||||
| prisma | .prisma | `prisma` komutu mevcut |
|
||||
| pyright | .py, .pyi | `pyright` bağımlılığı kurulu |
|
||||
| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | `ruby` ve `gem` komutları mevcut |
|
||||
| rust | .rs | `rust-analyzer` komutu mevcut |
|
||||
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` kurulu (macOS'ta `xcode`) |
|
||||
| svelte | .svelte | Svelte projeleri için otomatik kurulumlar |
|
||||
| terraform | .tf, .tfvars | GitHub sürümlerinden otomatik yüklemeler |
|
||||
| tinymist | .typ, .typc | GitHub sürümlerinden otomatik yüklemeler |
|
||||
| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | Projede `typescript` bağımlılığı |
|
||||
| vue | .vue | Vue projeleri için otomatik yüklemeler |
|
||||
| yaml-ls | .yaml, .yml | Red Hat yaml-language-server'ı otomatik olarak yükler |
|
||||
| zls | .zig, .zon | `zig` komutu mevcut |
|
||||
|
||||
LSP varsayılan olarak devre dışıdır. Etkinleştirildiğinde, yukarıdaki dosya uzantılarından biri tespit edilir ve gereksinimler karşılanırsa sunucular başlatılır.
|
||||
|
||||
:::note
|
||||
`OPENCODE_DISABLE_LSP_DOWNLOAD` ortam değişkenini `true` olarak ayarlayarak otomatik LSP sunucu indirmelerini devre dışı bırakabilirsiniz.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Nasıl Çalışır?
|
||||
|
||||
LSP etkinleştirildiğinde ve 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.
|
||||
|
||||
---
|
||||
|
||||
## En İyi Uygulamalar
|
||||
|
||||
LSP, dil sunucularından tanılama sağlayarak agent'ın sorunları bulup düzeltmesine yardımcı olabilir. Bu bazı projelerde yararlıdır, ancak her zaman net bir kazanç değildir.
|
||||
|
||||
Dil sunucuları senkronizasyonu kaybedebilir, önemli miktarda bellek kullanabilir, sürüme veya projeye göre değişebilir ve agent iş akışlarını yavaşlatabilir. Birçok projede agent'ın lint, typecheck veya diğer tanılama CLI araçlarını doğrudan çalıştırması daha iyidir; böylece hatalar bu ödünleşimler olmadan agent döngüsüne geri beslenir. Agent'ın ne çalıştıracağını bilmesi için bu komutları `AGENTS.md` veya skills gibi talimat dosyalarında belgeleyin. Projeniz ek dil sunucusu geri bildiriminden yararlanıyorsa LSP'yi etkinleştirin.
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
LSP sunucularını, opencode yapılandırmanızdaki `lsp` bölümü aracılığıyla etkinleştirebilir ve özelleştirebilirsiniz.
|
||||
|
||||
Tüm yerleşik LSP sunucularını etkinleştirmek için `lsp` değerini `true` olarak ayarlayın.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": true
|
||||
}
|
||||
```
|
||||
|
||||
Yerleşik sunucuları etkin tutarken geçersiz kılmaları veya özel sunucuları yapılandırmak için bir nesne kullanın.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {}
|
||||
}
|
||||
```
|
||||
|
||||
Her LSP sunucusu aşağıdakileri destekler:
|
||||
|
||||
| Ö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 |
|
||||
| `extensions` | string[] | Bu LSP sunucusunun işlemesi gereken dosya uzantıları |
|
||||
| `env` | object | Sunucuyu başlatırken ayarlanacak ortam değişkenleri |
|
||||
| `initialization` | object | LSP sunucusuna gönderilecek başlatma seçenekleri |
|
||||
|
||||
Bazı örneklere bakalım.
|
||||
|
||||
---
|
||||
|
||||
### Ortam değişkenleri
|
||||
|
||||
LSP sunucusunu başlatırken ortam değişkenlerini ayarlamak için `env` özelliğini kullanın:
|
||||
|
||||
```json title="opencode.json" {5-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {
|
||||
"rust": {
|
||||
"env": {
|
||||
"RUST_LOG": "debug"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 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:
|
||||
|
||||
```json title="opencode.json" {5-9}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {
|
||||
"typescript": {
|
||||
"initialization": {
|
||||
"preferences": {
|
||||
"importModuleSpecifierPreference": "relative"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
:::note
|
||||
Başlatma seçenekleri LSP sunucusuna göre değişir. Mevcut seçenekler için LSP sunucunuzun belgelerine bakın.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### LSP sunucularını devre dışı bırakma
|
||||
|
||||
`lsp` atlanırsa tüm LSP sunucuları devre dışı kalır. Başka bir yapılandırma etkinleştirdikten sonra tüm LSP sunucularını devre dışı bırakmak için `lsp` değerini `false` olarak ayarlayın:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": false
|
||||
}
|
||||
```
|
||||
|
||||
**Belirli** bir LSP sunucusunu devre dışı bırakmak için `disabled`'yi `true` olarak ayarlayın:
|
||||
|
||||
```json title="opencode.json" {5}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {
|
||||
"typescript": {
|
||||
"disabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Özel LSP sunucuları
|
||||
|
||||
Komutu ve dosya uzantılarını belirterek özel LSP sunucuları ekleyebilirsiniz:
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {
|
||||
"custom-lsp": {
|
||||
"command": ["custom-lsp-server", "--stdio"],
|
||||
"extensions": [".custom"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Ek Bilgiler
|
||||
|
||||
### PHP Intelephense
|
||||
|
||||
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`
|
||||
- Windows'ta: `%USERPROFILE%/intelephense/license.txt`
|
||||
|
||||
Dosya, ek içerik olmadan yalnızca lisans anahtarını içermelidir.
|
||||
511
packages/web/src/content/docs/tr/mcp-servers.mdx
Normal file
511
packages/web/src/content/docs/tr/mcp-servers.mdx
Normal file
@@ -0,0 +1,511 @@
|
||||
---
|
||||
title: MCP sunucuları
|
||||
description: Yerel ve uzak MCP araçlarını ekleyin.
|
||||
---
|
||||
|
||||
_Model Bağlam Protokolü_ veya MCP kullanarak opencode'a harici araçlar ekleyebilirsiniz. opencode hem yerel hem de uzak sunucuları destekler.
|
||||
|
||||
MCP araçları eklendikten sonra yerleşik araçların yanı sıra LLM tarafından otomatik olarak kullanılabilir.
|
||||
|
||||
---
|
||||
|
||||
#### 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.
|
||||
|
||||
:::tip
|
||||
MCP sunucuları içeriğinize katkıda bulunur, bu nedenle hangilerini etkinleştirdiğinize dikkat etmek istersiniz.
|
||||
:::
|
||||
|
||||
GitHub MCP sunucusu gibi belirli MCP sunucuları çok sayıda belirteç ekleme eğilimindedir ve bağlam sınırını kolayca aşabilir.
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
```jsonc title="opencode.jsonc" {6}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"name-of-mcp-server": {
|
||||
// ...
|
||||
"enabled": true,
|
||||
},
|
||||
"name-of-other-mcp-server": {
|
||||
// ...
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Ayrıca `enabled` öğesini `false` olarak ayarlayarak bir sunucuyu devre dışı bırakabilirsiniz. Bir sunucuyu yapılandırmanızdan kaldırmadan geçici olarak devre dışı bırakmak istiyorsanız bu kullanışlıdır.
|
||||
|
||||
---
|
||||
|
||||
### 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.
|
||||
|
||||
Kuruluşunuzun uzak yapılandırmasından belirli bir sunucuyu etkinleştirmek için onu `enabled: true` ile yerel yapılandırmanıza ekleyin:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"jira": {
|
||||
"type": "remote",
|
||||
"url": "https://jira.example.com/mcp",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Yerel yapılandırma değerleriniz uzak varsayılanları geçersiz kılar. Daha fazla ayrıntı için [config precedence](/docs/config#precedence-order)'a bakın.
|
||||
|
||||
---
|
||||
|
||||
## Yerel
|
||||
|
||||
`type` kullanarak yerel MCP sunucularını MCP nesnesi içindeki `"local"`'ye ekleyin.
|
||||
|
||||
```jsonc title="opencode.jsonc" {15}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-local-mcp-server": {
|
||||
"type": "local",
|
||||
// Or ["bun", "x", "my-mcp-command"]
|
||||
"command": ["npx", "-y", "my-mcp-command"],
|
||||
"enabled": true,
|
||||
"environment": {
|
||||
"MY_ENV_VAR": "my_env_var_value",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Komut, yerel MCP sunucusunun nasıl başlatıldığıdır. Ayrıca ortam değişkenlerinin bir listesini de iletebilirsiniz.
|
||||
|
||||
Örneğin, [`@modelcontextprotocol/server-everything`](https://www.npmjs.com/package/@modelcontextprotocol/server-everything) MCP test sunucusunu şu şekilde görebilirsiniz.
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"mcp_everything": {
|
||||
"type": "local",
|
||||
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Ve bunu kullanmak için istemlerime `use the mcp_everything tool` kullanıyorum.
|
||||
|
||||
```txt "mcp_everything"
|
||||
use the mcp_everything tool to add the number 3 and 4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Seçenekler
|
||||
|
||||
Yerel bir MCP sunucusunu yapılandırmak için tüm seçenekler burada verilmiştir.
|
||||
|
||||
| Seçenek | Tür | Gerekli | Açıklama |
|
||||
| ------------- | ------- | ------- | ---------------------------------------------------------------------------------------------- |
|
||||
| `type` | Dize | Y | MCP sunucu bağlantısı türü, `"local"` olmalıdır. |
|
||||
| `command` | Dizi | Y | MCP sunucusunu çalıştırmak için komut ve argümanlar. |
|
||||
| `environment` | Nesne | | Sunucuyu çalıştırırken ayarlanacak ortam değişkenleri. |
|
||||
| `enabled` | Boolean | | Başlangıçta MCP sunucusunu etkinleştirin veya devre dışı bırakın. |
|
||||
| `timeout` | Sayı | | MCP sunucusundan araçları getirirken ms cinsinden zaman aşımı. Varsayılan 5000'dir (5 saniye). |
|
||||
|
||||
---
|
||||
|
||||
## Uzak
|
||||
|
||||
`type`'yi `"remote"` olarak ayarlayarak uzak MCP sunucularını ekleyin.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-remote-mcp": {
|
||||
"type": "remote",
|
||||
"url": "https://my-mcp-server.com",
|
||||
"enabled": true,
|
||||
"headers": {
|
||||
"Authorization": "Bearer MY_API_KEY"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`url` uzak MCP sunucusunun URL'sidir ve `headers` seçeneğiyle bir başlık listesi iletebilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
#### Seçenekler
|
||||
|
||||
| Seçenek | Tür | Gerekli | Açıklama |
|
||||
| --------- | ------- | ------- | ---------------------------------------------------------------------------------------------- |
|
||||
| `type` | Dize | Y | MCP sunucu bağlantısı türü, `"remote"` olmalıdır. |
|
||||
| `url` | Dize | Y | Uzak MCP sunucusunun URL. |
|
||||
| `enabled` | Boolean | | Başlangıçta MCP sunucusunu etkinleştirin veya devre dışı bırakın. |
|
||||
| `headers` | Nesne | | İstekle birlikte gönderilecek başlıklar. |
|
||||
| `oauth` | Object | | OAuth authentication configuration. See [OAuth](#oauth) section below. |
|
||||
| `timeout` | Sayı | | MCP sunucusundan araçları getirirken ms cinsinden zaman aşımı. Varsayılan 5000'dir (5 saniye). |
|
||||
|
||||
---
|
||||
|
||||
## OAuth
|
||||
|
||||
opencode, uzak MCP sunucuları için OAuth kimlik doğrulamasını otomatik olarak yönetir. Bir sunucu kimlik doğrulaması gerektirdiğinde opencode şunları yapar:
|
||||
|
||||
1. 401 yanıtını tespit edin ve OAuth akışını başlatın
|
||||
2. Sunucu tarafından destekleniyorsa **Dinamik İstemci Kaydı (RFC 7591)** kullanın
|
||||
3. Gelecekteki istekler için belirteçleri güvenli bir şekilde saklayın
|
||||
|
||||
---
|
||||
|
||||
### 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:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-oauth-server": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.example.com/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Sunucu kimlik doğrulama gerektiriyorsa opencode, onu ilk kez kullanmaya çalıştığınızda kimlik doğrulamanızı isteyecektir. Değilse, `opencode mcp auth <server-name>` ile [manually trigger the flow](#authenticating) yapabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Ön kayıtlı
|
||||
|
||||
MCP sunucu sağlayıcısından istemci kimlik bilgileriniz varsa, bunları yapılandırabilirsiniz:
|
||||
|
||||
```json title="opencode.json" {7-11}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-oauth-server": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.example.com/mcp",
|
||||
"oauth": {
|
||||
"clientId": "{env:MY_MCP_CLIENT_ID}",
|
||||
"clientSecret": "{env:MY_MCP_CLIENT_SECRET}",
|
||||
"scope": "tools:read tools:execute"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Kimlik doğrulama
|
||||
|
||||
Kimlik doğrulamayı manuel olarak tetikleyebilir veya kimlik bilgilerini yönetebilirsiniz.
|
||||
|
||||
Belirli bir MCP sunucusuyla kimlik doğrulaması yapın:
|
||||
|
||||
```bash
|
||||
opencode mcp auth my-oauth-server
|
||||
```
|
||||
|
||||
Tüm MCP sunucularını ve kimlik doğrulama durumlarını listeleyin:
|
||||
|
||||
```bash
|
||||
opencode mcp list
|
||||
```
|
||||
|
||||
Remove stored credentials:
|
||||
|
||||
```bash
|
||||
opencode mcp logout my-oauth-server
|
||||
```
|
||||
|
||||
`mcp auth` komutu tarayıcınızı yetkilendirme için açacaktır. Yetkilendirmenizin ardından opencode, belirteçleri `~/.local/share/opencode/mcp-auth.json`'de güvenli bir şekilde saklar.
|
||||
|
||||
---
|
||||
|
||||
#### OAuth'u devre dışı bırakma
|
||||
|
||||
Bir sunucu için otomatik OAuth'u devre dışı bırakmak istiyorsanız (örneğin, bunun yerine API anahtarlarını kullanan sunucular için), `oauth`'yi `false` olarak ayarlayın:
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-api-key-server": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.example.com/mcp",
|
||||
"oauth": false,
|
||||
"headers": {
|
||||
"Authorization": "Bearer {env:MY_API_KEY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### OAuth Seçenekleri
|
||||
|
||||
| Seçenek | Tür | Açıklama |
|
||||
| -------------- | --------------- | -------------------------------------------------------------------------------- |
|
||||
| `oauth` | Object \| false | OAuth config object, or `false` to disable OAuth auto-detection. |
|
||||
| `clientId` | Dize | OAuth istemci kimliği. Sağlanmadığı takdirde dinamik müşteri kaydı denenecektir. |
|
||||
| `clientSecret` | Dize | Yetkilendirme sunucusu gerektiriyorsa OAuth istemci sırrı. |
|
||||
| `scope` | String | OAuth scopes to request during authorization. |
|
||||
|
||||
#### Hata Ayıklama
|
||||
|
||||
Uzak bir MCP sunucusunun kimlik doğrulaması başarısız olursa aşağıdakileri kullanarak sorunları teşhis edebilirsiniz:
|
||||
|
||||
```bash
|
||||
# View auth status for all OAuth-capable servers
|
||||
opencode mcp auth list
|
||||
|
||||
# Debug connection and OAuth flow for a specific server
|
||||
opencode mcp debug my-oauth-server
|
||||
```
|
||||
|
||||
`mcp debug` komutu mevcut kimlik doğrulama durumunu gösterir, HTTP bağlantısını test eder ve OAuth bulma akışını dener.
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
---
|
||||
|
||||
### Global
|
||||
|
||||
Bu, bunları global olarak etkinleştirebileceğiniz veya devre dışı bırakabileceğiniz anlamına gelir.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-mcp-foo": {
|
||||
"type": "local",
|
||||
"command": ["bun", "x", "my-mcp-command-foo"]
|
||||
},
|
||||
"my-mcp-bar": {
|
||||
"type": "local",
|
||||
"command": ["bun", "x", "my-mcp-command-bar"]
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
"my-mcp-foo": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Eşleşen tüm MCP'leri devre dışı bırakmak için bir glob modeli de kullanabiliriz.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-mcp-foo": {
|
||||
"type": "local",
|
||||
"command": ["bun", "x", "my-mcp-command-foo"]
|
||||
},
|
||||
"my-mcp-bar": {
|
||||
"type": "local",
|
||||
"command": ["bun", "x", "my-mcp-command-bar"]
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
"my-mcp*": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Burada tüm MCP'leri devre dışı bırakmak için `my-mcp*` glob modelini kullanıyoruz.
|
||||
|
||||
---
|
||||
|
||||
### 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:
|
||||
|
||||
1. Global olarak bir araç olarak devre dışı bırakın.
|
||||
2. [agent config](/docs/agents#tools)'nizde, MCP sunucusunu bir araç olarak etkinleştirin.
|
||||
|
||||
```json title="opencode.json" {11, 14-18}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-mcp": {
|
||||
"type": "local",
|
||||
"command": ["bun", "x", "my-mcp-command"],
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
"my-mcp*": false
|
||||
},
|
||||
"agent": {
|
||||
"my-agent": {
|
||||
"tools": {
|
||||
"my-mcp*": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Glob desenleri
|
||||
|
||||
Glob modeli, basit normal ifade globbing modellerini kullanır:
|
||||
|
||||
- `*` herhangi bir karakterin sıfır veya daha fazlasıyla eşleşir (örneğin, `"my-mcp*"` `my-mcp_search`, `my-mcp_list` vb. ile eşleşir)
|
||||
- `?` matches exactly one character
|
||||
- All other characters match literally
|
||||
|
||||
:::note
|
||||
MCP sunucu araçları önek olarak sunucu adıyla kayıtlıdır, dolayısıyla bir sunucuya ilişkin tüm araçları devre dışı bırakmak için aşağıdakileri kullanmanız yeterlidir:
|
||||
|
||||
```
|
||||
"mymcpservername_*": false
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Örnekler
|
||||
|
||||
Aşağıda bazı yaygın MCP sunucularının örnekleri verilmiştir. Diğer sunucuları belgelemek istiyorsanız PR gönderebilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Sentry
|
||||
|
||||
Sentry projelerinizle ve sorunlarınızla etkileşimde bulunmak için [Sentry MCP server](https://mcp.sentry.dev) ekleyin.
|
||||
|
||||
```json title="opencode.json" {4-8}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"sentry": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.sentry.dev/mcp",
|
||||
"oauth": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Yapılandırmayı ekledikten sonra Sentry ile kimlik doğrulaması yapın:
|
||||
|
||||
```bash
|
||||
opencode mcp auth sentry
|
||||
```
|
||||
|
||||
Bu, OAuth akışını tamamlamak ve opencode'u Sentry hesabınıza bağlamak için bir tarayıcı penceresi açacaktır.
|
||||
|
||||
Kimlik doğrulaması yapıldıktan sonra sorunları, projeleri ve hata verilerini sorgulamak için istemlerinizde Sentry araçlarını kullanabilirsiniz.
|
||||
|
||||
```txt "use sentry"
|
||||
Show me the latest unresolved issues in my project. use sentry
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Context7
|
||||
|
||||
Dokumanlar arasında arama yapmak için [Context7 MCP server](https://github.com/upstash/context7) ekleyin.
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"context7": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.context7.com/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ücretsiz bir hesaba kaydolduysanız API anahtarınızı kullanarak daha yüksek ücret limitleri elde edebilirsiniz.
|
||||
|
||||
```json title="opencode.json" {7-9}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"context7": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.context7.com/mcp",
|
||||
"headers": {
|
||||
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Burada `CONTEXT7_API_KEY` ortam değişkeninin ayarlandığını varsayıyoruz.
|
||||
|
||||
Context7 MCP sunucunu kullanmak için isteklerinize `use context7` ekleyin.
|
||||
|
||||
```txt "use context7"
|
||||
Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7
|
||||
```
|
||||
|
||||
Alternatif olarak [AGENTS.md](/docs/rules/)'a buna benzer bir şey ekleyebilirsiniz.
|
||||
|
||||
```md title="AGENTS.md"
|
||||
When you need to search docs, use `context7` tools.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Grep by Vercel
|
||||
|
||||
GitHub'daki kod parçacıkları arasında arama yapmak için [Grep by Vercel](https://grep.app) MCP sunucusunu ekleyin.
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"gh_grep": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.grep.app"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
MCP sunucumuzu `gh_grep` olarak adlandırdığımız için, aracının onu kullanmasını sağlamak için istemlerinize `use the gh_grep tool` ekleyebilirsiniz.
|
||||
|
||||
```txt "use the gh_grep tool"
|
||||
What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool
|
||||
```
|
||||
|
||||
Alternatif olarak [AGENTS.md](/docs/rules/)'a buna benzer bir şey ekleyebilirsiniz.
|
||||
|
||||
```md title="AGENTS.md"
|
||||
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.
|
||||
```
|
||||
223
packages/web/src/content/docs/tr/models.mdx
Normal file
223
packages/web/src/content/docs/tr/models.mdx
Normal file
@@ -0,0 +1,223 @@
|
||||
---
|
||||
title: Modeller
|
||||
description: LLM sağlayıcılarını ve model seçimlerini yapılandırın.
|
||||
---
|
||||
|
||||
opencode, **75+ LLM sağlayıcısını** desteklemek için [AI SDK](https://ai-sdk.dev/) ve [Models.dev](https://models.dev) kullanır ve yerel modellerin çalıştırılmasını destekler.
|
||||
|
||||
---
|
||||
|
||||
## Sağlayıcılar
|
||||
|
||||
Çoğu popüler sağlayıcı varsayılan olarak önceden yüklenmiştir. Bir sağlayıcının kimlik bilgilerini `/connect` komutu aracılığıyla eklediyseniz, bunlar opencode'u başlattığınızda kullanılabilir olacaktır.
|
||||
|
||||
[Sağlayıcılar](/docs/providers) hakkında daha fazla bilgi edinin.
|
||||
|
||||
---
|
||||
|
||||
## Model seçimi
|
||||
|
||||
Sağlayıcınızı yapılandırdıktan sonra aşağıdaki komutu yazarak istediğiniz modeli seçebilirsiniz:
|
||||
|
||||
```bash frame="none"
|
||||
/models
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Önerilen modeller
|
||||
|
||||
Piyasada pek çok model var ve her hafta yeni modeller çıkıyor.
|
||||
|
||||
:::tip
|
||||
Önerdiğimiz modellerden birini kullanmayı düşünün.
|
||||
:::
|
||||
|
||||
Ancak, hem kod oluşturmada hem de araç çağırmada iyi olan yalnızca birkaçı var.
|
||||
|
||||
Burada, opencode ile belirli bir sıraya göre iyi çalışan birkaç model yer almaktadır. (Bu kapsamlı bir liste değildir ve mutlaka güncel olması da gerekmez):
|
||||
|
||||
- GPT 5.2
|
||||
- GPT 5.1 Codex
|
||||
- Claude Opus 4.5
|
||||
- Claude Sonnet 4.5
|
||||
- Minimax M2.1
|
||||
- Gemini 3 Pro
|
||||
|
||||
---
|
||||
|
||||
## Varsayılan ayarlama
|
||||
|
||||
Bunlardan birini varsayılan model olarak ayarlamak için `model` anahtarınızı telefonunuzudan ayarlayabilirsiniz.
|
||||
opencode yapılandırması
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "lmstudio/google/gemma-3n-e4b"
|
||||
}
|
||||
```
|
||||
|
||||
Burada tam kimlik `provider_id/model_id`'dir. Örneğin, [OpenCode Zen](/docs/zen) kullanıyorsanız, GPT 5.1 Codex için `opencode/gpt-5.1-codex` kullanırsınız.
|
||||
|
||||
Bir [custom provider](/docs/providers#custom) yapılandırılmışsa, `provider_id`, performansınızın `provider` bölümünden gelen anahtardır ve `model_id`, `provider.models`'den gelen anahtardır.
|
||||
|
||||
---
|
||||
|
||||
## Model yapılandırma
|
||||
|
||||
Bir modelin seçeneklerini genel olarak yapılandırma aracılığıyla yapılandırabilirsiniz.
|
||||
|
||||
```jsonc title="opencode.jsonc" {7-12,19-24}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"openai": {
|
||||
"models": {
|
||||
"gpt-5": {
|
||||
"options": {
|
||||
"reasoningEffort": "high",
|
||||
"textVerbosity": "low",
|
||||
"reasoningSummary": "auto",
|
||||
"include": ["reasoning.encrypted_content"],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
"anthropic": {
|
||||
"models": {
|
||||
"claude-sonnet-4-5-20250929": {
|
||||
"options": {
|
||||
"thinking": {
|
||||
"type": "enabled",
|
||||
"budgetTokens": 16000,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Burada iki yerleşik model için genel ayarları yapılandırıyoruz: `gpt-5` sağlayıcısı aracılığıyla erişildiğinde `openai` ve `claude-sonnet-4-20250514` sağlayıcısı aracılığıyla erişildiğinde `anthropic`.
|
||||
Yerleşik sağlayıcı ve model adları [Models.dev](https://models.dev) adresinde bulunabilir.
|
||||
|
||||
Bu seçenekleri kullandığınız tüm aracılar için de yapılandırabilirsiniz. Aracı yapılandırması burada tüm genel seçenekleri geçersiz kılar. [Daha fazla bilgi](/docs/agents/#additional).
|
||||
|
||||
Ayrıca yerleşik çeşitleri genişleten özel varyantlar da tanımlayabilirsiniz. Varyantlar, yinelenen girişler oluşturmadan aynı model için farklı ayarları yapılandırmanıza olanak tanır:
|
||||
|
||||
```jsonc title="opencode.jsonc" {6-21}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"opencode": {
|
||||
"models": {
|
||||
"gpt-5": {
|
||||
"variants": {
|
||||
"high": {
|
||||
"reasoningEffort": "high",
|
||||
"textVerbosity": "low",
|
||||
"reasoningSummary": "auto",
|
||||
},
|
||||
"low": {
|
||||
"reasoningEffort": "low",
|
||||
"textVerbosity": "low",
|
||||
"reasoningSummary": "auto",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Varyantlar
|
||||
|
||||
Birçok model, farklı konfigürasyonlara sahip birden fazla kapasiteye sahip. opencode, popüler sağlayıcılar için sunulan değişkenlerle birlikte gelir.
|
||||
|
||||
### Yerleşik çeşitler
|
||||
|
||||
opencode birçok sağlayıcı için varsayılan değişkenlerle birlikte gelir:
|
||||
|
||||
**Antropik**:
|
||||
|
||||
- `high` - Yüksek düşünme bütçesi (varsayılan)
|
||||
- `max` - Maksimum düşünme bütçesi
|
||||
|
||||
**OpenAI**:
|
||||
|
||||
Modele göre değişir ancak kabaca:
|
||||
|
||||
- `none` - Gerekçe yok
|
||||
- `minimal` - Minimum akıl yürütme çabası
|
||||
- `low` - Düşük muhakeme çabası
|
||||
- `medium` - Orta düzey muhakeme çabası
|
||||
- `high` - Yüksek akıl yürütme çabası
|
||||
- `xhigh` - Ekstra yüksek muhakeme çabası
|
||||
|
||||
**Google**:
|
||||
|
||||
- `low` - Daha düşük effort/token bütçesi
|
||||
- `high` - Daha yüksek effort/token bütçesi
|
||||
|
||||
:::tip
|
||||
Bu liste kapsamlı değildir. Diğer birçok sağlayıcının da yerleşik varsayılanları vardır.
|
||||
:::
|
||||
|
||||
### Özel çeşitler
|
||||
|
||||
Mevcut varyantları geçersiz kılabilir veya kendinizinkini ekleyebilirsiniz:
|
||||
|
||||
```jsonc title="opencode.jsonc" {7-18}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"openai": {
|
||||
"models": {
|
||||
"gpt-5": {
|
||||
"variants": {
|
||||
"thinking": {
|
||||
"reasoningEffort": "high",
|
||||
"textVerbosity": "low",
|
||||
},
|
||||
"fast": {
|
||||
"disabled": true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### Döngü çeşitleri
|
||||
|
||||
Çeşitler arasında hızlı geçiş yapmak için `variant_cycle` tuş atamasını kullanın. [Daha fazla bilgi](/docs/keybinds).
|
||||
|
||||
---
|
||||
|
||||
## Modelleri yükleme
|
||||
|
||||
opencode başlatıldığında modelleri aşağıdaki öncelik sırasına göre kontrol eder:
|
||||
|
||||
1. `--model` veya `-m` komut satırı bayrağı. Biçim, yapılandırma dosyasındakiyle aynıdır: `provider_id/model_id`.
|
||||
|
||||
2. opencode yapılandırmasındaki model listesi.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "anthropic/claude-sonnet-4-20250514"
|
||||
}
|
||||
```
|
||||
|
||||
Buradaki format `provider/model`'dır.
|
||||
|
||||
3. En son kullanılan model.
|
||||
|
||||
4. Dahili öncelik kullanan ilk model.
|
||||
57
packages/web/src/content/docs/tr/network.mdx
Normal file
57
packages/web/src/content/docs/tr/network.mdx
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
title: Ağ
|
||||
description: Proxy'leri ve özel sertifikaları yapılandırın.
|
||||
---
|
||||
|
||||
opencode, kurumsal ağ ortamları için standart proxy ortam değişkenlerini ve özel sertifikaları destekler.
|
||||
|
||||
---
|
||||
|
||||
## Vekil Sunucu
|
||||
|
||||
opencode respects standard proxy environment variables.
|
||||
|
||||
```bash
|
||||
# HTTPS proxy (recommended)
|
||||
export HTTPS_PROXY=https://proxy.example.com:8080
|
||||
|
||||
# HTTP proxy (if HTTPS not available)
|
||||
export HTTP_PROXY=http://proxy.example.com:8080
|
||||
|
||||
# Bypass proxy for local server (required)
|
||||
export NO_PROXY=localhost,127.0.0.1
|
||||
```
|
||||
|
||||
:::caution
|
||||
TUI yerel bir HTTP sunucusuyla iletişim kurar. Yönlendirme döngülerini önlemek için bu bağlantının proxy'sini atlamanız gerekir.
|
||||
:::
|
||||
|
||||
[CLI flags](/docs/cli#run) kullanarak sunucunun bağlantı noktasını ve ana bilgisayar adını yapılandırabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Kimlik doğrulama
|
||||
|
||||
Proxy'niz temel kimlik doğrulama gerektiriyorsa, kimlik bilgilerini URL dosyasına ekleyin.
|
||||
|
||||
```bash
|
||||
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
|
||||
```
|
||||
|
||||
:::caution
|
||||
Şifreleri sabit kodlamaktan kaçının. Ortam değişkenlerini veya güvenli kimlik bilgileri deposunu kullanın.
|
||||
:::
|
||||
|
||||
NTLM veya Kerberos gibi gelişmiş kimlik doğrulaması gerektiren proxy'ler için, kimlik doğrulama yönteminizi destekleyen bir LLM Ağ Geçidi kullanmayı düşünün.
|
||||
|
||||
---
|
||||
|
||||
## Ö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.
|
||||
|
||||
```bash
|
||||
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem
|
||||
```
|
||||
|
||||
Bu hem proxy bağlantıları hem de doğrudan API erişimi için işe yarar.
|
||||
235
packages/web/src/content/docs/tr/permissions.mdx
Normal file
235
packages/web/src/content/docs/tr/permissions.mdx
Normal file
@@ -0,0 +1,235 @@
|
||||
---
|
||||
title: İzinler
|
||||
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.
|
||||
|
||||
`v1.1.1` itibarıyla eski `tools` boolean yapılandırması kullanımdan kaldırıldı ve `permission` ile birleştirildi. Eski `tools` yapılandırması geriye dönük uyumluluk açısından hâlâ desteklenmektedir.
|
||||
|
||||
---
|
||||
|
||||
## Eylemler
|
||||
|
||||
Her izin kuralı şunlardan birine çözümlenir:
|
||||
|
||||
- `"allow"` — onay olmadan çalıştır
|
||||
- `"ask"` — onay istemi
|
||||
- `"deny"` — eylemi engelle
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
İzinleri genel olarak (`*` ile) ayarlayabilir ve belirli araçları geçersiz kılabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"*": "ask",
|
||||
"bash": "allow",
|
||||
"edit": "deny"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ayrıca tüm izinleri aynı anda ayarlayabilirsiniz:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": "allow"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"bash": {
|
||||
"*": "ask",
|
||||
"git *": "allow",
|
||||
"npm *": "allow",
|
||||
"rm *": "deny",
|
||||
"grep *": "allow"
|
||||
},
|
||||
"edit": {
|
||||
"*": "deny",
|
||||
"packages/web/src/content/docs/*.mdx": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
### 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
|
||||
- `?` tam olarak bir karakterle eşleşir
|
||||
- Diğer tüm karakterler birebir eşleşir
|
||||
|
||||
### Ana Dizin Genişletme
|
||||
|
||||
Ana dizininize referans vermek için bir modelin başlangıcında `~` veya `$HOME` kullanabilirsiniz. Bu özellikle [`external_directory`](#external-directories) kuralları için kullanışlıdır.
|
||||
|
||||
- `~/projects/*` -> `/Users/username/projects/*`
|
||||
- `$HOME/projects/*` -> `/Users/username/projects/*`
|
||||
- `~` -> `/Users/username`
|
||||
|
||||
### 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`, `glob`, `grep` ve birçok `bash` komutu).
|
||||
|
||||
Ana sayfa genişletmesi (`~/...` gibi) yalnızca bir kalıbın nasıl yazıldığını etkiler. Geçerli çalışma alanının harici bir yolunu oluşturmaz, dolayısıyla çalışma dizini dışındaki yollara yine de `external_directory` aracılığıyla izin verilmesi gerekir.
|
||||
|
||||
Örneğin bu, `~/projects/personal/` altındaki her şeye erişime izin verir:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"external_directory": {
|
||||
"~/projects/personal/**": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Burada izin verilen herhangi bir dizin, geçerli çalışma alanıyla aynı varsayılanları devralır. [`read` defaults to `allow`](#defaults)'dan bu yana, geçersiz kılınmadığı sürece `external_directory` altındaki girişler için okumalara da izin verilir. Bir aracın bu yollarda kısıtlanması gerektiğinde (okumaları tutarken düzenlemeleri engellemek gibi) açık kurallar ekleyin:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"external_directory": {
|
||||
"~/projects/personal/**": "allow"
|
||||
},
|
||||
"edit": {
|
||||
"~/projects/personal/**": "deny"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Listeyi güvenilir yollara odaklı tutun ve diğer araçlar için gereken ekstra izin verme veya reddetme kurallarını katmanlayın (örneğin `bash`).
|
||||
|
||||
---
|
||||
|
||||
## Mevcut İzinler
|
||||
|
||||
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`'i kapsar)
|
||||
- `glob` — dosya genellemesi (glob düzeniyle eşleşir)
|
||||
- `grep` — içerik arama (regex modeliyle eşleşir)
|
||||
- `bash` — kabuk komutlarını çalıştırma (`git status --porcelain` gibi ayrıştırılmış komutlarla 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)
|
||||
- `webfetch` — URL getiriliyor (URL ile eşleşiyor)
|
||||
- `websearch` — web 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
|
||||
|
||||
---
|
||||
|
||||
## Varsayılanlar
|
||||
|
||||
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"`'dır, ancak `.env` dosyaları varsayılan olarak reddedilir:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"permission": {
|
||||
"read": {
|
||||
"*": "allow",
|
||||
"*.env": "deny",
|
||||
"*.env.*": "deny",
|
||||
"*.env.example": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## “Sor” Ne Yapar?
|
||||
|
||||
opencode onay istediğinde kullanıcı arayüzü üç sonuç sunar:
|
||||
|
||||
- `once` — yalnızca bu isteği onayla
|
||||
- `always` — önerilen kalıplarla eşleşen gelecekteki istekleri onaylayın (geçerli opencode oturumunun geri kalanı için)
|
||||
- `reject` — isteği reddet
|
||||
|
||||
`always`'ın onaylayacağı kalıp seti araç tarafından sağlanır (örneğin, bash onayları genellikle `git status*` gibi güvenli bir komut önekini beyaz listeye alır).
|
||||
|
||||
---
|
||||
|
||||
## 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 (nesne söz dizimi)](#granular-rules-object-syntax) bölümüne bakın.
|
||||
:::
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"bash": {
|
||||
"*": "ask",
|
||||
"git *": "allow",
|
||||
"git commit *": "deny",
|
||||
"git push *": "deny",
|
||||
"grep *": "allow"
|
||||
}
|
||||
},
|
||||
"agent": {
|
||||
"build": {
|
||||
"permission": {
|
||||
"bash": {
|
||||
"*": "ask",
|
||||
"git *": "allow",
|
||||
"git commit *": "ask",
|
||||
"git push *": "deny",
|
||||
"grep *": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Agent izinlerini Markdown'da da yapılandırabilirsiniz:
|
||||
|
||||
```markdown title="~/.config/opencode/agents/review.md"
|
||||
---
|
||||
description: Code review without edits
|
||||
mode: subagent
|
||||
permission:
|
||||
edit: deny
|
||||
bash: ask
|
||||
webfetch: deny
|
||||
---
|
||||
|
||||
Only analyze code and suggest changes.
|
||||
```
|
||||
|
||||
:::tip
|
||||
Bağımsız değişken içeren komutlar için kalıp eşleştirmeyi kullanın. `"grep *"`, `grep pattern file.txt`'ye izin verir, ancak `"grep"` tek başına onu engeller. `git status` gibi komutlar varsayılan davranış için çalışır ancak argümanlar aktarıldığında açık izin (`"git status *"` gibi) gerektirir.
|
||||
:::
|
||||
388
packages/web/src/content/docs/tr/plugins.mdx
Normal file
388
packages/web/src/content/docs/tr/plugins.mdx
Normal file
@@ -0,0 +1,388 @@
|
||||
---
|
||||
title: Eklentiler
|
||||
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 [eklentilere](/docs/ecosystem#plugins) göz atın.
|
||||
|
||||
---
|
||||
|
||||
## Eklenti kullanımı
|
||||
|
||||
Eklentileri yüklemenin iki yolu vardır.
|
||||
|
||||
---
|
||||
|
||||
### Yerel dosyalardan
|
||||
|
||||
JavaScript veya TypeScript dosyalarını eklenti dizinine yerleştirin.
|
||||
|
||||
- `.opencode/plugins/` - Proje düzeyinde eklentiler
|
||||
- `~/.config/opencode/plugins/` - Genel eklentiler
|
||||
|
||||
Bu dizinlerdeki dosyalar başlangıçta otomatik olarak yüklenir.
|
||||
|
||||
---
|
||||
|
||||
### npm'den
|
||||
|
||||
Yapılandırma dosyanızda npm paketlerini belirtin.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"plugin": ["opencode-helicone-session", "opencode-wakatime", "@my-org/custom-plugin"]
|
||||
}
|
||||
```
|
||||
|
||||
Hem normal hem de kapsamlı npm paketleri desteklenir.
|
||||
|
||||
[Ekosistem](/docs/ecosystem#plugins)'deki mevcut eklentilere göz atın.
|
||||
|
||||
---
|
||||
|
||||
### Eklentiler nasıl kurulur?
|
||||
|
||||
**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 [yapılandırmanıza eklemeniz](/docs/config#plugins) gerekir.
|
||||
|
||||
---
|
||||
|
||||
### Yükleme sırası
|
||||
|
||||
Eklentiler tüm kaynaklardan yüklenir ve tüm kancalar sırayla çalışır. Yükleme sırası şöyledir:
|
||||
|
||||
1. Global config (`~/.config/opencode/opencode.json`)
|
||||
2. Project config (`opencode.json`)
|
||||
3. Global eklenti dizini (`~/.config/opencode/plugins/`)
|
||||
4. Proje eklenti dizini (`.opencode/plugins/`)
|
||||
|
||||
Aynı ad ve sürüme sahip yinelenen npm paketleri bir kez yüklenir. Ancak benzer adlara sahip bir yerel eklenti ve bir npm eklentisinin her ikisi de ayrı ayrı yüklenir.
|
||||
|
||||
---
|
||||
|
||||
## Eklenti oluşturma
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### 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.
|
||||
|
||||
```json title=".opencode/package.json"
|
||||
{
|
||||
"dependencies": {
|
||||
"shescape": "^2.1.0"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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"
|
||||
|
||||
export const MyPlugin = async (ctx) => {
|
||||
return {
|
||||
"tool.execute.before": async (input, output) => {
|
||||
if (input.tool === "bash") {
|
||||
output.args.command = escape(output.args.command)
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Temel yapı
|
||||
|
||||
```js title=".opencode/plugins/example.js"
|
||||
export const MyPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
console.log("Plugin initialized!")
|
||||
|
||||
return {
|
||||
// Hook implementations go here
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Eklenti işlevi şunları alır:
|
||||
|
||||
- `project`: Mevcut proje bilgisi.
|
||||
- `directory`: Güncel çalışma dizini.
|
||||
- `worktree`: Git çalışma ağacı yolu.
|
||||
- `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).
|
||||
|
||||
---
|
||||
|
||||
### TypeScript desteği
|
||||
|
||||
TypeScript eklentileri için türleri eklenti paketinden içe aktarabilirsiniz:
|
||||
|
||||
```ts title="my-plugin.ts" {1}
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree }) => {
|
||||
return {
|
||||
// Type-safe hook implementations
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Olaylar
|
||||
|
||||
Eklentiler aşağıdaki Örnekler bölümünde görüldüğü gibi etkinliklere abone olabilirler. Burada mevcut farklı etkinliklerin bir listesi bulunmaktadır.
|
||||
|
||||
#### Komut Olayları
|
||||
|
||||
- `command.executed`
|
||||
|
||||
#### Dosya Olayları
|
||||
|
||||
- `file.edited`
|
||||
- `file.watcher.updated`
|
||||
|
||||
#### Kurulum Olayları
|
||||
|
||||
- `installation.updated`
|
||||
|
||||
#### LSP Olayları
|
||||
|
||||
- `lsp.client.diagnostics`
|
||||
- `lsp.updated`
|
||||
|
||||
#### Mesaj Olayları
|
||||
|
||||
- `message.part.removed`
|
||||
- `message.part.updated`
|
||||
- `message.removed`
|
||||
- `message.updated`
|
||||
|
||||
#### İzin Olayları
|
||||
|
||||
- `permission.asked`
|
||||
- `permission.replied`
|
||||
|
||||
#### Sunucu Olayları
|
||||
|
||||
- `server.connected`
|
||||
|
||||
#### Oturum Olayları
|
||||
|
||||
- `session.created`
|
||||
- `session.compacted`
|
||||
- `session.deleted`
|
||||
- `session.diff`
|
||||
- `session.error`
|
||||
- `session.idle`
|
||||
- `session.status`
|
||||
- `session.updated`
|
||||
|
||||
#### Yapılacaklar Olayları
|
||||
|
||||
- `todo.updated`
|
||||
|
||||
#### Kabuk Olayları
|
||||
|
||||
- `shell.env`
|
||||
|
||||
#### Araç Olayları
|
||||
|
||||
- `tool.execute.after`
|
||||
- `tool.execute.before`
|
||||
|
||||
#### TUI Olayları
|
||||
|
||||
- `tui.prompt.append`
|
||||
- `tui.command.execute`
|
||||
- `tui.toast.show`
|
||||
|
||||
---
|
||||
|
||||
## Örnekler
|
||||
|
||||
OpenCode'u genişletmek için kullanabileceğiniz bazı eklenti örneklerini burada bulabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Bildirim Gönderme
|
||||
|
||||
Belirli olaylar meydana geldiğinde bildirim gönderin:
|
||||
|
||||
```js title=".opencode/plugins/notification.js"
|
||||
export const NotificationPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
return {
|
||||
event: async ({ event }) => {
|
||||
// Send notification on session completion
|
||||
if (event.type === "session.idle") {
|
||||
await $`osascript -e 'display notification "Session completed!" with title "opencode"'`
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### .env Koruması
|
||||
|
||||
OpenCode'un `.env` dosyalarını okumasını önleyin:
|
||||
|
||||
```javascript title=".opencode/plugins/env-protection.js"
|
||||
export const EnvProtection = async ({ project, client, $, directory, worktree }) => {
|
||||
return {
|
||||
"tool.execute.before": async (input, output) => {
|
||||
if (input.tool === "read" && output.args.filePath.includes(".env")) {
|
||||
throw new Error("Do not read .env files")
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Ortam değişkenlerini enjekte etme
|
||||
|
||||
Ortam değişkenlerini tüm kabuk yürütmeye (AI araçları ve kullanıcı terminalleri) enjekte edin:
|
||||
|
||||
```javascript title=".opencode/plugins/inject-env.js"
|
||||
export const InjectEnvPlugin = async () => {
|
||||
return {
|
||||
"shell.env": async (input, output) => {
|
||||
output.env.MY_API_KEY = "secret"
|
||||
output.env.PROJECT_ROOT = input.cwd
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Özel araçlar
|
||||
|
||||
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"
|
||||
|
||||
export const CustomToolsPlugin: Plugin = async (ctx) => {
|
||||
return {
|
||||
tool: {
|
||||
mytool: tool({
|
||||
description: "This is a custom tool",
|
||||
args: {
|
||||
foo: tool.schema.string(),
|
||||
},
|
||||
async execute(args, context) {
|
||||
const { directory, worktree } = context
|
||||
return `Hello ${args.foo} from ${directory} (worktree: ${worktree})`
|
||||
},
|
||||
}),
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`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 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 `console.log` yerine `client.app.log()` kullanın:
|
||||
|
||||
```ts title=".opencode/plugins/my-plugin.ts"
|
||||
export const MyPlugin = async ({ client }) => {
|
||||
await client.app.log({
|
||||
body: {
|
||||
service: "my-plugin",
|
||||
level: "info",
|
||||
message: "Plugin initialized",
|
||||
extra: { foo: "bar" },
|
||||
},
|
||||
})
|
||||
}
|
||||
```
|
||||
|
||||
Seviyeler: `debug`, `info`, `warn`, `error`. Ayrıntılar için [SDK belgelerine](https://opencode.ai/docs/sdk) bakın.
|
||||
|
||||
---
|
||||
|
||||
### Sıkıştırma kancaları
|
||||
|
||||
Bir oturum sıkıştırıldığında içerilen bağlamı özelleştirin:
|
||||
|
||||
```ts title=".opencode/plugins/compaction.ts"
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
export const CompactionPlugin: Plugin = async (ctx) => {
|
||||
return {
|
||||
"experimental.session.compacting": async (input, output) => {
|
||||
// Inject additional context into the compaction prompt
|
||||
output.context.push(`
|
||||
## Custom Context
|
||||
|
||||
Include any state that should persist across compaction:
|
||||
- Current task status
|
||||
- Important decisions made
|
||||
- Files being actively worked on
|
||||
`)
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`experimental.session.compacting` kancası, LLM bir devam özeti oluşturmadan önce tetiklenir. Varsayılan sıkıştırma isteminin kaçıracağı etki alanına özgü bağlamı enjekte etmek için bunu kullanın.
|
||||
|
||||
Ayrıca `output.prompt` ayarını yaparak sıkıştırma istemini tamamen değiştirebilirsiniz:
|
||||
|
||||
```ts title=".opencode/plugins/custom-compaction.ts"
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
export const CustomCompactionPlugin: Plugin = async (ctx) => {
|
||||
return {
|
||||
"experimental.session.compacting": async (input, output) => {
|
||||
// Replace the entire compaction prompt
|
||||
output.prompt = `
|
||||
You are generating a continuation prompt for a multi-agent swarm session.
|
||||
|
||||
Summarize:
|
||||
1. The current task and its status
|
||||
2. Which files are being modified and by whom
|
||||
3. Any blockers or dependencies between agents
|
||||
4. The next steps to complete the work
|
||||
|
||||
Format as a structured prompt that a new agent can use to resume work.
|
||||
`
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`output.prompt` ayarlandığında, varsayılan sıkıştırma isteminin tamamen yerini alır. Bu durumda `output.context` dizisi dikkate alınmaz.
|
||||
1988
packages/web/src/content/docs/tr/providers.mdx
Normal file
1988
packages/web/src/content/docs/tr/providers.mdx
Normal file
File diff suppressed because it is too large
Load Diff
180
packages/web/src/content/docs/tr/rules.mdx
Normal file
180
packages/web/src/content/docs/tr/rules.mdx
Normal file
@@ -0,0 +1,180 @@
|
||||
---
|
||||
title: Kurallar
|
||||
description: opencode için özel talimatları ayarlayın.
|
||||
---
|
||||
|
||||
Bir `AGENTS.md` dosyası oluşturarak opencode için özel talimatlar verebilirsiniz. Bu, Cursor rules yaklaşımına benzer. Özel projeniz için davranışını özelleştirmek amacıyla LLM'in içeriğine dahil edilecek talimatları içerir.
|
||||
|
||||
---
|
||||
|
||||
## Başlat
|
||||
|
||||
Yeni bir `AGENTS.md` dosyası oluşturmak için `/init` komutunu opencode'da çalıştırabilirsiniz.
|
||||
|
||||
:::tip
|
||||
Projenizin `AGENTS.md` dosyasını Git'e göndermelisiniz.
|
||||
:::
|
||||
|
||||
Bu, projenin neyle ilgili olduğunu anlamak için projenizi ve tüm içeriğini tarayacak ve onunla bir `AGENTS.md` dosyası oluşturacaktır. Bu, opencode'un projede daha iyi gezinmesine yardımcı olur.
|
||||
|
||||
Mevcut bir `AGENTS.md` dosyanız varsa, bu dosyaya eklemeye çalışacaktır.
|
||||
|
||||
---
|
||||
|
||||
## Örnek
|
||||
|
||||
Bu dosyayı manuel olarak da oluşturabilirsiniz. İşte bir `AGENTS.md` dosyasına koyabileceğiniz bazı şeylere bir örnek.
|
||||
|
||||
```markdown title="AGENTS.md"
|
||||
# SST v3 Monorepo Project
|
||||
|
||||
This is an SST v3 monorepo with TypeScript. The project uses bun workspaces for package management.
|
||||
|
||||
## Project Structure
|
||||
|
||||
- `packages/` - Contains all workspace packages (functions, core, web, etc.)
|
||||
- `infra/` - Infrastructure definitions split by service (storage.ts, api.ts, web.ts)
|
||||
- `sst.config.ts` - Main SST configuration with dynamic imports
|
||||
|
||||
## Code Standards
|
||||
|
||||
- Use TypeScript with strict mode enabled
|
||||
- Shared code goes in `packages/core/` with proper exports configuration
|
||||
- Functions go in `packages/functions/`
|
||||
- Infrastructure should be split into logical files in `infra/`
|
||||
|
||||
## Monorepo Conventions
|
||||
|
||||
- Import shared modules using workspace names: `@my-app/core/example`
|
||||
```
|
||||
|
||||
Buraya projeye özel talimatlar ekliyoruz ve bu, ekibiniz arasında paylaşılacaktır.
|
||||
|
||||
---
|
||||
|
||||
## Türler
|
||||
|
||||
opencode ayrıca `AGENTS.md` dosyasının birden fazla konumdan okunmasını da destekler. Ve bu farklı amaçlara hizmet ediyor.
|
||||
|
||||
### Proje
|
||||
|
||||
Projeye özel kurallar için proje kökünüze bir `AGENTS.md` yerleştirin. Bunlar yalnızca bu dizinde veya alt dizinlerinde çalışırken geçerlidir.
|
||||
|
||||
### Global
|
||||
|
||||
Ayrıca `~/.config/opencode/AGENTS.md` dosyasında genel kurallara sahip olabilirsiniz. Bu, tüm opencode oturumlarına uygulanır.
|
||||
|
||||
Bu Git'e kaydedilmediği veya ekibinizle paylaşılmadığı için, LLM'ın uyması gereken kişisel kuralları belirtmek için bunu kullanmanızı öneririz.
|
||||
|
||||
### Claude Code uyumluluğu
|
||||
|
||||
opencode, Claude Code'dan geçiş yapan kullanıcılar için yedek olarak Claude Code'un dosya kurallarını destekler:
|
||||
|
||||
- **Proje kuralları**: Proje dizininizdeki `CLAUDE.md` (`AGENTS.md` yoksa kullanılır)
|
||||
- **Global kurallar**: `~/.claude/CLAUDE.md` (`~/.config/opencode/AGENTS.md` yoksa kullanılır)
|
||||
- **Beceriler**: `~/.claude/skills/` — ayrıntılar için [Agent Skills](/docs/skills/)'e bakın
|
||||
|
||||
Claude Code uyumluluğunu kapatmak için aşağıdaki ortam değişkenlerinden birini ayarlayın:
|
||||
|
||||
```bash
|
||||
export OPENCODE_DISABLE_CLAUDE_CODE=1 # Disable all .claude support
|
||||
export OPENCODE_DISABLE_CLAUDE_CODE_PROMPT=1 # Disable only ~/.claude/CLAUDE.md
|
||||
export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Öncelik
|
||||
|
||||
Opencode başlatıldığında kural dosyalarını şu sırayla arar:
|
||||
|
||||
1. **Yerel dosyalar** geçerli dizinden yukarıya doğru giderek (`AGENTS.md`, `CLAUDE.md`)
|
||||
2. **Global dosya** `~/.config/opencode/AGENTS.md` adresinde
|
||||
3. `~/.claude/CLAUDE.md` adresindeki **Claude Kod dosyası** (devre dışı bırakılmadığı sürece)
|
||||
|
||||
Her kategoride ilk eşleşen dosya kazanır. Örneğin, hem `AGENTS.md` hem de `CLAUDE.md` varsa yalnızca `AGENTS.md` kullanılır. Benzer şekilde, `~/.config/opencode/AGENTS.md`, `~/.claude/CLAUDE.md`'ye göre önceliklidir.
|
||||
|
||||
---
|
||||
|
||||
## Özel talimatlar
|
||||
|
||||
Özel talimat dosyalarını `opencode.json` veya global `~/.config/opencode/opencode.json`'de belirtebilirsiniz. Bu, sizin ve ekibinizin, mevcut kuralları AGENTS.md'ye kopyalamak yerine yeniden kullanmasına olanak tanır.
|
||||
|
||||
Örnek:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
|
||||
}
|
||||
```
|
||||
|
||||
Web'den talimatlar yüklemek için uzak URL'leri de kullanabilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"]
|
||||
}
|
||||
```
|
||||
|
||||
Uzaktan talimatlar 5 saniyelik bir zaman aşımı ile getirilir.
|
||||
|
||||
Tüm talimat dosyaları `AGENTS.md` dosyalarınızla birleştirilir.
|
||||
|
||||
---
|
||||
|
||||
## Harici Dosyalara Referans Verme
|
||||
|
||||
Opencode, `AGENTS.md`'daki dosya referanslarını otomatik olarak ayrıştırmasa da, benzer işlevleri iki şekilde elde edebilirsiniz:
|
||||
|
||||
### opencode.json'u kullanma
|
||||
|
||||
Önerilen yaklaşım, `instructions`'deki `opencode.json` alanını kullanmaktır:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["docs/development-standards.md", "test/testing-guidelines.md", "packages/*/AGENTS.md"]
|
||||
}
|
||||
```
|
||||
|
||||
### AGENTS.md içinde manuel talimatlar
|
||||
|
||||
`AGENTS.md`'nizde açık talimatlar sağlayarak opencode'u harici dosyaları okumayı öğretebilirsiniz. İşte pratik bir örnek:
|
||||
|
||||
```markdown title="AGENTS.md"
|
||||
# TypeScript Project Rules
|
||||
|
||||
## External File Loading
|
||||
|
||||
CRITICAL: When you encounter a file reference (e.g., @rules/general.md), use your Read tool to load it on a need-to-know basis. They're relevant to the SPECIFIC task at hand.
|
||||
|
||||
Instructions:
|
||||
|
||||
- Do NOT preemptively load all references - use lazy loading based on actual need
|
||||
- When loaded, treat content as mandatory instructions that override defaults
|
||||
- Follow references recursively when needed
|
||||
|
||||
## Development Guidelines
|
||||
|
||||
For TypeScript code style and best practices: @docs/typescript-guidelines.md
|
||||
For React component architecture and hooks patterns: @docs/react-patterns.md
|
||||
For REST API design and error handling: @docs/api-standards.md
|
||||
For testing strategies and coverage requirements: @test/testing-guidelines.md
|
||||
|
||||
## General Guidelines
|
||||
|
||||
Read the following file immediately as it's relevant to all workflows: @rules/general-guidelines.md.
|
||||
```
|
||||
|
||||
Bu yaklaşım şunları yapmanızı sağlar:
|
||||
|
||||
- Modüler, yeniden kullanılabilir kural dosyaları oluşturun
|
||||
- Sembolik bağlantılar veya git alt modülleri aracılığıyla kuralları projeler arasında paylaşın
|
||||
- AGENTS.md dosyasını kısa tutarken ayrıntılı kılavuzlara referans verin
|
||||
- opencode'un dosyaları yalnızca belirli bir görev için gerektiğinde yüklediğinden emin olun
|
||||
|
||||
:::tip
|
||||
Monorepo'lar veya ortak standartlara sahip projeler için, `opencode.json`'yi glob desenleriyle (`packages/*/AGENTS.md` gibi) kullanmak, manuel talimatlara göre daha sürdürülebilirdir.
|
||||
:::
|
||||
463
packages/web/src/content/docs/tr/sdk.mdx
Normal file
463
packages/web/src/content/docs/tr/sdk.mdx
Normal file
@@ -0,0 +1,463 @@
|
||||
---
|
||||
title: SDK
|
||||
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 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) 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.
|
||||
|
||||
---
|
||||
|
||||
## Kurulum
|
||||
|
||||
SDK'yı npm'den yükleyin:
|
||||
|
||||
```bash
|
||||
npm install @opencode-ai/sdk
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## İstemci Oluşturma
|
||||
|
||||
Bir opencode örneği oluşturun:
|
||||
|
||||
```javascript
|
||||
import { createOpencode } from "@opencode-ai/sdk"
|
||||
|
||||
const { client } = await createOpencode()
|
||||
```
|
||||
|
||||
Bu, hem bir sunucu hem de bir istemci başlatır
|
||||
|
||||
#### Seçenekler
|
||||
|
||||
| Seçenek | Tip | Açı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 | `{}` |
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
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"
|
||||
|
||||
const opencode = await createOpencode({
|
||||
hostname: "127.0.0.1",
|
||||
port: 4096,
|
||||
config: {
|
||||
model: "anthropic/claude-3-5-sonnet-20241022",
|
||||
},
|
||||
})
|
||||
|
||||
console.log(`Server running at ${opencode.server.url}`)
|
||||
|
||||
opencode.server.close()
|
||||
```
|
||||
|
||||
## Yalnızca istemci
|
||||
|
||||
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"
|
||||
|
||||
const client = createOpencodeClient({
|
||||
baseUrl: "http://localhost:4096",
|
||||
})
|
||||
```
|
||||
|
||||
#### Seçenekler
|
||||
|
||||
| Seçenek | Tip | Açı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` |
|
||||
|
||||
---
|
||||
|
||||
## Türler
|
||||
|
||||
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"
|
||||
```
|
||||
|
||||
Tüm tipler, sunucunun OpenAPI spesifikasyonundan oluşturulur ve <a href={typesUrl}>tipler dosyasında</a> mevcuttur.
|
||||
|
||||
---
|
||||
|
||||
## Hatalar
|
||||
|
||||
SDK, yakalayabileceğiniz ve işleyebileceğiniz hatalar fırlatabilir:
|
||||
|
||||
```typescript
|
||||
try {
|
||||
await client.session.get({ path: { id: "invalid-id" } })
|
||||
} catch (error) {
|
||||
console.error("Failed to get session:", (error as Error).message)
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
---
|
||||
|
||||
### Global
|
||||
|
||||
| Yöntem | Açıklama | Yanıt |
|
||||
| ----------------- | --------------------------------------- | ------------------------------------ |
|
||||
| `global.health()` | Sunucu sağlığını ve sürümünü kontrol et | `{ healthy: true, version: string }` |
|
||||
|
||||
---
|
||||
|
||||
#### Örnekler
|
||||
|
||||
```javascript
|
||||
const health = await client.global.health()
|
||||
console.log(health.data.version)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### App
|
||||
|
||||
| Yöntem | Açı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> |
|
||||
|
||||
---
|
||||
|
||||
#### Örnekler
|
||||
|
||||
```javascript
|
||||
// Write a log entry
|
||||
await client.app.log({
|
||||
body: {
|
||||
service: "my-app",
|
||||
level: "info",
|
||||
message: "Operation completed",
|
||||
},
|
||||
})
|
||||
|
||||
// List available agents
|
||||
const agents = await client.app.agents()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Project
|
||||
|
||||
| Yöntem | Açı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> |
|
||||
|
||||
---
|
||||
|
||||
#### Örnekler
|
||||
|
||||
```javascript
|
||||
// List all projects
|
||||
const projects = await client.project.list()
|
||||
|
||||
// Get current project
|
||||
const currentProject = await client.project.current()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Path
|
||||
|
||||
| Yöntem | Açıklama | Yanıt |
|
||||
| ------------ | -------------- | ---------------------------------------- |
|
||||
| `path.get()` | Mevcut yolu al | <a href={typesUrl}><code>Path</code></a> |
|
||||
|
||||
---
|
||||
|
||||
#### Örnekler
|
||||
|
||||
```javascript
|
||||
// Get current path information
|
||||
const pathInfo = await client.path.get()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Config
|
||||
|
||||
| Yöntem | Açı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 } }` |
|
||||
|
||||
---
|
||||
|
||||
#### Örnekler
|
||||
|
||||
```javascript
|
||||
const config = await client.config.get()
|
||||
|
||||
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. [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 |
|
||||
|
||||
---
|
||||
|
||||
#### Örnekler
|
||||
|
||||
```javascript
|
||||
// Create and manage sessions
|
||||
const session = await client.session.create({
|
||||
body: { title: "My session" },
|
||||
})
|
||||
|
||||
const sessions = await client.session.list()
|
||||
|
||||
// Send a prompt message
|
||||
const result = await client.session.prompt({
|
||||
path: { id: session.id },
|
||||
body: {
|
||||
model: { providerID: "anthropic", modelID: "claude-3-5-sonnet-20241022" },
|
||||
parts: [{ type: "text", text: "Hello!" }],
|
||||
},
|
||||
})
|
||||
|
||||
// Inject context without triggering AI response (useful for plugins)
|
||||
await client.session.prompt({
|
||||
path: { id: session.id },
|
||||
body: {
|
||||
noReply: true,
|
||||
parts: [{ type: "text", text: "You are a helpful assistant." }],
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Dosyalar
|
||||
|
||||
| Yöntem | Açı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` birkaç isteğe bağlı sorgu alanını destekler:
|
||||
|
||||
- `type`: `"file"` veya `"directory"`
|
||||
- `directory`: arama için proje kökünü geçersiz kılma
|
||||
- `limit`: maksimum sonuç (1-200)
|
||||
|
||||
---
|
||||
|
||||
#### Örnekler
|
||||
|
||||
```javascript
|
||||
// Search and read files
|
||||
const textResults = await client.find.text({
|
||||
query: { pattern: "function.*opencode" },
|
||||
})
|
||||
|
||||
const files = await client.find.files({
|
||||
query: { query: "*.ts", type: "file" },
|
||||
})
|
||||
|
||||
const directories = await client.find.files({
|
||||
query: { query: "packages", type: "directory", limit: 20 },
|
||||
})
|
||||
|
||||
const content = await client.file.read({
|
||||
query: { path: "src/index.ts" },
|
||||
})
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### TUI
|
||||
|
||||
| Yöntem | Açı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` |
|
||||
|
||||
---
|
||||
|
||||
#### Örnekler
|
||||
|
||||
```javascript
|
||||
// Control TUI interface
|
||||
await client.tui.appendPrompt({
|
||||
body: { text: "Add this to prompt" },
|
||||
})
|
||||
|
||||
await client.tui.showToast({
|
||||
body: { message: "Task completed", variant: "success" },
|
||||
})
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Auth
|
||||
|
||||
| Yöntem | Açıklama | Yanıt |
|
||||
| ------------------- | ------------------------- | --------- |
|
||||
| `auth.set({ ... })` | Kimlik bilgilerini ayarla | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
#### Örnekler
|
||||
|
||||
```javascript
|
||||
await client.auth.set({
|
||||
path: { id: "anthropic" },
|
||||
body: { type: "api", key: "your-api-key" },
|
||||
})
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Olaylar
|
||||
|
||||
| Yöntem | Açıklama | Yanıt |
|
||||
| ------------------- | --------------------------------------- | --------------------------------------- |
|
||||
| `event.subscribe()` | Sunucu tarafından gönderilen olay akışı | Sunucu tarafından gönderilen olay akışı |
|
||||
|
||||
---
|
||||
|
||||
#### Örnekler
|
||||
|
||||
```javascript
|
||||
// Listen to real-time events
|
||||
const events = await client.event.subscribe()
|
||||
for await (const event of events.stream) {
|
||||
console.log("Event:", event.type, event.properties)
|
||||
}
|
||||
```
|
||||
285
packages/web/src/content/docs/tr/server.mdx
Normal file
285
packages/web/src/content/docs/tr/server.mdx
Normal file
@@ -0,0 +1,285 @@
|
||||
---
|
||||
title: Sunucu
|
||||
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 kullanabileceği bir OpenAPI endpoint'i açan headless bir HTTP sunucusu çalıştırır.
|
||||
|
||||
---
|
||||
|
||||
### Kullanım
|
||||
|
||||
```bash
|
||||
opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
|
||||
```
|
||||
|
||||
#### Seçenekler
|
||||
|
||||
| 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 geçilebilir:
|
||||
|
||||
```bash
|
||||
opencode serve --cors http://localhost:5173 --cors https://app.example.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Kimlik Doğrulama
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Nasıl çalışır
|
||||
|
||||
`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 etkileşim için opencode sunucusunu kullanın.
|
||||
:::
|
||||
|
||||
Bu mimari, opencode'un birden fazla istemciyi desteklemesini ve programatik kullanımları mümkün kılmasını sağlar.
|
||||
|
||||
`opencode serve` ile bağımsız bir sunucu başlatabilirsiniz. opencode TUI açıksa, `opencode serve` yeni bir sunucu başlatır.
|
||||
|
||||
---
|
||||
|
||||
#### Mevcut sunucuya bağlanın
|
||||
|
||||
TUI başlarken rastgele bir port ve hostname atanır. Bunun yerine `--hostname` ve `--port` [bayraklarını](/docs/cli) verebilirsiniz.
|
||||
|
||||
[`/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, şu adreste görülebilen bir OpenAPI 3.1 spesifikasyonu yayınlar:
|
||||
|
||||
```
|
||||
http://<hostname>:<port>/doc
|
||||
```
|
||||
|
||||
Ö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 aşağıdaki API'leri sunar.
|
||||
|
||||
---
|
||||
|
||||
### Global
|
||||
|
||||
| Yöntem | Yol | Açı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ışı |
|
||||
|
||||
---
|
||||
|
||||
### Proje
|
||||
|
||||
| Yöntem | Yol | Açı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> |
|
||||
|
||||
---
|
||||
|
||||
### Yol & VCS
|
||||
|
||||
| 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> |
|
||||
|
||||
---
|
||||
|
||||
### Örnek (Instance)
|
||||
|
||||
| Yöntem | Yol | Açıklama | Yanıt |
|
||||
| ------ | ------------------- | ------------------------------ | --------- |
|
||||
| `POST` | `/instance/dispose` | Mevcut örneği (instance) kapat | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Config
|
||||
|
||||
| Yöntem | Yol | Açı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 } }` |
|
||||
|
||||
---
|
||||
|
||||
### Sağlayıcı (Provider)
|
||||
|
||||
| Yöntem | Yol | Açı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` |
|
||||
|
||||
---
|
||||
|
||||
### Oturumlar (Sessions)
|
||||
|
||||
| Yöntem | Yol | Açı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 |
|
||||
|
||||
---
|
||||
|
||||
### Mesajlar
|
||||
|
||||
| Yöntem | Yol | Açı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 |
|
||||
|
||||
---
|
||||
|
||||
### Komutlar
|
||||
|
||||
| Yöntem | Yol | Açıklama | Yanıt |
|
||||
| ------ | ---------- | --------------------- | --------------------------------------------- |
|
||||
| `GET` | `/command` | Tüm komutları listele | <a href={typesUrl}><code>Command[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Dosyalar
|
||||
|
||||
| Yöntem | Yol | Açı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` sorgu parametreleri
|
||||
|
||||
- `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)
|
||||
|
||||
---
|
||||
|
||||
### Araçlar (Deneysel)
|
||||
|
||||
| Yöntem | Yol | Açı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, Biçimlendiriciler & MCP
|
||||
|
||||
| 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 |
|
||||
|
||||
---
|
||||
|
||||
### Agent'lar
|
||||
|
||||
| Yöntem | Yol | Açıklama | Yanıt |
|
||||
| ------ | -------- | ----------------------------- | ------------------------------------------- |
|
||||
| `GET` | `/agent` | Tüm mevcut agent'ları listele | <a href={typesUrl}><code>Agent[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Günlük (Logging)
|
||||
|
||||
| Yöntem | Yol | Açıklama | Yanıt |
|
||||
| ------ | ------ | ---------------------------------------------------------------- | --------- |
|
||||
| `POST` | `/log` | Günlük girdisi yaz. Gövde: `{ service, level, message, extra? }` | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### TUI
|
||||
|
||||
| Yöntem | Yol | Açı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` |
|
||||
|
||||
---
|
||||
|
||||
### Kimlik Doğrulama (Auth)
|
||||
|
||||
| Yöntem | Yol | Açıklama | Yanıt |
|
||||
| ------ | ----------- | ----------------------------------------------------------------- | --------- |
|
||||
| `PUT` | `/auth/:id` | Kimlik bilgilerini ayarla. Gövde sağlayıcı şemasıyla eşleşmelidir | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Olaylar (Events)
|
||||
|
||||
| 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ışı |
|
||||
|
||||
---
|
||||
|
||||
### Dokümanlar (Docs)
|
||||
|
||||
| Yöntem | Yol | Açıklama | Yanıt |
|
||||
| ------ | ------ | -------------------------- | -------------------------------- |
|
||||
| `GET` | `/doc` | OpenAPI 3.1 spesifikasyonu | OpenAPI spec içeren HTML sayfası |
|
||||
127
packages/web/src/content/docs/tr/share.mdx
Normal file
127
packages/web/src/content/docs/tr/share.mdx
Normal file
@@ -0,0 +1,127 @@
|
||||
---
|
||||
title: Paylasim
|
||||
description: opencode konusmalarini genel baglantilarla paylasin.
|
||||
---
|
||||
|
||||
opencode'un paylasim ozelligi, konusmalariniz icin genel baglantilar olusturmanizi saglar. Boylece ekip arkadaslarinizla birlikte calisabilir veya diger kisilerden yardim alabilirsiniz.
|
||||
|
||||
:::note
|
||||
Paylasilan konusmalar, baglantiya sahip herkes tarafindan gorulebilir.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Nasil calisir
|
||||
|
||||
Bir konusmayi paylastiginizda opencode:
|
||||
|
||||
1. Oturumunuz icin benzersiz bir genel URL olusturur
|
||||
2. Konusma gecmisinizi sunucularimiza senkronize eder
|
||||
3. Konusmayi paylasim baglantisiyla erisilebilir hale getirir - `opncd.ai/s/<share-id>`
|
||||
|
||||
---
|
||||
|
||||
## Paylasim
|
||||
|
||||
opencode, konusmalarin nasil paylasilacagini kontrol eden uc farkli paylasim modu sunar:
|
||||
|
||||
---
|
||||
|
||||
### Manuel (varsayilan)
|
||||
|
||||
Varsayilan olarak opencode manuel paylasim modunu kullanir. Oturumlar otomatik paylasilmaz, ancak `/share` komutuyla manuel olarak paylasabilirsiniz:
|
||||
|
||||
```
|
||||
/share
|
||||
```
|
||||
|
||||
Bu komut benzersiz bir URL uretir ve panoya kopyalar.
|
||||
|
||||
Manuel modu acikca ayarlamak icin [config dosyaniza](/docs/config) sunu ekleyin:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"share": "manual"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Otomatik paylasim
|
||||
|
||||
Tum yeni konusmalar icin otomatik paylasimi acmak isterseniz, [config dosyanizda](/docs/config) `share` degerini `"auto"` yapin:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"share": "auto"
|
||||
}
|
||||
```
|
||||
|
||||
Otomatik paylasim acikken her yeni konusma otomatik olarak paylasilir ve bir baglanti olusturulur.
|
||||
|
||||
---
|
||||
|
||||
### Devre disi
|
||||
|
||||
Paylasimi tamamen kapatmak icin [config dosyanizda](/docs/config) `share` degerini `"disabled"` yapin:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"share": "disabled"
|
||||
}
|
||||
```
|
||||
|
||||
Bunu belirli bir projede tum ekip icin zorunlu kilmak icin proje icindeki `opencode.json` dosyasina ekleyip Git'e commit edin.
|
||||
|
||||
---
|
||||
|
||||
## Paylasimi kaldirma
|
||||
|
||||
Bir konusmanin paylasimini durdurmak ve genel erisimi kaldirmak icin:
|
||||
|
||||
```
|
||||
/unshare
|
||||
```
|
||||
|
||||
Bu komut paylasim baglantisini kaldirir ve konusmaya ait verileri siler.
|
||||
|
||||
---
|
||||
|
||||
## Gizlilik
|
||||
|
||||
Bir konusmayi paylasirken akilda tutulmasi gereken bazi noktalar vardir.
|
||||
|
||||
---
|
||||
|
||||
### Veri saklama
|
||||
|
||||
Paylasilan konusmalar, siz acikca paylasimi kaldirana kadar erisilebilir kalir. Buna sunlar dahildir:
|
||||
|
||||
- Tum konusma gecmisi
|
||||
- Tum mesajlar ve yanitlar
|
||||
- Oturum metaverisi
|
||||
|
||||
---
|
||||
|
||||
### Oneriler
|
||||
|
||||
- Hassas bilgi icermeyen konusmalari paylasin.
|
||||
- Paylasmadan once konusma icerigini gozden gecirin.
|
||||
- Is birligi bittiginde paylasimi kaldirin.
|
||||
- Tescilli kod veya gizli veri iceren konusmalari paylasmayin.
|
||||
- Hassas projelerde paylasimi tamamen kapatin.
|
||||
|
||||
---
|
||||
|
||||
## Kurumsal kullanim
|
||||
|
||||
Kurumsal kurulumlarda paylasim ozelligi su sekillerde yapilandirilabilir:
|
||||
|
||||
- Guvenlik uyumu icin tamamen **devre disi** birakilabilir
|
||||
- Sadece SSO ile dogrulanan kullanicilarla **sinirlandirilabilir**
|
||||
- Kendi altyapinizda **self-hosted** olarak calistirilabilir
|
||||
|
||||
Kurulusunuzda opencode kullanimi icin [daha fazla bilgi alin](/docs/enterprise).
|
||||
222
packages/web/src/content/docs/tr/skills.mdx
Normal file
222
packages/web/src/content/docs/tr/skills.mdx
Normal file
@@ -0,0 +1,222 @@
|
||||
---
|
||||
title: "Ajan becerileri"
|
||||
description: "SKILL.md ile tekrar kullanilabilir davranis tanimlayin"
|
||||
---
|
||||
|
||||
Ajan becerileri, opencode'un deponuzdan veya ev dizininizden tekrar kullanilabilir talimatlari kesfetmesini saglar.
|
||||
Beceriler, yerel `skill` araci uzerinden ihtiyac aninda yuklenir; ajanlar mevcut becerileri gorur ve gerektiginde tam icerigi yukler.
|
||||
|
||||
---
|
||||
|
||||
## Dosyalari yerlestirin
|
||||
|
||||
Her beceri adi icin bir klasor olusturun ve icine bir `SKILL.md` koyun.
|
||||
opencode su konumlari tarar:
|
||||
|
||||
- Proje konfigurasyonu: `.opencode/skills/<name>/SKILL.md`
|
||||
- Genel konfigurasyon: `~/.config/opencode/skills/<name>/SKILL.md`
|
||||
- Proje Claude uyumlu: `.claude/skills/<name>/SKILL.md`
|
||||
- Genel Claude uyumlu: `~/.claude/skills/<name>/SKILL.md`
|
||||
- Proje agent uyumlu: `.agents/skills/<name>/SKILL.md`
|
||||
- Genel agent uyumlu: `~/.agents/skills/<name>/SKILL.md`
|
||||
|
||||
---
|
||||
|
||||
## Kesfi anlayin
|
||||
|
||||
Proje yerel yollarinda opencode, mevcut calisma dizininizden baslayip git worktree kokune kadar yukari cikar.
|
||||
Bu sirada `skills/*/SKILL.md` altindaki eslesen `.opencode/` dosyalarini ve `.claude/skills/*/SKILL.md` ya da `.agents/skills/*/SKILL.md` dosyalarini yukler.
|
||||
|
||||
Genel tanimlar da `~/.config/opencode/skills/*/SKILL.md`, `~/.claude/skills/*/SKILL.md` ve `~/.agents/skills/*/SKILL.md` yollarindan yuklenir.
|
||||
|
||||
---
|
||||
|
||||
## Frontmatter yazin
|
||||
|
||||
Her `SKILL.md`, YAML frontmatter ile baslamalidir.
|
||||
Sadece su alanlar taninir:
|
||||
|
||||
- `name` (zorunlu)
|
||||
- `description` (zorunlu)
|
||||
- `license` (istege bagli)
|
||||
- `compatibility` (istege bagli)
|
||||
- `metadata` (istege bagli, string-to-string map)
|
||||
|
||||
Bilinmeyen frontmatter alanlari yok sayilir.
|
||||
|
||||
---
|
||||
|
||||
## Adlari dogrulayin
|
||||
|
||||
`name` su kurallari saglamalidir:
|
||||
|
||||
- 1-64 karakter olmali
|
||||
- Kucuk harf alfanumerik ve tekli tire ayirici kullanmali
|
||||
- `-` ile baslamamali veya bitmemeli
|
||||
- Ardisik `--` icermemeli
|
||||
- `SKILL.md` dosyasini barindiran klasor adi ile ayni olmali
|
||||
|
||||
Esdeger regex:
|
||||
|
||||
```text
|
||||
^[a-z0-9]+(-[a-z0-9]+)*$
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Uzunluk kurallarina uyun
|
||||
|
||||
`description` 1-1024 karakter arasinda olmali.
|
||||
Ajanin dogru secim yapmasi icin yeterince acik yazin.
|
||||
|
||||
---
|
||||
|
||||
## Ornek kullanin
|
||||
|
||||
`.opencode/skills/git-release/SKILL.md` dosyasini soyle olusturun:
|
||||
|
||||
```markdown
|
||||
---
|
||||
name: git-release
|
||||
description: Create consistent releases and changelogs
|
||||
license: MIT
|
||||
compatibility: opencode
|
||||
metadata:
|
||||
audience: maintainers
|
||||
workflow: github
|
||||
---
|
||||
|
||||
## What I do
|
||||
|
||||
- Draft release notes from merged PRs
|
||||
- Propose a version bump
|
||||
- Provide a copy-pasteable `gh release create` command
|
||||
|
||||
## When to use me
|
||||
|
||||
Use this when you are preparing a tagged release.
|
||||
Ask clarifying questions if the target versioning scheme is unclear.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Arac aciklamasini taniyin
|
||||
|
||||
opencode, `skill` araci aciklamasinda mevcut becerileri listeler.
|
||||
Her kayitta beceri adi ve aciklamasi yer alir:
|
||||
|
||||
```xml
|
||||
<available_skills>
|
||||
<skill>
|
||||
<name>git-release</name>
|
||||
<description>Create consistent releases and changelogs</description>
|
||||
</skill>
|
||||
</available_skills>
|
||||
```
|
||||
|
||||
Ajan, araci cagirarak beceri yukler:
|
||||
|
||||
```
|
||||
skill({ name: "git-release" })
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Izinleri yapilandirin
|
||||
|
||||
`opencode.json` icinde pattern tabanli izinlerle ajanlarin hangi becerilere erisecegini kontrol edin:
|
||||
|
||||
```json
|
||||
{
|
||||
"permission": {
|
||||
"skill": {
|
||||
"*": "allow",
|
||||
"pr-review": "allow",
|
||||
"internal-*": "deny",
|
||||
"experimental-*": "ask"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| Permission | Behavior |
|
||||
| ---------- | ------------------------------------------ |
|
||||
| `allow` | Beceri hemen yuklenir |
|
||||
| `deny` | Beceri ajandan gizlenir, erisim reddedilir |
|
||||
| `ask` | Yukleme oncesi kullanicidan onay istenir |
|
||||
|
||||
Pattern'lar wildcard destekler: `internal-*`, `internal-docs`, `internal-tools` vb. adlarla eslesir.
|
||||
|
||||
---
|
||||
|
||||
## Ajan bazinda gecersiz kilin
|
||||
|
||||
Belirli ajanlara genel varsayimlardan farkli izinler verebilirsiniz.
|
||||
|
||||
**Ozel ajanlar icin** (agent frontmatter icinde):
|
||||
|
||||
```yaml
|
||||
---
|
||||
permission:
|
||||
skill:
|
||||
"documents-*": "allow"
|
||||
---
|
||||
```
|
||||
|
||||
**Yerlesik ajanlar icin** (`opencode.json` icinde):
|
||||
|
||||
```json
|
||||
{
|
||||
"agent": {
|
||||
"plan": {
|
||||
"permission": {
|
||||
"skill": {
|
||||
"internal-*": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Skill aracini kapatin
|
||||
|
||||
Beceri kullanmamasi gereken ajanlar icin skill aracini tamamen kapatabilirsiniz:
|
||||
|
||||
**Ozel ajanlar icin**:
|
||||
|
||||
```yaml
|
||||
---
|
||||
tools:
|
||||
skill: false
|
||||
---
|
||||
```
|
||||
|
||||
**Yerlesik ajanlar icin**:
|
||||
|
||||
```json
|
||||
{
|
||||
"agent": {
|
||||
"plan": {
|
||||
"tools": {
|
||||
"skill": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Devre disi oldugunda `<available_skills>` bolumu tamamen kaldirilir.
|
||||
|
||||
---
|
||||
|
||||
## Yukleme sorunlarini giderin
|
||||
|
||||
Bir beceri listede gorunmuyorsa:
|
||||
|
||||
1. `SKILL.md` adinin tamamen buyuk harfle yazildigini dogrulayin
|
||||
2. Frontmatter icinde `name` ve `description` oldugunu kontrol edin
|
||||
3. Tum konumlarda beceri adlarinin benzersiz oldugundan emin olun
|
||||
4. Izinleri kontrol edin - `deny` olan beceriler ajanlardan gizlenir
|
||||
369
packages/web/src/content/docs/tr/themes.mdx
Normal file
369
packages/web/src/content/docs/tr/themes.mdx
Normal file
@@ -0,0 +1,369 @@
|
||||
---
|
||||
title: Temalar
|
||||
description: Yerleşik bir tema seçin veya kendiniz oluşturun.
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
Varsayılan olarak opencode kendi `opencode` temasını kullanır.
|
||||
|
||||
---
|
||||
|
||||
## Terminal gereksinimleri
|
||||
|
||||
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:
|
||||
|
||||
- **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 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.
|
||||
|
||||
---
|
||||
|
||||
## Yerleşik temalar
|
||||
|
||||
opencode birden fazla yerleşik temayla gelir.
|
||||
|
||||
| Ad | Açıklama |
|
||||
| ---------------------- | ----------------------------------------------------------------------------- |
|
||||
| `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 fazlası; sürekli yeni temalar ekliyoruz.
|
||||
|
||||
---
|
||||
|
||||
## Sistem teması
|
||||
|
||||
`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 ö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 teması şu kullanıcılar için idealdir:
|
||||
|
||||
- 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 kullanımı
|
||||
|
||||
`/theme` komutuyla tema seçicisini açıp tema seçebilirsiniz. İsterseniz `tui.json` içinde de belirtebilirsiniz.
|
||||
|
||||
```json title="tui.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/tui.json",
|
||||
"theme": "tokyonight"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Özel temalar
|
||||
|
||||
opencode, kullanıcıların kolayca tema oluşturup özelleştirebilmesi için esnek bir JSON tabanlı tema sistemi sunar.
|
||||
|
||||
---
|
||||
|
||||
### Hiyerarşi
|
||||
|
||||
Temalar birden fazla dizinden şu sırayla yüklenir; daha sonra gelen dizin öncekini ezer:
|
||||
|
||||
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 aynı adlı tema varsa, önceliği daha yüksek dizindeki tema kullanılır.
|
||||
|
||||
---
|
||||
|
||||
### Tema oluşturma
|
||||
|
||||
Özel tema oluşturmak için tema dizinlerinden birinde bir JSON dosyası oluşturun.
|
||||
|
||||
Kullanıcı geneli temalar için:
|
||||
|
||||
```bash no-frame
|
||||
mkdir -p ~/.config/opencode/themes
|
||||
vim ~/.config/opencode/themes/my-theme.json
|
||||
```
|
||||
|
||||
Proje özel temalar için:
|
||||
|
||||
```bash no-frame
|
||||
mkdir -p .opencode/themes
|
||||
vim .opencode/themes/my-theme.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### JSON formatı
|
||||
|
||||
Temalar aşağıdaki özellikleri destekleyen esnek bir JSON formatı kullanır:
|
||||
|
||||
- **Hex renkler**: `"#ffffff"`
|
||||
- **ANSI renkler**: `3` (0-255)
|
||||
- **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 tanımları
|
||||
|
||||
`defs` bölümü isteğe bağlıdır ve tema içinde tekrar kullanılabilir renkler tanımlamanızı sağlar.
|
||||
|
||||
---
|
||||
|
||||
### Terminal varsayılanları
|
||||
|
||||
Ö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 varsayılan ön plan rengini kullanır
|
||||
- `"background": "none"` - Terminalin varsayılan arka plan rengini kullanır
|
||||
|
||||
---
|
||||
|
||||
### Örnek
|
||||
|
||||
Aşağıda özel bir tema örneği var:
|
||||
|
||||
```json title="my-theme.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/theme.json",
|
||||
"defs": {
|
||||
"nord0": "#2E3440",
|
||||
"nord1": "#3B4252",
|
||||
"nord2": "#434C5E",
|
||||
"nord3": "#4C566A",
|
||||
"nord4": "#D8DEE9",
|
||||
"nord5": "#E5E9F0",
|
||||
"nord6": "#ECEFF4",
|
||||
"nord7": "#8FBCBB",
|
||||
"nord8": "#88C0D0",
|
||||
"nord9": "#81A1C1",
|
||||
"nord10": "#5E81AC",
|
||||
"nord11": "#BF616A",
|
||||
"nord12": "#D08770",
|
||||
"nord13": "#EBCB8B",
|
||||
"nord14": "#A3BE8C",
|
||||
"nord15": "#B48EAD"
|
||||
},
|
||||
"theme": {
|
||||
"primary": {
|
||||
"dark": "nord8",
|
||||
"light": "nord10"
|
||||
},
|
||||
"secondary": {
|
||||
"dark": "nord9",
|
||||
"light": "nord9"
|
||||
},
|
||||
"accent": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"error": {
|
||||
"dark": "nord11",
|
||||
"light": "nord11"
|
||||
},
|
||||
"warning": {
|
||||
"dark": "nord12",
|
||||
"light": "nord12"
|
||||
},
|
||||
"success": {
|
||||
"dark": "nord14",
|
||||
"light": "nord14"
|
||||
},
|
||||
"info": {
|
||||
"dark": "nord8",
|
||||
"light": "nord10"
|
||||
},
|
||||
"text": {
|
||||
"dark": "nord4",
|
||||
"light": "nord0"
|
||||
},
|
||||
"textMuted": {
|
||||
"dark": "nord3",
|
||||
"light": "nord1"
|
||||
},
|
||||
"background": {
|
||||
"dark": "nord0",
|
||||
"light": "nord6"
|
||||
},
|
||||
"backgroundPanel": {
|
||||
"dark": "nord1",
|
||||
"light": "nord5"
|
||||
},
|
||||
"backgroundElement": {
|
||||
"dark": "nord1",
|
||||
"light": "nord4"
|
||||
},
|
||||
"border": {
|
||||
"dark": "nord2",
|
||||
"light": "nord3"
|
||||
},
|
||||
"borderActive": {
|
||||
"dark": "nord3",
|
||||
"light": "nord2"
|
||||
},
|
||||
"borderSubtle": {
|
||||
"dark": "nord2",
|
||||
"light": "nord3"
|
||||
},
|
||||
"diffAdded": {
|
||||
"dark": "nord14",
|
||||
"light": "nord14"
|
||||
},
|
||||
"diffRemoved": {
|
||||
"dark": "nord11",
|
||||
"light": "nord11"
|
||||
},
|
||||
"diffContext": {
|
||||
"dark": "nord3",
|
||||
"light": "nord3"
|
||||
},
|
||||
"diffHunkHeader": {
|
||||
"dark": "nord3",
|
||||
"light": "nord3"
|
||||
},
|
||||
"diffHighlightAdded": {
|
||||
"dark": "nord14",
|
||||
"light": "nord14"
|
||||
},
|
||||
"diffHighlightRemoved": {
|
||||
"dark": "nord11",
|
||||
"light": "nord11"
|
||||
},
|
||||
"diffAddedBg": {
|
||||
"dark": "#3B4252",
|
||||
"light": "#E5E9F0"
|
||||
},
|
||||
"diffRemovedBg": {
|
||||
"dark": "#3B4252",
|
||||
"light": "#E5E9F0"
|
||||
},
|
||||
"diffContextBg": {
|
||||
"dark": "nord1",
|
||||
"light": "nord5"
|
||||
},
|
||||
"diffLineNumber": {
|
||||
"dark": "nord2",
|
||||
"light": "nord4"
|
||||
},
|
||||
"diffAddedLineNumberBg": {
|
||||
"dark": "#3B4252",
|
||||
"light": "#E5E9F0"
|
||||
},
|
||||
"diffRemovedLineNumberBg": {
|
||||
"dark": "#3B4252",
|
||||
"light": "#E5E9F0"
|
||||
},
|
||||
"markdownText": {
|
||||
"dark": "nord4",
|
||||
"light": "nord0"
|
||||
},
|
||||
"markdownHeading": {
|
||||
"dark": "nord8",
|
||||
"light": "nord10"
|
||||
},
|
||||
"markdownLink": {
|
||||
"dark": "nord9",
|
||||
"light": "nord9"
|
||||
},
|
||||
"markdownLinkText": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"markdownCode": {
|
||||
"dark": "nord14",
|
||||
"light": "nord14"
|
||||
},
|
||||
"markdownBlockQuote": {
|
||||
"dark": "nord3",
|
||||
"light": "nord3"
|
||||
},
|
||||
"markdownEmph": {
|
||||
"dark": "nord12",
|
||||
"light": "nord12"
|
||||
},
|
||||
"markdownStrong": {
|
||||
"dark": "nord13",
|
||||
"light": "nord13"
|
||||
},
|
||||
"markdownHorizontalRule": {
|
||||
"dark": "nord3",
|
||||
"light": "nord3"
|
||||
},
|
||||
"markdownListItem": {
|
||||
"dark": "nord8",
|
||||
"light": "nord10"
|
||||
},
|
||||
"markdownListEnumeration": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"markdownImage": {
|
||||
"dark": "nord9",
|
||||
"light": "nord9"
|
||||
},
|
||||
"markdownImageText": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"markdownCodeBlock": {
|
||||
"dark": "nord4",
|
||||
"light": "nord0"
|
||||
},
|
||||
"syntaxComment": {
|
||||
"dark": "nord3",
|
||||
"light": "nord3"
|
||||
},
|
||||
"syntaxKeyword": {
|
||||
"dark": "nord9",
|
||||
"light": "nord9"
|
||||
},
|
||||
"syntaxFunction": {
|
||||
"dark": "nord8",
|
||||
"light": "nord8"
|
||||
},
|
||||
"syntaxVariable": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"syntaxString": {
|
||||
"dark": "nord14",
|
||||
"light": "nord14"
|
||||
},
|
||||
"syntaxNumber": {
|
||||
"dark": "nord15",
|
||||
"light": "nord15"
|
||||
},
|
||||
"syntaxType": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"syntaxOperator": {
|
||||
"dark": "nord9",
|
||||
"light": "nord9"
|
||||
},
|
||||
"syntaxPunctuation": {
|
||||
"dark": "nord4",
|
||||
"light": "nord0"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
341
packages/web/src/content/docs/tr/tools.mdx
Normal file
341
packages/web/src/content/docs/tr/tools.mdx
Normal file
@@ -0,0 +1,341 @@
|
||||
---
|
||||
title: Araçlar
|
||||
description: LLM'in kullanabileceği araçları yönetin.
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
Varsayılan olarak tüm araçlar **etkindir** ve çalışmak için izin istemez. Araç davranışını [izinler](/docs/permissions) üzerinden kontrol edebilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
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"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "deny",
|
||||
"bash": "ask",
|
||||
"webfetch": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"mymcp_*": "ask"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
İzin yapılandırması için [daha fazla bilgi alın](/docs/permissions).
|
||||
|
||||
---
|
||||
|
||||
## Yerleşik
|
||||
|
||||
opencode içinde bulunan tüm yerleşik araçlar aşağıdadır.
|
||||
|
||||
---
|
||||
|
||||
### bash
|
||||
|
||||
Proje ortamınızda kabuk komutları çalıştırır.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"bash": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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 değiştirme ile mevcut dosyaları düzenler.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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 oluşturur veya mevcut dosyaları üzerine yazar.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
LLM'in yeni dosya oluşturmasına izin vermek için bunu kullanın. Dosya zaten varsa üzerine yazar.
|
||||
|
||||
:::note
|
||||
`write` aracı `edit` izniyle kontrol edilir; bu izin tüm dosya değişikliklerini kapsar (`edit`, `write`, `patch`).
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### read
|
||||
|
||||
Kod tabanınızdan dosya içeriği okur.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"read": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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
|
||||
|
||||
Düzenli ifadelerle dosya içeriğinde arama yapar.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"grep": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Kod tabanında hızlı içerik araması sunar. Tam regex sözdizimini ve dosya desen filtrelerini destekler.
|
||||
|
||||
---
|
||||
|
||||
### glob
|
||||
|
||||
Desen eşleştirme ile dosya bulur.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"glob": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`**/*.js` veya `src/**/*.ts` gibi glob desenleriyle dosya arar. Eşleşen dosya yollarını değişim zamanına göre sıralar.
|
||||
|
||||
---
|
||||
|
||||
### lsp (deneysel)
|
||||
|
||||
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 araç yalnızca `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` (veya `OPENCODE_EXPERIMENTAL=true`) olduğunda kullanılabilir.
|
||||
:::
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"lsp": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Desteklenen işlemler: `goToDefinition`, `findReferences`, `hover`, `documentSymbol`, `workspaceSymbol`, `goToImplementation`, `prepareCallHierarchy`, `incomingCalls`, `outgoingCalls`.
|
||||
|
||||
Projeniz için kullanılabilir LSP sunucularını ayarlamak için [LSP Sunucuları](/docs/lsp) sayfasına bakın.
|
||||
|
||||
---
|
||||
|
||||
### patch
|
||||
|
||||
Dosyalara patch uygular.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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` aracı `edit` izniyle kontrol edilir; bu izin tüm dosya değişikliklerini kapsar (`edit`, `write`, `patch`).
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### skill
|
||||
|
||||
Bir [skill](/docs/skills) (`SKILL.md` dosyası) yükler ve içeriğini konuşmaya döndürür.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"skill": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### todowrite
|
||||
|
||||
Kodlama oturumlarında yapılacaklar listesini yönetir.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"todowrite": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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 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 içeriği getirir.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"webfetch": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
LLM'in web sayfalarını getirip okumasını sağlar. Dokümantasyon aramak veya çevrimiçi kaynakları incelemek için kullanışlıdır.
|
||||
|
||||
---
|
||||
|
||||
### websearch
|
||||
|
||||
Web'de bilgi arar.
|
||||
|
||||
:::note
|
||||
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 başlatırken etkinleştirmek için:
|
||||
|
||||
```bash
|
||||
OPENCODE_ENABLE_EXA=1 opencode
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"websearch": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
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 anahtarı gerekmez - araç Exa AI'nin barındırılan MCP hizmetine doğrudan kimlik doğrulaması olmadan bağlanır.
|
||||
|
||||
:::tip
|
||||
Bilgi keşfetmeniz gerekiyorsa `websearch`, belirli bir URL'den içerik çekmeniz gerekiyorsa `webfetch` kullanın.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### question
|
||||
|
||||
Çalışma sırasında kullanıcıya soru sorar.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"question": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu araç LLM'in görev sırasında kullanıcıya soru sormasını sağlar. Şunlar için kullanışlıdır:
|
||||
|
||||
- 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 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.
|
||||
|
||||
---
|
||||
|
||||
## Özel araçlar
|
||||
|
||||
Ö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.
|
||||
|
||||
Özel araç oluşturma için [daha fazla bilgi alın](/docs/custom-tools).
|
||||
|
||||
---
|
||||
|
||||
## MCP sunucuları
|
||||
|
||||
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 sunucularını yapılandırma için [daha fazla bilgi alın](/docs/mcp-servers).
|
||||
|
||||
---
|
||||
|
||||
## Dahili detaylar
|
||||
|
||||
Dahilde `grep` ve `glob` 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.
|
||||
|
||||
---
|
||||
|
||||
### Yoksayma desenleri
|
||||
|
||||
Normalde yok sayılan dosyaları dahil etmek için proje kökünde bir `.ignore` dosyası oluşturun. Bu dosya belirli yolları açıkça izinli yapabilir.
|
||||
|
||||
```text title=".ignore"
|
||||
!node_modules/
|
||||
!dist/
|
||||
!build/
|
||||
```
|
||||
|
||||
Örneğin bu `.ignore` dosyası, `node_modules/` içinde olsalar bile ripgrep'in `dist/`, `build/` ve `.gitignore` dizinlerinde arama yapmasına izin verir.
|
||||
299
packages/web/src/content/docs/tr/troubleshooting.mdx
Normal file
299
packages/web/src/content/docs/tr/troubleshooting.mdx
Normal file
@@ -0,0 +1,299 @@
|
||||
---
|
||||
title: Sorun giderme
|
||||
description: Yaygin sorunlar ve cozum adimlari.
|
||||
---
|
||||
|
||||
opencode ile ilgili bir sorunu ayiklamak icin once loglari ve diskte tuttugu yerel verileri kontrol edin.
|
||||
|
||||
---
|
||||
|
||||
## Loglar
|
||||
|
||||
Log dosyalari su konuma yazilir:
|
||||
|
||||
- **macOS/Linux**: `~/.local/share/opencode/log/`
|
||||
- **Windows**: `WIN+R` tuslayip `%USERPROFILE%\.local\share\opencode\log` yapistirin
|
||||
|
||||
Log dosyalari zaman damgasiyla adlandirilir (ornegin `2025-01-09T123456.log`) ve en yeni 10 log dosyasi tutulur.
|
||||
|
||||
Daha ayrintili ayiklama bilgisi icin `--log-level` komut satiri secenegini kullanabilirsiniz. Ornek: `opencode --log-level DEBUG`.
|
||||
|
||||
---
|
||||
|
||||
## Depolama
|
||||
|
||||
opencode, oturum verilerini ve diger uygulama verilerini diskte su konumda saklar:
|
||||
|
||||
- **macOS/Linux**: `~/.local/share/opencode/`
|
||||
- **Windows**: `WIN+R` tuslayip `%USERPROFILE%\.local\share\opencode` yapistirin
|
||||
|
||||
Bu dizin sunlari icerir:
|
||||
|
||||
- `auth.json` - API anahtarlari, OAuth tokenlari gibi kimlik dogrulama verileri
|
||||
- `log/` - Uygulama loglari
|
||||
- `project/` - Oturum ve mesaj verileri gibi projeye ozel veriler
|
||||
- Proje bir Git deposundaysa `./<project-slug>/storage/` altinda saklanir
|
||||
- Git deposu degilse `./global/storage/` altinda saklanir
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
### Hızlı kontroller
|
||||
|
||||
- Uygulamayi tamamen kapatip yeniden acin
|
||||
- Uygulama hata ekrani gosteriyorsa **Restart**'a tiklayip hata detaylarini kopyalayin
|
||||
- Yalnizca macOS: `opencode` menusu -> **Reload Webview** (arayuz bos/donukse yardimci olur)
|
||||
|
||||
---
|
||||
|
||||
### Eklentileri devre dışı bırakın
|
||||
|
||||
Desktop uygulamasi acilista cokuyorsa, takiliyorsa veya garip davranislar gosteriyorsa once pluginleri devre disi birakin.
|
||||
|
||||
#### Global config'i kontrol edin
|
||||
|
||||
Global config dosyanizi acin ve `plugin` anahtarini arayin.
|
||||
|
||||
- **macOS/Linux**: `~/.config/opencode/opencode.jsonc` (veya `~/.config/opencode/opencode.json`)
|
||||
- **macOS/Linux** (eski kurulumlar): `~/.local/share/opencode/opencode.jsonc`
|
||||
- **Windows**: `WIN+R` tuslayip `%USERPROFILE%\.config\opencode\opencode.jsonc` yapistirin
|
||||
|
||||
Plugin tanimliysa anahtari kaldirarak veya bos bir diziye cekerek gecici olarak devre disi birakin:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"plugin": [],
|
||||
}
|
||||
```
|
||||
|
||||
#### Eklenti dizinlerini kontrol edin
|
||||
|
||||
opencode diskten yerel plugin de yukleyebilir. Bu dizinleri gecici olarak tasiyin (veya klasoru yeniden adlandirin) ve uygulamayi yeniden baslatin:
|
||||
|
||||
- **Global plugins**
|
||||
- **macOS/Linux**: `~/.config/opencode/plugins/`
|
||||
- **Windows**: `WIN+R` tuslayip `%USERPROFILE%\.config\opencode\plugins` yapistirin
|
||||
- **Project plugins** (sadece proje bazli config kullaniyorsaniz)
|
||||
- `<your-project>/.opencode/plugins/`
|
||||
|
||||
Uygulama duzelirse soruna neden olan plugini bulmak icin pluginleri tek tek yeniden etkinlestirin.
|
||||
|
||||
---
|
||||
|
||||
### Cache'i temizleyin
|
||||
|
||||
Pluginleri kapatmak ise yaramazsa (veya plugin kurulumu takili kaldiysa), opencode'un cache'i yeniden olusturmasi icin cache'i temizleyin.
|
||||
|
||||
1. opencode Desktop'u tamamen kapatin
|
||||
2. Cache dizinini silin:
|
||||
|
||||
- **macOS**: Finder -> `Cmd+Shift+G` -> `~/.cache/opencode`
|
||||
- **Linux**: `~/.cache/opencode` dizinini silin (veya `rm -rf ~/.cache/opencode` calistirin)
|
||||
- **Windows**: `WIN+R` tuslayip `%USERPROFILE%\.cache\opencode` yapistirin
|
||||
|
||||
3. opencode Desktop'u yeniden baslatin
|
||||
|
||||
---
|
||||
|
||||
### Sunucu bağlantı sorunlarını düzeltin
|
||||
|
||||
opencode Desktop ya kendi yerel sunucusunu baslatir (varsayilan) ya da sizin tanimladiginiz bir sunucu URL'sine baglanir.
|
||||
|
||||
**"Connection Failed"** penceresi goruyorsaniz (veya uygulama acilis ekranini gecemiyorsa), ozel bir sunucu URL'si olup olmadigini kontrol edin.
|
||||
|
||||
#### Desktop varsayilan sunucu URL'sini temizleyin
|
||||
|
||||
Ana ekranda sunucu adina (durum noktali) tiklayarak Server secicisini acin. **Default server** bolumunde **Clear**'a tiklayin.
|
||||
|
||||
#### Config'ten `server.port` / `server.hostname` kaldirin
|
||||
|
||||
`opencode.json(c)` dosyanizda `server` bolumu varsa gecici olarak kaldirin ve desktop uygulamasini yeniden baslatin.
|
||||
|
||||
#### Ortam degiskenlerini kontrol edin
|
||||
|
||||
Ortamda `OPENCODE_PORT` ayarliysa desktop uygulamasi yerel sunucu icin o portu kullanmaya calisir.
|
||||
|
||||
- `OPENCODE_PORT` degerini kaldirin (veya bos bir port secin) ve yeniden baslatin
|
||||
|
||||
---
|
||||
|
||||
### Linux: Wayland / X11 sorunları
|
||||
|
||||
Linux'ta bazi Wayland kurulumlari bos pencere veya compositor hatalarina yol acabilir.
|
||||
|
||||
- Wayland kullaniyorsaniz ve uygulama bos/acilmiyorsa `OC_ALLOW_WAYLAND=1` ile baslatin
|
||||
- Bu daha kotu olursa kaldirip X11 oturumunda baslatmayi deneyin
|
||||
|
||||
---
|
||||
|
||||
### 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 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 görünmüyor
|
||||
|
||||
opencode Desktop sistem bildirimlerini yalnizca su durumlarda gosterir:
|
||||
|
||||
- Isletim sistemi ayarlarinizda opencode icin bildirimler etkinse
|
||||
- Uygulama penceresi odakta degilse
|
||||
|
||||
---
|
||||
|
||||
### Desktop depolamasını sıfırlayın (son çare)
|
||||
|
||||
Uygulama acilmiyorsa ve ayarlari arayuz icinden temizleyemiyorsaniz, desktop uygulamasinin kayitli durumunu sifirlayin.
|
||||
|
||||
1. opencode Desktop'u kapatin
|
||||
2. Su dosyalari bulun ve silin (opencode Desktop uygulama veri dizininde yer alirlar):
|
||||
|
||||
- `opencode.settings.dat` (desktop varsayilan sunucu URL'si)
|
||||
- `opencode.global.dat` ve `opencode.workspace.*.dat` (son sunucular/projeler gibi UI durumu)
|
||||
|
||||
Dizini hizlica bulmak icin:
|
||||
|
||||
- **macOS**: Finder -> `Cmd+Shift+G` -> `~/Library/Application Support` (ardindan yukaridaki dosya adlarini aratin)
|
||||
- **Linux**: `~/.local/share` altinda bu dosya adlarini aratin
|
||||
- **Windows**: `WIN+R` -> `%APPDATA%` (ardindan bu dosya adlarini aratin)
|
||||
|
||||
---
|
||||
|
||||
## Yardım alın
|
||||
|
||||
opencode ile ilgili bir sorun yasiyorsaniz:
|
||||
|
||||
1. **GitHub'da issue acin**
|
||||
|
||||
Hata bildirmek veya ozellik talep etmek icin en iyi yol GitHub depomuzdur:
|
||||
|
||||
[**github.com/anomalyco/opencode/issues**](https://github.com/anomalyco/opencode/issues)
|
||||
|
||||
Yeni issue acmadan once sorununuzun daha once raporlanip raporlanmadigini kontrol edin.
|
||||
|
||||
2. **Discord'a katilin**
|
||||
|
||||
Gercek zamanli yardim ve topluluk sohbeti icin Discord sunucumuza katilin:
|
||||
|
||||
[**opencode.ai/discord**](https://opencode.ai/discord)
|
||||
|
||||
---
|
||||
|
||||
## Yaygın sorunlar
|
||||
|
||||
Asagida yaygin sorunlar ve cozumleri yer aliyor.
|
||||
|
||||
---
|
||||
|
||||
### opencode başlamıyor
|
||||
|
||||
1. Hata mesaji icin loglari kontrol edin
|
||||
2. Terminalde cikti gormek icin `--print-logs` ile calistirin
|
||||
3. `opencode upgrade` ile en guncel surumu kullandiginizdan emin olun
|
||||
|
||||
---
|
||||
|
||||
### Kimlik doğrulama sorunları
|
||||
|
||||
1. TUI'da `/connect` komutuyla yeniden kimlik dogrulamasi yapin
|
||||
2. API anahtarlarinizin gecerli oldugunu kontrol edin
|
||||
3. Aginizin provider API baglantilarina izin verdiginden emin olun
|
||||
|
||||
---
|
||||
|
||||
### Model kullanılamıyor
|
||||
|
||||
1. Provider ile kimlik dogrulamasi yaptiginizi kontrol edin
|
||||
2. Config'teki model adinin dogru oldugunu dogrulayin
|
||||
3. Bazi modeller ozel erisim veya abonelik gerektirebilir
|
||||
|
||||
`ProviderModelNotFoundError` aliyorsaniz buyuk olasilikla bir yerde model referansi yanlistir.
|
||||
Model referansi su formatta olmalidir: `<providerId>/<modelId>`
|
||||
|
||||
Ornekler:
|
||||
|
||||
- `openai/gpt-4.1`
|
||||
- `openrouter/google/gemini-2.5-flash`
|
||||
- `opencode/kimi-k2`
|
||||
|
||||
Erisiminiz olan modelleri gormek icin `opencode models` calistirin.
|
||||
|
||||
---
|
||||
|
||||
### ProviderInitError
|
||||
|
||||
`ProviderInitError` aliyorsaniz buyuk olasilikla config'iniz gecersiz veya bozulmustur.
|
||||
|
||||
Cozum adimlari:
|
||||
|
||||
1. Once [providers rehberini](/docs/providers) izleyerek provider kurulumunun dogru oldugunu dogrulayin
|
||||
2. Sorun surerse kayitli konfigurasyonu temizlemeyi deneyin:
|
||||
|
||||
```bash
|
||||
rm -rf ~/.local/share/opencode
|
||||
```
|
||||
|
||||
Windows'ta `WIN+R` tuslayip su konumu silin: `%USERPROFILE%\.local\share\opencode`
|
||||
|
||||
3. TUI'da `/connect` komutuyla provider kimlik dogrulamasini tekrar yapin
|
||||
|
||||
---
|
||||
|
||||
### AI_APICallError ve provider paket sorunlari
|
||||
|
||||
API cagrisi hatalari aliyorsaniz bunun nedeni guncel olmayan provider paketleri olabilir. opencode, provider paketlerini (OpenAI, Anthropic, Google vb.) gerektikce dinamik yukler ve yerelde onbellekler.
|
||||
|
||||
Provider paket sorunlarini gidermek icin:
|
||||
|
||||
1. Provider paket cache'ini temizleyin:
|
||||
|
||||
```bash
|
||||
rm -rf ~/.cache/opencode
|
||||
```
|
||||
|
||||
Windows'ta `WIN+R` tuslayip su konumu silin: `%USERPROFILE%\.cache\opencode`
|
||||
|
||||
2. En guncel provider paketlerini yeniden kurmak icin opencode'u yeniden baslatin
|
||||
|
||||
Bu, opencode'un en yeni provider paket surumlerini indirmesini zorlar ve model parametresi/API degisikliklerinden kaynakli uyumsuzluklari cogu zaman cozer.
|
||||
|
||||
---
|
||||
|
||||
### Linux'ta kopyala/yapıştır çalışmıyor
|
||||
|
||||
Linux kullanicilarinin kopyala/yapistir ozelliginin calismasi icin asagidaki pano araclarindan en az birini kurmasi gerekir:
|
||||
|
||||
**X11 sistemleri icin:**
|
||||
|
||||
```bash
|
||||
apt install -y xclip
|
||||
# or
|
||||
apt install -y xsel
|
||||
```
|
||||
|
||||
**Wayland sistemleri icin:**
|
||||
|
||||
```bash
|
||||
apt install -y wl-clipboard
|
||||
```
|
||||
|
||||
**Headless ortamlar icin:**
|
||||
|
||||
```bash
|
||||
apt install -y xvfb
|
||||
# and run:
|
||||
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
|
||||
export DISPLAY=:99.0
|
||||
```
|
||||
|
||||
opencode, Wayland kullandiginizi algilarsa `wl-clipboard` tercihi yapar. Aksi halde sirayla `xclip` ve `xsel` araclarini arar.
|
||||
427
packages/web/src/content/docs/tr/tui.mdx
Normal file
427
packages/web/src/content/docs/tr/tui.mdx
Normal file
@@ -0,0 +1,427 @@
|
||||
---
|
||||
title: TUI
|
||||
description: OpenCode terminal kullanıcı arayüzünü kullanma.
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
|
||||
OpenCode, projelerinizde LLM ile çalışmak için etkileşimli bir terminal arayüzü (TUI) sunar.
|
||||
|
||||
OpenCode'u çalıştırdığınızda mevcut dizin için TUI başlar.
|
||||
|
||||
```bash
|
||||
opencode
|
||||
```
|
||||
|
||||
İsterseniz belirli bir çalışma dizini için de başlatabilirsiniz.
|
||||
|
||||
```bash
|
||||
opencode /path/to/project
|
||||
```
|
||||
|
||||
TUI içine girdiğinizde, bir mesajla istem gönderebilirsiniz.
|
||||
|
||||
```text
|
||||
Give me a quick summary of the codebase.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Dosya referansları
|
||||
|
||||
Mesajlarınızda `@` kullanarak dosyalara referans verebilirsiniz. Bu, mevcut çalışma dizininde bulanık dosya araması yapar.
|
||||
|
||||
:::tip
|
||||
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 içeriği otomatik olarak konuşmaya eklenir.
|
||||
|
||||
---
|
||||
|
||||
## Bash komutları
|
||||
|
||||
Bir mesajı `!` ile başlatarak shell komutu çalıştırın.
|
||||
|
||||
```bash frame="none"
|
||||
!ls -la
|
||||
```
|
||||
|
||||
Komut çıktısı bir araç sonucu olarak konuşmaya eklenir.
|
||||
|
||||
---
|
||||
|
||||
## Komutlar
|
||||
|
||||
OpenCode TUI kullanırken `/` ve ardından komut adını yazarak hızlı eylemler çalıştırabilirsiniz. Örneğin:
|
||||
|
||||
```bash frame="none"
|
||||
/help
|
||||
```
|
||||
|
||||
Komutların çoğu, lider tuşu `ctrl+x` olan bir kısayola da sahiptir. [Daha fazla bilgi](/docs/keybinds).
|
||||
|
||||
İşte mevcut slash komutlarının tümü:
|
||||
|
||||
---
|
||||
|
||||
### connect
|
||||
|
||||
OpenCode'a bir sağlayıcı ekler. Mevcut sağlayıcıları seçip API anahtarları eklemenizi sağlar.
|
||||
|
||||
```bash frame="none"
|
||||
/connect
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### compact
|
||||
|
||||
Mevcut oturumu sıkıştırır. _Takma ad_: `/summarize`
|
||||
|
||||
```bash frame="none"
|
||||
/compact
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x c`
|
||||
|
||||
---
|
||||
|
||||
### details
|
||||
|
||||
Araç çalıştırma detaylarını göster/gizle yapar.
|
||||
|
||||
```bash frame="none"
|
||||
/details
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x d`
|
||||
|
||||
---
|
||||
|
||||
### editor
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x e`
|
||||
|
||||
---
|
||||
|
||||
### exit
|
||||
|
||||
OpenCode'dan çıkar. _Takma adlar_: `/quit`, `/q`
|
||||
|
||||
```bash frame="none"
|
||||
/exit
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x q`
|
||||
|
||||
---
|
||||
|
||||
### export
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x x`
|
||||
|
||||
---
|
||||
|
||||
### help
|
||||
|
||||
Yardım penceresini gösterir.
|
||||
|
||||
```bash frame="none"
|
||||
/help
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x h`
|
||||
|
||||
---
|
||||
|
||||
### init
|
||||
|
||||
`AGENTS.md` dosyasını oluşturur veya günceller. [Daha fazla bilgi](/docs/rules).
|
||||
|
||||
```bash frame="none"
|
||||
/init
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x i`
|
||||
|
||||
---
|
||||
|
||||
### models
|
||||
|
||||
Kullanılabilir modelleri listeler.
|
||||
|
||||
```bash frame="none"
|
||||
/models
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x m`
|
||||
|
||||
---
|
||||
|
||||
### new
|
||||
|
||||
Yeni bir oturum başlatır. _Takma ad_: `/clear`
|
||||
|
||||
```bash frame="none"
|
||||
/new
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x n`
|
||||
|
||||
---
|
||||
|
||||
### redo
|
||||
|
||||
Geri alınan bir mesajı tekrar uygular. Yalnızca `/undo` kullanıldıktan sonra kullanılabilir.
|
||||
|
||||
:::tip
|
||||
Herhangi bir dosya değişikliği de geri yüklenir.
|
||||
:::
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x r`
|
||||
|
||||
---
|
||||
|
||||
### sessions
|
||||
|
||||
Oturumları listeler ve aralarında geçiş yapar. _Takma adlar_: `/resume`, `/continue`
|
||||
|
||||
```bash frame="none"
|
||||
/sessions
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x l`
|
||||
|
||||
---
|
||||
|
||||
### share
|
||||
|
||||
Mevcut oturumu paylaşır. [Daha fazla bilgi](/docs/share).
|
||||
|
||||
```bash frame="none"
|
||||
/share
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x s`
|
||||
|
||||
---
|
||||
|
||||
### themes
|
||||
|
||||
Kullanılabilir temaları listeler.
|
||||
|
||||
```bash frame="none"
|
||||
/themes
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x t`
|
||||
|
||||
---
|
||||
|
||||
### thinking
|
||||
|
||||
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 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"
|
||||
/thinking
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### undo
|
||||
|
||||
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
|
||||
Yapılan tüm dosya değişiklikleri de geri alınır.
|
||||
:::
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
**Kısayol:** `ctrl+x u`
|
||||
|
||||
---
|
||||
|
||||
### unshare
|
||||
|
||||
Mevcut oturumun paylaşımını kaldırır. [Daha fazla bilgi](/docs/share#un-sharing).
|
||||
|
||||
```bash frame="none"
|
||||
/unshare
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Editör kurulumu
|
||||
|
||||
Hem `/editor` hem de `/export` komutları, `EDITOR` ortam değişkeninde belirtilen editörü kullanır.
|
||||
|
||||
<Tabs>
|
||||
<TabItem label="Linux/macOS">
|
||||
```bash
|
||||
# Example for nano or vim
|
||||
export EDITOR=nano
|
||||
export EDITOR=vim
|
||||
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
export EDITOR="code --wait"
|
||||
```
|
||||
|
||||
Kalıcı yapmak için bunu kabuk profilinize ekleyin;
|
||||
`~/.bashrc`, `~/.zshrc` vb.
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Windows (CMD)">
|
||||
```bash
|
||||
set EDITOR=notepad
|
||||
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
set EDITOR=code --wait
|
||||
```
|
||||
|
||||
Kalıcı yapmak için **System Properties** > **Environment
|
||||
Variables** yolunu kullanın.
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Windows (PowerShell)">
|
||||
```powershell
|
||||
$env:EDITOR = "notepad"
|
||||
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
$env:EDITOR = "code --wait"
|
||||
```
|
||||
|
||||
Kalıcı yapmak için bunu PowerShell profilinize ekleyin.
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
Popüler editör seçenekleri şunları içerir:
|
||||
|
||||
- `code` - Visual Studio Code
|
||||
- `cursor` - Cursor
|
||||
- `windsurf` - Windsurf
|
||||
- `nvim` - Neovim editörü
|
||||
- `vim` - Vim editörü
|
||||
- `nano` - Nano editörü
|
||||
- `notepad` - Windows Notepad
|
||||
- `subl` - Sublime Text
|
||||
|
||||
:::note
|
||||
VS Code gibi bazı editörlerin `--wait` bayrağı ile başlatılması gerekir.
|
||||
:::
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
TUI davranışını `tui.json` (veya `tui.jsonc`) aracılığıyla özelleştirebilirsiniz.
|
||||
|
||||
```json title="tui.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/tui.json",
|
||||
"theme": "opencode",
|
||||
"leader_timeout": 2000,
|
||||
"keybinds": {
|
||||
"leader": "ctrl+x",
|
||||
"command_list": "ctrl+p"
|
||||
},
|
||||
"scroll_speed": 3,
|
||||
"scroll_acceleration": {
|
||||
"enabled": false
|
||||
},
|
||||
"diff_style": "auto",
|
||||
"mouse": true,
|
||||
"attention": {
|
||||
"enabled": true,
|
||||
"notifications": true,
|
||||
"sound": true,
|
||||
"volume": 0.4,
|
||||
"sound_pack": "opencode.default",
|
||||
"sounds": {
|
||||
"error": "./sounds/error.mp3"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu, sunucu/çalışma zamanı davranışını yapılandıran `opencode.json` dosyasından ayrıdır.
|
||||
|
||||
`keybinds` yerleşik varsayılanlarla birleştirilir; bu yüzden yalnızca değiştirmek istediğiniz kısayolları yapılandırmanız yeterlidir.
|
||||
|
||||
### Seçenekler
|
||||
|
||||
- `theme` - UI temanızı ayarlar. [Daha fazla bilgi](/docs/themes).
|
||||
- `keybinds` - Klavye kısayollarını özelleştirir. [Daha fazla bilgi](/docs/keybinds).
|
||||
- `leader_timeout` - OpenCode'un leader key sonrasında ne kadar bekleyeceğini kontrol eder. Varsayılan değer `2000`.
|
||||
- `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.
|
||||
- `mouse` - TUI içinde fare yakalamayı etkinleştirir veya devre dışı bırakır (varsayılan: `true`). Devre dışı bırakıldığında terminalin yerel fareyle seçme ve kaydırma davranışı korunur.
|
||||
- `attention` - TUI masaüstü bildirimlerini ve seslerini yapılandırır. Varsayılan olarak devre dışıdır.
|
||||
|
||||
Özel bir TUI yapılandırma yolu yüklemek için `OPENCODE_TUI_CONFIG` kullanın.
|
||||
|
||||
### Attention
|
||||
|
||||
Attention, OpenCode bir yanıt beklediğinde, izin onayı gerektiğinde, oturum hatası oluştuğunda veya oturum tamamlandığında TUI'nin sizi ses ve masaüstü bildirimiyle uyarmasını sağlar. `attention.enabled` ile etkinleştirin; yerleşik olaylar gerçekleştiğinde ses çalar. Masaüstü bildirimleri yalnızca terminal penceresi odakta değilken gönderilir ve subagent olayları için kullanılmaz.
|
||||
|
||||
- `enabled` - Attention için tüm bildirimleri ve sesleri etkinleştirir. Varsayılan değer `false`.
|
||||
- `notifications` - Attention etkin olduğunda TUI'nin terminal üzerinden masaüstü bildirimi göndermesine izin verir. Varsayılan değer `true`.
|
||||
- `sound` - Attention etkin olduğunda uyarı seslerinin çalmasına izin verir. Varsayılan değer `true`.
|
||||
- `volume` - Uyarı sesleri için varsayılan ses düzeyi, `0` ile `1` arasındadır. Varsayılan değer `0.4`.
|
||||
- `sound_pack` - Kullanılacak sound pack ID. Varsayılan değer `opencode.default`.
|
||||
- `sounds` - `default`, `question`, `permission`, `error`, `done` veya `subagent_done` için özel ses dosyaları ayarlar. Yollar mutlak, `file://` URL'leri veya `tui.json` dosyasına göre göreli olabilir.
|
||||
|
||||
---
|
||||
|
||||
## Özelleştirme
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
#### Kullanıcı adı görünümü
|
||||
|
||||
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" araması yapın
|
||||
- Ayar otomatik olarak kalıcı hale gelir ve TUI oturumları arasında hatırlanır
|
||||
142
packages/web/src/content/docs/tr/web.mdx
Normal file
142
packages/web/src/content/docs/tr/web.mdx
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
title: Web
|
||||
description: Tarayıcınızda opencode'u kullanma.
|
||||
---
|
||||
|
||||
opencode, tarayıcınızda bir web uygulaması olarak çalışabilir ve bir terminale ihtiyaç duymadan aynı güçlü AI kodlama deneyimini sağlayabilir.
|
||||
|
||||

|
||||
|
||||
## Başlarken
|
||||
|
||||
Aşağıdakileri çalıştırarak web arayüzünü başlatın:
|
||||
|
||||
```bash
|
||||
opencode web
|
||||
```
|
||||
|
||||
Bu, `127.0.0.1` üzerinde rastgele kullanılabilir bir bağlantı noktasına sahip yerel bir sunucuyu başlatır ve opencode'u varsayılan tarayıcınızda otomatik olarak açar.
|
||||
|
||||
:::caution
|
||||
`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 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.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
Web sunucusunu komut satırı bayraklarıyla veya [config dosyanızda](/docs/config) yapılandırabilirsiniz.
|
||||
|
||||
### Port
|
||||
|
||||
opencode varsayılan olarak kullanılabilir bir bağlantı noktasını seçer. Bir bağlantı noktası belirtebilirsiniz:
|
||||
|
||||
```bash
|
||||
opencode web --port 4096
|
||||
```
|
||||
|
||||
### Ana makine adı
|
||||
|
||||
Varsayılan olarak sunucu `127.0.0.1` (yalnızca localhost) öğesine bağlanır. opencode'u ağınızda erişilebilir kılmak için:
|
||||
|
||||
```bash
|
||||
opencode web --hostname 0.0.0.0
|
||||
```
|
||||
|
||||
`0.0.0.0` kullanıldığında, opencode hem yerel hem de ağ adreslerini gösterecektir:
|
||||
|
||||
```
|
||||
Local access: http://localhost:4096
|
||||
Network access: http://192.168.1.100:4096
|
||||
```
|
||||
|
||||
### mDNS Keşfi
|
||||
|
||||
Sunucunuzun yerel ağda bulunabilir olmasını sağlamak için mDNS'yi etkinleştirin:
|
||||
|
||||
```bash
|
||||
opencode web --mdns
|
||||
```
|
||||
|
||||
Bu, ana bilgisayar adını otomatik olarak `0.0.0.0` olarak ayarlar ve sunucuyu `opencode.local` olarak tanıtır.
|
||||
|
||||
Aynı ağ üzerinde birden fazla örneği çalıştıracak şekilde mDNS alan adını özelleştirebilirsiniz:
|
||||
|
||||
```bash
|
||||
opencode web --mdns --mdns-domain myproject.local
|
||||
```
|
||||
|
||||
### CORS
|
||||
|
||||
CORS'a yönelik ek alan adlarına izin vermek için (özel ön uçlar için kullanışlıdır):
|
||||
|
||||
```bash
|
||||
opencode web --cors https://example.com
|
||||
```
|
||||
|
||||
### Kimlik Doğrulaması
|
||||
|
||||
Erişimi korumak için `OPENCODE_SERVER_PASSWORD` ortam değişkenini kullanarak bir parola ayarlayın:
|
||||
|
||||
```bash
|
||||
OPENCODE_SERVER_PASSWORD=secret opencode web
|
||||
```
|
||||
|
||||
Kullanıcı adı varsayılan olarak `opencode` şeklindedir ancak `OPENCODE_SERVER_USERNAME` ile değiştirilebilir.
|
||||
|
||||
---
|
||||
|
||||
## Web Arayüzünü Kullanma
|
||||
|
||||
Web arayüzü başlatıldığında opencode oturumlarınıza erişim sağlar.
|
||||
|
||||
### Oturum
|
||||
|
||||
Oturumlarınızı ana sayfadan görüntüleyin ve yönetin. Aktif oturumları görebilir ve yenilerini başlatabilirsiniz.
|
||||
|
||||

|
||||
|
||||
### Sunucu Durumu
|
||||
|
||||
Bağlı sunucuları ve durumlarını görüntülemek için "Sunucuları Gör" seçeneğini tıklayın.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Terminal Takma
|
||||
|
||||
Çalışan bir web sunucusuna bir terminal TUI'si ekleyebilirsiniz:
|
||||
|
||||
```bash
|
||||
# Start the web server
|
||||
opencode web --port 4096
|
||||
|
||||
# In another terminal, attach the TUI
|
||||
opencode attach http://localhost:4096
|
||||
```
|
||||
|
||||
Bu, aynı oturumları ve durumu paylaşarak hem web arayüzünü hem de terminali aynı anda kullanmanıza olanak tanır.
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma Dosyası
|
||||
|
||||
Sunucu ayarlarını `opencode.json` yapılandırma dosyanızda da yapılandırabilirsiniz:
|
||||
|
||||
```json
|
||||
{
|
||||
"server": {
|
||||
"port": 4096,
|
||||
"hostname": "0.0.0.0",
|
||||
"mdns": true,
|
||||
"cors": ["https://example.com"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Komut satırı bayrakları yapılandırma dosyası ayarlarından önceliklidir.
|
||||
113
packages/web/src/content/docs/tr/windows-wsl.mdx
Normal file
113
packages/web/src/content/docs/tr/windows-wsl.mdx
Normal file
@@ -0,0 +1,113 @@
|
||||
---
|
||||
title: Windows (WSL)
|
||||
description: En iyi deneyim icin opencode'u WSL'de calistirin.
|
||||
---
|
||||
|
||||
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[Neden WSL?]
|
||||
WSL, daha iyi dosya sistemi performansi, tam terminal destegi ve opencode'un dayandigi gelistirme araclariyla uyumluluk sunar.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Kurulum
|
||||
|
||||
<Steps>
|
||||
|
||||
1. **WSL'i yukleyin**
|
||||
|
||||
Henuz yuklemediyseniz resmi Microsoft rehberini kullanarak [WSL kurulumunu](https://learn.microsoft.com/en-us/windows/wsl/install) yapin.
|
||||
|
||||
2. **opencode'u WSL icine yukleyin**
|
||||
|
||||
WSL hazir olduktan sonra WSL terminalini acin ve opencode'u [kurulum yontemlerinden](/docs/) biriyle yukleyin.
|
||||
|
||||
```bash
|
||||
curl -fsSL https://opencode.ai/install | bash
|
||||
```
|
||||
|
||||
3. **opencode'u WSL icinden kullanin**
|
||||
|
||||
Proje dizininize gidin (`/mnt/c/`, `/mnt/d/` vb. ile Windows dosyalarina erisebilirsiniz) ve opencode'u calistirin.
|
||||
|
||||
```bash
|
||||
cd /mnt/c/Users/YourName/project
|
||||
opencode
|
||||
```
|
||||
|
||||
</Steps>
|
||||
|
||||
---
|
||||
|
||||
## Masaüstü uygulaması + WSL sunucusu
|
||||
|
||||
opencode Desktop kullanmak isteyip sunucuyu WSL'de calistirmak istiyorsaniz:
|
||||
|
||||
1. **Sunucuyu WSL'de baslatin** ve dis baglantilara izin vermek icin `--hostname 0.0.0.0` kullanin:
|
||||
|
||||
```bash
|
||||
opencode serve --hostname 0.0.0.0 --port 4096
|
||||
```
|
||||
|
||||
2. **Desktop uygulamasini** `http://localhost:4096` adresine baglayin
|
||||
|
||||
:::note
|
||||
Kurulumunuzda `localhost` calismiyorsa bunun yerine WSL IP adresini kullanin (WSL icinde: `hostname -I`) ve `http://<wsl-ip>:4096` adresine baglanin.
|
||||
:::
|
||||
|
||||
:::caution
|
||||
`--hostname 0.0.0.0` kullaniyorsaniz sunucuyu guvene almak icin `OPENCODE_SERVER_PASSWORD` ayarlayin.
|
||||
|
||||
```bash
|
||||
OPENCODE_SERVER_PASSWORD=your-password opencode serve --hostname 0.0.0.0
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Web istemcisi + WSL
|
||||
|
||||
Windows'ta en iyi web deneyimi icin:
|
||||
|
||||
1. **`opencode web` komutunu PowerShell yerine WSL terminalinde calistirin**:
|
||||
|
||||
```bash
|
||||
opencode web --hostname 0.0.0.0
|
||||
```
|
||||
|
||||
2. **Windows tarayicinizdan** `http://localhost:<port>` adresini acin (opencode URL'yi yazdirir)
|
||||
|
||||
`opencode web` komutunu WSL'den calistirmak, dosya sistemi erisimi ve terminal entegrasyonunu daha tutarli hale getirirken tarayicidan erisimi korur.
|
||||
|
||||
---
|
||||
|
||||
## Windows dosyalarına erişin
|
||||
|
||||
WSL, tum Windows dosyalariniza `/mnt/` dizini uzerinden erisebilir:
|
||||
|
||||
- `C:` surucusu -> `/mnt/c/`
|
||||
- `D:` surucusu -> `/mnt/d/`
|
||||
- Ve digerleri...
|
||||
|
||||
Ornek:
|
||||
|
||||
```bash
|
||||
cd /mnt/c/Users/YourName/Documents/project
|
||||
opencode
|
||||
```
|
||||
|
||||
:::tip
|
||||
En sorunsuz deneyim icin deponuzu WSL dosya sistemine (ornegin `~/code/` altina) klonlayip opencode'u orada calistirmayi dusunun.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## İ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
|
||||
- opencode konfigurasyonunuz ve oturumlariniz WSL ortaminda `~/.local/share/opencode/` konumunda saklanir
|
||||
296
packages/web/src/content/docs/tr/zen.mdx
Normal file
296
packages/web/src/content/docs/tr/zen.mdx
Normal file
@@ -0,0 +1,296 @@
|
||||
---
|
||||
title: Zen
|
||||
description: opencode tarafından sağlanan seçilmiş modeller listesi.
|
||||
---
|
||||
|
||||
import config from "../../../../config.mjs"
|
||||
export const console = config.console
|
||||
export const email = `mailto:${config.email}`
|
||||
|
||||
OpenCode Zen, OpenCode ekibi tarafından test edilip doğrulanmış modellerin bir listesidir.
|
||||
|
||||
Zen, OpenCode'daki diğer sağlayıcılar gibi çalışır. OpenCode Zen'de oturum açıp API anahtarınızı alırsınız. Bu **tamamen isteğe bağlıdır** ve OpenCode kullanmak için buna ihtiyacınız yoktur.
|
||||
|
||||
---
|
||||
|
||||
## Arka plan
|
||||
|
||||
Piyasada çok sayıda model var, ancak bunların yalnızca birkaçı kodlama ajanı olarak iyi çalışıyor. Ayrıca çoğu sağlayıcı çok farklı şekilde yapılandırılıyor; bu yüzden performans ve kalite de ciddi ölçüde değişiyor.
|
||||
|
||||
:::tip
|
||||
OpenCode ile iyi çalışan seçili bir model ve sağlayıcı grubunu test ettik.
|
||||
:::
|
||||
|
||||
Bu yüzden, OpenRouter gibi bir şey üzerinden model kullanıyorsanız istediğiniz modelin en iyi sürümünü alıp almadığınızdan asla emin olamazsınız.
|
||||
|
||||
Bunu düzeltmek için birkaç şey yaptık:
|
||||
|
||||
1. Seçili bir model grubunu test ettik ve bunları en iyi şekilde nasıl çalıştıracaklarımız konusunda ekipleriyle görüştük.
|
||||
2. Ardından, bunların doğru şekilde sunulduğundan emin olmak için birkaç sağlayıcıyla birlikte çalıştık.
|
||||
3. Son olarak, model/sağlayıcı kombinasyonlarını benchmark edip gönül rahatlığıyla önerebileceğimiz bir liste çıkardık.
|
||||
|
||||
OpenCode Zen, bu modellere erişmenizi sağlayan bir AI ağ geçididir.
|
||||
|
||||
---
|
||||
|
||||
## Nasıl çalışır
|
||||
|
||||
OpenCode Zen, OpenCode'daki diğer sağlayıcılar gibi çalışır.
|
||||
|
||||
1. **<a href={console}>OpenCode Zen</a>**'de oturum açın, faturalandırma bilgilerinizi 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.
|
||||
|
||||
İstek başına ücretlendirilirsiniz ve hesabınıza kredi ekleyebilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Uç noktalar
|
||||
|
||||
Modellerimize aşağıdaki API uç noktaları aracılığıyla da erişebilirsiniz.
|
||||
|
||||
| Model | Model ID | Endpoint | AI SDK Package |
|
||||
| ---------------------- | ---------------------- | ---------------------------------------------------- | --------------------------- |
|
||||
| GPT 5.5 | gpt-5.5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.5 Pro | gpt-5.5-pro | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.4 | gpt-5.4 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.4 Pro | gpt-5.4-pro | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.4 Mini | gpt-5.4-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.4 Nano | gpt-5.4-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.3 Codex | gpt-5.3-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.3 Codex Spark | gpt-5.3-codex-spark | `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` |
|
||||
| GPT 5.1 Codex | gpt-5.1-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 Codex Max | gpt-5.1-codex-max | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 Codex Mini | gpt-5.1-codex-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| 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 Fable 5 | claude-fable-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.8 | claude-opus-4-8 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.7 | claude-opus-4-7 | `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` |
|
||||
| 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` |
|
||||
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
|
||||
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
|
||||
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
|
||||
| Qwen3.7 Max | qwen3.7-max | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Qwen3.7 Plus | qwen3.7-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Qwen3.6 Plus | qwen3.6-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 5.1 | glm-5.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 5 | glm-5 | `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.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Grok Build 0.1 | grok-build-0.1 | `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` |
|
||||
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| North Mini Code Free | north-mini-code-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Nemotron 3 Ultra Free | nemotron-3-ultra-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| DeepSeek V4 Flash Free | deepseek-v4-flash-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
|
||||
OpenCode yapılandırmanızdaki [model id](/docs/config/#models) `opencode/<model-id>` biçimini kullanır. Örneğin, GPT 5.5 için yapılandırmanızda `opencode/gpt-5.5` kullanırsınız.
|
||||
|
||||
---
|
||||
|
||||
### Modeller
|
||||
|
||||
Mevcut modellerin tam listesini ve metadata'larını şuradan alabilirsiniz:
|
||||
|
||||
```
|
||||
https://opencode.ai/zen/v1/models
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fiyatlandırma
|
||||
|
||||
Kullandıkça öde modelini destekliyoruz. Aşağıda **1M token başına** fiyatlar yer alıyor.
|
||||
|
||||
| Model | Input | Output | Cached Read | Cached Write |
|
||||
| --------------------------------- | ------ | ------- | ----------- | ------------ |
|
||||
| Big Pickle | Free | Free | Free | - |
|
||||
| DeepSeek V4 Flash Free | Free | Free | Free | - |
|
||||
| MiMo-V2.5 Free | Free | Free | Free | - |
|
||||
| North Mini Code Free | Free | Free | Free | - |
|
||||
| Nemotron 3 Ultra Free | Free | Free | Free | - |
|
||||
| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
|
||||
| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
|
||||
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
|
||||
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
|
||||
| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
|
||||
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
|
||||
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
|
||||
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
|
||||
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
|
||||
| Qwen3.5 Plus | $0.20 | $1.20 | $0.02 | $0.25 |
|
||||
| DeepSeek V4 Pro | $1.74 | $3.48 | $0.145 | - |
|
||||
| DeepSeek V4 Flash | $0.14 | $0.28 | $0.028 | - |
|
||||
| Grok Build 0.1 | $1.00 | $2.00 | $0.20 | - |
|
||||
| Claude Fable 5 | $10.00 | $50.00 | $1.00 | $12.50 |
|
||||
| Claude Opus 4.8 | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
| 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 | $3.00 | $15.00 | $0.30 | $3.75 |
|
||||
| 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 |
|
||||
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
|
||||
| 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 Flash | $0.50 | $3.00 | $0.05 | - |
|
||||
| GPT 5.5 (≤ 272K tokens) | $5.00 | $30.00 | $0.50 | - |
|
||||
| GPT 5.5 (> 272K tokens) | $10.00 | $45.00 | $1.00 | - |
|
||||
| GPT 5.5 Pro | $30.00 | $180.00 | $30.00 | - |
|
||||
| GPT 5.4 (≤ 272K tokens) | $2.50 | $15.00 | $0.25 | - |
|
||||
| GPT 5.4 (> 272K tokens) | $5.00 | $22.50 | $0.50 | - |
|
||||
| GPT 5.4 Pro | $30.00 | $180.00 | $30.00 | - |
|
||||
| GPT 5.4 Mini | $0.75 | $4.50 | $0.075 | - |
|
||||
| GPT 5.4 Nano | $0.20 | $1.25 | $0.02 | - |
|
||||
| GPT 5.3 Codex Spark | $1.75 | $14.00 | $0.175 | - |
|
||||
| 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 | - |
|
||||
| GPT 5.1 Codex | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5.1 Codex Max | $1.25 | $10.00 | $0.125 | - |
|
||||
| GPT 5.1 Codex Mini | $0.25 | $2.00 | $0.025 | - |
|
||||
| GPT 5 | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5 Codex | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5 Nano | $0.05 | $0.40 | $0.005 | - |
|
||||
|
||||
Kullanım geçmişinizde _Claude Haiku 3.5_ görebilirsiniz. Bu, oturum başlıklarınızı oluşturmak için kullanılan [düşük maliyetli bir modeldir](/docs/config/#models).
|
||||
|
||||
:::note
|
||||
Kredi kartı ücretleri maliyet üzerinden yansıtılır (%4.4 + işlem başına $0.30); bunun dışında ekstra bir ücret almıyoruz.
|
||||
:::
|
||||
|
||||
Ücretsiz modeller:
|
||||
|
||||
- DeepSeek V4 Flash 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.
|
||||
- MiMo-V2.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.
|
||||
- North Mini Code 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.
|
||||
- Nemotron 3 Ultra 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.
|
||||
|
||||
Sorularınız varsa <a href={email}>bizimle iletişime geçin</a>.
|
||||
|
||||
---
|
||||
|
||||
### Otomatik yükleme
|
||||
|
||||
Bakiyeniz $5'in altına düşerse, Zen otomatik olarak $20 yükler.
|
||||
|
||||
Otomatik yükleme tutarını değiştirebilirsiniz. Otomatik yüklemeyi tamamen devre dışı da bırakabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Aylık limitler
|
||||
|
||||
Ayrıca tüm çalışma alanı için ve ekibinizdeki her üye için aylık kullanım limiti belirleyebilirsiniz.
|
||||
|
||||
Örneğin, aylık kullanım limitini $20 olarak ayarladığınızı düşünelim; Zen bir ay içinde $20'den fazla kullanmaz. Ancak otomatik yükleme açıksa, bakiyeniz $5'in altına düşerse Zen sizden $20'den fazla ücret çekebilir.
|
||||
|
||||
---
|
||||
|
||||
### Kullanımdan kaldırılan modeller
|
||||
|
||||
| Model | Kullanımdan kaldırılma tarihi |
|
||||
| ------------------ | ----------------------------- |
|
||||
| GPT 5.2 Codex | July 23, 2026 |
|
||||
| GPT 5.1 Codex | July 23, 2026 |
|
||||
| GPT 5.1 Codex Max | July 23, 2026 |
|
||||
| GPT 5.1 Codex Mini | July 23, 2026 |
|
||||
| GPT 5 Codex | July 23, 2026 |
|
||||
| Claude Sonnet 4 | June 15, 2026 |
|
||||
| GLM 5 | May 14, 2026 |
|
||||
| MiniMax M2.1 | March 15, 2026 |
|
||||
| GLM 4.7 | March 15, 2026 |
|
||||
| GLM 4.6 | March 15, 2026 |
|
||||
| Gemini 3 Pro | March 9, 2026 |
|
||||
| Kimi K2 Thinking | March 6, 2026 |
|
||||
| Kimi K2 | March 6, 2026 |
|
||||
| Claude Haiku 3.5 | Feb 16, 2026 |
|
||||
| Qwen3 Coder 480B | Feb 6, 2026 |
|
||||
|
||||
---
|
||||
|
||||
## Gizlilik
|
||||
|
||||
Tüm modellerimiz US'de barındırılıyor. Sağlayıcılarımız zero-retention politikası uygular ve aşağıdaki istisnalar dışında verilerinizi model eğitimi için kullanmaz:
|
||||
|
||||
- Big Pickle: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir.
|
||||
- DeepSeek V4 Flash Free: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir.
|
||||
- MiMo-V2.5 Free: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir.
|
||||
- North Mini Code Free: Ücretsiz döneminde toplanan veriler modeli iyileştirmek için kullanılabilir.
|
||||
- Nemotron 3 Ultra Free (ücretsiz NVIDIA uç noktaları): Yalnızca deneme amaçlıdır — kişisel veya gizli veri göndermeyin. Kullanımınız güvenlik amacıyla ve NVIDIA ürünlerini ve hizmetlerini geliştirmek için kaydedilir. Geliştirme amacıyla kaydedilen oturum verileri kimliğinizle veya herhangi bir kalıcı tanımlayıcıyla ilişkilendirilmez. Veri işleme uygulamalarımız hakkında daha fazla bilgi için [Gizlilik Politikamıza](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) bakın. Bu uç noktayla etkileşime geçerek, bu tür bilgileri toplamamıza, kaydetmemize ve kullanmamıza ve [NVIDIA API Trial Terms of Service](https://assets.ngc.nvidia.com/products/api-catalog/legal/NVIDIA%20API%20Trial%20Terms%20of%20Service.pdf) koşullarına onay vermiş olursunuz.
|
||||
- OpenAI APIs: İstekler [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data) uyarınca 30 gün boyunca saklanır.
|
||||
- Anthropic APIs: İstekler [Anthropic's Data Policies](https://docs.anthropic.com/en/docs/claude-code/data-usage) uyarınca 30 gün boyunca saklanır.
|
||||
|
||||
---
|
||||
|
||||
## Ekipler için
|
||||
|
||||
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
|
||||
Çalışma alanları şu anda beta'nın bir parçası olarak ekipler için ücretsizdir.
|
||||
:::
|
||||
|
||||
Çalışma alanınızı yönetmek şu anda beta'nın bir parçası olarak ekipler için ücretsizdir. Fiyatlandırma hakkında daha fazla ayrıntıyı yakında paylaşacağız.
|
||||
|
||||
---
|
||||
|
||||
### Roller
|
||||
|
||||
Ekip arkadaşlarınızı çalışma alanınıza davet edip rol atayabilirsiniz:
|
||||
|
||||
- **Admin**: Modelleri, üyeleri, API anahtarlarını ve faturalandırmayı yönetir
|
||||
- **Member**: Yalnızca kendi API anahtarlarını yönetir
|
||||
|
||||
Admin'ler ayrıca maliyetleri kontrol altında tutmak için her üye için aylık harcama limiti belirleyebilir.
|
||||
|
||||
---
|
||||
|
||||
### Model erişimi
|
||||
|
||||
Admin'ler çalışma alanı için belirli modelleri etkinleştirebilir veya devre dışı bırakabilir. Devre dışı bırakılmış bir modele yapılan istekler hata döndürür.
|
||||
|
||||
Bu, veri toplayan bir modelin kullanımını kapatmak istediğiniz durumlarda kullanışlıdır.
|
||||
|
||||
---
|
||||
|
||||
### Kendi anahtarınızı getirin
|
||||
|
||||
Zen'deki diğer modellere erişmeye devam ederken kendi OpenAI veya Anthropic API anahtarlarınızı kullanabilirsiniz.
|
||||
|
||||
Kendi anahtarlarınızı kullandığınızda token'lar Zen tarafından değil, doğrudan sağlayıcı tarafından faturalandırılır.
|
||||
|
||||
Örneğin, kuruluşunuzun OpenAI veya Anthropic için zaten bir anahtarı olabilir ve Zen'in sağladığı anahtar yerine onu kullanmak isteyebilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Hedefler
|
||||
|
||||
OpenCode Zen'i şunlar için oluşturduk:
|
||||
|
||||
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 ya da daha ucuz sağlayıcılara yönlendirmemek.
|
||||
3. Maliyetine satış yaparak tüm **fiyat düşüşlerini** yansıtmak; yani tek ek ücretimiz işlem ücretlerimizi karşılamak içindir.
|
||||
4. Başka herhangi bir kodlama ajanıyla kullanmanıza izin vererek **kilitlenme olmamasını** sağlamak. Ayrıca OpenCode ile her zaman başka herhangi bir sağlayıcıyı da kullanabilmenizi sağlamak.
|
||||
Reference in New Issue
Block a user