Skip to content

Latest commit

 

History

History
190 lines (147 loc) · 11.4 KB

README.tr.md

File metadata and controls

190 lines (147 loc) · 11.4 KB

OpenCode logo

Açık kaynaklı yapay zeka kodlama asistanı.

Discord npm Build status

English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt

OpenCode Terminal UI


Otomatik model yönlendirmesi

OpenCode tüm oturum boyunca tek bir modele bağlı kalmak yerine her adım için bir model seçebilir: yerel ya da ucuz bir model rutin işi yapar, en güçlü model gerçekten gerektiren kısımlara ayrılır. Yönlendirme, routing.enabled açılana kadar kapalı kalır.

Bir oturumu otomatik yönlendirmek için model seçicide Auto (Routing) seçin. Belirli bir model seçerseniz oturum o modele sabitlenir ve yönlendirme ona dokunmaz.

Katman Varsayılan Şunları üstlenir
Local qwen yapılandırmanızdaki model uygulama, testler, refactorlar ve bunları doğrulayan derleme ve kabuk adımları
Routine en ucuz etkin DeepSeek Flash modeli planlama, analiz, inceleme, açıklamalar ve olağan hata ayıklama
Pro en güçlü etkin DeepSeek modeli mimari ve büyük refactorlar, zor hata ayıklama, güvenlik açısından hassas işler
  • Son isteğiniz temel sınıflandırmayı belirler, ardından tur içindeki her adım turun yaptıklarına göre yeniden sınıflandırılır: yalnızca okuyup arayan adımlar Routine katmanında kalır. Bir adım dosya değiştirdiğinde ya da bir komut çalıştırdığında turun kalanı Local katmanında yürütülür. Ardışık iki adımda araç çağrıları başarısız olursa zor hata ayıklama sayılır ve Pro katmanına gider. routing.step_routing: false ayarlıysa tur tek katmanda kalır.
  • Bir katman yalnızca modeli etkin ve şu anda sağlıklıysa ve konuşma hâlâ bağlam penceresine sığıyorsa kullanılır.
  • routing.attempts kadar hatadan sonra iş bir üst katmana taşınır ve başarısız model kısa bir bekleme süresi boyunca atlanır. Bir çalıştırmayı durdurmak asla model hatası sayılmaz.
  • routing.preference maliyet ile kalite arasında denge kurar: cost-first, balanced (varsayılan) ya da quality-first. Model her değiştiğinde oturum, modeli, katmanı ve gerekçeyi yazan kısa bir not gösterir (routing.diagnostics).
{
  "$schema": "https://opencode.ai/config.json",
  // Her OpenAI uyumlu sunucu: llama.cpp, Ollama, vLLM, LM Studio, ...
  "providers": {
    "local": {
      "package": "aisdk:@ai-sdk/openai-compatible",
      "settings": { "baseURL": "http://127.0.0.1:8080/v1" },
      "models": { "qwen3-coder": { "limit": { "context": 131072, "output": 8192 } } },
    },
  },
  "qwen": { "base_url": "http://127.0.0.1:8080/v1", "model": "qwen3-coder", "provider": "local" },
  "routing": {
    "enabled": true,
    "preference": "balanced",
    // İsteğe bağlı. Belirlenmemiş roller katalogdan bulunur.
    "roles": { "local": "local/qwen3-coder", "routine": "deepseek/deepseek-chat", "pro": "deepseek/deepseek-reasoner" },
    "step_routing": true,
  },
}

Çalışma alanı kurulum sihirbazı

Uygulama sizin için tam bir proje çalışma alanı kurabilir: artefaktları üretir, doğrular, projeyi açar ve ilk görevi bir oturumda başlatır. Projeler ana ekranından Yeni proje çalışma alanı öğesini (üst bilgideki ızgara simgesi) ya da komut paletinden açın. Sihirbaz şunları sorar: proje açıklaması ve üretilecek dizin, çıktı dili, model seçimi (otomatik üç model yönlendirmesi ya da cost-first, balanced, quality-first tercihiyle sabitlenmiş bir model), isteğe bağlı olarak bir yerel model (temel URL, model kimliği, sağlayıcı kimliği, isteğe bağlı API anahtarı, zaman aşımı ve en fazla çıktı belirteci) ve bağlantı testi, erken maliyet duyarlı sıkıştırmanın yapılıp yapılmayacağı. Ardından görülebilir aşamaları tamamlar ve ilk görev oturumunu açık bırakır; başarısız bir aşama yeniden başlatılabilir, iptal edilen bir çalıştırma ise zaten oluşturduğu dosyaları korur.

Diske hiçbir gizli bilgi yazılmaz: isteğe bağlı yerel API anahtarı kimlik bilgisi deposuna gider ve projenin üretilen opencode.json dosyasında yalnızca ortam değişkeninin adı görünebilir. Bu dosya, projedeki sonraki çalışmalar için aynı yönlendirme ve sıkıştırma kararlarını uygular.

Otomatik sıkıştırma

Uzun oturumlar, konuşma modelin penceresine sığmaya devam etsin diye kalıcı bir kontrol noktasına özetlenir. İki bağımsız tetikleyici bu mekanizmayı paylaşır.

Bağlam sınırı sıkıştırması varsayılan olarak açıktır (compaction.auto): tahmin edilen istek modelin tavanını aştığında çalışır, son compaction.keep.tokens (varsayılan 15.000) belirteci aynen korur ve gerisini özetler.

Erken maliyet duyarlı sıkıştırma isteğe bağlıdır (compaction.early.enabled) ve sınır görünmeden devreye girer: yalnızca tüm bağlam en az min_tokens (24.000) olduğunda ve çıkarılacak bölümün kendisi en az min_benefit_tokens (8.000) belirtece değdiğinde, oturum başına en fazla her cooldown_seconds (300) saniyede bir çalışır. require_task_boundary doğal bir ara bekler; varsayılan değeri truetır, ancak araç çağıran tek bir tur böyle bir araya asla ulaşmaz, bu yüzden uzun ajan turlarının sıkıştırılmasını sağlayan şey false değeridir. local_summarize özeti yapılandırılan yerel modele gönderir ve o modelin kullanımını ve maliyetini kaydeder.

{
  "compaction": {
    "auto": true,
    "keep": { "tokens": 15000 },
    "early": { "enabled": true, "min_tokens": 24000, "min_benefit_tokens": 8000, "cooldown_seconds": 300, "require_task_boundary": false, "local_summarize": false },
  },
}

Bir sıkıştırma çalıştırması kendi özeti için çıktı alanına ihtiyaç duyar; limit.output değeri küçük bir yerel model bunu tüketebilir ve Compaction summary reached the output token limit hatasıyla başarısız olabilir — bunu gördüğünüzde o sınırı yükseltin ya da local_summarize kapalı bırakın.

Kurulum

# YOLO
curl -fsSL https://opencode.ai/v2/install | bash

# Paket yöneticileri
npm i -g @opencode/cli@latest      # veya bun/pnpm/yarn
brew install anomalyco/tap/opencode-v2 # macOS ve Linux (önerilir, her zaman güncel)
brew install opencode              # macOS ve Linux (resmi brew formülü, daha az güncellenir)
sudo pacman -S opencode            # Arch Linux (Stable)
paru -S opencode-beta              # Arch Linux (Latest from AUR)
mise use -g opencode               # Tüm işletim sistemleri
nix run github:anomalyco/opencode  # Nix

Tip

Kurulumdan önce 0.1.x'ten eski sürümleri kaldırın.

Masaüstü Uygulaması (BETA)

OpenCode ayrıca masaüstü uygulaması olarak da mevcuttur. opencode.ai/download adresinden indirebilirsiniz.

Platform İndirme
macOS (Apple Silicon) opencode-desktop-mac-arm64.dmg
macOS (Intel) opencode-desktop-mac-x64.dmg
Windows opencode-desktop-win-x64.exe
Linux .deb, .rpm veya AppImage
# macOS (Homebrew)
brew install --cask opencode-desktop

Kurulum Dizini (Installation Directory)

Kurulum betiği (install script), kurulum yolu (installation path) için aşağıdaki öncelik sırasını takip eder:

  1. $OPENCODE_INSTALL_DIR - Özel kurulum dizini
  2. $XDG_BIN_DIR - XDG Base Directory Specification uyumlu yol
  3. $HOME/bin - Standart kullanıcı binary dizini (varsa veya oluşturulabiliyorsa)
  4. $HOME/.opencode/bin - Varsayılan yedek konum
# Örnekler
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/v2/install | bash
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/v2/install | bash

Ajanlar

OpenCode, Tab tuşuyla aralarında geçiş yapabileceğiniz iki yerleşik (built-in) ajan içerir.

  • build - Varsayılan, geliştirme çalışmaları için tam erişimli ajan
  • plan - Analiz ve kod keşfi için salt okunur ajan
    • Varsayılan olarak dosya düzenlemelerini reddeder
    • Bash komutlarını çalıştırmadan önce izin ister
    • Tanımadığınız kod tabanlarını keşfetmek veya değişiklikleri planlamak için ideal

Ayrıca, karmaşık aramalar ve çok adımlı görevler için bir genel alt ajan bulunmaktadır. Bu dahili olarak kullanılır ve mesajlarda @general ile çağrılabilir.

Ajanlar hakkında daha fazla bilgi edinin.

Dokümantasyon

OpenCode'u nasıl yapılandıracağınız hakkında daha fazla bilgi için dokümantasyonumuza göz atın.

Katkıda Bulunma

OpenCode'a katkıda bulunmak istiyorsanız, lütfen bir pull request göndermeden önce katkıda bulunma dokümanlarımızı okuyun.

OpenCode Üzerine Geliştirme

OpenCode ile ilgili bir proje üzerinde çalışıyorsanız ve projenizin adının bir parçası olarak "opencode" kullanıyorsanız (örneğin, "opencode-dashboard" veya "opencode-mobile"), lütfen README dosyanıza projenin OpenCode ekibi tarafından geliştirilmediğini ve bizimle hiçbir şekilde bağlantılı olmadığını belirten bir not ekleyin.


Topluluğumuza katılın Discord | X.com