ClaudeMeter

ClaudeMeter, Claude Code kullanım limitlerini macOS menü çubuğunda otomatik olarak güncelleyen SwiftUI tabanlı hafif masaüstü yardımcı uygulamasıdır.

ClaudeMeter proje kapak görseli

Claude Code ile uzun oturumlar yürütürken 5 saatlik ve 7 günlük limitleri sürekli terminalden takip etmek verimsizleşiyor. ClaudeMeter, bu görünürlüğü macOS menü çubuğuna taşıyan; kullanım oranlarını, sıfırlanma sürelerini ve bildirim eşiklerini tek bakışta veren yerel bir yardımcı uygulama.

Problem

Claude Code CLI günlük akış için güçlü olsa da kullanım limitlerini sürekli göz önünde tutmak için ideal bir arayüz sunmuyor. Özellikle birden fazla görev arasında geçiş yaparken veya yoğun token tüketen oturumlarda, limitlere ne kadar yaklaşıldığını görmek için tekrar tekrar terminale dönmek gerekiyor.

Bu projede çözmek istediğim nokta, kullanım verisini bağlam bozmadan görünür kılmak ve bunu masaüstü deneyiminin doğal bir parçası hâline getirmekti.

Bu projede odaklandığım noktalar

Bağlantılar

Öne çıkan özellikler

Otomatik kullanım güncellemesi

Uygulama, Claude Code kullanım durumunu menü çubuğunda sürekli görünür tutuyor. Simge, kompakt ve detaylı görünüm modları sayesinde hem minimal hem de bilgi yoğun kullanım senaryolarına uyum sağlıyor.

Bildirim ve eşik yönetimi

Kullanıcı, belirli oranlara yaklaştığında sistem seviyesinde uyarı alabiliyor. Bu da özellikle yoğun çalışma bloklarında limit sürprizlerini azaltıyor.

Veri yenileme ve önbellek katmanı

Veri yenileme aralığı sabit değil; etkinlik seviyesine göre daha akıllı bir yaklaşım kullanılıyor. Ağ erişimi kesilse bile son bilinen veriler önbellek üzerinden görüntülenebiliyor.

claude.ai yedek veri yolu ve uygulama içi giriş

Ana kullanım API’si hata verdiğinde veya hız sınırına takıldığında uygulama claude.ai web API’sine geçiyor. Ana yol hız sınırındayken ve yedek yol çalışırken ana yol her yenilemede boşuna denenmiyor; yedek yol da başarısız olursa ana yol hemen yeniden açılıyor, böylece kullanıcı hiçbir zaman veri yolu olmadan kalmıyor.

Teknik mimari

ClaudeMeter, SwiftUI tabanlı bir macOS menü çubuğu uygulaması olarak kurgulanmış. Arayüz ve servis katmanları belirgin şekilde ayrılmış; veri akışı servisler ve yönetici katmanları üzerinden ilerliyor.

Öne çıkan mimari parçalar:

Bu yapı sayesinde uygulama sadece görsel bir araç olarak kalmıyor; güvenlik, önbellek, veri yenileme ve bildirim davranışlarını birbirinden ayrıştırılmış sorumluluklarla yönetiyor.

Kurulum ve kullanım akışı

Projeyi iki farklı yoldan kullanmak mümkün:

  1. GitHub sürüm paketini indirip uygulamayı doğrudan macOS üzerinde çalıştırmak
  2. Kaynaktan derleyip Xcode üzerinden geliştirme yapmak

Kaynak koddan derleme akışı:

git clone https://github.com/puq-ai/claude-meter.git
cd claude-meter
xcodebuild -scheme ClaudeMeter -configuration Release build

Uygulama Claude Code CLI oturumunu kullandığı için önce aşağıdaki kimlik doğrulama akışının tamamlanması gerekiyor:

claude login

Bu adımdan sonra ClaudeMeter mevcut oturumu otomatik tespit edip kullanım verisini menü çubuğu arayüzüne taşıyor. Yedek veri yolu için claude.ai hesabına uygulamanın içinden de giriş yapılabiliyor.

Mühendislik notları

ClaudeMeter küçük bir menü çubuğu aracı olsa da veri yenileme, çevrimdışı durum, Keychain erişimi ve bildirim sıklığı gibi birbirinden bağımsız sorumluluklar taşıyor. Bu nedenle arayüz ile servis katmanlarını ayırmak, uygulamanın davranışını görünür ve test edilebilir tutmak açısından önemliydi.

v1.3.0’daki yedek veri yolu çalışması da aynı dersi verdi: bir yedek yol, tam da ana yolun kullanılamadığı durumda erişilebilir olmalı. Süresi dolmuş kimlik bilgisinin ağ isteğinden önce hata verip yedeği hiç denememesi, yerel saatin token geçerliliğine karar vermesi ve ana yol hâlâ 429 dönerken başarılı bir yedek yanıtın hız sınırı beklemesini hiç başlatmaması bu yüzden ayrı ayrı düzeltildi ve testle korundu.

← Tüm projeler