Cha'dan Ch'ye

Projenin GitHub Deposu

Büyük Duyuru

Cha’yı kullanımdan kaldırıyorum Cha ve Ch’e odaklanıyorum. 23 Ağustos 2025’te Cha’yı kullanımdan kaldırılmış (deprecated) olarak işaretledim ve tüm gelecekteki geliştirme çabalarını Ch’e yönlendirdim. Felsefe artık basit: tek bir araç tutun; bu araç basit, hafif ve hızlı olsun, bakımını yapın ve hataları düzeltin. Özellik kovalamacası yok.

Cha’yı Başlangıçta Neden Yaptım

LLM’ler ve ChatGPT yeni olduğunda, istediğim CLI araçları hiç ortaya çıkmadı. ChatGPT Kasım 2022’de çıktı ve GPT-4’ün yayımlanmasıyla 2023 başlarında gerçekten popüler oldu. Güçlü komut satırı araçlarının ortaya çıkmasını bekliyordum, ancak hiçbiri gerçekten istediğim şekilde çalışmıyordu. Bu yüzden Cha’yı geliştirdim ve günlük olarak kullandım. Aslında, ilk blog yazımda bunu açıkça söyledim: bu tür projeler yaygındı, ancak hiçbiri ihtiyaçlarımı karşılamıyordu, bu yüzden kendime ait bir tane yazdım.

Cha benim bebeğimdi. Günlük olarak kullandım ve üzerinde çalışmayı çok sevdim. Ve bir yıl içinde GitHub’da +60 yıldız toplayarak biraz büyüdü. Bu süre zarfında web kazıma, YouTube transkript çekme, görüntü oluşturma, çok satırlı giriş, hem etkileşimli/etkileşimsiz sohbet, STT (sesten metne) prompt girişi, özel araç desteği, sadece OpenAI dışında çeşitli diğer platformlar için destek, kendi Yanıt Arama motoru, gelişmiş dizin gezinimi ve dosya düzenleme, içeriği panoya kopyalama yeteneği, yanıtlar için TTS vb. özellikler kazandı. Çok şey yaptı, işe yaradı ve komut satırı aracı olarak gerçekten kullanışlı ve güçlüydü.

Neden Ch’ye Geçtim (Python’dan Go’ya)

Zamanla Cha ağırlaştı. Güçlü bir özellik yelpazesi vardı, ancak günlük ihtiyaçlarım için gereğinden fazla kapsamlıydı. Bu, Cha’nın gerçekten şişmesine yol açtı. Ayrıca Python ile yazılmış olması da iki kritik sorunu beraberinde getirdi. Bunlardan biri hız idi; başlangıç yüklemesi bile hâlâ 0.8 saniye sürüyordu ve bu, Python’un yavaş başlangıç paket yükleme süresini aşmak için çok sayıda optimizasyon ve mühendislik yaptıktan sonra ölçülen süredir. Ve Python’ı kurmak çok zordu. Cha’nın çeşitli üçüncü taraf açık kaynak araçlarına bağımlı olması nedeniyle kurulumu çok zor oluyordu. Kırılma noktam, sadece iTermux çalıştıran bir Android tablette seyahat ederken yaşandı; hiç çalışmıyordu ve onu bir şekilde çalışır hâle getirmeye çalışmak çok acı verici ve anlamsızdı.

Bu yüzden Ch adında yeni bir deney başlatmaya karar verdim. Ch, Cha’ya benzer olacaktı AMA GoLang ile yazılacak ve Python yerine Cha’nın SADECE gerekli özelliklerini içerecekti; amaç hafif, hızlı, çoğu sisteme kolay kurulabilen ve özellik açısından aşırı yüklenmemiş olmasıydı. Böyle yapmak, projeyi tek başıma sürdürmeyi kolaylaştıracaktı.

Birkaç ay Ch üzerinde çalışıp kullandıktan sonra, Cha’nın geleceğinin orijinal Cha kod tabanı değil Ch üzerinden olduğunu gördüm. Cha üzerinde çok fazla zaman harcamıştım; her iki kod tabanını da tek başıma sürdürmek zaman alıcıydı ve Ch temel işleri yapıyordu, aynı zamanda çok daha hafif, hızlı ve kurulumu kolaydı. Bu kararın netleşmesini sağladı…

Go’ya yeniden yazım bana hızlı başlangıç, tek bir ikili dosya (single binary) ve daha küçük bir zihinsel model verdi. Ch README’si bunu iyi özetliyor: Ch, 10x’ten fazla daha hızlı başlangıç ve önemli ölçüde daha iyi performansla halefidir.

Karar

Resmi olarak Cha’yı kullanımdan kaldırdım (deprecated) 23 Ağustos 2025’te ve insanları Cha’nın README’si aracılığıyla Ch’e yönlendirdim. Cha deposu tarihsel bir referans olarak kalıyor ve Ch’i bakım modunda tutuyorum; öncelik kararlılık ve hata düzeltmeleri üzerine olacak ve yeni özellik eklemeye pek ilgi göstermeyeceğim, yalnızca buna değerse ve/veya eklenmesi kritikse (zamanla bunun ne anlama geleceği ne olursa olsun).

Bugün Ch’in içerdiği özellikler

Ch, günlük iş akışını ağırlıksız bir şekilde kapsıyor:

  • GoLang ile yazılmış hafif bir CLI ile yüksek performanslı başlangıç
  • Çoklu sağlayıcı desteği (OpenAI, Groq, DeepSeek, Anthropic, XAI, Together, Gemini, Mistral, Ollama)
  • Etkileşimli ve doğrudan modlar, herhangi bir komuttan yönlendirme (piping), dosya ve dizin yükleme, token sayımı, kod bloğu dışa aktarma, sohbet geçmişi görüntüleyici, model/platform değiştirme, geri izleme (backtracking), kod dökümleri, kabuk (shell) oturumu kaydı, panoya entegrasyon
  • Dahili web kazıma ve arama, YouTube bağlantı işlemleri dahil, basit bir şekilde entegre edilmiş

Cha ile kıyaslandığında Ch’de eksik olanlar (ve neden)

Ch, Cha’nın yalnızca temel özelliklerini tutmaya çalışıyor; bunu yaparken Cha’daki aşağıdaki özellikleri Ch’den çıkardım:

  • Gelişmiş “Editor” kullanıcı arayüzü ve “Answer Search” Ch’e taşınmıyor
  • Ses, video ve görüntü alma, sesten metne ve metinden sese dönüşüm ve bazı ekstra dışa aktarma ve kod dökümü kolaylıkları öncelik değil
  • Cha’daki bazı gezinme yardımcıları ve “change root dir” davranışları Ch’de yok
  • Yerel “kaydedilmiş sohbetlere sahip profiller” kasıtlı olarak varsayılan yol değildir

Bu özelliklerin çoğunu ya şişkinlik (bloat) ya da “olsa güzel olur” olarak etiketledim. Kritik olduğunu düşündüğüm şey web tarama ve web kazımaydı; bu Ch’de eksikti ama ben bunu Ch’ye entegre ettim, böylece çekirdek döngü geri kalan olmadan tamamlandı. Üstelik Ch, !x adında yeni bir özellikle, Ch oturumundayken bir shell oturumunu kaydediyor ve bunu sohbet geçmişine ekliyor; bu, diğer CLI araçlarını kullanmanıza ve isterseniz çıktıları modeli için kaydetmenize olanak tanıyor. Bu özellik, Ch’nin tüm yükü üstlenip şişmesine gerek kalmadan Cha’daki orijinal eksik özelliklerin çoğunu Ch’ye getirmenizi sağlıyor. Ch hakkında daha fazla bilgiyi bu yeni blog yazısında öğrenebilirsiniz.

Ch/Cha ve Claude Code Karşılaştırması

Temmuz 2025’te, Cha’nın o araçların sağlamadığı hangi değeri sunduğunu açıklamak için Cha ile en son yapay zeka destekli CLI araçlarının bir karşılaştırmasını yazdım. Bunu bilerek, yine de bunu bu bloga dahil etmek istedim çünkü Ch, özünde aynı değeri sunuyor ve bu karşılaştırma hâlâ geçerli; bu geçişten aylar sonra bile. Aynı felsefe Ch için de geçerli.

Temel farklar

  • Ch/Cha yaklaşımı, arka planda özerk kararlar veren AI işçileri olmadan her adımda tam kullanıcı kontrolünü vurgular. Açık, kullanıcı tarafından kontrol edilen bağlam yönetimi elde edersiniz ve günlük aktif kullanım için maliyet genellikle aylık 1 ila 20 dolar arasındadır. Sürpriz düzenlemeler yoktur, her şey kullanıcı tarafından yönlendirilir; bu da derin katılım ve sıkı maliyet kontrolü için idealdir.
  • Ajan tabanlı CLI’lar (agentic CLIs) — Claude Code ve Gemini gibi — otomatik iş akışı kararları ve akıllı ajanların özerk seçimleriyle farklı bir yol izler. Benzer kullanım seviyeleri için maliyetleri genellikle aylık 10 ila 200+ dolar arasında değişir. AI tarafından yönetilen bağlam ve dosya işleme konusunda ustadırlar ve özerk kod değişikliklerinde mükemmeldirler; hızlı prototipleme ve devretme için idealdirler.

Ch/Cha tarzını ne zaman seçmeli

  • Tam şeffaflıkla minimum maliyet
  • Her etkileşim üzerinde tam kontrol
  • Geliştirme sürecinize derin katılım
  • Hassas projeler için açık bağlam yönetimi

Ajan tabanlı araçlar ne zaman seçilmeli

  • Hızlı prototipleme ve hızlı yineleme
  • AI otomasyonu ve devretmeyi tercih ediyorsanız
  • Maliyet yerine hızı ön planda tutmak

Öneri

Tek bir sihirli çözüm yok. Hiçbir araç her durumu kapsamaz. Ch, maliyet-etkin günlük görevler ve hassas kontrol için mükemmeldir. Claude Code veya Gemini CLI gibi ajan tabanlı araçlar, hız ve otomasyona odaklanarak karmaşık, çok dosyalı, çok ortamlı kodlama için öne çıkar. Maliyetleri azaltmak ve kontrolü elinizde tutmak istediğinizde Ch’i kullanın. Hızlı yinelemeye ihtiyacınız olduğunda ve kontrol devretmeye razıysanız ajan tabanlı araçları kullanın. Birçok insan iyi etkileşim desenlerini öğrenmek için Ch ile başlar, sonra ihtiyaçlar geliştikçe ajan tabanlı araçlar ekler.

Cha ve Ch’in Geleceği

Cha ve Ch’in geleceği budur. Cha kullanımdan kaldırılmış ve arşivlenmiştir, sadece bir tür tarihsel referans olarak hizmet edecektir. Ch şimdi yeni Cha’dır. Bakım, gerekiyorsa geliştirme ve kullanım devam edecek. Ch için özellik şişmesine (feature creep) güçlü bir şekilde direnç göstereceğim. İleride Cha’dan bahsettiğimde Ch’i kastediyorum ve eski Python tabanlı Cha’ya “Cha v0” veya “eski Cha” denecek. Bunu akılda tutarak

Teşekkürler

Eğer Cha yolculuğunu başından beri takip ettiyseniz, teşekkürler. O proje bana çok şey öğretti ve aslında nasıl çalıştığıma daha iyi uyan bir sürüme yönelmemi sağladı; aynı zamanda topluluk için de daha iyi oldu. Eğer yeniyseniz, Ch kullanmaya başlayın ve basit tutun!