mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-03 03:06:44 +00:00
wip(docs): i18n (#12681)
This commit is contained in:
67
packages/web/src/content/docs/tr/1-0.mdx
Normal file
67
packages/web/src/content/docs/tr/1-0.mdx
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
title: 1.0'a geçiş
|
||||
description: OpenCode 1.0'daki yenilikler.
|
||||
---
|
||||
|
||||
OpenCode 1.0, TUI'un tamamen yeniden yazılmasıdır.
|
||||
|
||||
Performans ve yetenek sorunları olan go+bubbletea tabanlı TUI'dan zig+solidjs ile yazılmış şirket içi bir çerçeveye (OpenTUI) geçtik.
|
||||
|
||||
Yeni TUI aynı açık kod sunucusuna bağlandığı için eskisi gibi çalışıyor.
|
||||
|
||||
---
|
||||
|
||||
## Upgrading
|
||||
|
||||
Şu anda daha önceki bir sürümü kullanıyorsanız, otomatik olarak 1.0'a yükseltilmemelisiniz.
|
||||
version. However some older versions of OpenCode always grab latest.
|
||||
|
||||
Manuel olarak yükseltmek için çalıştırın
|
||||
|
||||
```bash
|
||||
$ opencode upgrade 1.0.0
|
||||
```
|
||||
|
||||
0.x'e geri dönmek için şunu çalıştırın:
|
||||
|
||||
```bash
|
||||
$ opencode upgrade 0.15.31
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Kullanıcı deneyimi değiştirildi
|
||||
|
||||
Oturum geçmişi daha sıkıştırılmıştır ve yalnızca düzenleme ve bash aracının tüm ayrıntılarını gösterir.
|
||||
|
||||
Neredeyse onun içinden aktığı bir komut çubuğu ekledik. Her şeyi görmek için ctrl+p tuşlarına basın.
|
||||
|
||||
Yararlı bilgileri içeren bir kayıt kenarı sürüklenebilir (değiştirilebilir).
|
||||
|
||||
Kimsenin gerçekten çalıştığından emin olmadığımız bazı şeyleri kaldırabildik. Önemli bir şeyin eksik olması durumunda lütfen bir konuyu açın; biz de hızla geri ekleyelim.
|
||||
|
||||
---
|
||||
|
||||
## Breaking changes
|
||||
|
||||
### Keybinds renamed
|
||||
|
||||
- messages_revert -> messages_undo
|
||||
- switch_agent -> agent_cycle
|
||||
- switch_agent_reverse -> agent_cycle_reverse
|
||||
- switch_mode -> agent_cycle
|
||||
- switch_mode_reverse -> agent_cycle_reverse
|
||||
|
||||
### Keybinds removed
|
||||
|
||||
- messages_layout_toggle
|
||||
- messages_next
|
||||
- messages_previous
|
||||
- file_diff_toggle
|
||||
- file_search
|
||||
- file_close
|
||||
- file_list
|
||||
- app_help
|
||||
- project_init
|
||||
- tool_details
|
||||
- thinking_blocks
|
||||
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 Destek
|
||||
description: OpenCode'u ACP uyumlu herhangi bir sürdürülebilirde kullanın.
|
||||
---
|
||||
|
||||
OpenCode, [Agent Client Protocol](https://agentclientprotocol.com) veya (ACP) dosyalarını destekleyerek onu doğrudan uyumlu tamamlayıcılarda ve IDE'lerde kullanmanızı sağlar.
|
||||
|
||||
:::uç
|
||||
ACP'yi destekleyenlerin ve araçların listesi için [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now)'e bakın.
|
||||
:::
|
||||
|
||||
ACP, kod editörleri ile AI kullanma araçları arasındaki iletişimi standartlaştıran açık bir protokoldür.
|
||||
|
||||
---
|
||||
|
||||
## Yapılandır
|
||||
|
||||
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) bakımını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 Sohbet temsilcisi seçicisindeki yeni 'OpenCode' aracısını kullanın.
|
||||
|
||||
---
|
||||
|
||||
### Avante.nvim
|
||||
|
||||
[Avante.nvim](https://github.com/yetone/avante.nvim) miktarını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 aracısı 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 aracısı 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 eğik çizgi komutları şu anda desteklenmemektedir.
|
||||
:::
|
||||
|
||||
- Yerleşik araçlar (dosya işlemleri, terminal komutları vb.)
|
||||
- Özel araçlar ve eğik çizgi komutları
|
||||
- OpenCode yapılandırmanızda yapılandırılmış MCP sunucuları
|
||||
- `AGENTS.md`'dan projeye özel kurallar
|
||||
- Özel formatlayıcılar ve linterler
|
||||
- Aracılar ve izin sistemi
|
||||
747
packages/web/src/content/docs/tr/agents.mdx
Normal file
747
packages/web/src/content/docs/tr/agents.mdx
Normal file
@@ -0,0 +1,747 @@
|
||||
---
|
||||
title: Temsilciler
|
||||
description: Özel araçları yapılandırın ve kullanın.
|
||||
---
|
||||
|
||||
Aracılar, belirli görevler ve iş akışları için yapılandırılabilen uzmanlaşmış yapay zeka 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 aracısını kullanın.
|
||||
:::
|
||||
|
||||
Bir oturum sırasında temsilciler arasında geçiş yapabilir veya onları `@` ifadesi ile çağırabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Types
|
||||
|
||||
OpenCode'da iki tür aracı vardır; birincil ajanlar ve alt ajanlar.
|
||||
|
||||
---
|
||||
|
||||
### Birincil ajanlar
|
||||
|
||||
Birincil aracı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 temsilciler ana görüşmenizi yönetir. Araç erişimi, izinler aracılığıyla yapılandırılır; örneğin, Plan kısıtlıyken Build'de tüm araçlar etkindir.
|
||||
|
||||
:::tip
|
||||
Bir oturum sırasında birincil aracılar arasında geçiş yapmak için **Sekme** tuşunu kullanabilirsiniz.
|
||||
:::
|
||||
|
||||
OpenCode, **Build** ve **Plan** olmak üzere iki yerleşik birincil aracıyla birlikte gelir. Kuyu
|
||||
aşağıdakilere bakın.
|
||||
|
||||
---
|
||||
|
||||
### Subagents
|
||||
|
||||
Alt temsilciler, birincil aracı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, **Genel** ve **Keşfet** olmak üzere iki yerleşik alt aracıyla birlikte gelir. Buna aşağıda bakacağız.
|
||||
|
||||
---
|
||||
|
||||
## Yerleşik
|
||||
|
||||
OpenCode iki yerleşik birincil aracı ve iki yerleşik alt aracıyla birlikte gelir.
|
||||
|
||||
---
|
||||
|
||||
### Derlemeyi kullan
|
||||
|
||||
_Mode_: `primary`
|
||||
|
||||
Build, tüm araçların etkin olduğu **varsayılan** birincil aracıdır. Bu, dosya işlemlerine ve sistem komutlarına tam erişime ihtiyaç duyduğunuz geliştirme çalışmaları için standart aracıdır.
|
||||
|
||||
---
|
||||
|
||||
### Planı kullan
|
||||
|
||||
_Mod_: `primary`
|
||||
|
||||
Planlama ve analiz için tasarlanmış kısıtlı bir aracı. 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 aracı, LLM'ın kodu analiz etmesini, değişiklik önermesini veya kod tabanınızda herhangi bir gerçek değişiklik yapmadan plan oluşturmasını istediğinizde kullanışlıdır.
|
||||
|
||||
---
|
||||
|
||||
### Genel kullan
|
||||
|
||||
_Mode_: `subagent`
|
||||
|
||||
Karmaşık soruları araştırmak ve çok adımlı görevleri yürütmek için genel amaçlı bir aracı. 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.
|
||||
|
||||
---
|
||||
|
||||
### Keşfet'i kullan
|
||||
|
||||
_Mod_: `subagent`
|
||||
|
||||
Kod tabanlarını keşfetmeye yönelik hızlı, salt okunur bir aracı. 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.
|
||||
|
||||
---
|
||||
|
||||
### Sıkıştırmayı kullanın
|
||||
|
||||
_Mode_: `primary`
|
||||
|
||||
Uzun bağlamı daha küçük bir özete sıkıştıran gizli sistem aracısı. Gerektiğinde otomatik olarak çalışır ve kullanıcı arayüzünde seçilemez.
|
||||
|
||||
---
|
||||
|
||||
### Başlığı kullan
|
||||
|
||||
_Mod_: `primary`
|
||||
|
||||
Kısa oturum başlıkları oluşturan gizli sistem aracısı. Otomatik olarak çalışır ve kullanıcı arayüzünde seçilemez.
|
||||
|
||||
---
|
||||
|
||||
### Özeti kullan
|
||||
|
||||
_Mode_: `primary`
|
||||
|
||||
Oturum özetleri oluşturan gizli sistem aracısı. Otomatik olarak çalışır ve kullanıcı arayüzünde seçilemez.
|
||||
|
||||
---
|
||||
|
||||
## Kullanım
|
||||
|
||||
1. Birincil aracı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 aracılar çağrılabilir:
|
||||
- Açıklamalarına göre özel görevler için birincil temsilciler tarafından **otomatik olarak**.
|
||||
- Mesajınızda bir alt temsilciden **@ bahsederek** manuel olarak. Örneğin.
|
||||
|
||||
```txt frame="none"
|
||||
@general help me search for this function
|
||||
```
|
||||
|
||||
3. **Oturumlar arasında gezinme**: Alt aracı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 temsilci çalışması arasında sorunsuz bir şekilde geçiş yapmanıza olanak tanır.
|
||||
|
||||
---
|
||||
|
||||
## Yapılandır
|
||||
|
||||
Yerleşik aracıları özelleştirebilir veya yapılandırma yoluyla kendinizinkini oluşturabilirsiniz. Aracılar iki şekilde yapılandırılabilir:
|
||||
|
||||
---
|
||||
|
||||
### JSON
|
||||
|
||||
Aracı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 aracıları işaretleme dosyalarını kullanarak da tanımlayabilirsiniz. Bunları şuraya yerleştirin:
|
||||
|
||||
- Global: `~/.config/opencode/agents/`
|
||||
- Per-project: `.opencode/agents/`
|
||||
|
||||
```markdown title="~/.config/opencode/agents/review.md"
|
||||
---
|
||||
description: Reviews code for quality and best practices
|
||||
mode: subagent
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
temperature: 0.1
|
||||
tools:
|
||||
write: false
|
||||
edit: false
|
||||
bash: false
|
||||
---
|
||||
|
||||
You are in code review mode. Focus on:
|
||||
|
||||
- Code quality and best practices
|
||||
- Potential bugs and edge cases
|
||||
- Performance implications
|
||||
- Security considerations
|
||||
|
||||
Provide constructive feedback without making direct changes.
|
||||
```
|
||||
|
||||
Markdown dosyasının adı aracının adı olur. Örneğin, `review.md` bir `review` aracısı oluşturur.
|
||||
|
||||
---
|
||||
|
||||
## Seçenekler
|
||||
|
||||
Bu yapılandırma seçeneklerine ayrıntılı olarak bakalım.
|
||||
|
||||
---
|
||||
|
||||
### Tanım
|
||||
|
||||
Aracının ne yaptığına ve ne zaman kullanılacağına ilişkin kısa bir açıklama sağlamak için `description` seçeneğini kullanın.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"review": {
|
||||
"description": "Reviews code for best practices and potential issues"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu **gerekli** bir yapılandırma seçeneğidir.
|
||||
|
||||
---
|
||||
|
||||
### Sıcaklık
|
||||
|
||||
LLM'nin yanıtlarının rastgeleliğini ve yaratıcılığını `temperature` yapılandırmasıyla kontrol edin.
|
||||
|
||||
Düşük değerler yanıtları daha odaklı ve belirleyici hale getirirken, yüksek değerler yaratıcılığı ve değişkenliği artırır.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"plan": {
|
||||
"temperature": 0.1
|
||||
},
|
||||
"creative": {
|
||||
"temperature": 0.8
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Sıcaklık değerleri tipik olarak 0,0 ila 1,0 arasındadır:
|
||||
|
||||
- **0,0-0,2**: Çok odaklı ve belirleyici yanıtlar, kod analizi ve planlama için idealdir
|
||||
- **0,3-0,5**: Biraz yaratıcılık içeren dengeli yanıtlar, genel gelişim görevleri için iyi
|
||||
- **0,6-1,0**: Daha yaratıcı ve çeşitli yanıtlar, beyin fırtınası ve keşif için yararlı
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"analyze": {
|
||||
"temperature": 0.1,
|
||||
"prompt": "{file:./prompts/analysis.txt}"
|
||||
},
|
||||
"build": {
|
||||
"temperature": 0.3
|
||||
},
|
||||
"brainstorm": {
|
||||
"temperature": 0.7,
|
||||
"prompt": "{file:./prompts/creative.txt}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Sıcaklık belirtilmezse OpenCode modeline özgü varsayılanları kullanır; çoğu model için genellikle 0, Qwen modelleri için 0,55.
|
||||
|
||||
---
|
||||
|
||||
### Max steps
|
||||
|
||||
Bir aracının yalnızca metinle yanıt vermeye zorlanmadan önce gerçekleştirebileceği maksimum aracı yineleme sayısını kontrol edin. Bu, maliyetleri kontrol etmek isteyen kullanıcıların aracılık eylemlerine bir sınır koymasına olanak tanır.
|
||||
|
||||
Bu ayarlanmazsa, model durmayı seçene veya kullanıcı oturumu kesene kadar aracı 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, aracı, işinin özeti ve önerilen kalan görevlerin bir özetiyle yanıt vermesi talimatını veren özel bir sistem istemi alır.
|
||||
|
||||
:::caution
|
||||
Eski `maxSteps` alanı kullanımdan kaldırıldı. Bunun yerine `steps` kullanın.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Devre dışı bırakmak
|
||||
|
||||
Aracıyı devre dışı bırakmak için `true` olarak ayarlayın.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"review": {
|
||||
"disable": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Çabuk
|
||||
|
||||
Bu aracı için `prompt` yapılandırmasıyla özel bir sistem bilgi istemi dosyası belirtin. Bilgi istemi dosyası, aracını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.
|
||||
|
||||
---
|
||||
|
||||
### Modeli
|
||||
|
||||
Bu aracın kodu geçersiz için `model` ayarını kullanın. Farklı bölümler için optimize edilmiş farklı modelleri kullanmak için kullanışlıdır. Örneğin planlama için daha hızlı bir model, uygulama için daha yetenekli bir model.
|
||||
|
||||
:::tip
|
||||
Bir model belirtmezseniz, birincil araçlar [model globally configured](/docs/config#models)'yi kullanırken alt araçlar, alt aracı çağıran birincil aracın kullanıcı adını kullanır.
|
||||
:::
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"plan": {
|
||||
"model": "anthropic/claude-haiku-4-20250514"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
OpenCode hesabınızdaki model kimliğini `provider/model-id` biçimini kullanır. Örneğin, [OpenCode Zen](/docs/zen) kullanıyorsanız, GPT 5.1 Codex için `opencode/gpt-5.1-codex` kullanırsınız.
|
||||
|
||||
---
|
||||
|
||||
### Tools
|
||||
|
||||
`tools` yapılandırmasıyla bu aracıda 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
|
||||
Aracıya ö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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Learn more about tools](/docs/tools).
|
||||
|
||||
---
|
||||
|
||||
### İzinler
|
||||
|
||||
Bir aracını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"` — Aracı çalıştırmadan önce onay iste
|
||||
- `"allow"` — Onay olmadan tüm işlemlere izin ver
|
||||
- `"deny"` — Aracı devre dışı bırakır
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "deny"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu izinleri aracı 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 aracı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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Learn more about permissions](/docs/permissions).
|
||||
|
||||
---
|
||||
|
||||
### Mode
|
||||
|
||||
Aracının modunu `mode` yapılandırmasıyla kontrol edin. `mode` seçeneği aracını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.
|
||||
|
||||
---
|
||||
|
||||
### Gizlenmiş
|
||||
|
||||
`@` otomatik tamamlama menüsünden bir alt aracıyı `hidden: true` ile gizleyin. Yalnızca diğer aracılar tarafından Görev aracı aracılığıyla programlı olarak çağrılması gereken dahili alt aracılar için kullanışlıdır.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"internal-helper": {
|
||||
"mode": "subagent",
|
||||
"hidden": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu yalnızca otomatik menüdeki kullanıcının görünümlerinin etkileri. İzinler izin vermesine, gizli araçlar modeli tarafından Görev aracı aracılığıyla çağrılmaya devam edilebilir.
|
||||
|
||||
:::note
|
||||
Yalnızca `mode: subagent` acenteleri için geçerlidir.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Task permissions
|
||||
|
||||
`permission.task` ile bir aracının Görev aracı aracılığıyla hangi alt aracı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 aracı Görev 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, aracının görev izinleri bunu reddetse bile, her zaman herhangi bir alt aracıyı `@` otomatik tamamlama menüsü aracılığıyla doğrudan çağırabilir.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Renk
|
||||
|
||||
Aracının kullanıcı arayüzündeki görsel görünümünü `color` seçeneğiyle özelleştirin. Bu, aracının arayüzde nasıl göründüğünü etkiler.
|
||||
|
||||
cebeli 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 olarak
|
||||
|
||||
Temsilci yapılandırmanızdaki düzenlemeleriniz diğer seçenekler, model seçenekleri olarak **doğrudan sağlayıcıya** iletilecektir. Bu, sağlayıcıya özgü özelliklerin ve serbest bırakılmasını sağlar.
|
||||
|
||||
Ö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.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Temsilci oluştur
|
||||
|
||||
Aşağıdaki komutu kullanarak yeni aracılar oluşturabilirsiniz:
|
||||
|
||||
```bash
|
||||
opencode agent create
|
||||
```
|
||||
|
||||
Bu etkileşimli komut şunları sağlayacaktır:
|
||||
|
||||
1. Temsilciyi nereye kaydedeceğinizi sorun; küresel veya projeye özel.
|
||||
2. Temsilcinin ne yapması gerektiğinin açıklaması.
|
||||
3. Uygun bir sistem istemi ve tanımlayıcı oluşturun.
|
||||
4. Aracının hangi araçlara erişebileceğini seçmenize izin verin.
|
||||
5. Son olarak aracı yapılandırmasıyla bir işaretleme dosyası oluşturun.
|
||||
|
||||
---
|
||||
|
||||
## Kullanım durumları
|
||||
|
||||
Farklı aracılara yönelik bazı yaygın kullanım durumları aşağıda verilmiştir.
|
||||
|
||||
- **Yapı aracısı**: Tüm araçların etkinleştirildiği tam geliştirme çalışması
|
||||
- **Plan aracısı**: Değişiklik yapmadan analiz ve planlama
|
||||
- **İnceleme aracısı**: Salt okunur erişim ve belgeleme araçlarıyla kod incelemesi
|
||||
- **Hata ayıklama aracısı**: Bash ve okuma araçları etkinken araştırmaya odaklanmıştır
|
||||
- **Dokümanlar aracısı**: Dosya işlemleriyle ancak sistem komutları olmadan belge yazma
|
||||
|
||||
---
|
||||
|
||||
## Examples
|
||||
|
||||
Yararlı bulabileceğiniz bazı örnek aracıları burada bulabilirsiniz.
|
||||
|
||||
:::tip
|
||||
Paylaşmak istediğiniz bir temsilciniz var mı? [Submit a PR](https://github.com/anomalyco/opencode).
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Dokümantasyon temsilcisi
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Security auditor
|
||||
|
||||
```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
|
||||
```
|
||||
601
packages/web/src/content/docs/tr/cli.mdx
Normal file
601
packages/web/src/content/docs/tr/cli.mdx
Normal file
@@ -0,0 +1,601 @@
|
||||
---
|
||||
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 terminali kullanıcı arayüzünü başlatın.
|
||||
|
||||
```bash
|
||||
opencode [project]
|
||||
```
|
||||
|
||||
#### Flags
|
||||
|
||||
| Bayrak | Kısa | Açıklama |
|
||||
| ------------ | ---- | ------------------------------------------- |
|
||||
| `--continue` | `-c` | Son oturuma devam et |
|
||||
| `--session` | `-s` | Devam edecek oturum kimliği |
|
||||
| `--prompt` | | Kullanma istemi |
|
||||
| `--model` | `-m` | provider/model biçiminde kullanılacak model |
|
||||
| `--agent` | | Kullanılacak temsilci |
|
||||
| `--port` | | Port to listen on |
|
||||
| `--hostname` | | Hostname to listen on |
|
||||
|
||||
---
|
||||
|
||||
## Komutlar
|
||||
|
||||
OpenCode CLI ayrıca aşağıdaki komutlara da sahiptir.
|
||||
|
||||
---
|
||||
|
||||
### agent
|
||||
|
||||
OpenCode için aracı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 |
|
||||
| ----------- | ---- | ------------------------------------ |
|
||||
| `--dir` | | TUI'yi başlatmak için çalışma dizini |
|
||||
| `--session` | `-s` | Devam edecek oturum açma bilgileri |
|
||||
|
||||
---
|
||||
|
||||
#### yaratmak
|
||||
|
||||
Özel yapılandırmaya sahip yeni bir aracı oluşturun.
|
||||
|
||||
```bash
|
||||
opencode agent create
|
||||
```
|
||||
|
||||
Bu komut, özel sistem istemi ve araç yapılandırmasıyla yeni bir aracı oluşturma konusunda size yol gösterecektir.
|
||||
|
||||
---
|
||||
|
||||
#### liste
|
||||
|
||||
Mevcut tüm acenteleri 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. Ortamlarınızda tanımlanmış herhangi bir anahtar veya projenizde bir `.env` dosyası varsa.
|
||||
|
||||
---
|
||||
|
||||
#### liste
|
||||
|
||||
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]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### düzenlemek
|
||||
|
||||
GitHub aracısını deponuza yükleyin.
|
||||
|
||||
```bash
|
||||
opencode github install
|
||||
```
|
||||
|
||||
Bu, gerekli GitHub Eylemlerinin iş ayrıntılandırma ayarlarını ve süreç sürecini boyut boyunca gösterir. [Learn more](/docs/github).
|
||||
|
||||
---
|
||||
|
||||
#### koşmak
|
||||
|
||||
GitHub aracısını çalıştırın. Bu genellikle GitHub Eylemlerinde kullanılır.
|
||||
|
||||
```bash
|
||||
opencode github run
|
||||
```
|
||||
|
||||
##### Flags
|
||||
|
||||
| Bayrak | Açıklama |
|
||||
| --------- | ------------------------------------------- |
|
||||
| `--event` | Aracıyı çalıştırmak için GitHub sahte olayı |
|
||||
| `--token` | 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.
|
||||
|
||||
---
|
||||
|
||||
#### liste
|
||||
|
||||
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]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### hata ayıklama
|
||||
|
||||
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, sağlayıcılarınızda bulunan tüm modeller `provider/model` oluşturulan görüntüler.
|
||||
|
||||
Bu, [your config](/docs/config/)'da kullanılacak tam modelin 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 |
|
||||
| ----------- | --------------------------------------------------------------------------- |
|
||||
| `--refresh` | Modeller.dev'den model önbelleğini yenileyin |
|
||||
| `--verbose` | 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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### koşmak
|
||||
|
||||
Doğrudan bir istem ileterek açık kodu 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"
|
||||
```
|
||||
|
||||
#### Flags
|
||||
|
||||
| Bayrak | Kısa | Açıklama |
|
||||
| ------------ | ---- | --------------------------------------------------------------------------------- |
|
||||
| `--command` | | Çalıştırılacak komut, args için mesajı kullanın |
|
||||
| `--continue` | `-c` | Son oturuma devam et |
|
||||
| `--session` | `-s` | Devam edecek oturum kimliği |
|
||||
| `--share` | | Oturumu paylaşın |
|
||||
| `--model` | `-m` | provider/model biçiminde kullanılacak model |
|
||||
| `--agent` | | Kullanılacak temsilci |
|
||||
| `--file` | `-f` | Mesaja eklenecek dosya(lar) |
|
||||
| `--format` | | Biçim: varsayılan (biçimlendirilmiş) veya json (ham JSON olayları) |
|
||||
| `--title` | | Oturumun başlığı (değer sağlanmazsa kısaltılmış bilgi istemi kullanılır) |
|
||||
| `--attach` | | Çalışan bir açık kod sunucusuna ekleyin (ör. http://localhost:4096) |
|
||||
| `--port` | | Yerel sunucunun bağlantı noktası (varsayılan olarak rastgele bağlantı noktasıdır) |
|
||||
|
||||
---
|
||||
|
||||
### serve
|
||||
|
||||
API erişimi için başsız bir OpenCode tarayıcısı başlatılır. Tam HTTP arayüzü için [server docs](/docs/server)'e göz atın.
|
||||
|
||||
```bash
|
||||
opencode serve
|
||||
```
|
||||
|
||||
Bu, TUI arayüzü olmadan açık kod 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 |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | Dinlenecek bağlantı noktası |
|
||||
| `--hostname` | Dinlenecek ana bilgisayar adı |
|
||||
| `--mdns` | mDNS bulmayı etkinleştir |
|
||||
| `--cors` | CORS'a izin verecek ek tarayıcı kaynakları |
|
||||
|
||||
---
|
||||
|
||||
### oturum
|
||||
|
||||
Manage OpenCode sessions.
|
||||
|
||||
```bash
|
||||
opencode session [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### liste
|
||||
|
||||
Tüm OpenCode oturumlarını listeleyin.
|
||||
|
||||
```bash
|
||||
opencode session list
|
||||
```
|
||||
|
||||
##### Bayraklar
|
||||
|
||||
| Bayrak | Kısa | Tanım |
|
||||
| ------------- | ---- | -------------------------------------- |
|
||||
| `--max-count` | `-n` | En son N oturumla sınırla |
|
||||
| `--format` | | Çıkış formatı: tablo veya json (tablo) |
|
||||
|
||||
---
|
||||
|
||||
### stats
|
||||
|
||||
OpenCode oturumlarınız için belirteç kullanımı ve maliyet istatistiklerini gösterin.
|
||||
|
||||
```bash
|
||||
opencode stats
|
||||
```
|
||||
|
||||
#### Flags
|
||||
|
||||
| Bayrak | Açıklama |
|
||||
| ----------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| `--days` | Son N güne ait istatistikleri göster (tüm zamanlar) |
|
||||
| `--tools` | Number of tools to show (all) |
|
||||
| `--models` | Model kullanım dökümünü göster (varsayılan olarak gizlidir). En üstteki N'yi göstermek için bir sayı iletin |
|
||||
| `--project` | Filter by project (all projects, empty string: current project) |
|
||||
|
||||
---
|
||||
|
||||
### 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 |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | Dinlenecek bağlantı noktası |
|
||||
| `--hostname` | Dinlenecek ana bilgisayar adı |
|
||||
| `--mdns` | mDNS bulmayı etkinleştir |
|
||||
| `--cors` | 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.
|
||||
|
||||
#### Flags
|
||||
|
||||
| Bayrak | Açıklama |
|
||||
| ------------ | --------------------- |
|
||||
| `--cwd` | Çalışma dizini |
|
||||
| `--port` | Port to listen on |
|
||||
| `--hostname` | Hostname to listen on |
|
||||
|
||||
---
|
||||
|
||||
### uninstall
|
||||
|
||||
OpenCode'u kaldırın ve ilgili tüm dosyaları kaldırın.
|
||||
|
||||
```bash
|
||||
opencode uninstall
|
||||
```
|
||||
|
||||
#### Bayraklar
|
||||
|
||||
| Bayrak | Kısa | Tanım |
|
||||
| --------------- | ---- | ----------------------------------------------- |
|
||||
| `--keep-config` | `-c` | Yapılandırma dosyalarını sakla |
|
||||
| `--keep-data` | `-d` | Oturum verilerini ve anlık görüntüleri saklayın |
|
||||
| `--dry-run` | | Nelerin kaldırılmadan kaldırılacağı göster |
|
||||
| `--force` | `-f` | Onay istemlerini atla |
|
||||
|
||||
---
|
||||
|
||||
### upgrade
|
||||
|
||||
Açık kodu 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
|
||||
```
|
||||
|
||||
To upgrade to a specific version.
|
||||
|
||||
```bash
|
||||
opencode upgrade v0.1.48
|
||||
```
|
||||
|
||||
#### Flags
|
||||
|
||||
| Bayrak | Kısa | Açıklama |
|
||||
| ---------- | ---- | ----------------------------------------------------------- |
|
||||
| `--method` | `-m` | Kullanılan kurulum yöntemi; bukle, npm, npm, topuz, demleme |
|
||||
|
||||
---
|
||||
|
||||
## Küresel Bayraklar
|
||||
|
||||
CLI açık kodu aşağıdaki genel bayrakları alır.
|
||||
|
||||
| Bayrak | Kısa | Tanım |
|
||||
| -------------- | ---- | ---------------------------------------- |
|
||||
| `--help` | `-h` | Yardımı görüntüle |
|
||||
| `--version` | `-v` | Sürüm numarasını yazdır |
|
||||
| `--print-logs` | | Günlükleri stderr'e yazdır |
|
||||
| `--log-level` | | Günlük düzeyi (DEBUG, INFO, WARN, ERROR) |
|
||||
|
||||
---
|
||||
|
||||
## Environment variables
|
||||
|
||||
OpenCode ortam değişkenleri kullanılarak yapılandırılabilir.
|
||||
|
||||
| Değişken | Tür | Açıklama |
|
||||
| ------------------------------------- | ------- | --------------------------------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | boole | Oturumları otomatik olarak paylaş |
|
||||
| `OPENCODE_GIT_BASH_PATH` | dize | Windows'ta yürütülebilir Git Bash'in Yolu |
|
||||
| `OPENCODE_CONFIG` | dize | Yapılandırma dosyasının yolu |
|
||||
| `OPENCODE_CONFIG_DIR` | dize | Yapılandırma dizinine giden yol |
|
||||
| `OPENCODE_CONFIG_CONTENT` | string | Inline json config content |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | Disable automatic update checks |
|
||||
| `OPENCODE_DISABLE_PRUNE` | boolean | Disable pruning of old data |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boole | Otomatik terminal başlığı güncellemelerini devre dışı bırakın |
|
||||
| `OPENCODE_PERMISSION` | string | Inlined json permissions config |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boole | Varsayılan eklentileri devre dışı bırakın |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boole | Otomatik LSP sunucu indirmelerini devre dışı bırakın |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | Enable experimental models |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | Disable automatic context compaction |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | boole | `.claude`'den okumayı devre dışı bırak (istem + beceriler) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | Disable reading `~/.claude/CLAUDE.md` |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | Disable loading `.claude/skills` |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | boole | Uzak kaynaklardan model getirmeyi devre dışı bırakın |
|
||||
| `OPENCODE_FAKE_VCS` | dize | Test amaçlı sahte VCS sağlayıcısı |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | boole | Optimizasyon için dosya süresi kontrolünü devre dışı bırakın |
|
||||
| `OPENCODE_CLIENT` | string | Client identifier (defaults to `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | boolean | Enable Exa web search tools |
|
||||
| `OPENCODE_SERVER_PASSWORD` | dize | `serve`/`web` için temel kimlik doğrulamayı etkinleştirin |
|
||||
| `OPENCODE_SERVER_USERNAME` | dize | Temel kimlik doğrulama kullanıcı adını geçersiz kıl (varsayılan `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | dize | Model yapılandırmasını almak için özel URL |
|
||||
|
||||
---
|
||||
|
||||
### 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 | Tüm deneysel özellikleri etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | Simge bulmayı etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolean | TUI'da seçim yapıldığında kopyalamayı devre dışı bırak |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | sayı | MS cinsinden bash komutları için varsayılan zaman aşımı |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | sayı | LLM yanıtları için maksimum çıktı belirteçleri |
|
||||
| `OPENCODE_EXPERIMENTAL_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 | Deneysel LSP tür denetimini etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | Deneysel işaretleme özelliklerini etkinleştir |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | Plan modunu 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. [Learn more](/docs/tui#commands).
|
||||
|
||||
---
|
||||
|
||||
## Komut dosyaları oluşturun
|
||||
|
||||
Ö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ır
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### İndirim
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Options
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### Tanım
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Built-in
|
||||
|
||||
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.
|
||||
685
packages/web/src/content/docs/tr/config.mdx
Normal file
685
packages/web/src/content/docs/tr/config.mdx
Normal file
@@ -0,0 +1,685 @@
|
||||
---
|
||||
title: Yapılandırma
|
||||
description: OpenCode JSON devresini kullanmıyor.
|
||||
---
|
||||
|
||||
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ı.
|
||||
|
||||
:::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, son tork ayarının tümünü dikkate alır.
|
||||
|
||||
---
|
||||
|
||||
### Precedence order
|
||||
|
||||
Yapılandırma kaynakları bu sırayla yüklenir (sonraki kaynaklar öncekileri geçersiz kılar):
|
||||
|
||||
1. **Uzaktan yapılandırma** (`.well-known/opencode`'dan) - kurumsal varsayılanlar
|
||||
2. **Global config** (`~/.config/opencode/opencode.json`) - user preferences
|
||||
3. **Custom config** (`OPENCODE_CONFIG` env var) - custom overrides
|
||||
4. **Project config** (`opencode.json` in project) - project-specific settings
|
||||
5. **`.opencode` dizinleri** - aracılar, komutlar, eklentiler
|
||||
6. **Inline config** (`OPENCODE_CONFIG_CONTENT` env var) - runtime overrides
|
||||
|
||||
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.
|
||||
|
||||
Remote config ilk olarak yüklenir ve temel katman görevi görür. Diğer tüm yapılandırma kaynakları (genel, proje) bu varsayılanları geçersiz kılabilir.
|
||||
|
||||
Ö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.
|
||||
|
||||
Global config overrides remote organizational defaults.
|
||||
|
||||
---
|
||||
|
||||
### 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 aracı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**.
|
||||
|
||||
---
|
||||
|
||||
## Schema
|
||||
|
||||
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.
|
||||
|
||||
[Learn more about using the TUI here](/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` - Port to listen on.
|
||||
- `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`.
|
||||
|
||||
[Learn more about the server here](/docs/server).
|
||||
|
||||
---
|
||||
|
||||
### Aletler
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Learn more about tools here](/docs/tools).
|
||||
|
||||
---
|
||||
|
||||
### Models
|
||||
|
||||
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) öğesini de yapılandırabilirsiniz. [Learn more](/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 Ana Kayası
|
||||
|
||||
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.
|
||||
:::
|
||||
|
||||
[Learn more about Amazon Bedrock configuration](/docs/providers#amazon-bedrock).
|
||||
|
||||
---
|
||||
|
||||
### Themes
|
||||
|
||||
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": ""
|
||||
}
|
||||
```
|
||||
|
||||
[Learn more here](/docs/themes).
|
||||
|
||||
---
|
||||
|
||||
### Temsilciler
|
||||
|
||||
`agent` seçeneği aracılığıyla özel görevlere yönelik özel aracı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,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Aracıları ayrıca `~/.config/opencode/agents/` veya `.opencode/agents/` İçindeki etiketleme etiketlerini kullanarak da tanımlayabilirsiniz. [Learn more here](/docs/agents).
|
||||
|
||||
---
|
||||
|
||||
### Varsayılan temsilci
|
||||
|
||||
`default_agent` seçeneğini kullanarak varsayılan aracıyı ayarlayabilirsiniz. Bu, hiçbiri açıkça belirtilmediğinde hangi aracının kullanılacağını belirler.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"default_agent": "plan"
|
||||
}
|
||||
```
|
||||
|
||||
Varsayılan aracı, birincil aracı olmalıdır (alt aracı değil). Bu, `"build"` veya `"plan"` gibi yerleşik bir aracı ya da tanımladığınız bir [custom agent](/docs/agents) olabilir. Belirtilen aracı mevcut değilse veya bir alt aracı ise, OpenCode bir uyarıyla birlikte `"build"`'ye geri döner.
|
||||
|
||||
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ği `share` seçeneğini 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` yoğunluğu kullanılarak 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 işaretleme dosyalarını kullanarak da tanımlayabilirsiniz. [Learn more here](/docs/commands).
|
||||
|
||||
---
|
||||
|
||||
### Tuş bağlantıları
|
||||
|
||||
Tuş atamalarınızı `keybinds` seçeneği aracılığıyla özelleştirebilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"keybinds": {}
|
||||
}
|
||||
```
|
||||
|
||||
[Learn more here](/docs/keybinds).
|
||||
|
||||
---
|
||||
|
||||
### Autoupdate
|
||||
|
||||
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"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Learn more about formatters here](/docs/formatters).
|
||||
|
||||
---
|
||||
|
||||
### Permissions
|
||||
|
||||
Varsayılan olarak, açık kod 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"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Learn more about permissions here](/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": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- `auto` - Bağlam dolduğunda oturumu otomatik olarak sıkıştırır (varsayılan: `true`).
|
||||
- `prune` - Belirteçleri kaydetmek için eski araç çıktılarını kaldırın (varsayılan: `true`).
|
||||
|
||||
---
|
||||
|
||||
### Watcher
|
||||
|
||||
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": {}
|
||||
}
|
||||
```
|
||||
|
||||
[Learn more here](/docs/mcp-servers).
|
||||
|
||||
---
|
||||
|
||||
### Plugins
|
||||
|
||||
[Plugins](/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"]
|
||||
}
|
||||
```
|
||||
|
||||
[Learn more here](/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. [Daha fazla bilgi edin
|
||||
kurallar hakkında burada](/docs/rules).
|
||||
|
||||
---
|
||||
|
||||
### Disabled providers
|
||||
|
||||
`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:
|
||||
|
||||
- It won't be loaded even if environment variables are set.
|
||||
- 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.
|
||||
|
||||
---
|
||||
|
||||
### Experimental
|
||||
|
||||
`experimental` anahtarı aktif olarak geliştirilmekte olan seçenekleri içerir.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"experimental": {}
|
||||
}
|
||||
```
|
||||
|
||||
:::caution
|
||||
Experimental options are not stable. They may change or be removed without notice.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
---
|
||||
|
||||
### Env vars
|
||||
|
||||
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ı.
|
||||
170
packages/web/src/content/docs/tr/custom-tools.mdx
Normal file
170
packages/web/src/content/docs/tr/custom-tools.mdx
Normal file
@@ -0,0 +1,170 @@
|
||||
---
|
||||
title: Özel Araçlar
|
||||
description: LLM'un açık kodda çağırabileceği araçları birleştirebilir.
|
||||
---
|
||||
|
||||
Özel araçlar, LLM'un konuşmalar sırasında arayabileceği, oluşturduğunuz işlevlerdir. Açık kodun [built-in tools](/docs/tools) ile birlikte `read`, `write` ve `bash` gibi çalışırlar.
|
||||
|
||||
---
|
||||
|
||||
## Creating a tool
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### Structure
|
||||
|
||||
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`.
|
||||
|
||||
---
|
||||
|
||||
### Arguments
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Examples
|
||||
|
||||
### Write a tool in Python
|
||||
|
||||
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.
|
||||
76
packages/web/src/content/docs/tr/ecosystem.mdx
Normal file
76
packages/web/src/content/docs/tr/ecosystem.mdx
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
title: Ekosistem
|
||||
description: OpenCode ile ilgili tasarımlar ve entegrasyonlar.
|
||||
---
|
||||
|
||||
OpenCode üzerine inşa edilmiş bir 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 bir topluluk olan [awesome-opencode](https://github.com/awesome-opencode/awesome-opencode) ve [opencode.cafe](https://opencode.cafe)'e de göz atabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Plugins
|
||||
|
||||
| İsim | Açıklama |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | 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 ekleme |
|
||||
| [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ırma yerine mevcut Gemini planınızı kullanın |
|
||||
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | API faturalandırma yerine Antigravity'nin ücretsiz modellerini kullanın |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Sığ klonlar ve otomatik atanan bağlantı noktalarıyla ç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) | Optimize token usage by pruning obsolete tool outputs |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Desteklenen sağlayıcılar için Google tabanlı 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ına yönelik talimatlar - TTY bağımlı işlemlerden kaynaklanan askıda kalmaları önler |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Wakatime ile OpenCode kullanımını izleyin |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Clean up markdown tables produced by LLMs |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Morph Fast Apply API ve yavaş düzenleme işaretçileriyle 10 kat daha hızlı kod düzenleme |
|
||||
| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Background agents, pre-built LSP/AST/MCP tools, curated agents, Claude Code compatible |
|
||||
| [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, tamamlama 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 oturumu adlandırma |
|
||||
| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | OpenCode temsilcilerinin, beceri keşfi ve ekleme ile istek üzerine istemleri yavaş yüklemesine izin verin |
|
||||
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | Supermemory kullanarak oturumlar arasında kalıcı hafıza |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Görsel açıklama ve private/offline paylaşımıyla etkileşimli plan incelemesi |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | Açık kodu/komutları ayrıntılı akış kontrolüyle güçlü bir orkestrasyon sistemine genişletin |
|
||||
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | Cron sözdizimi ile launchd (Mac) veya systemd (Linux) kullanarak yinelenen işleri planlayın |
|
||||
| [micode](https://github.com/vtemian/micode) | Yapılandırılmış Beyin Fırtınası → Planla → Oturum sürekliliği ile iş akışını uygulama |
|
||||
| [octto](https://github.com/vtemian/octto) | Çoklu soru formlarıyla yapay zeka beyin fırtınası için etkileşimli tarayıcı arayüzü |
|
||||
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | Eşzamansız 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) | Birlikte verilen çok aracılı 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ı |
|
||||
|
||||
---
|
||||
|
||||
## Projeler
|
||||
|
||||
| İsim | Tanım |
|
||||
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | SDK üzerine kurulu OpenCode oturumlarını kontrol eden Discord botu |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | API temel alınarak oluşturulmuş, editöre duyarlı istemler için Neovim eklentisi |
|
||||
| [portal](https://github.com/hosenur/portal) | Tailscale/VPN üzerinden OpenCode için mobil öncelikli web kullanıcı 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) | Açık kod için Neovim ön ucu - terminal tabanlı bir AI 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'u 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'ın kullanıcı arayüzüne yerleştiren 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, yalıtılmış profillere sahip OpenCode uzantı yöneticisi. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | OpenCode için Masaüstü, Web, Mobil ve Uzak İstemci Uygulaması |
|
||||
|
||||
---
|
||||
|
||||
## Agents
|
||||
|
||||
| İ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: Girişim
|
||||
description: OpenCode'u kısıtlamanızda 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>**.
|
||||
|
||||
---
|
||||
|
||||
## Trial
|
||||
|
||||
OpenCode açık kaynaktır ve herhangi bir kodunuzu veya içerik verilerinizi saklamaz; böylece geliştiricileriniz [get started](/docs/) yapıp bir deneme gerçekleştirebilir.
|
||||
|
||||
---
|
||||
|
||||
### 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.
|
||||
|
||||
---
|
||||
|
||||
#### Sharing conversations
|
||||
|
||||
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"
|
||||
}
|
||||
```
|
||||
|
||||
[Learn more about sharing](/docs/share).
|
||||
|
||||
---
|
||||
|
||||
### Kod sahipliği
|
||||
|
||||
**OpenCode tarafından üretilen tüm kodlara sahipsiniz.** Herhangi bir lisans kısıtlaması veya mülkiyet iddiası yoktur.
|
||||
|
||||
---
|
||||
|
||||
## Pricing
|
||||
|
||||
OpenCode Enterprise için bilgisayar başına model kullanıyoruz. Kendi LLM ağ geçidiniz varsa, kullanılan jetonlar için ücret talep etmiyoruz. Fiyatlandırma ve uygulama seçenekleri hakkında daha fazla ayrıntı için **<a href={email}>bize ulaşın</a>**.
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
|
||||
---
|
||||
|
||||
### Central Config
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### Internal AI gateway
|
||||
|
||||
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>**.
|
||||
|
||||
---
|
||||
|
||||
## FAQ
|
||||
|
||||
<details>
|
||||
<summary>What is OpenCode Enterprise?</summary>
|
||||
|
||||
OpenCode Enterprise, kodlarının ve verilerinin altyapılarından asla ayrılmamasını sağlamak isteyen kuruluşlar içindir. Bunu, SSO ve dahili AI ağ geçidinizle entegre olan merkezi bir yapılandırma kullanarak yapabilir.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>How do I get started with OpenCode Enterprise?</summary>
|
||||
|
||||
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>How does enterprise pricing work?</summary>
|
||||
|
||||
Koltuk başına kurumsal fiyatlandırma sunuyoruz. Kendi LLM ağ geçidiniz varsa, kullanılan jetonlar için ücret talep etmiyoruz. Daha fazla ayrıntı için kuruluşunuzun ihtiyaçlarına göre özel bir fiyat teklifi almak üzere **<a href={email}>bize ulaşın</a>**.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Is my data secure with OpenCode Enterprise?</summary>
|
||||
|
||||
Evet. OpenCode kodunuzu veya içerik verilerinizi saklamaz. Tüm işlemler yerel olarak veya AI sağlayıcınıza doğrudan API çağrıları yoluyla gerçekleşir. Merkezi yapılandırma ve SSO entegrasyonuyla verileriniz kuruluşunuzun altyapısında güvende kalır.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Can we use our own private NPM registry?</summary>
|
||||
|
||||
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
|
||||
şunu al.
|
||||
|
||||
:::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>
|
||||
130
packages/web/src/content/docs/tr/formatters.mdx
Normal file
130
packages/web/src/content/docs/tr/formatters.mdx
Normal file
@@ -0,0 +1,130 @@
|
||||
---
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Built-in
|
||||
|
||||
OpenCode, popüler diller ve çerçeveler için çeşitli yerleşik biçimlendiricilerle birlikte gelir. Aşağıda ihtiyaç duyduğu biçimlendiricilerin, desteklenen dosya uzantılarının ve komutların veya yapılandırma seçeneklerinin bir listesi bulunmaktadır.
|
||||
|
||||
| Formatter | Extensions | Requirements |
|
||||
| ------------------ | ------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | `gofmt` komutu mevcut |
|
||||
| karışım | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` komutu mevcut |
|
||||
| daha güzel | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml ve [more](https://prettier.io/docs/en/index.html) | `prettier` bağımlılığı `package.json`'de |
|
||||
| biyom | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml ve [more](https://biomejs.dev/) | `biome.json(c)` yapılandırma dosyası |
|
||||
| zig | .zig, .zon | `zig` komutu mevcut |
|
||||
| clang formatı | .c, .cpp, .h, .hpp, .ino ve [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` yapılandırma dosyası |
|
||||
| klint | .kt, .kts | `ktlint` komutu mevcut |
|
||||
| fırfır | .py, .pyi | `ruff` komutu yapılandırmayla kullanılabilir |
|
||||
| pas fmt | .rs | `rustfmt` komutu mevcut |
|
||||
| kargo fmt | .rs | `cargo fmt` komutu mevcut |
|
||||
| UV | .py, .pyi | `uv` komutu mevcut |
|
||||
| rubokop | .rb, .rake, .gemspec, .ru | `rubocop` komutu mevcut |
|
||||
| standartrb | .rb, .rake, .gemspec, .ru | `standardrb` komutu mevcut |
|
||||
| htmlgüzelleştirici | .erb, .html.erb | `htmlbeautifier` komutu mevcut |
|
||||
| hava | .R | `air` komutu mevcut |
|
||||
| dart | .dart | `dart` komutu mevcut |
|
||||
| ocamlformat | .ml, .mli | `ocamlformat` komutu mevcut ve `.ocamlformat` yapılandırma dosyası |
|
||||
| yeryüzü | .tf, .tfvars | `terraform` komutu mevcut |
|
||||
| parıltı | .gliam | `gleam` komutu mevcut |
|
||||
| nixfmt | .nix | `nixfmt` komutu mevcut |
|
||||
| shfmt | .sh, .bash | `shfmt` komutu mevcut |
|
||||
| pint | .php | `laravel/pint` dependency in `composer.json` |
|
||||
| oxfmt (Deneysel) | .js, .jsx, .ts, .tsx | `package.json` içindeki `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ır
|
||||
|
||||
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:
|
||||
|
||||
| Emlak | Tür | Açıklama |
|
||||
| ------------- | ------ | ---------------------------------------------------------------------- |
|
||||
| `disabled` | boole | Biçimlendiriciyi devre dışı bırakmak için bunu `true` olarak ayarlayın |
|
||||
| `command` | dize[] | Biçimlendirme için çalıştırılacak komut |
|
||||
| `environment` | nesne | Biçimlendiriciyi çalıştırırken ayarlanacak ortam değişkenleri |
|
||||
| `extensions` | dize[] | Bu formatlayıcının işlemesi gereken dosya uzantıları |
|
||||
|
||||
Let's look at some examples.
|
||||
|
||||
---
|
||||
|
||||
### 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
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Custom formatters
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
- **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.
|
||||
|
||||
---
|
||||
|
||||
### Manual Setup
|
||||
|
||||
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. `env`'de uygun `model` 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.
|
||||
|
||||
---
|
||||
|
||||
## Supported Events
|
||||
|
||||
OpenCode aşağıdaki GitHub olayları tarafından tetiklenebilir:
|
||||
|
||||
| Event Type | Triggered By | Details |
|
||||
| ----------------------------- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `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. |
|
||||
|
||||
### Schedule Example
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### Issues Triage Example
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Examples
|
||||
|
||||
GitHub'da OpenCode'u nasıl kullanabileceğinize dair bazı örnekleri burada bulabilirsiniz.
|
||||
|
||||
- **Explain an issue**
|
||||
|
||||
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.
|
||||
|
||||
- **Fix an issue**
|
||||
|
||||
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.
|
||||
|
||||
- **Review specific code lines**
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
When commenting on specific lines, OpenCode receives:
|
||||
- İncelenmekte olan dosyanın tamamı
|
||||
- Belirli kod satırları
|
||||
- Çevreleyen fark bağlamı
|
||||
- Line number information
|
||||
|
||||
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 parçalanma isteğinde OpenCode'u kullanın.
|
||||
---
|
||||
|
||||
OpenCode, GitLab CI/CD ardışık düzeniniz veya GitLab Duo aracılığıyla GitLab iş akışınızla bütünleşir.
|
||||
|
||||
Her iki durumda da OpenCode, GitLab çalıştırıcılarınızda çalışacaktır.
|
||||
|
||||
---
|
||||
|
||||
## GitLab CI
|
||||
|
||||
OpenCode normal bir GitLab hattında çalışır. Bunu bir [CI component](https://docs.gitlab.com/ee/ci/components/) olarak bir boru hattına oluşturabilirsiniz.
|
||||
|
||||
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
|
||||
|
||||
---
|
||||
|
||||
### Setup
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### Features
|
||||
|
||||
- **Sorunları önceliklendirin**: OpenCode'dan bir sorunu araştırıp size açıklamasını isteyin.
|
||||
- **Düzelt ve uygula**: OpenCode'dan bir sorunu düzeltmesini veya bir özelliği uygulamasını isteyin.
|
||||
Yeni bir şube oluşturacak ve değişikliklerle birlikte bir birleştirme isteği oluşturacaktır.
|
||||
- **Güvenli**: OpenCode, GitLab çalıştırıcılarınızda çalışır.
|
||||
|
||||
---
|
||||
|
||||
### Kurmak
|
||||
|
||||
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:
|
||||
|
||||
<detaylar>
|
||||
|
||||
<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
|
||||
```
|
||||
|
||||
</detaylar>
|
||||
|
||||
Ayrıntılı talimatlar için [GitLab CLI agents docs](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/)'a başvurabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Examples
|
||||
|
||||
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.
|
||||
:::
|
||||
|
||||
- **Explain an issue**
|
||||
|
||||
Bu yorumu bir GitLab sayısına ekleyin.
|
||||
|
||||
```
|
||||
@opencode explain this issue
|
||||
```
|
||||
|
||||
OpenCode konuyu okuyacak ve net bir açıklama ile yanıt verecektir.
|
||||
|
||||
- **Fix an issue**
|
||||
|
||||
In a GitLab issue, say:
|
||||
|
||||
```
|
||||
@opencode fix this
|
||||
```
|
||||
|
||||
OpenCode yeni bir şube oluşturacak, değişiklikleri uygulayacak ve değişiklikleri içeren bir birleştirme isteği açacaktır.
|
||||
|
||||
- **Review merge requests**
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Usage
|
||||
|
||||
- **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 Kodunu Aç
|
||||
2. Entegre terminali açın
|
||||
3. `opencode` komutunu çalıştırın - uzantı otomatik olarak yüklenir
|
||||
|
||||
Öte yandan, TUI'den `/editor` veya `/export` çalıştırdığınızda kendi IDE'nizi kullanmak istiyorsanız, `export EDITOR="code --wait"` ayarlamanız gerekir. [Learn more](/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 Kodu için: `code` komutu
|
||||
- İmleç için: `cursor` komutu
|
||||
- Rüzgar Sörfü için: `windsurf` komutu
|
||||
- VSCodium için: `codium` komutu
|
||||
- Değilse, `Cmd+Shift+P` (Mac) veya `Ctrl+Shift+P` (Windows/Linux) çalıştırılır ve "Shell Command: Install 'code' command in PATH" (veya IDE'niz için bağlantıyı) dinleyin.
|
||||
- VS Code'un uzantı yükleme iznine sahip olduğundan emin olun
|
||||
359
packages/web/src/content/docs/tr/index.mdx
Normal file
359
packages/web/src/content/docs/tr/index.mdx
Normal file
@@ -0,0 +1,359 @@
|
||||
---
|
||||
title: Giriş
|
||||
description: OpenCode'u 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 aracısıdır. Terminal tabanlı bir arayüz, masaüstü uygulaması veya IDE uzantısı olarak mevcuttur.
|
||||
|
||||

|
||||
|
||||
Hadi başlayalım.
|
||||
|
||||
---
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
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
|
||||
- [Alacritty](https://alacritty.org), cross-platform
|
||||
- [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ı.
|
||||
|
||||
---
|
||||
|
||||
## Düzenlemek
|
||||
|
||||
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 dokunuşunu 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
|
||||
paru -S opencode-bin
|
||||
```
|
||||
|
||||
#### 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.
|
||||
:::
|
||||
|
||||
- **Çikolata Kullanımı**
|
||||
|
||||
```bash
|
||||
choco install opencode
|
||||
```
|
||||
|
||||
- **Kepçe 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ır
|
||||
|
||||
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 tarafından test edilmiş ve doğrulanmış modellerin seçilmiş bir listesidir
|
||||
team.
|
||||
|
||||
1. TUI'de `/connect` komutunu çalıştırın, açık kodu 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şlat
|
||||
|
||||
Artık bir sağlayıcı yapılandırdığınıza göre, bir projeye gidebilirsiniz.
|
||||
üzerinde çalışmak istiyorsun.
|
||||
|
||||
```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` dosyası oluşturmasını sağlayacaktır.
|
||||
proje kökü.
|
||||
|
||||
:::tip
|
||||
Projenizin `AGENTS.md` dosyasını Git'e göndermelisiniz.
|
||||
:::
|
||||
|
||||
Bu, OpenCode'un proje yapısını ve kodlama modellerini anlamasına yardımcı olur
|
||||
kullanılmış.
|
||||
|
||||
---
|
||||
|
||||
## Usage
|
||||
|
||||
Artık projeniz üzerinde çalışmak için OpenCode'u kullanmaya hazırsınız. Sormaktan çekinmeyin
|
||||
anything!
|
||||
|
||||
Yapay zeka kodlama aracısını kullanma konusunda yeniyseniz aşağıda bazı örnekleri bulabilirsiniz:
|
||||
help.
|
||||
|
||||
---
|
||||
|
||||
### Soru sor
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### Add features
|
||||
|
||||
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 yeteneğini devre dışı bırakan bir _Plan moduna_ sahiptir ve
|
||||
bunun yerine özelliğin nasıl uygulanacağını önerin.
|
||||
|
||||
**Sekme** tuşunu kullanarak buna geçin. Bunun için sağ alt köşede bir gösterge göreceksiniz.
|
||||
|
||||
```bash frame="none" title="Switch to Plan mode"
|
||||
<TAB>
|
||||
```
|
||||
|
||||
Now let's describe what we want it to do.
|
||||
|
||||
```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'a ne istediğinizi anlamak için yeterli ayrıntıyı vermek istiyorsunuz. Yardımcı olur
|
||||
onunla ekibinizdeki kıdemsiz bir geliştiriciyle konuşuyormuş gibi konuşmak.
|
||||
|
||||
:::tip
|
||||
OpenCode'a, ne anladığınızı anlamasına yardımcı olacak bol miktarda bağlam ve örnek verin.
|
||||
want.
|
||||
:::
|
||||
|
||||
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 tüm görselleri tarayabilir ve istemlere ekleyebilir. Yapabilirsiniz
|
||||
bunu bir görüntüyü terminale sürükleyip bırakarak yapın.
|
||||
|
||||
3. **Özelliği oluşturun**
|
||||
|
||||
Plan konusunda kendinizi rahat hissettiğinizde, şu şekilde _Oluşturma moduna_ geri dönün:
|
||||
**Sekme** tuşuna tekrar basmak.
|
||||
|
||||
```bash frame="none"
|
||||
<TAB>
|
||||
```
|
||||
|
||||
Ve ondan değişiklikleri yapmasını istiyoruz.
|
||||
|
||||
```bash frame="none"
|
||||
Sounds good! Go ahead and make the changes.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Değişiklik yap
|
||||
|
||||
Daha basit değişiklikler için OpenCode'dan bunu doğrudan oluşturmasını isteyebilirsiniz.
|
||||
Önce planı gözden geçirmeye gerek kalmadan.
|
||||
|
||||
```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 kararı vermesi için yeterli miktarda ayrıntı sağladığınızdan emin olmak istiyorsunuz.
|
||||
değişiklikler.
|
||||
|
||||
---
|
||||
|
||||
### Undo changes
|
||||
|
||||
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. Değişiklikleri **geri alabilirsiniz**
|
||||
`/undo` komutunu kullanarak.
|
||||
|
||||
```bash frame="none"
|
||||
/undo
|
||||
```
|
||||
|
||||
OpenCode artık yaptığınız değişiklikleri geri alacak ve orijinal mesajınızı gösterecek
|
||||
again.
|
||||
|
||||
```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şmak
|
||||
|
||||
OpenCode ile yaptığınız görüşmeler [eşinizle paylaşılabilir]
|
||||
takım](/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'lu bir [örnek konuşma](https://opencode.ai/s/4XP1fce5).
|
||||
|
||||
---
|
||||
|
||||
## Customize
|
||||
|
||||
İşte bu kadar! Artık OpenCode'u kullanma konusunda profesyonelsiniz.
|
||||
|
||||
Kendinize ait hale getirmek için [picking a theme](/docs/themes), [customizing the keybinds](/docs/keybinds), [configuring code formatters](/docs/formatters), [creating custom commands](/docs/commands) veya [OpenCode config](/docs/config) ile oynamanızı öneririz.
|
||||
192
packages/web/src/content/docs/tr/keybinds.mdx
Normal file
192
packages/web/src/content/docs/tr/keybinds.mdx
Normal file
@@ -0,0 +1,192 @@
|
||||
---
|
||||
title: Tuş bağlantıları
|
||||
description: Tuş bağlantılarınızı özelleştirin.
|
||||
---
|
||||
|
||||
OpenCode, OpenCode yapılandırması aracılığıyla özelleştirebileceğiniz bir tuş bağlantıları listesine sahiptir.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.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_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",
|
||||
"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 key
|
||||
|
||||
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="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.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` | Move to end of current line |
|
||||
| `ctrl+b` | Move cursor back one character |
|
||||
| `ctrl+f` | Move cursor forward one character |
|
||||
| `alt+b` | Move cursor back one word |
|
||||
| `alt+f` | Move cursor forward one word |
|
||||
| `ctrl+d` | Delete character under cursor |
|
||||
| `ctrl+k` | Kill to end of line |
|
||||
| `ctrl+u` | Satırın başına kadar öldür |
|
||||
| `ctrl+w` | Kill previous word |
|
||||
| `alt+d` | Kill next word |
|
||||
| `ctrl+t` | Transpose characters |
|
||||
| `ctrl+g` | Cancel popovers / abort running response |
|
||||
|
||||
---
|
||||
|
||||
## 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` cihazınızı şu adreste 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.
|
||||
188
packages/web/src/content/docs/tr/lsp.mdx
Normal file
188
packages/web/src/content/docs/tr/lsp.mdx
Normal file
@@ -0,0 +1,188 @@
|
||||
---
|
||||
title: LSP Sunucular
|
||||
description: OpenCode, LSP sunucularınızla bütünleşir.
|
||||
---
|
||||
|
||||
OpenCode, LLM'nin kod tabanınızla etkileşime girmesine yardımcı olmak için Dil Sunucusu Protokolünüzle (LSP) bütünleşir. LLM'ye geri bildirim sağlamak için tanılamayı kullanır.
|
||||
|
||||
---
|
||||
|
||||
## Built-in
|
||||
|
||||
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-dil-sunucusunu otomatik olarak yükler |
|
||||
| çıngırak | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | C/C++ projeleri için otomatik kurulumlar |
|
||||
| csharp | .cs | `.NET SDK` installed |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` komutu mevcut |
|
||||
| dart | .dart | `dart` komutu mevcut |
|
||||
| den | .ts, .tsx, .js, .jsx, .mjs | `deno` komutu mevcut (deno.json/deno.jsonc otomatik olarak algılanır) |
|
||||
| iksir-ls | .ex, .exs | `elixir` komutu mevcut |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` dependency in project |
|
||||
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` installed |
|
||||
| parıltı | .gliam | `gleam` komutu mevcut |
|
||||
| lütfen | .go | `go` komutu mevcut |
|
||||
| hls | .hs, .lhs | `haskell-language-server-wrapper` komutu mevcut |
|
||||
| jdtls | .java | `Java SDK (version 21+)` installed |
|
||||
| kotlin-ls | .kt, .kts | Kotlin projeleri için otomatik kurulumlar |
|
||||
| lua-ls | .lua | Lua projeleri için otomatik kurulumlar |
|
||||
| hayır | .nix | `nixd` komutu mevcut |
|
||||
| ocaml-lsp | .ml, .mli | `ocamllsp` komutu mevcut |
|
||||
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` dependency in project |
|
||||
| php internet | .php | PHP projeleri için otomatik yüklemeler |
|
||||
| prizma | .prizma | `prisma` komutu mevcut |
|
||||
| pyright | .py, .pyi | `pyright` dependency installed |
|
||||
| yakut-lsp (rubocop) | .rb, .rake, .gemspec, .ru | `ruby` ve `gem` komutları mevcut |
|
||||
| pas | .rs | `rust-analyzer` komutu mevcut |
|
||||
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` installed (`xcode` on macOS) |
|
||||
| ince | .svelte | Svelte projeleri için otomatik kurulumlar |
|
||||
| yeryüzü | .tf, .tfvars | GitHub sürümlerinden otomatik yüklemeler |
|
||||
| minik sis | .typ, .typc | GitHub sürümlerinden otomatik yüklemeler |
|
||||
| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` dependency in project |
|
||||
| vue | .vue | Vue projeleri için otomatik yüklemeler |
|
||||
| yaml-ls | .yaml, .yml | Red Hat yaml-dil-sunucusunu otomatik olarak yükler |
|
||||
| zl'ler | .zig, .zon | `zig` komutu mevcut |
|
||||
|
||||
Yukarıdaki dosya uzantılarından biri tespit edildiğinde ve gereksinimler karşılandığında LSP sunucuları otomatik olarak etkinleştirilir.
|
||||
|
||||
:::note
|
||||
`OPENCODE_DISABLE_LSP_DOWNLOAD` ortam değişkenini `true` olarak ayarlayarak otomatik LSP sunucu indirmelerini devre dışı bırakabilirsiniz.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Nasıl Çalışır?
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Yapılandır
|
||||
|
||||
LSP sunucularını, açık kod yapılandırmanızdaki `lsp` bölümü aracılığıyla özelleştirebilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {}
|
||||
}
|
||||
```
|
||||
|
||||
Her LSP sunucusu aşağıdakileri destekler:
|
||||
|
||||
| Emlak | Tür | Açıklama |
|
||||
| ---------------- | ------ | -------------------------------------------------------------------- |
|
||||
| `disabled` | boole | LSP sunucusunu devre dışı bırakmak için bunu `true` olarak ayarlayın |
|
||||
| `command` | dize[] | LSP sunucusunu başlatma komutu |
|
||||
| `extensions` | dize[] | Bu LSP sunucusunun işlemesi gereken dosya uzantıları |
|
||||
| `env` | nesne | Sunucuyu başlatırken ayarlanacak ortam değişkenleri |
|
||||
| `initialization` | nesne | LSP sunucusuna gönderilecek başlatma seçenekleri |
|
||||
|
||||
Let's look at some examples.
|
||||
|
||||
---
|
||||
|
||||
### 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Initialization options
|
||||
|
||||
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
|
||||
|
||||
**tüm** LSP sunucularını genel olarak devre dışı bırakmak için `lsp`'yi `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
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Custom LSP servers
|
||||
|
||||
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/licence.txt`
|
||||
- Windows'ta: `%USERPROFILE%/intelephense/licence.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.
|
||||
|
||||
---
|
||||
|
||||
#### Caveats
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Olanak vermek
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### Overriding remote defaults
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Options
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
#### Options
|
||||
|
||||
| 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
|
||||
|
||||
---
|
||||
|
||||
### Automatic
|
||||
|
||||
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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Authenticating
|
||||
|
||||
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 Options
|
||||
|
||||
| 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. |
|
||||
|
||||
#### Debugging
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Üstesinden gelmek
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
### Temsilci 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 patterns
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Bağlam7
|
||||
|
||||
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: Modelci
|
||||
description: LLM sağlayıcısını ve modelinin adı.
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Providers
|
||||
|
||||
Ç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.
|
||||
|
||||
[providers](/docs/providers) hakkında daha fazla bilgi edinin.
|
||||
|
||||
---
|
||||
|
||||
## Bir model seçin
|
||||
|
||||
Sağlayıcınızı yapılandırdıktan sonra aşağıdaki komutu yazarak istediğiniz modeli seçebilirsiniz:
|
||||
|
||||
```bash frame="none"
|
||||
/models
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Recommended models
|
||||
|
||||
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ı ayarla
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Modelleri yapılandırın
|
||||
|
||||
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: `openai` sağlayıcısı aracılığıyla erişildiğinde `gpt-5` ve `anthropic` sağlayıcısı aracılığıyla erişildiğinde `claude-sonnet-4-20250514`.
|
||||
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. [Learn more](/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. [Learn more](/docs/keybinds).
|
||||
|
||||
---
|
||||
|
||||
## Loading models
|
||||
|
||||
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.
|
||||
331
packages/web/src/content/docs/tr/modes.mdx
Normal file
331
packages/web/src/content/docs/tr/modes.mdx
Normal file
@@ -0,0 +1,331 @@
|
||||
---
|
||||
title: Modlar
|
||||
description: farklı kullanım durumları için farklı modlar.
|
||||
---
|
||||
|
||||
:::caution
|
||||
Modlar artık açık kod yapılandırmasındaki `agent` seçeneği aracılığıyla yapılandırılıyor.
|
||||
`mode` seçeneği artık kullanımdan kaldırıldı. [Learn more](/docs/agents).
|
||||
:::
|
||||
|
||||
Açık koddaki modlar, farklı kullanım durumları için davranışı, araçları ve istemleri özelleştirmenize olanak tanır.
|
||||
|
||||
İki yerleşik modla birlikte gelir: **build** ve **plan**. Kişiselleştirebilirsiniz
|
||||
bunları veya açık kod yapılandırması aracılığıyla kendinizinkini yapılandırın.
|
||||
|
||||
Bir oturum sırasında modlar arasında geçiş yapabilir veya bunları yapılandırma dosyanızda yapılandırabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Built-in
|
||||
|
||||
opencode iki yerleşik modla birlikte gelir.
|
||||
|
||||
---
|
||||
|
||||
### İnşa etmek
|
||||
|
||||
Derleme, tüm araçların etkin olduğu **varsayılan** moddur. Bu, dosya işlemlerine ve sistem komutlarına tam erişime ihtiyaç duyduğunuz geliştirme çalışmaları için standart moddur.
|
||||
|
||||
---
|
||||
|
||||
### Plan
|
||||
|
||||
Planlama ve analiz için tasarlanmış sınırlı bir mod. Plan modunda aşağıdaki araçlar varsayılan olarak devre dışıdır:
|
||||
|
||||
- `write` - Yeni dosyalar oluşturulamıyor
|
||||
- `edit` - Planın kendisini detaylandırmak için `.opencode/plans/*.md` adresinde bulunan dosyalar dışında mevcut dosyalar değiştirilemez
|
||||
- `patch` - Cannot apply patches
|
||||
- `bash` - Kabuk komutları yürütülemiyor
|
||||
|
||||
Bu mod, yapay zekanın kod tabanınızda herhangi bir gerçek değişiklik yapmadan kodu analiz etmesini, değişiklik önermesini veya plan oluşturmasını istediğinizde kullanışlıdır.
|
||||
|
||||
---
|
||||
|
||||
## Anahtarlama
|
||||
|
||||
Bir oturum sırasında _Tab_ tuşunu kullanarak modlar arasında geçiş yapabilirsiniz. Veya yapılandırılmış `switch_mode` tuş bağlantınız.
|
||||
|
||||
Ayrıca bkz.: Kod biçimlendirme yapılandırması hakkında bilgi için [Formatters](/docs/formatters).
|
||||
|
||||
---
|
||||
|
||||
## Yapılandır
|
||||
|
||||
Yerleşik modları özelleştirebilir veya yapılandırma aracılığıyla kendinizinkini oluşturabilirsiniz. Modlar iki şekilde yapılandırılabilir:
|
||||
|
||||
### JSON Configuration
|
||||
|
||||
`opencode.json` yapılandırma dosyanızdaki modları yapılandırın:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mode": {
|
||||
"build": {
|
||||
"model": "anthropic/claude-sonnet-4-20250514",
|
||||
"prompt": "{file:./prompts/build.txt}",
|
||||
"tools": {
|
||||
"write": true,
|
||||
"edit": true,
|
||||
"bash": true
|
||||
}
|
||||
},
|
||||
"plan": {
|
||||
"model": "anthropic/claude-haiku-4-20250514",
|
||||
"tools": {
|
||||
"write": false,
|
||||
"edit": false,
|
||||
"bash": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Markdown Configuration
|
||||
|
||||
Markdown dosyalarını kullanarak modları da tanımlayabilirsiniz. Bunları şuraya yerleştirin:
|
||||
|
||||
- Global: `~/.config/opencode/modes/`
|
||||
- Project: `.opencode/modes/`
|
||||
|
||||
```markdown title="~/.config/opencode/modes/review.md"
|
||||
---
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
temperature: 0.1
|
||||
tools:
|
||||
write: false
|
||||
edit: false
|
||||
bash: false
|
||||
---
|
||||
|
||||
You are in code review mode. Focus on:
|
||||
|
||||
- Code quality and best practices
|
||||
- Potential bugs and edge cases
|
||||
- Performance implications
|
||||
- Security considerations
|
||||
|
||||
Provide constructive feedback without making direct changes.
|
||||
```
|
||||
|
||||
Markdown dosyası adı mod adı olur (örneğin, `review.md` bir `review` modu oluşturur).
|
||||
|
||||
Let's look at these configuration options in detail.
|
||||
|
||||
---
|
||||
|
||||
### Modeli
|
||||
|
||||
Bu modun varsayılan standardı geçersiz için `model` kontrolünü kullanın. Farklı bölümler için optimize edilmiş farklı modelleri kullanmak için kullanışlıdır. Örneğin planlama için daha hızlı bir model, uygulama için daha yetenekli bir model.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
"plan": {
|
||||
"model": "anthropic/claude-haiku-4-20250514"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Temperature
|
||||
|
||||
`temperature` yapılandırmasıyla yapay zekanın yanıtlarının rastgeleliğini ve yaratıcılığını kontrol edin. Düşük değerler yanıtları daha odaklı ve belirleyici hale getirirken, yüksek değerler yaratıcılığı ve değişkenliği artırır.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
"plan": {
|
||||
"temperature": 0.1
|
||||
},
|
||||
"creative": {
|
||||
"temperature": 0.8
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Sıcaklık değerleri tipik olarak 0,0 ila 1,0 arasındadır:
|
||||
|
||||
- **0,0-0,2**: Çok odaklı ve belirleyici yanıtlar, kod analizi ve planlaması için idealdir
|
||||
- **0,3-0,5**: Biraz yaratıcılık içeren dengeli yanıtlar, genel gelişim görevleri için iyi
|
||||
- **0,6-1,0**: Daha yaratıcı ve çeşitli yanıtlar, beyin fırtınası ve keşif için yararlı
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
"analyze": {
|
||||
"temperature": 0.1,
|
||||
"prompt": "{file:./prompts/analysis.txt}"
|
||||
},
|
||||
"build": {
|
||||
"temperature": 0.3
|
||||
},
|
||||
"brainstorm": {
|
||||
"temperature": 0.7,
|
||||
"prompt": "{file:./prompts/creative.txt}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Sıcaklık belirtilmezse, açık kod modele özgü varsayılanları kullanır (çoğu model için genellikle 0, Qwen modelleri için 0,55).
|
||||
|
||||
---
|
||||
|
||||
### Çabuk
|
||||
|
||||
`prompt` analiziyle bu mod için özel bir sistem bilgi istemi dosyası destekleniyor. Bilgi istemi şeması, modun amacına özel talimatlar içermelidir.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
"review": {
|
||||
"prompt": "{file:./prompts/code-review.txt}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu yol, yapılandırma dosyasının bulunduğu yere göredir. Yani bu işe yarıyor
|
||||
hem global açık kod yapılandırması hem de projeye özel yapılandırma.
|
||||
|
||||
---
|
||||
|
||||
### Tools
|
||||
|
||||
`tools` yapılandırmasıyla bu modda hangi araçların kullanılabileceğini kontrol edin. Belirli araçları `true` veya `false` olarak ayarlayarak etkinleştirebilir veya devre dışı bırakabilirsiniz.
|
||||
|
||||
```json
|
||||
{
|
||||
"mode": {
|
||||
"readonly": {
|
||||
"tools": {
|
||||
"write": false,
|
||||
"edit": false,
|
||||
"bash": false,
|
||||
"read": true,
|
||||
"grep": true,
|
||||
"glob": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Hiçbir araç belirtilmezse tüm araçlar varsayılan olarak etkindir.
|
||||
|
||||
---
|
||||
|
||||
#### Mevcut araçlar
|
||||
|
||||
İşte mod yapılandırması aracılığıyla kontrol edilebilecek tüm araçlar.
|
||||
|
||||
| Alet | Tanım |
|
||||
| ----------- | ------------------------------- |
|
||||
| `bash` | Kabuk komutlarını yürütün |
|
||||
| `edit` | Mevcut dosyaları değiştirin |
|
||||
| `write` | Yeni dosyalar oluştur |
|
||||
| `read` | Dosya içeriğini oku |
|
||||
| `grep` | Dosya içeriğini arayın |
|
||||
| `glob` | Dosyaları desene göre bulun |
|
||||
| `list` | Dizinin içeriği listele |
|
||||
| `patch` | Dosyalara yama uygulama |
|
||||
| `todowrite` | Yapılacaklar listelerini yönet |
|
||||
| `todoread` | Yapılacaklar listelerini okuyun |
|
||||
| `webfetch` | Web içeriğini getir |
|
||||
|
||||
---
|
||||
|
||||
## Custom modes
|
||||
|
||||
Yapılandırmaya ekleyerek kendi özel modlarınızı oluşturabilirsiniz. Her iki yaklaşımın kullanıldığı örnekler aşağıda verilmiştir:
|
||||
|
||||
### JSON yapılandırmasını kullanma
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mode": {
|
||||
"docs": {
|
||||
"prompt": "{file:./prompts/documentation.txt}",
|
||||
"tools": {
|
||||
"write": true,
|
||||
"edit": true,
|
||||
"bash": false,
|
||||
"read": true,
|
||||
"grep": true,
|
||||
"glob": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Markdown dosyalarını kullanma
|
||||
|
||||
Projeye özel modlar için `.opencode/modes/` veya genel modlar için `~/.config/opencode/modes/`'de mod dosyaları oluşturun:
|
||||
|
||||
```markdown title=".opencode/modes/debug.md"
|
||||
---
|
||||
temperature: 0.1
|
||||
tools:
|
||||
bash: true
|
||||
read: true
|
||||
grep: true
|
||||
write: false
|
||||
edit: false
|
||||
---
|
||||
|
||||
You are in debug mode. Your primary goal is to help investigate and diagnose issues.
|
||||
|
||||
Focus on:
|
||||
|
||||
- Understanding the problem through careful analysis
|
||||
- Using bash commands to inspect system state
|
||||
- Reading relevant files and logs
|
||||
- Searching for patterns and anomalies
|
||||
- Providing clear explanations of findings
|
||||
|
||||
Do not make any changes to files. Only investigate and report.
|
||||
```
|
||||
|
||||
```markdown title="~/.config/opencode/modes/refactor.md"
|
||||
---
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
temperature: 0.2
|
||||
tools:
|
||||
edit: true
|
||||
read: true
|
||||
grep: true
|
||||
glob: true
|
||||
---
|
||||
|
||||
You are in refactoring mode. Focus on improving code quality without changing functionality.
|
||||
|
||||
Priorities:
|
||||
|
||||
- Improve code readability and maintainability
|
||||
- Apply consistent naming conventions
|
||||
- Reduce code duplication
|
||||
- Optimize performance where appropriate
|
||||
- Ensure all tests continue to pass
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Kullanım durumları
|
||||
|
||||
Farklı modlar için bazı yaygın kullanım durumları aşağıda verilmiştir.
|
||||
|
||||
- **Derleme modu**: Tüm araçların etkinleştirildiği tam geliştirme çalışması
|
||||
- **Plan modu**: Değişiklik yapmadan analiz ve planlama
|
||||
- **İnceleme modu**: Salt okunur erişim ve belgeleme araçlarıyla kod incelemesi
|
||||
- **Hata ayıklama modu**: Bash ve okuma araçları etkinken araştırmaya odaklanıldı
|
||||
- **Belgeler modu**: Dosya işlemleriyle ancak sistem komutları olmadan belge yazma
|
||||
|
||||
Ayrıca farklı modellerin farklı kullanım durumları için iyi olduğunu da görebilirsiniz.
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Proxy
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Custom certificates
|
||||
|
||||
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.
|
||||
237
packages/web/src/content/docs/tr/permissions.mdx
Normal file
237
packages/web/src/content/docs/tr/permissions.mdx
Normal file
@@ -0,0 +1,237 @@
|
||||
---
|
||||
title: İzinler
|
||||
description: Hangi işlemlerin çalıştırılması için onay işlemini 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.
|
||||
|
||||
---
|
||||
|
||||
## Actions
|
||||
|
||||
Each permission rule resolves to one of:
|
||||
|
||||
- `"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"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Granular Rules (Object Syntax)
|
||||
|
||||
Ç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.
|
||||
|
||||
### Wildcards
|
||||
|
||||
İzin kalıpları basit joker karakter eşleştirmesini kullanır:
|
||||
|
||||
- `*` herhangi bir karakterin sıfır veya daha fazlasıyla eşleşir
|
||||
- `?` matches exactly one character
|
||||
- All other characters match literally
|
||||
|
||||
### 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`
|
||||
|
||||
### Dış Dizinler
|
||||
|
||||
OpenCode'un başlatıldığı çalışma dizini dışındaki yollara dokunan araç çağrılarına izin vermek için `external_directory` kullanın. Bu, girdi olarak bir yolu alan tüm araçlar için geçerlidir (örneğin `read`, `edit`, `list`, `glob`, `grep` ve birçok `bash` komutu).
|
||||
|
||||
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 görevlisine göre anahtarlanır:
|
||||
|
||||
- `read` — bir dosyayı okumak (dosya yoluyla eşleşir)
|
||||
- `edit` — tüm dosya değişiklikleri (`edit`, `write`, `patch`, `multiedit`'yi kapsar)
|
||||
- `glob` — dosya genellemesi (glob düzeniyle eşleşir)
|
||||
- `grep` — içerik arama (regex modeliyle eşleşir)
|
||||
- `list` — bir dizideki dosyaları listeleme (dizin yoluyla eşleşir)
|
||||
- `bash` — kabuk komutlarını çalıştırma (`git status --porcelain` gibi ayrıştırılmış komutlarla eşleşir)
|
||||
- `task` — alt aracıların başlatılması (alt aracı türüyle eşleşir)
|
||||
- `skill` — bir beceri yükleniyor (beceri adıyla eşleşir)
|
||||
- `lsp` — LSP sorgularını çalıştırıyor (şu anda ayrıntılı değil)
|
||||
- `todoread`, `todowrite` — reading/updating yapılacaklar listesi
|
||||
- `webfetch` — URL getiriliyor (URL ile eşleşiyor)
|
||||
- `websearch`, `codesearch` — web/code 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
|
||||
|
||||
---
|
||||
|
||||
## Defaults
|
||||
|
||||
Hiçbir şey belirtmezseniz OpenCode izin verilen varsayılanlardan başlar:
|
||||
|
||||
- Çoğu izin varsayılan olarak `"allow"` şeklindedir.
|
||||
- `doom_loop` ve `external_directory` varsayılan olarak `"ask"`'dir.
|
||||
- `read`, `"allow"`'dir, ancak `.env` dosyaları varsayılan olarak reddedilir:
|
||||
|
||||
```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).
|
||||
|
||||
---
|
||||
|
||||
## Agents
|
||||
|
||||
Aracı başına izinleri geçersiz kılabilirsiniz. Aracı izinleri genel yapılandırmayla birleştirilir ve aracı kuralları öncelikli olur. [Learn more](/docs/agents#permissions) temsilci izinleri hakkında.
|
||||
|
||||
:::note
|
||||
Daha ayrıntılı desen eşleştirme örnekleri için yukarıdaki [Granular Rules (Object Syntax)](#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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Aracı 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.
|
||||
:::
|
||||
385
packages/web/src/content/docs/tr/plugins.mdx
Normal file
385
packages/web/src/content/docs/tr/plugins.mdx
Normal file
@@ -0,0 +1,385 @@
|
||||
---
|
||||
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 [plugins](/docs/ecosystem#plugins)'a göz atın.
|
||||
|
||||
---
|
||||
|
||||
## Bir eklenti kullanın
|
||||
|
||||
There are two ways to load plugins.
|
||||
|
||||
---
|
||||
|
||||
### 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.
|
||||
|
||||
[ecosystem](/docs/ecosystem#plugins)'daki 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. [Dependencies](#dependencies)) veya eklentiyi npm ve [add it to your config](/docs/config#plugins)'de yayınlamanız gerekir.
|
||||
|
||||
---
|
||||
|
||||
### Load order
|
||||
|
||||
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ştur
|
||||
|
||||
Eklenti, bir veya daha fazla eklentiyi dışa aktaran bir **JavaScript/TypeScript modülüdür**
|
||||
işlevler. Her işlev bir bağlam nesnesi alır ve bir kanca nesnesi döndürür.
|
||||
|
||||
---
|
||||
|
||||
### Dependencies
|
||||
|
||||
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şime geçmek için açık kodlu bir 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 Etkinlikleri
|
||||
|
||||
- `installation.updated`
|
||||
|
||||
#### LSP Etkinlikler
|
||||
|
||||
- `lsp.client.diagnostics`
|
||||
- `lsp.updated`
|
||||
|
||||
#### Mesaj Etkinlikleri
|
||||
|
||||
- `message.part.removed`
|
||||
- `message.part.updated`
|
||||
- `message.removed`
|
||||
- `message.updated`
|
||||
|
||||
#### İzin Etkinlikleri
|
||||
|
||||
- `permission.asked`
|
||||
- `permission.replied`
|
||||
|
||||
#### Sunucu Etkinlikleri
|
||||
|
||||
- `server.connected`
|
||||
|
||||
#### Oturum Etkinlikleri
|
||||
|
||||
- `session.created`
|
||||
- `session.compacted`
|
||||
- `session.deleted`
|
||||
- `session.diff`
|
||||
- `session.error`
|
||||
- `session.idle`
|
||||
- `session.status`
|
||||
- `session.updated`
|
||||
|
||||
#### Yapılacak Etkinlikler
|
||||
|
||||
- `todo.updated`
|
||||
|
||||
#### Kabuk Etkinlikleri
|
||||
|
||||
- `shell.env`
|
||||
|
||||
#### Araç Olayları
|
||||
|
||||
- `tool.execute.after`
|
||||
- `tool.execute.before`
|
||||
|
||||
#### TUI Etkinlikler
|
||||
|
||||
- `tui.prompt.append`
|
||||
- `tui.command.execute`
|
||||
- `tui.toast.show`
|
||||
|
||||
---
|
||||
|
||||
## Examples
|
||||
|
||||
Açık kodu genişletmek için kullanabileceğiniz bazı eklenti örneklerini burada bulabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Bildirim gönder
|
||||
|
||||
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 protection
|
||||
|
||||
Açık kodun `.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
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Custom tools
|
||||
|
||||
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 kod açmaya da hazır olacaktı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 documentation](https://opencode.ai/docs/sdk)'e bakın.
|
||||
|
||||
---
|
||||
|
||||
### Compaction hooks
|
||||
|
||||
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.
|
||||
1888
packages/web/src/content/docs/tr/providers.mdx
Normal file
1888
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: Açık kod için özel talimatları ayarlayın.
|
||||
---
|
||||
|
||||
Bir `AGENTS.md` dosyası oluşturarak kod açmaya özel talimatlar sağlayabilirsiniz. Bu, İmlecin kurallarına benzer. Özel projeniz için davranışını özelleştirmek amacıyla LLM'in içeriğine dahil edilecek talimatları içerir.
|
||||
|
||||
---
|
||||
|
||||
## Initialize
|
||||
|
||||
Yeni bir `AGENTS.md` dosyası oluşturmak için `/init` komutunu açık kodda ç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, açık kodun projede daha iyi gezinmesine yardımcı olur.
|
||||
|
||||
Mevcut bir `AGENTS.md` dosyanız varsa, bu dosyaya eklemeye çalışacaktır.
|
||||
|
||||
---
|
||||
|
||||
## Example
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Types
|
||||
|
||||
opencode ayrıca `AGENTS.md` dosyasının birden fazla konumdan okunmasını da destekler. Ve bu farklı amaçlara hizmet ediyor.
|
||||
|
||||
### Project
|
||||
|
||||
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 açık kod 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 Compatibility
|
||||
|
||||
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 rules**: `~/.claude/CLAUDE.md` (used if no `~/.config/opencode/AGENTS.md` exists)
|
||||
- **Beceriler**: `~/.claude/skills/` — ayrıntılar için [Agent Skills](/docs/skills/)'e bakın
|
||||
|
||||
To disable Claude Code compatibility, set one of these environment variables:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Precedence
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## Custom Instructions
|
||||
|
||||
Ö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.
|
||||
|
||||
Example:
|
||||
|
||||
```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, `opencode.json`'deki `instructions` 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"]
|
||||
}
|
||||
```
|
||||
|
||||
### Manual Instructions in AGENTS.md
|
||||
|
||||
`AGENTS.md`'nizde açık talimatlar sağlayarak açık kodu 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
|
||||
- Keep AGENTS.md concise while referencing detailed guidelines
|
||||
- Açık kodun 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.
|
||||
:::
|
||||
22
packages/web/src/content/docs/tr/sdk.mdx
Normal file
22
packages/web/src/content/docs/tr/sdk.mdx
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: SDK
|
||||
description: opencode serveri icin type-safe JS istemcisi.
|
||||
---
|
||||
|
||||
OpenCode JS/TS SDK, sunucu ile etkilesmek icin type-safe bir istemci saglar.
|
||||
|
||||
[Sunucu](/docs/server) sayfasinda mimariyi gorebilir, topluluk ornekleri icin [projects](/docs/ecosystem#projects) bolumune bakabilirsiniz.
|
||||
|
||||
## Kurulum
|
||||
|
||||
```bash
|
||||
npm install @opencode-ai/sdk
|
||||
```
|
||||
|
||||
## Baslangic
|
||||
|
||||
```javascript
|
||||
import { createOpencode } from "@opencode-ai/sdk"
|
||||
|
||||
const { client } = await createOpencode()
|
||||
```
|
||||
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 kullanabilecegi bir OpenAPI endpoint'i acan headless bir HTTP sunucusu calistirir.
|
||||
|
||||
---
|
||||
|
||||
### Kullanim
|
||||
|
||||
```bash
|
||||
opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
|
||||
```
|
||||
|
||||
#### Secenekler
|
||||
|
||||
| Flag | Description | Default |
|
||||
| --------------- | ----------------------------------- | ---------------- |
|
||||
| `--port` | Port to listen on | `4096` |
|
||||
| `--hostname` | Hostname to listen on | `127.0.0.1` |
|
||||
| `--mdns` | Enable mDNS discovery | `false` |
|
||||
| `--mdns-domain` | Custom domain name for mDNS service | `opencode.local` |
|
||||
| `--cors` | Additional browser origins to allow | `[]` |
|
||||
|
||||
`--cors` birden fazla kez gecilebilir:
|
||||
|
||||
```bash
|
||||
opencode serve --cors http://localhost:5173 --cors https://app.example.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Kimlik dogrulama
|
||||
|
||||
Sunucuyu HTTP basic auth ile korumak icin `OPENCODE_SERVER_PASSWORD` ayarlayin. Kullanici adi varsayilan olarak `opencode` degeridir; degistirmek isterseniz `OPENCODE_SERVER_USERNAME` ayarlayabilirsiniz. Bu ayar hem `opencode serve` hem de `opencode web` icin gecerlidir.
|
||||
|
||||
```bash
|
||||
OPENCODE_SERVER_PASSWORD=your-password opencode serve
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Nasil calisir
|
||||
|
||||
`opencode` calistirdiginizda hem TUI hem de sunucu baslar. TUI, sunucuyla konusan istemci tarafidir.
|
||||
Sunucu bir OpenAPI 3.1 spec endpoint'i acar. Bu endpoint [SDK](/docs/sdk) uretiminde de kullanilir.
|
||||
|
||||
:::tip
|
||||
opencode ile programatik etkilesim icin opencode sunucusunu kullanin.
|
||||
:::
|
||||
|
||||
Bu mimari, opencode'un birden fazla istemciyi desteklemesini ve programatik kullanimlari mumkun kilmasini saglar.
|
||||
|
||||
`opencode serve` ile bagimsiz bir sunucu baslatabilirsiniz. opencode TUI aciksa, `opencode serve` yeni bir sunucu baslatir.
|
||||
|
||||
---
|
||||
|
||||
#### Mevcut sunucuya baglanin
|
||||
|
||||
TUI baslarken rastgele bir port ve hostname atanir. Bunun yerine `--hostname` ve `--port` [bayraklarini](/docs/cli) verebilirsiniz.
|
||||
|
||||
[`/tui`](#tui) endpoint'i sunucu uzerinden TUI'yi surmek icin kullanilabilir. Ornegin bir istemi onceden doldurabilir veya calistirabilirsiniz. Bu kurulum OpenCode [IDE](/docs/ide) eklentileri tarafindan kullanilir.
|
||||
|
||||
---
|
||||
|
||||
## Spesifikasyon
|
||||
|
||||
Sunucu, su adreste gorulebilen bir OpenAPI 3.1 spec yayinlar:
|
||||
|
||||
```
|
||||
http://<hostname>:<port>/doc
|
||||
```
|
||||
|
||||
Ornegin `http://localhost:4096/doc`. Istemci olusturmak, istek/yanit tiplerini incelemek veya Swagger gezgininde acmak icin bu spec'i kullanin.
|
||||
|
||||
---
|
||||
|
||||
## API'ler
|
||||
|
||||
opencode sunucusu asagidaki API'leri sunar.
|
||||
|
||||
---
|
||||
|
||||
### Global
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ---------------- | ------------------------------ | ------------------------------------ |
|
||||
| `GET` | `/global/health` | Get server health and version | `{ healthy: true, version: string }` |
|
||||
| `GET` | `/global/event` | Get global events (SSE stream) | Event stream |
|
||||
|
||||
---
|
||||
|
||||
### Project
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------------------ | ----------------------- | --------------------------------------------- |
|
||||
| `GET` | `/project` | List all projects | <a href={typesUrl}><code>Project[]</code></a> |
|
||||
| `GET` | `/project/current` | Get the current project | <a href={typesUrl}><code>Project</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Path & VCS
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------- | ------------------------------------ | ------------------------------------------- |
|
||||
| `GET` | `/path` | Get the current path | <a href={typesUrl}><code>Path</code></a> |
|
||||
| `GET` | `/vcs` | Get VCS info for the current project | <a href={typesUrl}><code>VcsInfo</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Instance
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------------------- | ---------------------------- | --------- |
|
||||
| `POST` | `/instance/dispose` | Dispose the current instance | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Config
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------- | ------------------- | --------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/config` | Get config info | <a href={typesUrl}><code>Config</code></a> |
|
||||
| `PATCH` | `/config` | Update config | <a href={typesUrl}><code>Config</code></a> |
|
||||
| `GET` | `/config/providers` | List providers and default models | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` |
|
||||
|
||||
---
|
||||
|
||||
### Provider
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | -------------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- |
|
||||
| `GET` | `/provider` | List all providers | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` |
|
||||
| `GET` | `/provider/auth` | Get provider authentication methods | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
|
||||
| `POST` | `/provider/{id}/oauth/authorize` | Authorize a provider using OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
|
||||
| `POST` | `/provider/{id}/oauth/callback` | Handle OAuth callback for a provider | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Sessions
|
||||
|
||||
| Method | Path | Description | Notes |
|
||||
| -------- | ---------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session` | List all sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
|
||||
| `POST` | `/session` | Create a new session | body: `{ parentID?, title? }`, returns <a href={typesUrl}><code>Session</code></a> |
|
||||
| `GET` | `/session/status` | Get session status for all sessions | Returns `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
|
||||
| `GET` | `/session/:id` | Get session details | Returns <a href={typesUrl}><code>Session</code></a> |
|
||||
| `DELETE` | `/session/:id` | Delete a session and all its data | Returns `boolean` |
|
||||
| `PATCH` | `/session/:id` | Update session properties | body: `{ title? }`, returns <a href={typesUrl}><code>Session</code></a> |
|
||||
| `GET` | `/session/:id/children` | Get a session's child sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
|
||||
| `GET` | `/session/:id/todo` | Get the todo list for a session | Returns <a href={typesUrl}><code>Todo[]</code></a> |
|
||||
| `POST` | `/session/:id/init` | Analyze app and create `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` |
|
||||
| `POST` | `/session/:id/fork` | Fork an existing session at a message | body: `{ messageID? }`, returns <a href={typesUrl}><code>Session</code></a> |
|
||||
| `POST` | `/session/:id/abort` | Abort a running session | Returns `boolean` |
|
||||
| `POST` | `/session/:id/share` | Share a session | Returns <a href={typesUrl}><code>Session</code></a> |
|
||||
| `DELETE` | `/session/:id/share` | Unshare a session | Returns <a href={typesUrl}><code>Session</code></a> |
|
||||
| `GET` | `/session/:id/diff` | Get the diff for this session | query: `messageID?`, returns <a href={typesUrl}><code>FileDiff[]</code></a> |
|
||||
| `POST` | `/session/:id/summarize` | Summarize the session | body: `{ providerID, modelID }`, returns `boolean` |
|
||||
| `POST` | `/session/:id/revert` | Revert a message | body: `{ messageID, partID? }`, returns `boolean` |
|
||||
| `POST` | `/session/:id/unrevert` | Restore all reverted messages | Returns `boolean` |
|
||||
| `POST` | `/session/:id/permissions/:permissionID` | Respond to a permission request | body: `{ response, remember? }`, returns `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Messages
|
||||
|
||||
| Method | Path | Description | Notes |
|
||||
| ------ | --------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session/:id/message` | List messages in a session | query: `limit?`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
|
||||
| `POST` | `/session/:id/message` | Send a message and wait for response | body: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `GET` | `/session/:id/message/:messageID` | Get message details | Returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `POST` | `/session/:id/prompt_async` | Send a message asynchronously (no wait) | body: same as `/session/:id/message`, returns `204 No Content` |
|
||||
| `POST` | `/session/:id/command` | Execute a slash command | body: `{ messageID?, agent?, model?, command, arguments }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
| `POST` | `/session/:id/shell` | Run a shell command | body: `{ agent, model?, command }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
|
||||
|
||||
---
|
||||
|
||||
### Commands
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ---------- | ----------------- | --------------------------------------------- |
|
||||
| `GET` | `/command` | List all commands | <a href={typesUrl}><code>Command[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Files
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/find?pattern=<pat>` | Search for text in files | Array of match objects with `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
|
||||
| `GET` | `/find/file?query=<q>` | Find files and directories by name | `string[]` (paths) |
|
||||
| `GET` | `/find/symbol?query=<q>` | Find workspace symbols | <a href={typesUrl}><code>Symbol[]</code></a> |
|
||||
| `GET` | `/file?path=<path>` | List files and directories | <a href={typesUrl}><code>FileNode[]</code></a> |
|
||||
| `GET` | `/file/content?path=<p>` | Read a file | <a href={typesUrl}><code>FileContent</code></a> |
|
||||
| `GET` | `/file/status` | Get status for tracked files | <a href={typesUrl}><code>File[]</code></a> |
|
||||
|
||||
#### `/find/file` query parametreleri
|
||||
|
||||
- `query` (required) - arama metni (fuzzy match)
|
||||
- `type` (optional) - sonuclari `"file"` veya `"directory"` ile sinirlama
|
||||
- `directory` (optional) - arama icin proje kokunu gecersiz kilma
|
||||
- `limit` (optional) - en fazla sonuc (1-200)
|
||||
- `dirs` (optional) - eski bayrak (`"false"` sadece dosyalari dondurur)
|
||||
|
||||
---
|
||||
|
||||
### Tools (Deneysel)
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------------------------------------------- | ---------------------------------------- | -------------------------------------------- |
|
||||
| `GET` | `/experimental/tool/ids` | List all tool IDs | <a href={typesUrl}><code>ToolIDs</code></a> |
|
||||
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | List tools with JSON schemas for a model | <a href={typesUrl}><code>ToolList</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### LSP, Formatters & MCP
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------------ | -------------------------- | -------------------------------------------------------- |
|
||||
| `GET` | `/lsp` | Get LSP server status | <a href={typesUrl}><code>LSPStatus[]</code></a> |
|
||||
| `GET` | `/formatter` | Get formatter status | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
|
||||
| `GET` | `/mcp` | Get MCP server status | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
|
||||
| `POST` | `/mcp` | Add MCP server dynamically | body: `{ name, config }`, returns MCP status object |
|
||||
|
||||
---
|
||||
|
||||
### Agents
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | -------- | ------------------------- | ------------------------------------------- |
|
||||
| `GET` | `/agent` | List all available agents | <a href={typesUrl}><code>Agent[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Logging
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------ | ------------------------------------------------------------ | --------- |
|
||||
| `POST` | `/log` | Write log entry. Body: `{ service, level, message, extra? }` | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### TUI
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ----------------------- | ------------------------------------------- | ---------------------- |
|
||||
| `POST` | `/tui/append-prompt` | Append text to the prompt | `boolean` |
|
||||
| `POST` | `/tui/open-help` | Open the help dialog | `boolean` |
|
||||
| `POST` | `/tui/open-sessions` | Open the session selector | `boolean` |
|
||||
| `POST` | `/tui/open-themes` | Open the theme selector | `boolean` |
|
||||
| `POST` | `/tui/open-models` | Open the model selector | `boolean` |
|
||||
| `POST` | `/tui/submit-prompt` | Submit the current prompt | `boolean` |
|
||||
| `POST` | `/tui/clear-prompt` | Clear the prompt | `boolean` |
|
||||
| `POST` | `/tui/execute-command` | Execute a command (`{ command }`) | `boolean` |
|
||||
| `POST` | `/tui/show-toast` | Show toast (`{ title?, message, variant }`) | `boolean` |
|
||||
| `GET` | `/tui/control/next` | Wait for the next control request | Control request object |
|
||||
| `POST` | `/tui/control/response` | Respond to a control request (`{ body }`) | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Auth
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ----------- | --------------------------------------------------------------- | --------- |
|
||||
| `PUT` | `/auth/:id` | Set authentication credentials. Body must match provider schema | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Events
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | -------- | ----------------------------------------------------------------------------- | ------------------------- |
|
||||
| `GET` | `/event` | Server-sent events stream. First event is `server.connected`, then bus events | Server-sent events stream |
|
||||
|
||||
---
|
||||
|
||||
### Docs
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------ | ------------------------- | --------------------------- |
|
||||
| `GET` | `/doc` | OpenAPI 3.1 specification | HTML page with OpenAPI spec |
|
||||
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://opncd.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://opncd.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://opncd.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 `.opencode/` altindaki eslesen `skills/*/SKILL.md` 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: Yerlesik bir tema secin veya kendiniz olusturun.
|
||||
---
|
||||
|
||||
OpenCode ile birden fazla yerlesik tema arasindan secim yapabilir, terminal temaniza uyum saglayan bir tema kullanabilir veya kendi ozel temanizi tanimlayabilirsiniz.
|
||||
|
||||
Varsayilan olarak OpenCode kendi `opencode` temasini kullanir.
|
||||
|
||||
---
|
||||
|
||||
## Terminal gereksinimleri
|
||||
|
||||
Temalarin tum renk paletiyle dogru gorunmesi icin terminalinizin **truecolor** (24-bit renk) desteklemesi gerekir. Cogu modern terminal bunu varsayilan olarak destekler, ancak gerekirse etkinlestirmeniz gerekebilir:
|
||||
|
||||
- **Destegi kontrol edin**: `echo $COLORTERM` calistirin - cikti `truecolor` veya `24bit` olmalidir
|
||||
- **Truecolor etkinlestirin**: kabuk profilinizde `COLORTERM=truecolor` ortam degiskenini ayarlayin
|
||||
- **Terminal uyumlulugu**: terminal emulatorunuzun 24-bit rengi desteklediginden emin olun (iTerm2, Alacritty, Kitty, Windows Terminal ve GNOME Terminal'in yeni surumleri gibi modern terminaller genelde destekler)
|
||||
|
||||
Truecolor destegi yoksa temalar daha dusuk renk dogrulugu ile gorunebilir veya en yakin 256 renk yaklasimina dusebilir.
|
||||
|
||||
---
|
||||
|
||||
## Yerlesik temalar
|
||||
|
||||
OpenCode birden fazla yerlesik temayla gelir.
|
||||
|
||||
| Ad | Aciklama |
|
||||
| ---------------------- | ----------------------------------------------------------------------------- |
|
||||
| `system` | Terminalinizin arka plan rengine uyum saglar |
|
||||
| `tokyonight` | [Tokyonight](https://github.com/folke/tokyonight.nvim) temasini temel alir |
|
||||
| `everforest` | [Everforest](https://github.com/sainnhe/everforest) temasini temel alir |
|
||||
| `ayu` | [Ayu](https://github.com/ayu-theme) koyu temasini temel alir |
|
||||
| `catppuccin` | [Catppuccin](https://github.com/catppuccin) temasini temel alir |
|
||||
| `catppuccin-macchiato` | [Catppuccin](https://github.com/catppuccin) temasini temel alir |
|
||||
| `gruvbox` | [Gruvbox](https://github.com/morhetz/gruvbox) temasini temel alir |
|
||||
| `kanagawa` | [Kanagawa](https://github.com/rebelot/kanagawa.nvim) temasini temel alir |
|
||||
| `nord` | [Nord](https://github.com/nordtheme/nord) temasini temel alir |
|
||||
| `matrix` | Hacker tarzi yesil uzerine siyah tema |
|
||||
| `one-dark` | [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark temasini temel alir |
|
||||
|
||||
Ve daha fazlasi; surekli yeni temalar ekliyoruz.
|
||||
|
||||
---
|
||||
|
||||
## Sistem temasi
|
||||
|
||||
`system` temasi, terminalinizin renk duzenine otomatik uyum saglamak icin tasarlanmistir. Sabit renk kullanan klasik temalardan farkli olarak _system_ temasi:
|
||||
|
||||
- **Gri olcegi uretir**: En iyi kontrast icin terminal arka planina gore ozel gri tonlari olusturur
|
||||
- **ANSI renkleri kullanir**: 0-15 arasi standart ANSI renklerini syntax highlighting ve UI ogelerinde kullanir, boylece terminal paletinize uyar
|
||||
- **Terminal varsayilanlarini korur**: Metin ve arka plan renklerinde `none` kullanarak terminalin yerel gorunumunu korur
|
||||
|
||||
Sistem temasi su kullanicilar icin idealdir:
|
||||
|
||||
- OpenCode'un terminal gorunumuyle birebir uyumlu olmasini isteyenler
|
||||
- Ozel terminal renk semalari kullananlar
|
||||
- Tum terminal uygulamalarinda tutarli bir gorunum tercih edenler
|
||||
|
||||
---
|
||||
|
||||
## Tema kullanin
|
||||
|
||||
`/theme` komutuyla tema secicisini acip tema secebilirsiniz. Isterseniz [config](/docs/config) dosyanizda da belirtebilirsiniz.
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"theme": "tokyonight"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Ozel temalar
|
||||
|
||||
OpenCode, kullanicilarin kolayca tema olusturup ozellestirebilmesi icin esnek bir JSON tabanli tema sistemi sunar.
|
||||
|
||||
---
|
||||
|
||||
### Hiyerarsi
|
||||
|
||||
Temalar birden fazla dizinden su sirayla yuklenir; daha sonra gelen dizin oncekini ezer:
|
||||
|
||||
1. **Yerlesik temalar** - Binary icine gomuludur
|
||||
2. **Kullanici config dizini** - `~/.config/opencode/themes/*.json` veya `$XDG_CONFIG_HOME/opencode/themes/*.json`
|
||||
3. **Proje kok dizini** - `<project-root>/.opencode/themes/*.json`
|
||||
4. **Gecerli calisma dizini** - `./.opencode/themes/*.json`
|
||||
|
||||
Birden fazla dizinde ayni adli tema varsa, onceligi daha yuksek dizindeki tema kullanilir.
|
||||
|
||||
---
|
||||
|
||||
### Tema olusturun
|
||||
|
||||
Ozel tema olusturmak icin tema dizinlerinden birinde bir JSON dosyasi olusturun.
|
||||
|
||||
Kullanici geneli temalar icin:
|
||||
|
||||
```bash no-frame
|
||||
mkdir -p ~/.config/opencode/themes
|
||||
vim ~/.config/opencode/themes/my-theme.json
|
||||
```
|
||||
|
||||
Proje ozel temalar icin:
|
||||
|
||||
```bash no-frame
|
||||
mkdir -p .opencode/themes
|
||||
vim .opencode/themes/my-theme.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### JSON formati
|
||||
|
||||
Temalar asagidaki ozellikleri destekleyen esnek bir JSON formati kullanir:
|
||||
|
||||
- **Hex renkler**: `"#ffffff"`
|
||||
- **ANSI renkler**: `3` (0-255)
|
||||
- **Renk referanslari**: `"primary"` veya ozel tanimlar
|
||||
- **Koyu/acik varyantlar**: `{"dark": "#000", "light": "#fff"}`
|
||||
- **Renk yok**: `"none"` - Terminal varsayilan rengi veya seffaflik kullanilir
|
||||
|
||||
---
|
||||
|
||||
### Renk tanimlari
|
||||
|
||||
`defs` bolumu istege baglidir ve tema icinde tekrar kullanilabilir renkler tanimlamanizi saglar.
|
||||
|
||||
---
|
||||
|
||||
### Terminal varsayilanlari
|
||||
|
||||
Ozel `"none"` degeri, terminalin varsayilan rengini miras almak icin herhangi bir renkte kullanilabilir. Bu, terminalinizin renk semasiyla dogal sekilde butunlesen temalar olustururken ozellikle faydalidir:
|
||||
|
||||
- `"text": "none"` - Terminalin varsayilan on plan rengini kullanir
|
||||
- `"background": "none"` - Terminalin varsayilan arka plan rengini kullanir
|
||||
|
||||
---
|
||||
|
||||
### Ornek
|
||||
|
||||
Asagida ozel bir tema ornegi 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
379
packages/web/src/content/docs/tr/tools.mdx
Normal file
379
packages/web/src/content/docs/tr/tools.mdx
Normal file
@@ -0,0 +1,379 @@
|
||||
---
|
||||
title: Araclar
|
||||
description: LLM'in kullanabilecegi araclari yonetin.
|
||||
---
|
||||
|
||||
Araclar, LLM'in kod tabaninizda eylem gerceklestirmesini saglar. OpenCode yerlesik bir arac setiyle gelir, ancak bunu [ozel araclarla](/docs/custom-tools) veya [MCP sunuculariyla](/docs/mcp-servers) genisletebilirsiniz.
|
||||
|
||||
Varsayilan olarak tum araclar **etkindir** ve calismak icin izin istemez. Arac davranisini [izinler](/docs/permissions) uzerinden kontrol edebilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Yapilandirin
|
||||
|
||||
Arac davranisini kontrol etmek icin `permission` alanini kullanin. Her arac icin 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 araci ayni anda kontrol etmek icin wildcard da kullanabilirsiniz. Ornegin, bir MCP sunucusundan gelen tum araclar icin onay istemek:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"mymcp_*": "ask"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Izin yapilandirmasi icin [daha fazla bilgi alin](/docs/permissions).
|
||||
|
||||
---
|
||||
|
||||
## Yerlesik
|
||||
|
||||
OpenCode icinde bulunan tum yerlesik araclar asagidadir.
|
||||
|
||||
---
|
||||
|
||||
### bash
|
||||
|
||||
Proje ortaminizda kabuk komutlari calistirir.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"bash": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu arac LLM'in `npm install`, `git status` gibi terminal komutlarini veya diger kabuk komutlarini calistirmasini saglar.
|
||||
|
||||
---
|
||||
|
||||
### edit
|
||||
|
||||
Birebir metin degistirme ile mevcut dosyalari duzenler.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu arac dosyalarda kesin metin eslesmelerini degistirerek hassas duzenleme yapar. LLM'in kodu degistirmek icin kullandigi temel yontemdir.
|
||||
|
||||
---
|
||||
|
||||
### write
|
||||
|
||||
Yeni dosyalar olusturur veya mevcut dosyalari uzerine yazar.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
LLM'in yeni dosya olusturmasina izin vermek icin bunu kullanin. Dosya zaten varsa uzerine yazar.
|
||||
|
||||
:::note
|
||||
`write` araci `edit` izniyle kontrol edilir; bu izin tum dosya degisikliklerini kapsar (`edit`, `write`, `patch`, `multiedit`).
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### read
|
||||
|
||||
Kod tabaninizdan dosya icerigi okur.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"read": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu arac dosyalari okur ve iceriklerini dondurur. Buyuk dosyalar icin belirli satir araliklarini okuma destegi vardir.
|
||||
|
||||
---
|
||||
|
||||
### grep
|
||||
|
||||
Duzensiz ifadelerle dosya iceriginde arama yapar.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"grep": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Kod tabaninda hizli icerik aramasi sunar. Tam regex sozdizimini ve dosya desen filtrelerini destekler.
|
||||
|
||||
---
|
||||
|
||||
### glob
|
||||
|
||||
Desen eslestirme 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. Eslesen dosya yollarini degisim zamanina gore siralar.
|
||||
|
||||
---
|
||||
|
||||
### list
|
||||
|
||||
Verilen yoldaki dosya ve dizinleri listeler.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"list": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu arac dizin icerigini listeler. Sonuclari filtrelemek icin glob desenlerini kabul eder.
|
||||
|
||||
---
|
||||
|
||||
### lsp (deneysel)
|
||||
|
||||
Tanim, referans, hover bilgisi ve cagrilar hiyerarsisi gibi kod zekasi ozellikleri icin yapilandirdiginiz LSP sunuculariyla etkilesir.
|
||||
|
||||
:::note
|
||||
Bu arac yalnizca `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` (veya `OPENCODE_EXPERIMENTAL=true`) oldugunda kullanilabilir.
|
||||
:::
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"lsp": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Desteklenen islemler: `goToDefinition`, `findReferences`, `hover`, `documentSymbol`, `workspaceSymbol`, `goToImplementation`, `prepareCallHierarchy`, `incomingCalls`, `outgoingCalls`.
|
||||
|
||||
Projeniz icin kullanilabilir LSP sunucularini ayarlamak icin [LSP Servers](/docs/lsp) sayfasina bakin.
|
||||
|
||||
---
|
||||
|
||||
### patch
|
||||
|
||||
Dosyalara patch uygular.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu arac patch dosyalarini kod tabaniniza uygular. Farkli kaynaklardan gelen diff ve patch'leri uygulamak icin kullanislidir.
|
||||
|
||||
:::note
|
||||
`patch` araci `edit` izniyle kontrol edilir; bu izin tum dosya degisikliklerini kapsar (`edit`, `write`, `patch`, `multiedit`).
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### skill
|
||||
|
||||
Bir [skill](/docs/skills) (`SKILL.md` dosyasi) yukler ve icerigini konusmaya dondurur.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"skill": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### todowrite
|
||||
|
||||
Kodlama oturumlarinda yapilacaklar listesini yonetir.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"todowrite": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Karmasik islemlerde ilerlemeyi takip etmek icin gorev listeleri olusturur ve gunceller. LLM bunu cok adimli gorevleri duzenlemek icin kullanir.
|
||||
|
||||
:::note
|
||||
Bu arac alt ajanlar icin varsayilan olarak devre disidir, ama manuel etkinlestirebilirsiniz. [Daha fazla bilgi](/docs/agents/#permissions)
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### todoread
|
||||
|
||||
Mevcut yapilacaklar listesini okur.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"todoread": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Guncel todo listesi durumunu okur. LLM bunu hangi gorevlerin bekledigini veya tamamlandigini takip etmek icin kullanir.
|
||||
|
||||
:::note
|
||||
Bu arac alt ajanlar icin varsayilan olarak devre disidir, ama manuel etkinlestirebilirsiniz. [Daha fazla bilgi](/docs/agents/#permissions)
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### webfetch
|
||||
|
||||
Web icerigi getirir.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"webfetch": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
LLM'in web sayfalarini getirip okumasini saglar. Dokumantasyon aramak veya cevrimici kaynaklari incelemek icin kullanislidir.
|
||||
|
||||
---
|
||||
|
||||
### websearch
|
||||
|
||||
Web'de bilgi arar.
|
||||
|
||||
:::note
|
||||
Bu arac yalnizca OpenCode provider kullanilirken veya `OPENCODE_ENABLE_EXA` ortam degiskeni dogru degerlerden birine ayarlandiginda (ornegin `true` ya da `1`) kullanilabilir.
|
||||
|
||||
OpenCode baslatirken etkinlestirmek icin:
|
||||
|
||||
```bash
|
||||
OPENCODE_ENABLE_EXA=1 opencode
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"websearch": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Exa AI ile web aramasi yaparak ilgili bilgileri bulur. Egitim verisi kesim tarihinin otesindeki konulari arastirmak, guncel olaylari bulmak veya genel arastirma yapmak icin kullanislidir.
|
||||
|
||||
API anahtari gerekmez - arac Exa AI'nin barindirilan MCP hizmetine dogrudan kimlik dogrulamasi olmadan baglanir.
|
||||
|
||||
:::tip
|
||||
Bilgi kesfetmeniz gerekiyorsa `websearch`, belirli bir URL'den icerik cekmeniz gerekiyorsa `webfetch` kullanin.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### question
|
||||
|
||||
Calisma sirasinda kullaniciya soru sorar.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"question": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Bu arac LLM'in gorev sirasinda kullaniciya soru sormasini saglar. Sunlar icin kullanislidir:
|
||||
|
||||
- Kullanici tercihleri veya gereksinimleri toplamak
|
||||
- Belirsiz talimatlari netlestirmek
|
||||
- Uygulama seceneklerinde karar almak
|
||||
- Hangi yone gidilecegine dair secenek sunmak
|
||||
|
||||
Her soru bir baslik, soru metni ve secenek listesi icerir. Kullanicilar seceneklerden birini secebilir veya ozel yanit yazabilir. Birden fazla soru varsa tum yanitlari gondermeden once sorular arasinda gezebilirler.
|
||||
|
||||
---
|
||||
|
||||
## Ozel araclar
|
||||
|
||||
Ozel araclar, LLM'in cagirabilecegi kendi fonksiyonlarinizi tanimlamanizi saglar. Bunlar config dosyanizda tanimlanir ve keyfi kod calistirabilir.
|
||||
|
||||
Ozel arac olusturma icin [daha fazla bilgi alin](/docs/custom-tools).
|
||||
|
||||
---
|
||||
|
||||
## MCP sunuculari
|
||||
|
||||
MCP (Model Context Protocol) sunuculari, harici araclari ve servisleri entegre etmenizi saglar. Buna veritabani erisimi, API entegrasyonlari ve ucuncu taraf servisler dahildir.
|
||||
|
||||
MCP sunucularini yapilandirma icin [daha fazla bilgi alin](/docs/mcp-servers).
|
||||
|
||||
---
|
||||
|
||||
## Dahili detaylar
|
||||
|
||||
Dahilde `grep`, `glob` ve `list` gibi araclar [ripgrep](https://github.com/BurntSushi/ripgrep) kullanir. Varsayilan olarak ripgrep `.gitignore` desenlerine uyar; yani `.gitignore` icindeki dosya ve dizinler arama ve listeleme sonucuna dahil edilmez.
|
||||
|
||||
---
|
||||
|
||||
### Ignore desenleri
|
||||
|
||||
Normalde yok sayilan dosyalari dahil etmek icin proje kokunde bir `.ignore` dosyasi olusturun. Bu dosya belirli yollari acikca izinli yapabilir.
|
||||
|
||||
```text title=".ignore"
|
||||
!node_modules/
|
||||
!dist/
|
||||
!build/
|
||||
```
|
||||
|
||||
Ornegin bu `.ignore` dosyasi, `.gitignore` icinde olsalar bile ripgrep'in `node_modules/`, `dist/` ve `build/` dizinlerinde arama yapmasina 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
|
||||
|
||||
---
|
||||
|
||||
## Masaustu uygulamasi
|
||||
|
||||
OpenCode Desktop arka planda yerel bir OpenCode sunucusu (`opencode-cli` sidecar) calistirir. Sorunlarin cogu bozuk bir plugin, hasarli cache veya hatali sunucu ayarindan kaynaklanir.
|
||||
|
||||
### Hizli kontroller
|
||||
|
||||
- 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)
|
||||
|
||||
---
|
||||
|
||||
### Pluginleri devre disi birakin
|
||||
|
||||
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": [],
|
||||
}
|
||||
```
|
||||
|
||||
#### Plugin 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 baglanti sorunlarini duzeltin
|
||||
|
||||
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 sorunlari
|
||||
|
||||
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 runtime
|
||||
|
||||
Windows'ta OpenCode Desktop, Microsoft Edge **WebView2 Runtime** gerektirir. Uygulama bos pencereyle aciliyorsa veya hic baslamiyorsa WebView2'yi kurup/guncelleyip tekrar deneyin.
|
||||
|
||||
---
|
||||
|
||||
### Windows: Genel performans sorunlari
|
||||
|
||||
Windows'ta yavaslik, dosya erisim sorunlari veya terminal problemleri yasiyorsaniz [WSL (Windows Subsystem for Linux)](/docs/windows-wsl) kullanmayi deneyin. WSL, OpenCode ozellikleriyle daha sorunsuz calisan bir Linux ortami saglar.
|
||||
|
||||
---
|
||||
|
||||
### Bildirimler gorunmuyor
|
||||
|
||||
OpenCode Desktop sistem bildirimlerini yalnizca su durumlarda gosterir:
|
||||
|
||||
- Isletim sistemi ayarlarinizda OpenCode icin bildirimler etkinse
|
||||
- Uygulama penceresi odakta degilse
|
||||
|
||||
---
|
||||
|
||||
### Desktop depolamasini sifirlayin (son care)
|
||||
|
||||
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)
|
||||
|
||||
---
|
||||
|
||||
## Yardim alin
|
||||
|
||||
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)
|
||||
|
||||
---
|
||||
|
||||
## Yaygin sorunlar
|
||||
|
||||
Asagida yaygin sorunlar ve cozumleri yer aliyor.
|
||||
|
||||
---
|
||||
|
||||
### OpenCode baslamiyor
|
||||
|
||||
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 dogrulama sorunlari
|
||||
|
||||
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 kullanilamiyor
|
||||
|
||||
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/yapistir calismiyor
|
||||
|
||||
Linux kullanicilarinin kopyala/yapistir ozelliginin calismasi icin asagidaki pano araclarindan en az birini kurmasi gerekir:
|
||||
|
||||
**X11 sistemleri icin:**
|
||||
|
||||
```bash
|
||||
apt install -y xclip
|
||||
# veya
|
||||
apt install -y xsel
|
||||
```
|
||||
|
||||
**Wayland sistemleri icin:**
|
||||
|
||||
```bash
|
||||
apt install -y wl-clipboard
|
||||
```
|
||||
|
||||
**Headless ortamlar icin:**
|
||||
|
||||
```bash
|
||||
apt install -y xvfb
|
||||
# ve su komutlari calistirin:
|
||||
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.
|
||||
387
packages/web/src/content/docs/tr/tui.mdx
Normal file
387
packages/web/src/content/docs/tr/tui.mdx
Normal file
@@ -0,0 +1,387 @@
|
||||
---
|
||||
title: TUI
|
||||
description: OpenCode terminal arayuzunu kullanin.
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
|
||||
OpenCode, projelerinizde LLM ile calismak icin etkilesimli bir terminal arayuzu (TUI) sunar.
|
||||
|
||||
OpenCode'u calistirdiginizda mevcut dizin icin TUI baslar.
|
||||
|
||||
```bash
|
||||
opencode
|
||||
```
|
||||
|
||||
Isterseniz belirli bir calisma dizini icin de baslatabilirsiniz.
|
||||
|
||||
```bash
|
||||
opencode /path/to/project
|
||||
```
|
||||
|
||||
TUI icinde bir mesaj yazarak istem gonderebilirsiniz.
|
||||
|
||||
```text
|
||||
Kod tabani icin hizli bir ozet ver.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Dosya referanslari
|
||||
|
||||
Mesajlarinizda `@` kullanarak dosyalara referans verebilirsiniz. Bu, mevcut calisma dizininde bulanik dosya aramasi yapar.
|
||||
|
||||
:::tip
|
||||
Mesajlarinizda dosyalara referans vermek icin `@` kullanabilirsiniz.
|
||||
:::
|
||||
|
||||
```text "@packages/functions/src/api/index.ts"
|
||||
@packages/functions/src/api/index.ts dosyasinda kimlik dogrulama nasil ele alinmis?
|
||||
```
|
||||
|
||||
Dosya icerigi otomatik olarak konusmaya eklenir.
|
||||
|
||||
---
|
||||
|
||||
## Bash komutlari
|
||||
|
||||
Bir mesaji `!` ile baslatarak kabuk komutu calistirin.
|
||||
|
||||
```bash frame="none"
|
||||
!ls -la
|
||||
```
|
||||
|
||||
Komut ciktiisi bir arac sonucu olarak konusmaya eklenir.
|
||||
|
||||
---
|
||||
|
||||
## Komutlar
|
||||
|
||||
OpenCode TUI kullanirken `/` ve komut adini yazarak hizli eylemler calistirabilirsiniz. Ornek:
|
||||
|
||||
```bash frame="none"
|
||||
/help
|
||||
```
|
||||
|
||||
Komutlarin cogu, lider tusu `ctrl+x` olan bir kisayola da sahiptir. [Daha fazla bilgi](/docs/keybinds).
|
||||
|
||||
Mevcut slash komutlarinin tam listesi:
|
||||
|
||||
---
|
||||
|
||||
### connect
|
||||
|
||||
OpenCode'a bir provider ekler. Mevcut provider'lari secip API anahtarlari eklemenizi saglar.
|
||||
|
||||
```bash frame="none"
|
||||
/connect
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### compact
|
||||
|
||||
Guncel oturumu sikistirir. _Takma ad_: `/summarize`
|
||||
|
||||
```bash frame="none"
|
||||
/compact
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x c`
|
||||
|
||||
---
|
||||
|
||||
### details
|
||||
|
||||
Arac calistirma detaylarini goster/gizle yapar.
|
||||
|
||||
```bash frame="none"
|
||||
/details
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x d`
|
||||
|
||||
---
|
||||
|
||||
### editor
|
||||
|
||||
Mesaj yazmak icin harici editor acar. `EDITOR` ortam degiskeninde ayarli editoru kullanir. [Daha fazla bilgi](#editor-setup).
|
||||
|
||||
```bash frame="none"
|
||||
/editor
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x e`
|
||||
|
||||
---
|
||||
|
||||
### exit
|
||||
|
||||
OpenCode'dan cikar. _Takma adlar_: `/quit`, `/q`
|
||||
|
||||
```bash frame="none"
|
||||
/exit
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x q`
|
||||
|
||||
---
|
||||
|
||||
### export
|
||||
|
||||
Mevcut konusmayi Markdown olarak disa aktarir ve varsayilan editorunuzde acar. `EDITOR` ortam degiskenindeki editoru kullanir. [Daha fazla bilgi](#editor-setup).
|
||||
|
||||
```bash frame="none"
|
||||
/export
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x x`
|
||||
|
||||
---
|
||||
|
||||
### help
|
||||
|
||||
Yardim penceresini gosterir.
|
||||
|
||||
```bash frame="none"
|
||||
/help
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x h`
|
||||
|
||||
---
|
||||
|
||||
### init
|
||||
|
||||
`AGENTS.md` dosyasini olusturur veya gunceller. [Daha fazla bilgi](/docs/rules).
|
||||
|
||||
```bash frame="none"
|
||||
/init
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x i`
|
||||
|
||||
---
|
||||
|
||||
### models
|
||||
|
||||
Kullanilabilir modelleri listeler.
|
||||
|
||||
```bash frame="none"
|
||||
/models
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x m`
|
||||
|
||||
---
|
||||
|
||||
### new
|
||||
|
||||
Yeni bir oturum baslatir. _Takma ad_: `/clear`
|
||||
|
||||
```bash frame="none"
|
||||
/new
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x n`
|
||||
|
||||
---
|
||||
|
||||
### redo
|
||||
|
||||
Geri alinan bir mesaji tekrar uygular. Yalnizca `/undo` kullanildiktan sonra kullanilabilir.
|
||||
|
||||
:::tip
|
||||
Dosya degisiklikleri de geri yuklenir.
|
||||
:::
|
||||
|
||||
Dahilde bu islem dosya degisikliklerini yonetmek icin Git kullanir. Bu nedenle projenizin **bir Git deposu olmasi gerekir**.
|
||||
|
||||
```bash frame="none"
|
||||
/redo
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x r`
|
||||
|
||||
---
|
||||
|
||||
### sessions
|
||||
|
||||
Oturumlari listeler ve aralarinda gecis yapar. _Takma adlar_: `/resume`, `/continue`
|
||||
|
||||
```bash frame="none"
|
||||
/sessions
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x l`
|
||||
|
||||
---
|
||||
|
||||
### share
|
||||
|
||||
Mevcut oturumu paylasir. [Daha fazla bilgi](/docs/share).
|
||||
|
||||
```bash frame="none"
|
||||
/share
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x s`
|
||||
|
||||
---
|
||||
|
||||
### themes
|
||||
|
||||
Kullanilabilir temalari listeler.
|
||||
|
||||
```bash frame="none"
|
||||
/theme
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x t`
|
||||
|
||||
---
|
||||
|
||||
### thinking
|
||||
|
||||
Konusmadaki thinking/reasoning bloklarinin gorunurlugunu degistirir. Etkin oldugunda, genisletilmis dusunmeyi destekleyen modellerin akil yurutmelerini gorebilirsiniz.
|
||||
|
||||
:::note
|
||||
Bu komut sadece thinking bloklarinin **gosterimini** kontrol eder, modelin gercek akil yurutmelerini acip kapatmaz. Gercek akil yurutme yetenegini degistirmek icin `ctrl+t` ile model varyantlari arasinda gecis yapin.
|
||||
:::
|
||||
|
||||
```bash frame="none"
|
||||
/thinking
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### undo
|
||||
|
||||
Konusmadaki son mesaji geri alir. En son kullanici mesaji, sonraki tum yanitlar ve dosya degisiklikleri kaldirilir.
|
||||
|
||||
:::tip
|
||||
Yapilan dosya degisiklikleri de geri cevrilir.
|
||||
:::
|
||||
|
||||
Dahilde bu islem dosya degisikliklerini yonetmek icin Git kullanir. Bu nedenle projenizin **bir Git deposu olmasi gerekir**.
|
||||
|
||||
```bash frame="none"
|
||||
/undo
|
||||
```
|
||||
|
||||
**Kisayol:** `ctrl+x u`
|
||||
|
||||
---
|
||||
|
||||
### unshare
|
||||
|
||||
Mevcut oturumun paylasimini kaldirir. [Daha fazla bilgi](/docs/share#paylasimi-kaldirma).
|
||||
|
||||
```bash frame="none"
|
||||
/unshare
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Editor kurulumu
|
||||
|
||||
`/editor` ve `/export` komutlari, `EDITOR` ortam degiskeninde tanimli editoru kullanir.
|
||||
|
||||
<Tabs>
|
||||
<TabItem label="Linux/macOS">
|
||||
```bash
|
||||
# nano veya vim ornegi
|
||||
export EDITOR=nano
|
||||
export EDITOR=vim
|
||||
|
||||
# VS Code, Cursor, VSCodium, Windsurf, Zed vb. GUI editorler icin
|
||||
# --wait ekleyin
|
||||
export EDITOR="code --wait"
|
||||
```
|
||||
|
||||
Kalici yapmak icin bunu kabuk profilinize ekleyin:
|
||||
`~/.bashrc`, `~/.zshrc` vb.
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Windows (CMD)">
|
||||
```bash
|
||||
set EDITOR=notepad
|
||||
|
||||
# VS Code, Cursor, VSCodium, Windsurf, Zed vb. GUI editorler icin
|
||||
# --wait ekleyin
|
||||
set EDITOR=code --wait
|
||||
```
|
||||
|
||||
Kalici yapmak icin **System Properties** > **Environment Variables** yolunu kullanin.
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Windows (PowerShell)">
|
||||
```powershell
|
||||
$env:EDITOR = "notepad"
|
||||
|
||||
# VS Code, Cursor, VSCodium, Windsurf, Zed vb. GUI editorler icin
|
||||
# --wait ekleyin
|
||||
$env:EDITOR = "code --wait"
|
||||
```
|
||||
|
||||
Kalici yapmak icin bunu PowerShell profilinize ekleyin.
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
Yaygin editor secenekleri:
|
||||
|
||||
- `code` - Visual Studio Code
|
||||
- `cursor` - Cursor
|
||||
- `windsurf` - Windsurf
|
||||
- `nvim` - Neovim editoru
|
||||
- `vim` - Vim editoru
|
||||
- `nano` - Nano editoru
|
||||
- `notepad` - Windows Notepad
|
||||
- `subl` - Sublime Text
|
||||
|
||||
:::note
|
||||
VS Code gibi bazi editorlerin `--wait` parametresiyle baslatilmasi gerekir.
|
||||
:::
|
||||
|
||||
Bazi editorler bloklayici modda calismak icin komut satiri argumanlari ister. `--wait` bayragi editor surecinin kapanana kadar beklemesini saglar.
|
||||
|
||||
---
|
||||
|
||||
## Yapilandirin
|
||||
|
||||
TUI davranisini OpenCode config dosyanizdan ozellestirebilirsiniz.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"tui": {
|
||||
"scroll_speed": 3,
|
||||
"scroll_acceleration": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Secenekler
|
||||
|
||||
- `scroll_acceleration` - Daha akici ve dogal kaydirma icin macOS tarzı hizlanmayi acar. Etkin oldugunda hizli kaydirma hareketlerinde hiz artar, yavas hareketlerde hassas kalir. **Bu ayar etkin oldugunda `scroll_speed` degerini gecersiz kilar.**
|
||||
- `scroll_speed` - Kaydirma komutlariyla TUI'nin ne kadar hizli kayacagini belirler (minimum: `1`). Varsayilan `3` degeridir. **Not: `scroll_acceleration.enabled` `true` ise yok sayilir.**
|
||||
|
||||
---
|
||||
|
||||
## Ozellestirme
|
||||
|
||||
TUI gorunumunun cesitli kisimlarini komut paletiyle (`ctrl+x h` veya `/help`) ozellestirebilirsiniz. Bu ayarlar yeniden baslatmalar arasinda korunur.
|
||||
|
||||
---
|
||||
|
||||
#### Kullanici adi gorunumu
|
||||
|
||||
Sohbet mesajlarinda kullanici adinizin gosterilip gosterilmeyecegini degistirir. Sunlardan erisebilirsiniz:
|
||||
|
||||
- Komut paleti: "username" veya "hide username" aratin
|
||||
- Ayar otomatik saklanir ve TUI oturumlarinda hatirlanir
|
||||
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 Users]
|
||||
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[Why 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>
|
||||
|
||||
---
|
||||
|
||||
## Desktop uygulamasi + 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 dosyalarina erisin
|
||||
|
||||
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.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Ipuclari
|
||||
|
||||
- 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
|
||||
238
packages/web/src/content/docs/tr/zen.mdx
Normal file
238
packages/web/src/content/docs/tr/zen.mdx
Normal file
@@ -0,0 +1,238 @@
|
||||
---
|
||||
title: Zen
|
||||
description: OpenCode ekibinin sundugu secili model listesi.
|
||||
---
|
||||
|
||||
import config from "../../../../config.mjs"
|
||||
export const console = config.console
|
||||
export const email = `mailto:${config.email}`
|
||||
|
||||
OpenCode Zen, OpenCode ekibi tarafindan test edilip dogrulanmis modellerin listesidir.
|
||||
|
||||
:::note
|
||||
OpenCode Zen su anda beta asamasindadir.
|
||||
:::
|
||||
|
||||
Zen, OpenCode'daki diger provider'lar gibi calisir. OpenCode Zen'e giris yapar ve API anahtarinizi alirsiniz.
|
||||
Tamamen istege baglidir; OpenCode kullanmak icin Zen kullanmak zorunda degilsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Arka plan
|
||||
|
||||
Piyasada cok sayida model var, ancak bunlarin sadece bir kismi kodlama ajani olarak iyi calisir. Ayrica provider'larin cogu birbirinden cok farkli sekilde ayarlanir; bu da performans ve kaliteyi ciddi bicimde degistirir.
|
||||
|
||||
:::tip
|
||||
OpenCode ile iyi calisan belirli model/provider kombinasyonlarini test ettik.
|
||||
:::
|
||||
|
||||
Bu nedenle OpenRouter benzeri bir servis uzerinden model kullaniyorsaniz, istediginiz modelin en iyi surumunu alip almadiginizdan her zaman emin olamazsiniz.
|
||||
|
||||
Bunu cozmeye yonelik olarak sunlari yaptik:
|
||||
|
||||
1. Secili bir model grubunu test ettik ve ekipleriyle en iyi calisma sekli uzerine gorustuk
|
||||
2. Daha sonra bazi provider'larla bu modellerin dogru sekilde sunuldugunu dogruladik
|
||||
3. Son olarak model/provider kombinasyonlarini benchmark ederek guvenle onerebilecegimiz bir liste olusturduk
|
||||
|
||||
OpenCode Zen, bu modellere erisim saglayan bir AI gateway'dir.
|
||||
|
||||
---
|
||||
|
||||
## Nasil calisir
|
||||
|
||||
OpenCode Zen, OpenCode'daki diger provider'lar gibi calisir.
|
||||
|
||||
1. **<a href={console}>OpenCode Zen</a>** hesabina giris yapin, odeme bilgilerinizi ekleyin ve API anahtarinizi kopyalayin
|
||||
2. TUI'da `/connect` komutunu calistirin, OpenCode Zen'i secin ve API anahtarinizi yapistirin
|
||||
3. Onerdigimiz model listesini gormek icin TUI'da `/models` calistirin
|
||||
|
||||
Ucretlendirme istek basina yapilir ve hesabiniza kredi yukleyebilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Endpoint'ler
|
||||
|
||||
Modellerimize asagidaki API endpoint'leri uzerinden de erisebilirsiniz.
|
||||
|
||||
| Model | Model ID | Endpoint | AI SDK Package |
|
||||
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
|
||||
| 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 Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Gemini 3 Pro | gemini-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
|
||||
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
|
||||
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiniMax M2.1 Free | minimax-m2.1-free | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.7 Free | glm-4.7-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2.5 Free | kimi-k2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2 Thinking | kimi-k2-thinking | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Qwen3 Coder 480B | qwen3-coder | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
|
||||
OpenCode config'inizdeki [model id](/docs/config/#models), `opencode/<model-id>` formatini kullanir.
|
||||
Ornegin GPT 5.2 Codex icin config'te `opencode/gpt-5.2-codex` kullanirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Modeller
|
||||
|
||||
Mevcut modellerin tam listesini ve metadatasini su adresten cekebilirsiniz:
|
||||
|
||||
```
|
||||
https://opencode.ai/zen/v1/models
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fiyatlandirma
|
||||
|
||||
Kullandikca ode modelini destekliyoruz. Asagidaki fiyatlar **1M token basina** verilmistir.
|
||||
|
||||
| Model | Input | Output | Cached Read | Cached Write |
|
||||
| --------------------------------- | ------ | ------ | ----------- | ------------ |
|
||||
| Big Pickle | Free | Free | Free | - |
|
||||
| MiniMax M2.1 Free | Free | Free | Free | - |
|
||||
| MiniMax M2.1 | $0.30 | $1.20 | $0.10 | - |
|
||||
| GLM 4.7 Free | Free | Free | Free | - |
|
||||
| GLM 4.7 | $0.60 | $2.20 | $0.10 | - |
|
||||
| GLM 4.6 | $0.60 | $2.20 | $0.10 | - |
|
||||
| Kimi K2.5 Free | Free | Free | Free | - |
|
||||
| Kimi K2.5 | $0.60 | $3.00 | $0.08 | - |
|
||||
| Kimi K2 Thinking | $0.40 | $2.50 | - | - |
|
||||
| Kimi K2 | $0.40 | $2.50 | - | - |
|
||||
| Qwen3 Coder 480B | $0.45 | $1.50 | - | - |
|
||||
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
|
||||
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
|
||||
| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
|
||||
| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
|
||||
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
|
||||
| Claude Haiku 3.5 | $0.80 | $4.00 | $0.08 | $1.00 |
|
||||
| Claude Opus 4.6 (≤ 200K tokens) | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
| Claude Opus 4.6 (> 200K tokens) | $10.00 | $37.50 | $1.00 | $12.50 |
|
||||
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
|
||||
| Gemini 3 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
|
||||
| Gemini 3 Pro (> 200K tokens) | $4.00 | $18.00 | $0.40 | - |
|
||||
| Gemini 3 Flash | $0.50 | $3.00 | $0.05 | - |
|
||||
| GPT 5.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 | Free | Free | Free | - |
|
||||
|
||||
Kullanim gecmisinizde _Claude Haiku 3.5_ gorebilirsiniz. Bu, oturum basliklarini olusturmak icin kullanilan [dusuk maliyetli bir modeldir](/docs/config/#models).
|
||||
|
||||
:::note
|
||||
Kredi karti ucretleri maliyetine yansitilir (islem basina %4.4 + $0.30); bunun disinda ek ucret almiyoruz.
|
||||
:::
|
||||
|
||||
Ucretsiz modeller:
|
||||
|
||||
- GLM 4.7 Free, sinirli bir sure icin OpenCode'da ucretsizdir. Ekip bu surede geri bildirim toplayip modeli iyilestiriyor
|
||||
- Kimi K2.5 Free, sinirli bir sure icin OpenCode'da ucretsizdir. Ekip bu surede geri bildirim toplayip modeli iyilestiriyor
|
||||
- MiniMax M2.1 Free, sinirli bir sure icin OpenCode'da ucretsizdir. Ekip bu surede geri bildirim toplayip modeli iyilestiriyor
|
||||
- Big Pickle, sinirli bir sure icin OpenCode'da ucretsiz olan gizli bir modeldir. Ekip bu surede geri bildirim toplayip modeli iyilestiriyor
|
||||
|
||||
Sorunuz varsa <a href={email}>bize ulasin</a>.
|
||||
|
||||
---
|
||||
|
||||
### Otomatik yukleme
|
||||
|
||||
Bakiyeniz $5'in altina dustugunde Zen otomatik olarak $20 yukler.
|
||||
|
||||
Otomatik yukleme tutarini degistirebilir veya bu ozelligi tamamen kapatabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
### Aylik limitler
|
||||
|
||||
Tum calisma alani ve ekip uyeleri icin aylik kullanim limiti belirleyebilirsiniz.
|
||||
|
||||
Ornegin aylik limiti $20 yaptiysaniz Zen bir ayda $20'den fazla kullandirtmaz. Ancak otomatik yukleme aciksa bakiye $5 altina dustugunde toplam odemeniz $20'nin uzerine cikabilir.
|
||||
|
||||
---
|
||||
|
||||
## Gizlilik
|
||||
|
||||
Tum modellerimiz ABD'de barindiriliyor. Provider'larimiz sifir saklama politikasini izler ve verilerinizi model egitimi icin kullanmaz; asagidaki istisnalar haric:
|
||||
|
||||
- Big Pickle: Ucretsiz donemde toplanan veriler modeli iyilestirmek icin kullanilabilir
|
||||
- GLM 4.7 Free: Ucretsiz donemde toplanan veriler modeli iyilestirmek icin kullanilabilir
|
||||
- Kimi K2.5 Free: Ucretsiz donemde toplanan veriler modeli iyilestirmek icin kullanilabilir
|
||||
- MiniMax M2.1 Free: Ucretsiz donemde toplanan veriler modeli iyilestirmek icin kullanilabilir
|
||||
- OpenAI API'leri: Istekler [OpenAI veri politikalari](https://platform.openai.com/docs/guides/your-data) kapsaminda 30 gun saklanir
|
||||
- Anthropic API'leri: Istekler [Anthropic veri politikalari](https://docs.anthropic.com/en/docs/claude-code/data-usage) kapsaminda 30 gun saklanir
|
||||
|
||||
---
|
||||
|
||||
## Ekipler icin
|
||||
|
||||
Zen ekipler icin de guclu bir cozumdur. Ekip arkadaslarini davet edebilir, roller atayabilir, kullanilacak modelleri yonetebilir ve daha fazlasini yapabilirsiniz.
|
||||
|
||||
:::note
|
||||
Calisma alanlari beta kapsaminda su anda ekipler icin ucretsizdir.
|
||||
:::
|
||||
|
||||
Calisma alani yonetimi su anda beta kapsaminda ucretsizdir. Fiyatlandirma detaylarini yakinda paylasacagiz.
|
||||
|
||||
---
|
||||
|
||||
### Roller
|
||||
|
||||
Calisma alaniniza ekip arkadaslarini davet edip rol atayabilirsiniz:
|
||||
|
||||
- **Admin**: Modelleri, uyeleri, API anahtarlarini ve faturalandirmayi yonetir
|
||||
- **Member**: Yalnizca kendi API anahtarlarini yonetir
|
||||
|
||||
Admin'ler maliyet kontrolu icin uye bazinda aylik harcama limitleri de ayarlayabilir.
|
||||
|
||||
---
|
||||
|
||||
### Model erisimi
|
||||
|
||||
Admin'ler calisma alani icin belirli modelleri acip kapatabilir. Devre disi bir modele yapilan istekler hata dondurur.
|
||||
|
||||
Bu, veri toplayan bir modelin kullanimini kapatmak istediginiz durumlarda kullanislidir.
|
||||
|
||||
---
|
||||
|
||||
### Kendi anahtarinizi kullanin
|
||||
|
||||
Zen'deki diger modellere erisirken kendi OpenAI veya Anthropic API anahtarlarinizi da kullanabilirsiniz.
|
||||
|
||||
Kendi anahtarinizi kullandiginizda token ucreti Zen yerine dogrudan provider tarafindan faturalandirilir.
|
||||
|
||||
Ornegin kurulusunuzun zaten OpenAI veya Anthropic anahtari varsa Zen'in sagladigi anahtar yerine onu kullanabilirsiniz.
|
||||
|
||||
---
|
||||
|
||||
## Hedefler
|
||||
|
||||
OpenCode Zen'i su amaclarla olusturduk:
|
||||
|
||||
1. Kodlama ajanlari icin en iyi model/provider kombinasyonlarini **benchmark etmek**
|
||||
2. Performansi dusurmeden veya daha ucuz provider'a yonlendirmeden **en yuksek kaliteye** erismek
|
||||
3. Maliyetine satarak fiyat dususlerini kullaniciya yansitmak ve yalnizca islem ucretlerini kapsayan pay birakmak
|
||||
4. Herhangi bir kodlama ajaniyla kullanima izin vererek **kilitlenmeyi onlemek** ve OpenCode'da diger provider'lari her zaman acik tutmak
|
||||
Reference in New Issue
Block a user