# Claude Meter — лимит Claude Code на часах Минимальное Wear OS приложение для Galaxy Watch 6 Classic (и любых Wear OS 3+). Опрашивает `api.anthropic.com` так же, как [Clawdmeter](https://github.com/HermannBjorgvin/Clawdmeter), но без ESP32/демона/BLE — часы ходят на API сами по WiFi. Показывает: - **5h** — загрузка 5-часового окна (%) и минуты до сброса - **7d** — загрузка недельного окна (%) и минуты до сброса - **status** — `normal` / `banned` / `unknown` Цвет: зелёный <70%, янтарь 70–90%, красный ≥90%. ## Архитектура (минимум) - **mobile** (телефон) — одно приложение, две функции: 1. Поле ввода OAuth-токена + кнопка «Отправить токен» (через Wearable Data Layer). 2. Установка wear APK на часы по WiFi ADB — без компьютера, прямо с телефона. Использует [dadb](https://github.com/mobile-dev-inc/dadb) — pure-Kotlin ADB-клиент. Wear APK встроен в mobile APK (assets), копируется при установке. - **wear** (часы): - `TokenReceiverService` — `WearableListenerService`, ловит `/token` даже когда app закрыто. - `TokenStore` — `EncryptedSharedPreferences` (токен шифруется на устройстве). - `ApiPoller` — один `HttpURLConnection` POST к `api.anthropic.com/v1/messages` (`max_tokens=1`, haiku — самый дешёвый запрос ради rate-limit заголовков). - `MainActivity` — Compose for Wear, авто-опрос при запуске + кнопка «Обновить». ## APK После `./gradlew assembleDebug`: - `mobile/build/outputs/apk/debug/mobile-debug.apk` — для телефона (27 МБ, включает wear APK) - `wear/build/outputs/apk/debug/wear-debug.apk` — для часов (22 МБ, можно ставить и вручную) ## Установка ### Шаг 1: поставить mobile APK на телефон ``` adb install -r mobile/build/outputs/apk/debug/mobile-debug.apk ``` Или скопировать APK на телефон и открыть. ### Шаг 2: включить отладку по WiFi на часах 1. На часах: Settings → About watch → тапнуть 7 раз по «Build number» → Developer mode. 2. Settings → Developer options → **Debug over WiFi** → включить. 3. Запомнить IP-адрес (показан в Developer options под «Debug over WiFi»). ### Шаг 3: установить wear APK с телефона 1. Открыть **Claude Meter Setup** на телефоне. 2. В секции «2. Установка приложения на часы» ввести IP часов и порт (5555). 3. Нажать «Установить на часы». 4. При первом подключении — подтвердить RSA-ключ на часах (появится диалог). 5. Готово — приложение Claude Meter появилось на часах. > ADB-ключ генерируется один раз, хранится в `filesDir` приложения на телефоне. > При следующих установках подтверждение на часах не нужно. ### Шаг 4: отправить токен 1. Скопировать `accessToken` из `~/.claude/.credentials.json` на ПК. 2. В секции «1. Токен Claude Code» вставить токен → «Отправить токен». 3. На часах открыть **Claude Meter** — увидит токен → покажет проценты. Токен протухает (OAuth) — перепастить на телефоне, «Отправить» снова. `// ponytail: token on-device, re-paste on OAuth expiry.` ## Где взять токен Claude Code хранит OAuth-токен в `~/.claude/.credentials.json`: ```json {"claudeAiOauth": {"accessToken": "***..."}} ``` ## Что добавлять потом (не сейчас) - **Фоновое обновление** — `WorkManager` periodic (~15 мин). Сейчас по тапу + при запуске. - **Complication на циферблате** — always-on виджет с %. Больше бойлерплейта, делаем когда v0 зайдёт. - **График истории** — Room + простая диаграмма. YAGNI пока. - **Авто-рефреш токена** — если Claude Code добавит refresh-token flow. Сейчас ручная перепоставка.