ClaudeMeter
ClaudeMeter
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
- Menü çubuğunda her zaman erişilebilir bir kullanım özeti sunmak
- 5 saatlik, 7 günlük ve plan bazlı kritik limitleri anlaşılır göstermek
- Yaklaşan eşiklerde sistem bildirimi ile uyarı vermek
- Çevrimdışı durumlarda son bilinen veriyi kaybetmemek
- Yerel macOS deneyimini gereksiz karmaşıklık eklemeden korumak
Bağlantılar
- GitHub deposu: github.com/puq-ai/claude-meter
- Son sürüm: v1.1.0
- Platform: macOS 13.0+ (Ventura)
- Derleme aracı: Xcode 15+
Öne çıkan özellikler
Gerçek zamanlı kullanım takibi
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.
- 5 saatlik kullanım limiti takibi
- 7 günlük kullanım limiti takibi
- Opus odaklı kullanım görünürlüğü
- Sıfırlanma sürelerini doğrudan arayüzde gösterme
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.
%75,%90ve%95eşiklerinde bildirim- Tekrarlı bildirimleri azaltan yavaşlatma mantığı
- Kullanıcı tercihine göre açılıp kapatılabilen uyarılar
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.
- Etkinliğe göre uyarlanan yenileme stratejisi
- Çevrimdışı durumda son bilinen kullanım verisini koruma
- Hafif kaynak tüketimiyle arka planda çalışma
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:
- APIService: kullanım verisini çekme, tekrar deneme ve hata yönetimi
- KeychainService: Claude Code kimlik bilgilerini güvenli şekilde okuma
- NotificationService: macOS bildirim akışı ve eşik mantığı
- PollingManager: uyarlanabilir veri yenileme davranışı
- CacheManager: çevrimdışı kullanım için son veriyi saklama
- DependencyContainer: servislerin daha düzenli bağlanması için dependency injection yaklaşımı
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:
- GitHub sürüm paketini indirip uygulamayı doğrudan macOS üzerinde çalıştırmak
- 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.
Neden dikkat çekici buluyorum
Bu proje, geliştirici ergonomisini doğrudan iyileştiren iyi bir ürünleştirme örneği. Asıl değer yalnızca veriyi göstermek değil; sık kullanılan bir CLI iş akışını masaüstü seviyesinde görünür, sessiz ve düşük sürtünmeli hâle getirmek.
Ayrıca SwiftUI ile küçük görünen bir yardımcı uygulamanın arkasında veri yenileme, önbellek, keychain erişimi, bildirim yavaşlatma ve farklı görünüm modları gibi ciddi ürün kararları bulunuyor. Bu da projeyi basit bir sarmalayıcı yerine iyi düşünülmüş bir masaüstü yardımcı aracı seviyesine taşıyor.