Skip to content

Repository files navigation

Mimir

🇬🇧 English · 🇹🇷 Türkçe

Mimir menu bar

License: MIT Platform Swift Buy Me a Coffee Yerli üretim


English

Track your AI tool usage limits from the macOS menu bar.

Join the beta

Tip

Join the beta to try new versions early and share your ideas. Right-click Mimir in the menu bar and choose Join the beta. Beta versions arrive automatically. To get one right away, click the version number at the bottom of the panel.

Mimir is a lightweight macOS menu bar app that shows real-time usage limits and reset countdowns for your AI tools — Claude, Codex and Antigravity (which covers Gemini, Claude and GPT) — without leaving your workflow.

Features

  • Menu bar at a glance — all your AI service statuses in a single popover
  • Live limits — session and weekly quotas, per-model rows and credit balances, updated in real time
  • Desktop widgets — Small and Medium, one model each, the face washed by its session quota
  • Reset countdowns — know exactly when each limit refreshes
  • Status colours — green / amber / red based on remaining quota, in the popover and the widgets
  • Minimalist design — monochrome icon, full macOS light/dark mode support
  • No backend — Mimir talks only to each provider's own endpoint, with that provider's own token; your quota figures and tokens go nowhere else

Supported services

Service Data source
Claude Claude desktop app session, or Claude Code OAuth (~/.claude)
Codex ChatGPT usage API + local JSONL fallback
Antigravity Local language server + Cockpit (Gemini and Claude/GPT groups)

Installation

Requirements

  • macOS 14.0 (Sonoma) or later
  • To build from source: Swift 6.0+ (ships with Xcode 16)

Option 1 — Download a release (recommended)

  1. Grab the latest Mimir.zip from the Releases page.
  2. Unzip it and drag Mimir.app into your Applications folder.
  3. Launch Mimir — the Mimir icon appears in the menu bar.

ℹ️ Notarized — Distributed releases are notarized by Apple, so you won't get a Gatekeeper warning. (Releases are signed and notarized entirely on CI.)

Option 2 — Build from source

git clone https://github.com/erayendes/mimir.git
cd mimir
./script/build_and_run.sh install

The build_and_run.sh script builds, signs, and runs the app.

Command What it does
./script/build_and_run.sh Build + sign + run
./script/build_and_run.sh logs Run with a log stream
./script/build_and_run.sh install Build and install into Applications

First launch

On first launch, Mimir asks once for permission to Launch at Login so your usage is always in the menu bar.

You can change this later under System Settings › General › Login Items.

For services to appear, you must have signed in to each AI tool at least once (Mimir reads the local data those tools create). See each service's page for details:

See Services for Claude, Codex and Antigravity.

Updating

Mimir updates itself via Sparkle. Use Check for Updates from the popover menu, or download the new Mimir.zip from the Releases page.

Stuck on something? → Support & FAQ.

Reading the menu bar

Mimir's entire UI lives in the menu bar as a small Mimir glyph. Click it for the popover; the desktop widgets carry the at-a-glance numbers.

Status colours — based on the remaining percentage of the window shown:

Color Remaining Meaning
🟢 Green 40–100% Plenty left
🟡 Amber 10–39% Running low
🔴 Red below 10% Near the limit

The popover — click the glyph to open it. Each service is a card with its name and brand icon, the session (5-hour) quota shown prominently with percentage and countdown, a weekly summary row, per-model quota or credit rows, an (i) info icon, and a status note (e.g. "token expired — open Claude Code"). When a service has no session window, the weekly reading is promoted into that spot instead. Reset times use short units — e.g. 2h 15m.

Refreshing & stale state — Mimir refreshes every minute and on each popover open; if a service hits a rate limit (HTTP 429) it backs off and shows the last-known data. When a live source disappears (e.g. the Antigravity IDE closes), the card is shown dimmed with the last snapshot instead of vanishing. If it stays unreachable long enough, a notice appears at the top of the popover; dismiss it with the × in its corner and that service's dots leave the menu bar with it. Both return once the service reports data again, so a later outage is still announced.

Services

Jump to: Claude · Codex · Antigravity

Claude

Claude

Mimir shows your Claude account's usage limits: the session (5-hour) and weekly windows, with reset times.

Data source. Two paths, tried in order:

  1. The Claude desktop app's session (preferred). Mimir decrypts the app's own session cookie using the macOS Keychain key the app itself uses, then reads your account's live usage from claude.ai. This is what most people are actually on, and it stays accurate whether or not you use the CLI.
  2. Claude Code's OAuth token, used against Anthropic's official usage endpoint:
GET https://api.anthropic.com/api/oauth/usage
  • The token is read from Claude Code's records under ~/.claude / the macOS Keychain.
  • The response is cached for 5 minutes, so the Keychain (and its permission prompt) is touched only at launch and around token expiry.
  1. Claude Code's status line — with Prompt-free Claude tracking on (right-click menu). A small hook in ~/.claude/settings.json receives the session JSON Claude Code already fetched, with its official 5-hour and 7-day numbers, and saves it to ~/.claude/mimir-usage.json. No Keychain, no token, no network, no prompt. While the hook is fresh (Claude Code rendered a status line in the last 30 minutes) a background refresh never touches the Keychain, and it fills the card whenever the token is expired or can't be read silently. An existing statusLine command is chained through, not replaced; settings.json is backed up before the first write.

Tokens are read, never refreshed. Anthropic rotates the refresh token single-use, so a refresh from outside would sign Claude Code out. Mimir only reads the token Claude Code currently holds and uses it while valid; once it has expired, the card shows token expired — open Claude Code and Claude Code refreshes it on its own next use.

What's shown. Session (5-hour) and weekly remaining percentages with reset times.

Symptom Likely cause / fix
No Claude card Claude Code may never have been signed in — open it once and sign in
"token expired" note Open Claude Code; it resolves once the token refreshes
"open Mimir to refresh Claude" note The token couldn't be read without a prompt; opening the popover is the user action that allows it
Repeated Keychain prompts Claude Code rewrites its Keychain item on every token refresh, so Always Allow doesn't stick — turn on Prompt-free Claude tracking
Frozen / dimmed data Temporary error or rate limit; Mimir shows last-known data and refreshes shortly

Codex

Codex

Mimir shows session and weekly quotas for Codex, trying two sources in order.

Data source. Mimir first queries the live ChatGPT usage API. If that fails, it falls back to Codex's local session records:

  1. ChatGPT usage API (live) — primary source.
  2. Local ~/.codex/sessions JSONL fallback — if the API is unreachable.
  3. If both fail, the last-known snapshot.

How the local fallback is read. The most recent .jsonl file under ~/.codex/sessions is scanned from the end backwards, taking the rate_limits field of token_count events.

How windows are classified. Each window is identified by its real length, not by which slot it arrives in. OpenAI removed Codex's 5-hour limit in July 2026, leaving only the weekly window — and leaving it in the primary slot, which used to mean "5-hour". Since 25 August 2026 the 5-hour window is back for Plus accounts, alongside the weekly one rather than replacing it; Pro still reports the weekly window alone. Both shapes work without an update, because Mimir classifies by length rather than slot. A window of 6 hours or less is the session; anything longer is a longer-term quota. If the length is missing, Mimir falls back to how far the reset is (a 5-hour window can never reset more than 5h out), and only then to the slot. When there is no session window, the card drops that block and promotes the longer-term reading rather than showing a misleading 100%.

Longer-term windows are labelled by their real size, not assumed to be 7 days. The badge ("7d", "30d") comes from the window's reported total length — ChatGPT Go moved to a ~30-day window in mid-2026, and Plus/Pro stayed weekly. The badge is derived from the window length only, never from the countdown: on day 27 of a 30-day window the badge still reads "30d". When a provider reports no length, Mimir shows its plain weekly label rather than printing a guessed number.

📝 Note: If no reset time is found in the local file, the card still shows the remaining percentage, but the countdown may be omitted (the card notes this).

Reset credits. Alongside the balance, Codex can hold reset credits — one-shot passes that clear a spent rate-limit window. Mimir reads them from the ChatGPT API and shows how many you have, plus how long until the first one expires. Only credits that are both still available and not yet expired are counted (one can lapse between polls), and the row is omitted entirely when there are none. This is a bonus reading: if the request fails, the rest of the Codex card is unaffected.

What's shown. Session (5-hour) and weekly remaining percentages with reset times. When available, value rows such as the credit balance and reset credits (for these non-percentage rows, Mimir triggers the low-quota badge when they fall below their threshold).

Symptom Likely cause / fix
No Codex card No session records under ~/.codex — use Codex once
No countdown No reset time found in the local file; percentage is still shown
Stale data The API may be unreachable; Mimir shows the local fallback or last snapshot

Antigravity

Antigravity

Mimir shows group-based quotas for Antigravity. Antigravity no longer manages quota per-model but through shared group pools: a Gemini group and a Claude + GPT group. Each group has a weekly and a 5-hour window.

Data source. Mimir tries the following sources in order and uses the first that succeeds:

  1. Group quota summary — the grouped weekly + 5-hour summary that backs the IDE's "Model Quota" page (primary live source).
  2. Cloud Code authorized API — a fetchAvailableModels call with your Cockpit account's token.
  3. Cockpit cache — the last authorized data stored locally.
  4. Local language server data. Several can be running at once — the desktop app and the IDE each start their own, and both report the same account quota — so Mimir asks each in turn until one answers. A server that has just launched can reply with an auth error while its sibling serves fine, and stopping at the first one would drop the whole source.
  5. Last snapshot — when the IDE/Cockpit is closed, valid until its reset time passes.

When the IDE is closed. When the IDE or Cockpit is closed, Mimir shows the last snapshot; if there is no account info at all, the card shows open Antigravity or Cockpit.

Symptom Likely cause / fix
"open Antigravity or Cockpit" note Account info couldn't be read — open the IDE or Cockpit
Data looks dimmed The IDE/Cockpit closed; the last snapshot is being shown
Quotas differ from expected Antigravity uses group-pool logic; read by group, not per-model

🔒 Privacy: All reads are local / against authorized endpoints; your quotas and tokens stay on your machine and reach no Mimir server — there is none. Crash reports and anonymous, categorical telemetry are the only outbound extras. See Privacy & Security.

Privacy & Security

Mimir is designed to be privacy-first. The core principle is simple:

No personal data or API key ever leaves your machine to reach Mimir's servers — because Mimir has no such servers.

What Mimir reads

Mimir reads only local sources:

  • The AI tools' config/log files: ~/.claude, ~/.codex, etc.
  • Entries in the macOS Keychain created by the respective apps (tokens).
  • The Claude desktop app's session cookie, decrypted with the same macOS Keychain key the app itself uses — this is what gives Claude's live reading.

This is data your tools already create on your machine; Mimir only reads it.

Where data goes

Mimir only makes requests to each service's own official endpoint, with that service's own token (to fetch usage info):

  • Anthropic's OAuth usage endpoint for Claude
  • The ChatGPT usage API for Codex
  • Google Cloud Code authorized endpoints for Antigravity

These requests are the same kind the tool itself would make. Mimir inserts no server of its own, and your quota figures and tokens are relayed to no one.

Two services do receive data, and neither gets anything about your usage:

Service What it receives Control
Sentry Crash and error reports — technical app health only Always on in released builds
TelemetryDeck Anonymous, categorical signals: which providers are in use (the provider name, never a value) and how many widgets are placed Opt-out from the popover menu

No quota percentages, reset times, credit balances, account ids or tokens are ever sent to either. Development builds send nothing at all.

Token handling

  • Tokens are kept in memory as much as possible; the Keychain (and its permission prompt) is touched only at startup and around token expiry.
  • The Claude token is read, never refreshed or written back: Anthropic rotates it single-use, so refreshing from outside would sign Claude Code out. With Prompt-free Claude tracking on, the Keychain isn't touched at all.
  • A rejected (401/403) token is dropped from the cache; a dead token is not retried over and over.

Crash/diagnostic data

To monitor app stability, crash/diagnostic reporting (Sentry) is included. It does not contain your usage quota or tokens; it is limited to data about the app's technical health.

Open source

Mimir is open source (MIT). You can verify all of the above in the source code:

github.com/erayendes/mimir →

Roadmap

Note

The full roadmap is tracked as GitHub issues — new services, credit tracking, Homebrew distribution, and more. View open issues →

About the name

Mímir is a figure from Norse mythology renowned for knowledge and wisdom — the guardian of the well beneath Yggdrasil from which Odin drank, sacrificing an eye for insight. After he was beheaded in the Æsir–Vanir war, Odin preserved his head and kept consulting it for counsel. The name fits the app: a quiet advisor that, at a single glance, tells you how much you have left and when it resets.

Contributing

Bug reports and pull requests are welcome. For major changes, please open an issue first. See Contributing · Support & FAQ · Changelog.


Türkçe

AI araçlarınızın kullanım limitlerini macOS menü çubuğundan takip edin.

Beta'ya katılın

Tip

Yeni sürümleri test etmek ve fikirlerinizi paylaşmak için Beta'ya katılın. Katılmak için menü çubuğundaki Mimir'e sağ tıklayın ve Beta'ya katıl'ı seçin. Beta sürümleri otomatik gelir. Hemen almak isterseniz panelin altındaki sürüm numarasına tıklayın.

Mimir; Claude, Codex ve Antigravity (Gemini, Claude ve GPT gruplarını kapsar) gibi AI araçlarınızın kullanım limitlerini ve yenilenme sürelerini iş akışınızı bölmeden macOS menü çubuğundan anlık olarak gösteren hafif bir uygulamadır.

Özellikler

  • Menü çubuğunda tek bakış — tüm AI servislerinizin durumu tek bir popover'da
  • Anlık limitler — seans ve haftalık kotalar, model bazlı satırlar ve kredi bakiyeleri gerçek zamanlı güncellenir
  • Masaüstü widget'ları — Small ve Medium, her biri tek model, yüzeyi seans kotasıyla yıkanmış
  • Geri sayım — her limitin tam olarak ne zaman yenileneceğini gösterir
  • Durum renkleri — kalan kotaya göre yeşil / amber / kırmızı, popover'da ve widget'larda
  • Minimalist tasarım — monokrom ikon, macOS açık/koyu tema desteği
  • Arka uç yok — Mimir yalnızca her sağlayıcının kendi uç noktasına, o sağlayıcının kendi token'ıyla bağlanır; kota bilgileriniz ve token'larınız başka hiçbir yere gitmez

Desteklenen servisler

Servis Veri kaynağı
Claude Claude masaüstü uygulaması oturumu veya Claude Code OAuth (~/.claude)
Codex ChatGPT kullanım API'si + yerel JSONL yedeği
Antigravity Yerel dil sunucusu + Cockpit (Gemini ve Claude/GPT grupları)

Kurulum

Gereksinimler

  • macOS 14.0 (Sonoma) veya üzeri
  • Kaynaktan derleyecekseniz: Swift 6.0+ (Xcode 16 ile birlikte gelir)

Seçenek 1 — Hazır sürümü indir (önerilen)

  1. Releases sayfasından en güncel Mimir.zip dosyasını indirin.
  2. Arşivi açın ve Mimir.app'i Uygulamalar klasörünüze sürükleyin.
  3. Mimir'i çalıştırın — menü çubuğunda Mimir ikonu belirir.

ℹ️ Notarize edilmiştir — Dağıtılan sürümler Apple tarafından notarize edilir; Gatekeeper uyarısı almazsınız. (Sürümler tamamen CI üzerinde imzalanıp notarize edilir.)

Seçenek 2 — Kaynaktan derle

git clone https://github.com/erayendes/mimir.git
cd mimir
./script/build_and_run.sh install

build_and_run.sh betiği uygulamayı derler, imzalar ve çalıştırır.

Komut Ne yapar
./script/build_and_run.sh Derle + imzala + çalıştır
./script/build_and_run.sh logs Log akışı ile birlikte çalıştır
./script/build_and_run.sh install Derleyip Uygulamalar'a kur

İlk çalıştırma

Mimir ilk açıldığında, oturum açıldığında otomatik başlatma (Launch at Login) için bir kez izin sorar. Bu sayede kullanım durumunuz her zaman menü çubuğunda hazır olur.

Bu tercihi daha sonra Sistem Ayarları › Genel › Açılış Öğeleri (Login Items) üzerinden değiştirebilirsiniz.

İlk açılışta servislerin görünmesi için ilgili AI araçlarına en az bir kez giriş yapmış olmanız gerekir (Mimir o araçların oluşturduğu yerel verileri okur). Detaylar için her servisin kendi sayfasına bakın:

Claude, Codex ve Antigravity için bkz. Servisler.

Güncelleme

Mimir, Sparkle ile kendi içinden güncellenir. Açılır penceredeki menüden Güncellemeleri Denetle'yi kullanabilir veya yeni Mimir.zip dosyasını Releases sayfasından indirebilirsiniz.

Takıldığınız bir nokta olursa → Destek & SSS.

Menü çubuğunu okuma

Mimir'in tüm arayüzü menü çubuğunda küçük bir Mimir simgesi olarak yaşar. Tıklayınca popover açılır; bakışta görülecek sayılar masaüstü widget'larında.

Durum renkleri — gösterilen penceredeki kalan yüzdeye göre:

Renk Kalan Anlamı
🟢 Yeşil %40–100 Bol hakkınız var
🟡 Amber %10–39 Azalıyor
🔴 Kırmızı %10'un altı Limite yakın

Açılır pencere (popover) — simgeye tıklayınca açılır. Her servis bir karttır: ad ve marka ikonu, belirgin gösterilen seans (5 saatlik) kotası (yüzde + geri sayım), haftalık özet satırı, per-model kota veya kredi satırları, (i) bilgi simgesi ve bir durum notu (örn. "token süresi doldu — Claude Code'u aç"). Bir servisin seans penceresi yoksa haftalık okuma o alana terfi eder. Yenilenme süreleri kısa birimlerle: örn. 2s 15d.

Yenileme & eski veri — Mimir dakikada bir ve her popover açılışında yeniler; bir servis hız sınırına (HTTP 429) takılırsa geri çekilir ve son bilinen veriyi gösterir. Canlı kaynak kaybolduğunda (ör. Antigravity IDE'si kapanınca) kart yok olmaz, soluk (dimmed) hâlde son anlık görüntüyle kalır. Yeterince uzun süre ulaşılamazsa popover'ın üstünde bir uyarı belirir; köşesindeki × ile kapattığınızda o servisin noktaları da menü çubuğundan gider. Servis tekrar veri verince ikisi de geri gelir, böylece sonraki bir kesinti yine bildirilir.

Servisler

Atla: Claude · Codex · Antigravity

Claude

Claude

Mimir, Claude hesabınızın kullanım limitlerini gösterir: seans (5 saatlik) ve haftalık pencereler ile yenilenme zamanları.

Veri kaynağı. Sırayla denenen iki yol var:

  1. Claude masaüstü uygulamasının oturumu (tercih edilen). Mimir, uygulamanın kendi oturum çerezini, uygulamanın da kullandığı macOS Keychain anahtarıyla çözer ve hesabınızın canlı kullanımını claude.ai'den okur. Çoğu kullanıcının gerçekte bulunduğu yer burasıdır; CLI kullanıp kullanmadığınızdan bağımsız olarak doğru kalır.
  2. Claude Code'un OAuth token'ı ile Anthropic'in resmî kullanım uç noktası:
GET https://api.anthropic.com/api/oauth/usage
  • Token, Claude Code'un ~/.claude altındaki kayıtlarından / macOS Keychain'den okunur.
  • Yanıt 5 dakikalık bir önbelleğe alınır; böylece Keychain'e yalnızca uygulama başlarken ve token süresi dolmaya yakınken dokunulur.
  1. Claude Code'un durum satırı — sağ tık menüsündeki Parolasız Claude takibi açıkken. ~/.claude/settings.json içine konan küçük bir kanca, Claude Code'un zaten çektiği oturum JSON'unu — resmî 5 saatlik ve 7 günlük sayılarıyla — alır ve ~/.claude/mimir-usage.json dosyasına yazar. Keychain yok, token yok, ağ yok, izin penceresi yok. Kanca tazeyken (Claude Code son 30 dakikada bir durum satırı çizmişse) arka plan yenilemesi Keychain'e hiç dokunmaz; token süresi dolmuş ya da sessizce okunamıyorsa kartı bu kanca doldurur. Mevcut bir statusLine komutu silinmez, zincire eklenir; ilk yazımdan önce settings.json yedeklenir.

Token okunur, yenilenmez. Anthropic refresh token'ı tek kullanımlık döndürür; dışarıdan yapılan bir yenileme Claude Code'un oturumunu düşürür. Mimir yalnızca Claude Code'un elindeki token'ı okur ve geçerli olduğu sürece kullanır; süresi dolunca kart token süresi doldu — Claude Code'u aç der ve Claude Code bir sonraki kullanımında token'ı kendisi yeniler.

Gösterilen bilgiler. Seans (5 saatlik) ve haftalık kalan yüzdeleri ile sıfırlanma zamanları.

Belirti Olası neden / çözüm
Claude kartı yok Claude Code'a hiç giriş yapılmamış olabilir — bir kez açıp giriş yapın
"token süresi doldu" notu Claude Code'u açın; token yenilenince düzelir
"open Mimir to refresh Claude" notu Token izin penceresi olmadan okunamadı; popover'ı açmak bunu sağlayan kullanıcı eylemidir
Tekrarlayan Keychain izin pencereleri Claude Code her token yenilemesinde Keychain kaydını yeniden yazdığı için Her Zaman İzin Ver kalıcı olmaz — Parolasız Claude takibi'ni açın
Veri donuk / soluk Geçici hata ya da hız sınırı; Mimir son bilinen veriyi gösterir, kısa süre sonra yeniler

Codex

Codex

Mimir, Codex için seans ve haftalık kotaları gösterir. İki kaynağı sırayla dener.

Veri kaynağı. Mimir önce canlı ChatGPT kullanım API'sini sorgular. Başarısız olursa Codex'in yerel oturum kayıtlarına geri düşer:

  1. ChatGPT kullanım API'si (canlı) — birincil kaynak.
  2. Yerel ~/.codex/sessions JSONL yedeği — API erişilemezse.
  3. Her ikisi de başarısız olursa son bilinen anlık görüntü (snapshot).

Yerel yedek nasıl okunur? ~/.codex/sessions altındaki en güncel .jsonl dosyası sondan başa taranır; token_count olaylarındaki rate_limits alanı okunur.

Pencereler nasıl sınıflandırılır? Her pencere, geldiği slota göre değil gerçek uzunluğuna göre tanınır. OpenAI Temmuz 2026'da Codex'in 5 saatlik limitini kaldırdı; geriye tek pencere olarak haftalık olan kaldı — üstelik eskiden "5 saatlik" anlamına gelen primary slotunda. 25 Ağustos 2026'dan beri 5 saatlik pencere Plus hesaplarda geri döndü; haftalığın yerine değil, yanına. Pro hesaplarda hâlâ yalnızca haftalık pencere dönüyor. İki şekil de güncelleme gerektirmeden çalışıyor, çünkü Mimir slota değil uzunluğa bakıyor. 6 saat ve altı seans, daha uzunu uzun vadeli kota sayılır. Uzunluk bilgisi yoksa Mimir sıfırlanmanın ne kadar uzakta olduğuna bakar (5 saatlik bir pencere asla 5 saatten uzağa sıfırlanamaz), en son çare olarak slota. Seans penceresi yoksa kart o bloğu düşürür ve yanıltıcı bir %100 göstermek yerine uzun vadeli okumayı öne çıkarır.

Uzun vadeli pencereler 7 gün varsayılmaz, gerçek boyutuyla etiketlenir. Rozet ("7g", "30g") pencerenin bildirilen toplam uzunluğundan gelir — ChatGPT Go 2026 ortasında ~30 günlük pencereye geçti, Plus/Pro haftalık kaldı. Rozet yalnızca pencere uzunluğundan türetilir, geri sayımdan asla: 30 günlük bir pencerenin 27. gününde de rozet "30g" yazar. Sağlayıcı uzunluk bildirmiyorsa Mimir tahmini bir sayı yazmak yerine düz haftalık etiketini gösterir.

📝 Not: Yerel dosyada sıfırlanma zamanı bulunamazsa kart yine kalan yüzdeyi gösterir, ancak geri sayım gösterilmeyebilir (kart bunu bir notla belirtir).

Sıfırlama hakkı. Bakiyenin yanında Codex'te sıfırlama hakkı olabilir — dolan bir kota penceresini temizleyen tek kullanımlık haklar. Mimir bunları ChatGPT API'sinden okur; kaç tane olduğunu ve ilkinin ne kadar süre sonra dolacağını gösterir. Yalnızca hem hâlâ kullanılabilir hem de süresi dolmamış haklar sayılır (bir hak iki sorgu arasında süresini doldurabilir); hiç yoksa satır hiç çizilmez. Bu ek bir okumadır: istek başarısız olursa Codex kartının geri kalanı etkilenmez.

Gösterilen bilgiler. Seans (5 saatlik) ve haftalık kalan yüzdeleri ile sıfırlanma zamanları. Uygun olduğunda kredi bakiyesi ve sıfırlama hakkı gibi değer satırları (yüzde olmayan bu satırlar için Mimir, eşik altına inildiğinde düşük-kota rozetini tetikler).

Belirti Olası neden / çözüm
Codex kartı yok ~/.codex altında oturum kaydı yok — Codex'i bir kez kullanın
Geri sayım görünmüyor Yerel dosyada sıfırlanma zamanı bulunamadı; yüzde yine de gösterilir
Veri eski API erişilemiyor olabilir; Mimir yerel yedeği veya son snapshot'ı gösterir

Antigravity

Antigravity

Mimir, Antigravity için grup bazlı kotaları gösterir. Antigravity kotayı artık per-model değil, paylaşılan grup havuzları üzerinden yönetir: bir Gemini grubu ve bir Claude + GPT grubu. Her grubun bir haftalık ve bir 5 saatlik penceresi vardır.

Veri kaynağı. Mimir aşağıdaki kaynakları sırayla dener ve ilk başarılı olanı kullanır:

  1. Grup kota özeti — IDE'nin "Model Quota" sayfasını besleyen, gruplanmış haftalık + 5 saatlik özet (birincil canlı kaynak).
  2. Cloud Code yetkili API'si — Cockpit hesabınızın token'ıyla fetchAvailableModels çağrısı.
  3. Cockpit önbelleği — yerel olarak saklanan son yetkili veri.
  4. Yerel dil sunucusu (language server) verisi. Aynı anda birden fazlası çalışıyor olabilir — masaüstü uygulaması ve IDE ayrı ayrı kendi sunucusunu başlatır, ikisi de aynı hesap kotasını bildirir — bu yüzden Mimir cevap alana kadar hepsini sırayla dener. Yeni başlamış bir sunucu kimlik doğrulama hatası döndürürken diğeri sorunsuz cevap verebilir; ilkinde durmak kaynağın tamamını düşürürdü.
  5. Son anlık görüntü (snapshot) — IDE/Cockpit kapalıysa, sıfırlanma zamanı geçene kadar geçerli.

IDE kapalıyken. IDE veya Cockpit kapalıyken Mimir son anlık görüntüyü gösterir; hiç hesap bilgisi yoksa kart Antigravity veya Cockpit'i aç notunu verir.

Belirti Olası neden / çözüm
"Antigravity veya Cockpit'i aç" notu Hesap bilgisi okunamadı — IDE'yi veya Cockpit'i açın
Veri soluk görünüyor IDE/Cockpit kapandı; son snapshot gösteriliyor
Kotalar beklenenden farklı Antigravity grup havuzu mantığı kullanır; per-model değil grup bazında okuyun

🔒 Gizlilik: Tüm okuma yereldir/yetkili uç noktalarladır; kotalarınız ve token'larınız makinenizden çıkıp bir Mimir sunucusuna gitmez — çünkü yoktur. Dışarı giden tek ek, çökme raporları ve anonim telemetridir. Bkz. Gizlilik ve Güvenlik.

Gizlilik ve Güvenlik

Mimir, gizlilik odaklı tasarlanmıştır. Temel ilke basittir:

Hiçbir kişisel veri veya API anahtarı, makinenizden çıkıp Mimir'in sunucularına gitmez — çünkü Mimir'in böyle bir sunucusu yoktur.

Mimir ne okur?

Mimir yalnızca yerel kaynakları okur:

  • AI araçlarının yapılandırma/log dosyaları: ~/.claude, ~/.codex vb.
  • macOS Keychain'de ilgili uygulamaların oluşturduğu kayıtlar (token'lar).
  • Claude masaüstü uygulamasının oturum çerezi; uygulamanın kendi kullandığı macOS Keychain anahtarıyla çözülür — Claude'un canlı okumasını sağlayan kaynak budur.

Bu veriler, kullandığınız araçların makinenizde zaten oluşturduğu verilerdir; Mimir bunları sadece okur.

Veri nereye gider?

Mimir yalnızca, ilgili servisin kendi resmî uç noktasına, o servisin kendi token'ıyla istek atar (kullanım bilgisini almak için):

  • Claude için Anthropic'in OAuth kullanım uç noktası
  • Codex için ChatGPT kullanım API'si
  • Antigravity için Google Cloud Code yetkili uç noktaları

Bu istekler, aracın kendisinin yapacağı isteklerle aynı niteliktedir. Mimir araya kendi sunucusunu sokmaz; kota bilgileriniz ve token'larınız hiç kimseye iletilmez.

İki servis veri alır, ikisi de kullanımınıza dair hiçbir şey görmez:

Servis Ne alır Denetim
Sentry Çökme ve hata raporları — yalnızca uygulamanın teknik sağlığı Yayınlanan sürümlerde her zaman açık
TelemetryDeck Anonim, kategorik sinyaller: hangi sağlayıcıların kullanıldığı (yalnızca sağlayıcının adı, hiçbir değer değil) ve kaç widget eklendiği Popover menüsünden kapatılabilir

İkisine de kota yüzdesi, sıfırlanma zamanı, kredi bakiyesi, hesap kimliği veya token gönderilmez. Geliştirme sürümleri hiçbir şey göndermez.

Token yönetimi

  • Token'lar mümkün olduğunca bellekte tutulur; Keychain'e (ve onun izin istemine) yalnızca başlangıçta ve token süresi dolmaya yakınken dokunulur.
  • Claude token'ı yalnızca okunur; yenilenmez, geri yazılmaz. Anthropic onu tek kullanımlık döndürdüğü için dışarıdan yenilemek Claude Code'un oturumunu düşürür. Parolasız Claude takibi açıkken Keychain'e hiç dokunulmaz.
  • Reddedilen (401/403) bir token önbellekten düşürülür; ölü token tekrar tekrar denenmez.

Hata/teşhis verisi

Uygulamanın kararlılığını izlemek için çökme/teşhis raporlaması (Sentry) bulunur. Bu, kullanım kotanızı veya token'larınızı içermez; uygulamanın teknik sağlığına ilişkin verilerle sınırlıdır.

Açık kaynak

Mimir açık kaynaktır (MIT). Yukarıdakilerin tümünü kaynak kodunda doğrulayabilirsiniz:

github.com/erayendes/mimir →

Yol Haritası

Note

Yol haritasının tamamı GitHub issue'ları olarak takip ediliyor — yeni servisler, kredi takibi, Homebrew dağıtımı ve daha fazlası. Açık issue'ları görüntüle →

Meraklısına: İsmin hikâyesi

Mímir, İskandinav mitolojisinde bilgelik ve bilgiyle anılan bir figürdür — Yggdrasil'in kökündeki bilgelik kuyusunun bekçisidir; Odin o kuyudan içip kavrayış kazanmak için bir gözünü feda eder. Æsir–Vanir savaşında başı kesildikten sonra Odin başını saklayıp akıl danışmak için ona başvurmaya devam eder. İsim uygulamayla örtüşüyor: tek bakışta ne kadar hakkınız kaldığını ve ne zaman yenileneceğini söyleyen sessiz bir danışman.

Katkıda Bulunma

Hata raporları ve pull request'ler memnuniyetle karşılanır. Büyük değişiklikler için önce bir issue açın. Bkz. Katkı · Destek & SSS · Sürüm Notları.


MIT © Eray Endes

About

AI tool usage limits tracker for your macOS menu bar — Claude, Codex & Antigravity

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

27 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages