Kotlin Jetpack Compose 界面层 — 原生安卓体验
为什么选 Compose
Jetpack Compose 是 Google 给 Android 做的声明式 UI 框架,相比传统的 XML + View 体系:
- 声明式——写"界面应该是什么样",不是"一步步怎么画"
- 更少样板代码——不需要写 layout XML 和 findViewById
- 与 Kotlin 深度整合——状态管理、协程、类型安全
ZeroAI 作为 Kotlin 项目,选 Compose 是顺理成章的。
界面列表
| 界面 | 说明 |
|---|---|
| 引导流程 | 首次启动的 Welcome → 权限 → 密钥配置 → 完成 |
| 仪表盘 | 守护进程状态、uptime、紧急停止、健康检查 |
| 模型供应商设置 | 8 家开关 + 密钥 + 区域选择 |
| Terminal 标签页 | 对话、斜杠命令、@tty 全终端 |
| Hub | Apps / Skills / Plugins 插件管理、ClawBoy 查看器 |
| 设置 | 记忆后端、cron 定时、SSH 密钥、安全开关 |
| 通道配置 | Telegram / Discord / 邮箱 / Google Messages 接入 |
与其他层的分工
UI 层不做业务逻辑——它只负责:
- 展示数据(从 Rust 核心拉状态)
- 接收用户输入(转给 Rust 核心处理)
- 管理守护进程生命周期(启动 / 停止 / 重启)
- 密钥安全存储(通过 Android Keystore)
业务逻辑、智能体调度、工具执行、通道网关——全部在 Rust 层。
开发者构建
README 里写的:
./gradlew :app:assembleDebug
构建前需要 JDK 17、Android SDK API 35、Rust 工具链。
资料来源:GitHub ZeroAI README