Skip to content

UI Guide

AceGuru-mjh edited this page Oct 1, 2026 · 4 revisions

界面导航地图

🚀 入门 · 🏠 首页 › UI-Guide

Home Version Kotlin Modules Tools License

UI-Guide typing

📑 本页目录

单 Activity + 全 Compose(app/src/main/res 只有资源,没有 View 布局): MainActivity → ModalNavigationDrawer 抽屉导航。本页是"某个功能在哪一屏"的反查表。

1. 抽屉目的地

屏 内容 主要文件
Agent 主聊天:流式气泡 / 思维链 / 工具卡片(实时输出 + 进度条)/ 计划确认卡 / 附件(图片多模态)/ 斜杠命令 / 原生思考档位 / 模式切换 ui/screen/agent/AgentChatScreen.kt + AgentChatViewModel.kt
终端 真 Ubuntu 终端:VT100 渲染、rootfs 引导进度、会话管理 ui/screen/terminal/TerminalScreen.kt + TerminalViewModel.kt
市场 工具 / 技能 / MCP / 插件 / 连接器 五货架(Skill 屏已合并入市场) ui/screen/market/MarketScreen.kt + MarketViewModel.kt
记忆 cs-mem 可视化:Episode 统计 / 宏技能数 / 近期情景 / 删除 ui/screen/memory/MemoryScreen.kt + MemoryViewModel.kt
任务 任务历史(FileTaskStore 持久化) ui/screen/tasks/TaskHistoryScreen.kt + TaskHistoryViewModel.kt
存储 存储用量与文件浏览 ui/screen/storage/StorageScreen.kt + StorageViewModel.kt
权限 Root / Shizuku(三态卡片)/ 无障碍 / 悬浮窗 / 通知 / 存储 ui/screen/permissions/PermissionsScreen.kt
运行日志 结构化运行日志浏览(AppLogger 输出) ui/screen/log/LogViewerScreen.kt
玻璃实验室 Liquid Glass 内部验收页:可拖动玻璃片 / 档位阶梯 / 工具卡状态 / 诚实验收清单 ui/screen/glass/GlassLabScreen.kt
设置 LLM 预设(OpenAI / DeepSeek / OpenRouter / Ollama / 自定义)+ Base URL / Key / 模型 + 温度 + 连接测试 + 通用设置 ui/screen/settings/SettingsScreen.kt + SettingsRepository.kt + SettingsViewModel.kt

另有:

  • Onboarding:首次启动引导(ui/screen/onboarding/OnboardingScreen.kt);
  • 悬浮球:赛博霓虹风格,基于 EasyFloat,可从任意界面唤起应用。

2. Agent 主屏元素解剖

┌──────────────────────────────────────────────────────┐
│ ☰  抽屉   模式:[Build ▾]   思考:[STANDARD ▾]  原生:[NONE ▾]  ⚙ │
├──────────────────────────────────────────────────────┤
│  🧠 思维链(可折叠)      ← AgentEvent.ThinkingChunk        │
│  💬 流式气泡              ← AgentEvent.ResponseChunk        │
│  🧰 工具卡片:参数 / 实时输出 / 进度条 / 结果  ← ToolCall*   │
│  📋 计划确认卡:批准 / 重规划 / 取消  ← PlanAwaiting…       │
│  🗜️ 系统消息:上下文已压缩(before→after) ← ContextCompressed│
│  ⚡ 上下文计量条(水位可视化)                              │
├──────────────────────────────────────────────────────┤
│ [📎] [/]  输入…………………………………………………  原生思考档位   发送 │
│            ↑ 斜杠命令联想(追加不覆盖)      悬浮于消息流之上 │
└──────────────────────────────────────────────────────┘

UI 组件库:

目录 内容
ui/theme/ MaterialTheme 主题定义(Light / Dark / Dynamic Color)
ui/glass/ Haze 支撑的 Liquid Glass 组件系统(见 Liquid Glass)
ui/component/ Markdown 渲染、上下文计量条、斜杠菜单等通用件

3. 权限屏的三态卡片

权限屏对每种权限显示三种状态之一:

状态 表现 操作
已授权 绿色可用 可查看能力说明
可获取 黄色待授权 一键跳转 Shizuku / 系统无障碍设置
不可用 灰色降级说明 告知降级后的可用能力

对应 权限执行链 的三个级别;模型也通过 PrivilegeInfoProvider 知道当前处于哪一级(缺什么会建议装 Shizuku)。

4. 加一屏 UI 的标准姿势

  1. 在 app/src/main/kotlin/com/apex/agent/ui/screen/<name>/ 下建 <Name>Screen.kt + <Name>ViewModel.kt;
  2. 需要数据时加 Hilt 注入的依赖/Repository;
  3. 在 ui/ApexRoot.kt 的抽屉目的地列表注册(含图标与标题);
  4. 遵循玻璃系统:只用已有的 七档材质,不要自制"alpha + blur 冒充玻璃";
  5. 预算:单文件 main ≤1200 行(质量门禁 会卡)。

Note

Skill 屏已从抽屉中移除并合并进市场屏 —— 抽屉里如果还看到"Skill", 说明你跑的是旧版本(注释见 ApexRoot.kt)。

5. 相关页面

footer

🏠 返回首页 · 📚 文档索引 · ❓ FAQ · 🔧 故障排查 · 🗺️ 路线图 · 🐛 提 Issue

Android Guru Agent · v1.4.4 · Kotlin 2.0.21 · Compose · PRoot · Room

Clone this wiki locally