OpenCode nedir?
OpenCode, terminalde çalışan açık kaynak (MIT lisanslı) bir kodlama ajanı. Claude Code ya da Codex’e benziyor ama istediğin modeli bağlayabiliyorsun. Arkasında Anomaly adlı şirket var. GitHub’da 200 binden fazla yıldızı olan, en popüler açık kaynak ajanlardan biri.
Uzun bir beta döneminin ardından Anomaly, Ekim ortasında 2.0 sürümünü resmen duyurdu. Şirket bunu “büyük bir elden geçirme” olarak tanımlıyor. Syntax ekibi de haftalık haber videosunda sürüme geniş yer ayırdı.
Tek servis, birçok ekran
En büyük değişiklik mimaride. 1.x sürümünde terminal arayüzü (TUI) kendi başına çalışıyordu. Web’den ya da başka bir cihazdan bağlanmak istersen ayrıca bir sunucu başlatman gerekiyordu. Bu daha çok ileri düzey kullanıcıların işiydi.
2.0’da sunucu otomatik olarak arka planda tek bir süreç olarak çalışıyor. Terminal, masaüstü uygulaması ve web arayüzü hepsi bu sürece bağlanıyor. Yani terminalde başlattığın bir oturumu tarayıcıdan izleyip devam ettirebiliyorsun. Servisi başka cihazlara da açabiliyorsun. Bunun için opencode pair komutu var.
Videoda konuşulan bir kullanım şekli de bu: Evdeki bir sunucuda tek bir OpenCode çalıştırıp, özel bir ağ üzerinden her cihazdan ona bağlanmak. Burada dikkat etmen gereken şey açık: Kodunu yazan ve komut çalıştırabilen bir servisi ağa açıyorsun. Kimin erişebildiğini iyi kilitlemen gerekiyor.
Arka plan işleri ve konuşmaya devam etmek
1.x’in en çok şikâyet edilen yanlarından biri, alt ajanlar (sub-agent) çalışırken ana ajanın sana cevap vermemesiydi. Araya girmek için işi durdurman gerekiyordu.
2.0’da alt ajanlar arka planda, istersen farklı bir modelle çalışabiliyor. Kabuk komutları da arka planda çalışıp bittiğinde ajana haber veriyor. Önde çalışan bir işi ctrl+b ile arka plana atabiliyorsun. Bu sırada ana ajanla konuşmaya devam ediyorsun.
Code Mode: Araçları kodla çağırmak
2.0 ile Code Mode da geldi. Ajan, MCP sunucularındaki araçları tek tek çağırıp her seferinde sonucu beklemek yerine kısa bir JavaScript betiği yazıyor. Betik birkaç aracı tek seferde zincirliyor. Bu fikri Pi 1.0 yazımızda Codemode adıyla anlatmıştık. OpenCode’da bütün MCP sunucuları varsayılan olarak Code Mode’a açık.
Eklentiler ve yeniden başlatmadan yükleme
OpenCode’un kendi özellikleri artık 80’den fazla dahili eklenti olarak yazılmış. Böylece eklenti arayüzü sürekli kullanılıyor ve bakımı yapılıyor. Asıl kullanışlı kısım ise hot reload: Ayar değişiklikleri, MCP bağlantıları ve yeni eklentiler oturumu kapatmadan, bütün oturumlarda devreye giriyor. Ajan kendi kullanacağı bir eklentiyi yazıp aynı oturumda kullanabiliyor.
Durable Objects içinde ajan
@opencode/sdk paketi, CLI’ı çalıştıran kodun aynısı. Kendi sunucuna gömebiliyorsun. Dokümantasyonda bunu bir Cloudflare Durable Object içinde çalıştırma rehberi de var. Durable Objects’i Deno’nun Cloudflare’e katılması yazısında anlatmıştık. Burada ajan, durumunu Durable Object’in SQLite deposunda tutuyor ve Cloudflare nesneyi kapatsa bile kaldığı yerden devam edebiliyor. Bu ortamda yerel dosya sistemi ve süreç çalıştırma yok, yerine Workerd’e uygun sürümler geliyor.
Geçerken bilmen gerekenler
- Güncelleme: Önce son 1.x sürümüne geç, sonra
opencode upgrade --majorçalıştır. - 1.x eklentileri 2.0’da çalışmıyor. Sunucu API’si de tamamen değişti.
- Anomaly, geçiş dokümanını doğrudan OpenCode’a verip ayarlarını ona taşıtmanı öneriyor.
Düşün
- Kodlama ajanın her cihazdan erişilebilen bir servis olsaydı, onu nerede çalıştırırdın? Kimin erişmesine izin verirdin?
- Ajanın çalışırken araya girip yön verebilmek mi, yoksa işini bitirmesini beklemek mi senin için daha verimli?
Videoyu izle
Kaynaklar (9, İngilizce)
- Syntax Weekly: Deno Is Dead, OpenCode 2 Released (video) (yeni sekmede açılır)
- Anomaly: OpenCode 2.0 (yeni sekmede açılır)
- Anomaly: OpenCode Reloaded (yeni sekmede açılır)
- OpenCode Docs: Migrate from v1 (yeni sekmede açılır)
- OpenCode Docs: SDK (yeni sekmede açılır)
- OpenCode Docs: SDK on Cloudflare Durable Objects (yeni sekmede açılır)
- OpenCode Docs: Plugins (yeni sekmede açılır)
- OpenCode Changelog (yeni sekmede açılır)
- GitHub: anomalyco/opencode (yeni sekmede açılır)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.