# Yerel model ile kodlama ajanı: Ollama ve LM Studio

Adres: https://agentvera.dev/blog/yerel-model-kodlama-ajani/ · Yayın: 2026-10-23

Ollama ya da LM Studio ile yerel model kullanan kodlama ajanı kur: hangi CLI’lar destekliyor, donanım gerçeği, gizlilik, barındırılan modellere göre ödünler.

**Kısaca:**

- Ollama localhost:11434, LM Studio 127.0.0.1:1234 adresinde OpenAI uyumlu bir API sunar; Codex, opencode, Aider, Goose, Qwen Code ve Crush gibi CLI’lar bunlara bağlanabilir.
- Ollama’nın varsayılan bağlamı 24 GiB altı VRAM’de 4k token’dır ve taşanı sessizce atar; OLLAMA_CONTEXT_LENGTH ile yükselt, Ollama Codex için en az 64k istiyor.
- Yerel model kodu makinende tutar ve token ücreti yoktur ama çok dosyalı işlerde daha yavaş ve zayıftır; bu yüzden barındırılan modelle karma bir düzen genelde en iyisidir.

Yerel model ile kodlama ajanı, opencode, Aider, Goose, Qwen Code, Crush ya da Codex gibi bir kodlama CLI’ını barındırılan bir API yerine Ollama veya LM Studio üzerinden kendi makinende çalışan bir modele bağlamak demek. Yerel sunucuyu başlatırsın (Ollama `http://localhost:11434`, LM Studio `http://127.0.0.1:1234` adresini dinler), araç çağrısını destekleyen bir model seçersin, bağlam uzunluğunu varsayılanın çok üstüne çıkarırsın ve CLI’a bu adresi verirsin. Çalışır, kodun makinenden çıkmaz ve token başına ücret yoktur. Ama en iyi barındırılan modellerden daha yavaş ve daha zayıftır; bu yüzden çoğu kurulum sonunda karma bir düzene varır.

## Burada “yerel” ne demek?

Bir [kodlama ajanı](/sozluk/kodlama-ajani/ "Kodlama ajanı") iki parçadan oluşur: dosya okuyan, komut çalıştıran ve kodu düzenleyen CLI ile bir sonraki adıma karar veren model. Yerele geçmek yalnızca ikinci parçayı değiştirir. CLI aynı döngüyü çalıştırır, isteklerini bir sağlayıcının API’si yerine `localhost` üzerindeki sunucuya gönderir.

Yaygın iki yerel sunucunun ikisi de OpenAI uyumlu bir API konuşur:

| Sunucu | Varsayılan adres | Nasıl başlatılır |
| --- | --- | --- |
| Ollama | `http://localhost:11434/v1` | Ollama uygulaması ya da `ollama serve` |
| LM Studio | `http://127.0.0.1:1234/v1` | Developer sekmesi → “Start server” ya da `lms server start` |

Ollama belgeleri, OpenAI istemcilerinin bir API anahtarı değeri istediğini ama Ollama’nın bunu yok saydığını söylüyor; yerel sunucuda herhangi bir yer tutucu yeter.

## Herkesin atladığı ayar: bağlam uzunluğu

CLI seçmeden önce bunu düzelt. Ajanlar çok bağlam gönderir: sistem prompt’u, araç tanımları, dosya içerikleri, komut çıktıları. Penceresi küçük bir yerel sunucu bunların çoğunu sessizce keser.

Ollama’nın varsayılan [bağlam penceresi](/sozluk/baglam-penceresi/ "Bağlam penceresi") VRAM’ine bağlı: 24 GiB altında 4k, 24–48 GiB arasında 32k, 48 GiB ve üstünde 256k token. Aider belgeleri, Ollama’nın pencereyi aşan bağlamı sessizce attığını ekliyor. Goose belgeleri 4096 token’lık varsayılanı fazla düşük buluyor, Ollama’nın kendi Codex rehberi de en az 64k istiyor.

Sunucuyu başlatırken yükselt, sonra kontrol et:

```bash
OLLAMA_CONTEXT_LENGTH=64000 ollama serve
ollama ps   # CONTEXT sütunu ayrılan uzunluğu gösterir
```

Ollama uygulamasının ayarlarındaki bağlam uzunluğu kaydırıcısı da aynı işi yapar. `ollama ps` çıktısındaki `PROCESSOR` sütunu modelin bir kısmının CPU’da olduğunu gösteriyorsa bağlam ya da model GPU’ya sığmıyordur ve her şey yavaşlar.

## Hangi CLI’lar yerel modeli destekliyor?

Aşağıdakiler her aracın kendi belgesinde doğrulanan yollar. Doğrulayamadığımız kurulumları yazmadık.

| CLI | Yerel yol | Nerede ayarlanır |
| --- | --- | --- |
| Codex | Ollama ya da LM Studio ile `--oss` | Bayrak ya da `config.toml` içinde `oss_provider` |
| opencode | Herhangi bir OpenAI uyumlu sağlayıcı | `opencode.json` içindeki `provider` bölümü |
| Aider | `ollama_chat/<model>` ya da `openai/<model>` | Ortam değişkenleri |
| Goose | Ollama, LM Studio ve diğer sağlayıcılar | `goose configure` |
| Qwen Code | Herhangi bir OpenAI uyumlu uç nokta | `OPENAI_*` değişkenleri ya da `~/.qwen/settings.json` |
| Crush | `ollama` ve `lmstudio` sağlayıcı türleri | Kendi sağlayıcı ayarı |

### Codex

En kısa yol [Codex](/ajanlar/codex/ "Codex CLI")’te. Belgelerine göre `--oss` verdiğinde Ollama ya da LM Studio gibi yerel bir “açık kaynak” sağlayıcıyla çalışabiliyor:

```bash
codex --oss                     # varsayılan yerel model
codex --oss -m gpt-oss:120b     # belirli bir model
```

Varsayılan sağlayıcıyı `~/.codex/config.toml` içinde `oss_provider = "ollama"` (ya da `"lmstudio"`) ile belirlersin. Ollama ayrıca senin için profil kuran `ollama launch codex` komutunu sunuyor. Codex içinde `/model`, kurulu ve araç çağrısını destekleyen modeller arasında geçiş yapar.

### opencode

[opencode](/ajanlar/opencode/ "opencode"), OpenAI uyumlu her sunucuyu `opencode.json` içinde özel sağlayıcı olarak alır:

```json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": { "baseURL": "http://localhost:11434/v1" },
      "models": { "qwen3": { "name": "Qwen3 (local)" } }
    }
  }
}
```

LM Studio için adres olarak `http://127.0.0.1:1234/v1` ve LM Studio’da görünen model kimliğini kullan. opencode belgelerinde işe yarar bir ipucu var: araç çağrıları çalışmıyorsa Ollama’da `num_ctx` değerini artır, 16k–32k civarından başla.

### Aider

[Aider](/ajanlar/aider/ "Aider") Ollama ile doğrudan konuşur. Belgeleri `ollama_chat/` ön ekini öneriyor:

```bash
export OLLAMA_API_BASE=http://127.0.0.1:11434
aider --model ollama_chat/<model>
```

LM Studio ya da başka bir OpenAI uyumlu sunucu için `OPENAI_API_BASE` ve `OPENAI_API_KEY` değişkenlerini ayarla, sonra `aider --model openai/<model-adı>` kullan. Sabit bir bağlam boyutu `.aider.model.settings.yml` dosyasında `extra_params` altına `num_ctx` olarak yazılır.

### Goose

[Goose](/ajanlar/goose/ "Goose"), Ollama ve LM Studio’yu sağlayıcı olarak listeliyor. `goose configure` çalıştır, Ollama’yı seç ve bir model adı gir. `OLLAMA_HOST` başka bir şey demedikçe `localhost:11434` kullanır; LM Studio varsayılan olarak `localhost:1234`’e bağlanır ve API anahtarı istemez. Goose belgeleri asıl kısıtı açıkça söylüyor: araç çağrısını yoğun kullanıyor, bu yüzden araç çağrısı olmayan bir model yalnızca sohbet edebilir.

### Qwen Code

[Qwen Code](/ajanlar/qwen-code/ "Qwen Code") herhangi bir OpenAI uyumlu uç noktayı destekliyor; README’si Ollama ya da vLLM üzerinden yerel modelleri de anıyor. Standart değişkenleri sunucuna yönlendir:

```bash
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_API_KEY=ollama   # yerel sunucuda herhangi bir yer tutucu
export OPENAI_MODEL=<model>
qwen
```

Aynı ayar `~/.qwen/settings.json` içinde `modelProviders` altında da durabilir; ya da `/auth` ile etkileşimli kurarsın.

### Crush

Crush, `ollama` ve `lmstudio` sağlayıcı türlerini destekliyor. README’si Ollama’yı `http://localhost:11434/v1` adresiyle eklemeyi gösteriyor. Modeli Crush içinde `Ctrl+L` ile seçersin.

## Yerel ajan sorun çıkarınca

Yerel kodlama ajanındaki sorunların çoğu birkaç nedene iner. Bu sırayla bak:

- **İşin ortasında dosyaları ya da talimatları unutuyor.** Bağlam küçük, sunucu kesiyor. `OLLAMA_CONTEXT_LENGTH` (ya da `num_ctx`) değerini yükselt, `ollama ps` ile doğrula.
- **Araç çağrıları başarısız oluyor ya da düz metin dönüyor.** Model araç çağrısını desteklemiyor olabilir ya da bağlam araç tanımlarına yetmiyor. Araç destekli bir model ve daha büyük pencere dene.
- **CLI modelin olmadığını söylüyor.** CLI’daki ad sunucudaki kimlikle birebir aynı olmalı: `ollama list` çıktısındaki etiket ya da LM Studio sunucu panelindeki kimlik.
- **Bağlantı reddediliyor.** Sunucu çalışmıyor ya da CLI başka bir adres bekliyor. Ollama `11434`, LM Studio `1234`; bazı CLI’lar `/v1` ekini ister, Aider’ın `OLLAMA_API_BASE` değişkeni istemez.
- **Her şey çok yavaş.** Model ya da bağlam GPU’ya sığmıyor. `ollama ps` CPU payını gösterir; daha küçük bir model ya da daha kısa bağlam seç.

## Donanım gerçeği

Beklentiler genelde burada kırılır. Yerel kodlama ajanı, yerel sohbetten daha ağır bir iştir:

- **Model belleğe sığmalı.** PC’de GPU VRAM’i, Apple Silicon’da birleşik bellek. Sığmazsa katmanlar CPU’ya taşar ve üretim belirgin şekilde yavaşlar.
- **Bağlam da bellek yer.** Model ağırlıklarının üstüne 64k’lık bir pencere, 4k’lık bir sohbetten çok daha fazla yer ister. Ollama’nın varsayılan bağlam uzunluğunu VRAM’e bağlamasının nedeni bu.
- **Küçük modeller araçlarda zorlanır.** Ajanlar güvenilir araç çağrılarına ve uzun bir sistem prompt’una uymaya dayanır. Küçük modeller bozuk çağrı üretmeye, döngüye girmeye ya da erken durmaya yatkındır. Goose, yerel DeepSeek-R1 gibi bazı modellerin araç çağrısını hiç desteklemediğini not ediyor.
- **Hız katlanır.** Ajan her görevde, her biri büyük prompt’lu çok sayıda istek atar. Sohbette iyi hissettiren bir model, on adımlık bir işi uzun bir beklemeye çevirebilir.

Başlamak için pratik bir yol: GPU’na en az 32k–64k bağlamla tamamen sığan, araç destekli en büyük kodlama modelini al, `ollama ps` ile doğrula ve daha büyük işlere güvenmeden önce küçük, gerçek bir görevde dene.

## Neden yerel: gizlilik ve kontrol

Asıl neden, çıkarımın makinende kalması:

- Prompt’ların ve kodun bir model sağlayıcısına gitmez.
- Çevrimdışı ve internete kapalı ortamlarda çalışır.
- Token başına fatura ve takılacağın kullanım limiti yoktur.
- Model sen istemeden değişmez; ne zaman yükselteceğine sen karar verirsin.

İki uyarı da var. Birincisi, CLI yine de ağı kullanabilir: Ollama’nın launch profiliyle Codex’te web araması var, bazı CLI’larda telemetri var. Hiçbir şeyin dışarı çıkmaması gerekiyorsa her aracın ayarlarına bak. İkincisi, yerelde çalışmak ajanı daha güvenli yapmaz. Hâlâ komut çalıştırır ve dosya düzenler; bilinen [kodlama ajanı güvenliği önlemleri](/blog/yapay-zeka-kodlama-ajani-guvenligi/ "Yapay zeka kodlama ajanı güvenliği") aynen geçerli.

## Barındırılan modellere göre ödünler

| | Yerel model | Barındırılan öncü model |
| --- | --- | --- |
| Kod makineden çıkar mı | Hayır | Evet, sağlayıcıya |
| Maliyet | Donanım ve elektrik | Token başına ya da abonelik |
| Kullanım limitleri | Yok | Plana bağlı |
| Zor, çok dosyalı işlerde kalite | Daha düşük, model boyutuna bağlı | Erişilebilen en yüksek |
| Araç çağrısı güvenilirliği | Modele göre değişir | Güçlü |
| Bağlam penceresi | Belleğinle sınırlı | Çok büyük |
| Hız | Donanımına bağlı | Hızlı ve tutarlı |

Fark en çok kapsamı dar işlerde kapanır: test yazmak, bir fonksiyonu açıklamak, küçük bir refactor, commit mesajı. En çok da birçok dosyaya yayılan uzun, çok adımlı işlerde açılır; ajanın bir planı tutması ve kendi hatalarından toparlanması gereken yerlerde.

## İşe yarayan karma düzen

Ya hep ya hiç yerine bir paylaşım genelde daha iyi sonuç verir:

1. **Hassas ya da çevrimdışı iş yerele.** Makineden çıkmaması gereken kod, sıkı şartları olan müşteri depoları, uçakta çalışma.
2. **Rutin, dar kapsamlı işler yerele.** Testler, dokümantasyon, küçük düzeltmeler, açıklamalar.
3. **Zor işler barındırılan modele.** Mimari değişiklikler, çetrefil hatalar, büyük refactor’lar.
4. **İncelemeyi temiz bağlamda yap.** Hangi model yazmış olursa olsun, ikinci bir ajan ilkinin diff’ine baksın.

Bunu yürütmenin en kolay yolu aynı anda iki ya da daha fazla ajan çalıştırmak: biri yerel uç noktada, biri barındırılan modelde; aynı dosyaları düzenlemesinler diye her biri kendi klasöründe ya da git worktree’sinde.

## AgentVera’da yerel ve barındırılan ajanlar yan yana

AgentVera, birçok CLI ajanını tek bir [çalışma alanında](/ozellikler/calisma-alani/ "Çalışma alanı") yan yana çalıştıran bir masaüstü uygulaması; yukarıdaki karma düzene de bu yüzden uyuyor. Neyi yapıp neyi yapmadığını açık söyleyelim:

- **Hazır bir Ollama ya da LM Studio entegrasyonu yok.** Her ajan kendi sağlayıcı ayarını kullanır: Goose için `goose configure`, opencode’un kendi ayarı ve `/connect`, Aider’ın ortam değişkenleri ya da `.aider.conf.yml`, Qwen Code’un oturumu ya da API anahtarı, Crush’ın ayarları (`Ctrl+L`).
- **“Model” alanı CLI’a iletilir.** Qwen Code, Goose ve Aider gibi ajanlarda buraya yazdığın değer CLI’a `--model` olarak gider. Boş bırakırsan CLI kendi ayarındaki modeli kullanır.
- **Ajanlar ortam değişkeni taşıyabilir.** Ayarlar → Hesaplar → Diğer ajanların hesapları bölümünde “API anahtarıyla” eklenen bir hesap bir “Değişken adı” ve değerini saklar. Qwen Code için önerilen adlardan biri `OPENAI_BASE_URL`; başka bir ad da yazabilirsin. Bu, Pro ve Team planlarındaki [hesap geçişinin](/ozellikler/hesap-gecisi/ "Hesap geçişi") parçası.
- **Bağlam araçları Claude Code’la sınırlı değil.** Bağlam boyutu her CLI’ın kendi geçmişinden ölçülür, otomatik sıkıştırma da CLI’ın varsa kendi sıkıştırma komutunu kullanır. Küçük bir yerel pencerede bu daha da önemli.

Kısacası gerçekçi tablo şu: yerel modeli CLI’da, kendi belgesinin anlattığı şekilde kurarsın; AgentVera da o ajanı barındırılan bir ajanın yanında çalıştırmanı, ikisini birlikte izlemeni ve işlerini ayrı tutmanı sağlar.

## Sık sorulanlar

**Hangi kodlama ajanı CLI’ları yerel modelle çalışır?** opencode, Aider, Goose, Qwen Code, Crush ve Codex yerel ya da OpenAI uyumlu bir uç noktayı kullanmanın yolunu belgeliyor. Codex’te Ollama ve LM Studio için hazır bir --oss bayrağı var; diğerleri sağlayıcı ayarı, model ön eki ya da ortam değişkeni alıyor.

**Yerel kodlama ajanı için GPU şart mı?** Kesin şart değil ama çok fark eder. Kodlama ajanları araç çağrısı ve uzun bağlam ister; bu da oldukça büyük bir model ve bol bellek demek. Güçlü bir GPU ya da bol birleşik bellek yoksa yanıtlar ajanla çalışmayı zorlaştıracak kadar yavaşlar.

**Yerel model neden dosyaları atlıyor ya da talimatları unutuyor?** Genelde bağlam uzunluğu küçüktür. Ollama’nın varsayılanı VRAM’e bağlıdır, 24 GiB altında 4k’dır ve sığmayanı sessizce atar. OLLAMA_CONTEXT_LENGTH ya da num_ctx ile yükselt; Ollama Codex için en az 64k öneriyor.

**Yerel model tamamen gizli mi?** Çıkarım senin makinende kalır, yani prompt’ların ve kodun bir model sağlayıcısına gitmez. CLI’ın kendisinde yine de telemetri, web araması gibi ağ özellikleri olabilir; hiçbir şeyin dışarı çıkmaması gerekiyorsa ayarlarına bak.

**AgentVera yerel modelleri destekliyor mu?** AgentVera, yerel modeli destekleyen opencode, Aider, Goose, Qwen Code, Crush ve Codex gibi CLI ajanlarını yan yana çalıştırır. Her CLI kendi sağlayıcı ayarını kullanır; AgentVera Model alanını CLI’a iletir ve ajana ortam değişkeni verebilir, ama kendi Ollama entegrasyonu yoktur.

---

**AgentVera hakkında.** AgentVera, Solviera Teknoloji tarafından geliştirilen macOS, Windows ve Linux masaüstü uygulamasıdır. 18 yapay zeka kodlama ajanını (Claude Code, Codex, Gemini CLI, Copilot, Cursor, Antigravity, opencode, Hermes, Qwen Code, Kimi Code, Kiro, Amp, Droid, Goose, Vibe, Crush, Aider, Cline) proje bazında, gerçek terminallerde ve kullanıcının kendi CLI kurulum ve girişleriyle yan yana çalıştırır. Ücretsiz planda sınırsız ajan vardır. İndir: https://agentvera.dev/indir/ · Fiyatlar: https://agentvera.dev/fiyatlar/
