51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
# ClaudeChecker for Windows
|
||
|
||
A native Windows port of ClaudeChecker — a system tray app for monitoring your Claude AI usage limits in real time.
|
||
|
||
## Requirements
|
||
|
||
- Windows 10 / 11 (x64)
|
||
- [.NET 8 Runtime](https://dotnet.microsoft.com/download/dotnet/8.0)
|
||
- [WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2/) (usually pre-installed on Windows 11)
|
||
|
||
## Building
|
||
|
||
```powershell
|
||
cd windows
|
||
dotnet build -c Release
|
||
```
|
||
|
||
The output is a single `ClaudeChecker.exe` in `bin\Release\net8.0-windows\`.
|
||
|
||
> **Assets:** You need to supply `Assets/icon.ico` and `Assets/icon.png` (128×128) before building.
|
||
> Copy them from the macOS project's `ClaudeChecker/Assets.xcassets/AppIcon.appiconset/`.
|
||
|
||
## Features
|
||
|
||
- System tray icon — left-click to show/hide the popup
|
||
- 5-hour and 7-day usage gauges with burn rate sparklines
|
||
- Cookie-based auth via embedded WebView2 browser (sign in once, session persists)
|
||
- Auto-refresh on a configurable interval (1–10 min)
|
||
- Update checking against the same `version.json` / `version-beta.json` as the macOS app
|
||
- Beta channel toggle
|
||
- Settings panel (auth, refresh interval, update channel)
|
||
|
||
## Architecture
|
||
|
||
| File | Purpose |
|
||
|---|---|
|
||
| `App.xaml.cs` | Tray icon, popup lifecycle, refresh timer |
|
||
| `PopupWindow.xaml/cs` | Main UI — limit cards, settings, update sheet |
|
||
| `LoginWindow.xaml/cs` | WebView2 browser for claude.ai auth |
|
||
| `UsageViewModel.cs` | Data fetching, cookie handling, state |
|
||
| `UpdateManager.cs` | Version checking, download and install |
|
||
| `Models.cs` | Data models |
|
||
| `Controls/GaugeControl.cs` | Custom circular gauge |
|
||
| `Controls/SparklineControl.cs` | Burn history sparkline |
|
||
|
||
## Notes
|
||
|
||
- Cookies are stored in user settings (via `Properties.Settings`), not the WebView2 profile, so they survive WebView2 cache clears.
|
||
- Updates download a `.zip`, extract, and run a `.bat` script that replaces the exe after the app exits.
|
||
- The popup positions itself in the bottom-right corner near the system tray.
|