- Jetpack Compose + Material 3 仪表盘 - DeepSeek REST API 余额查询 - OpenCode Go WebView 抓取用量 - 3 张 Canvas 图表(消耗/请求/Token) - 原始记录分页浏览 - DataStore + 内存缓存 - 桌面小组件 |
||
|---|---|---|
| app | ||
| gradle | ||
| tools/aapt2 | ||
| .gitignore | ||
| AGENTS.md | ||
| build.gradle.kts | ||
| deepseek_original.png | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| README.md | ||
| settings.gradle.kts | ||
| setup_android_env.sh | ||
雨晴Token
Android AI 余额查询 APP —— 统一查看 DeepSeek 和 OpenCode Go 的余额/配额。
功能
- 📊 仪表盘:DeepSeek 余额(¥)+ OpenCode Go 用量(5h/本周/本月)+ 下拉全局刷新
- 📈 用量图表:消耗金额 / API 请求次数 / Token 消耗(3 张 Canvas 图表,支持多粒度筛选)
- 📋 详细数据:原始记录分页浏览,时间+模型筛选,原始数据弹窗
- 🧩 桌面小组件:不打开 APP 也能看用量
- 🔄 自动同步:首页下拉自动同步用量;无缓存时启动自动全量同步
- 🎀 雨晴粉色调 UI
构建
cd Rainytoken
export ANDROID_HOME=$HOME/Android
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64
./gradlew assembleDebug
APK 输出:app/build/outputs/apk/debug/app-debug.apk
技术栈
Kotlin + Jetpack Compose + Material 3 · Hilt + KSP · Retrofit + OkHttp · DataStore · minSdk=31
项目结构
com.rainy.token/
├── data/
│ ├── cache/ # BalanceCache(DataStore)
│ ├── local/ # UsageCache(DataStore + 内存缓存)、UsageRecord、ChartBucket
│ ├── remote/ # DeepSeekApi(Retrofit)+ OpenCodeGo 抓取 + OpenCodeUsageRepository
│ └── repository/ # DeepSeekRepository / OpenCodeGoRepository / CredentialRepository
├── domain/
│ ├── model/ # ServiceBalance、Credential 等
│ ├── service/ # ServiceType 枚举
│ └── usecase/ # RefreshBalanceUseCase / SyncUsageUseCase
├── ui/
│ ├── dashboard/ # DashboardScreen、UsageDetailScreen(图表)、UsageOverviewScreen(总统计)、UsageDataScreen(原始数据)
│ ├── widget/ # 桌面小组件(OpenCodeGoWidgetProvider)
│ └── theme/ # 雨晴粉主题
└── di/ # Hilt 模块