Skip to content

ClaudeMeter

Featured image for ClaudeMeter
Mar 12, 2026
SwiftUI macOS Claude Code Menu Bar App Usage Monitoring Xcode

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

Ö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, %90 ve %95 eş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:

  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.

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.