- wear: Compose for Wear UI, polls api.anthropic.com, shows 5h/7d utilization - mobile: companion app — token input + Data Layer API + WiFi ADB install - ADB pairing via libadb-android (SPAKE2 + TLS), pm install on watch - Build: AGP 8.7.3, Gradle 8.13, Kotlin 1.9.22, compileSdk 35
4.8 KiB
4.8 KiB
Claude Meter — лимит Claude Code на часах
Минимальное Wear OS приложение для Galaxy Watch 6 Classic (и любых Wear OS 3+).
Опрашивает api.anthropic.com так же, как Clawdmeter,
но без ESP32/демона/BLE — часы ходят на API сами по WiFi.
Показывает:
- 5h — загрузка 5-часового окна (%) и минуты до сброса
- 7d — загрузка недельного окна (%) и минуты до сброса
- status —
normal/banned/unknown
Цвет: зелёный <70%, янтарь 70–90%, красный ≥90%.
Архитектура (минимум)
- mobile (телефон) — одно приложение, две функции:
- Поле ввода OAuth-токена + кнопка «Отправить токен» (через Wearable Data Layer).
- Установка wear APK на часы по WiFi ADB — без компьютера, прямо с телефона. Использует dadb — pure-Kotlin ADB-клиент. Wear APK встроен в mobile APK (assets), копируется при установке.
- wear (часы):
TokenReceiverService—WearableListenerService, ловит/tokenдаже когда app закрыто.TokenStore—EncryptedSharedPreferences(токен шифруется на устройстве).ApiPoller— одинHttpURLConnectionPOST к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 на часах
- На часах: Settings → About watch → тапнуть 7 раз по «Build number» → Developer mode.
- Settings → Developer options → Debug over WiFi → включить.
- Запомнить IP-адрес (показан в Developer options под «Debug over WiFi»).
Шаг 3: установить wear APK с телефона
- Открыть Claude Meter Setup на телефоне.
- В секции «2. Установка приложения на часы» ввести IP часов и порт (5555).
- Нажать «Установить на часы».
- При первом подключении — подтвердить RSA-ключ на часах (появится диалог).
- Готово — приложение Claude Meter появилось на часах.
ADB-ключ генерируется один раз, хранится в
filesDirприложения на телефоне. При следующих установках подтверждение на часах не нужно.
Шаг 4: отправить токен
- Скопировать
accessTokenиз~/.claude/.credentials.jsonна ПК. - В секции «1. Токен Claude Code» вставить токен → «Отправить токен».
- На часах открыть Claude Meter — увидит токен → покажет проценты.
Токен протухает (OAuth) — перепастить на телефоне, «Отправить» снова.
// ponytail: token on-device, re-paste on OAuth expiry.
Где взять токен
Claude Code хранит OAuth-токен в ~/.claude/.credentials.json:
{"claudeAiOauth": {"accessToken": "***..."}}
Что добавлять потом (не сейчас)
- Фоновое обновление —
WorkManagerperiodic (~15 мин). Сейчас по тапу + при запуске. - Complication на циферблате — always-on виджет с %. Больше бойлерплейта, делаем когда v0 зайдёт.
- График истории — Room + простая диаграмма. YAGNI пока.
- Авто-рефреш токена — если Claude Code добавит refresh-token flow. Сейчас ручная перепоставка.