Files
boss/docs/superpowers/specs/2026-03-27-wechat-native-ui-rollback-design.md
2026-03-27 01:42:05 +08:00

266 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Boss 原生 Android 微信式 UI 回退设计
日期:`2026-03-27`
## 1. 背景
当前 `Boss` 项目已经把 Android 客户端切换到原生架构并打通了登录恢复、OTA、主 Agent、设备同步和 API 链路。但前台 UI 被改得过于偏“控制台 / 运维面板”,偏离了用户确认过的那版“微信式交互”目标。
本次工作的目标不是推翻原生 Android 路线,也不是重做后端,而是把前台体验回退到用户认可的版本:
- 保留当前原生 Android 架构
- 保留现有 API、登录恢复、OTA、设备绑定等底层能力
- 将 UI 和交互回退到“微信式”版本
## 2. 目标
本次回退后的 APP应满足以下目标
1. 打开 APP 后,首先看到的是微信式会话列表
2. 底部一级导航固定为 `会话 / 设备 / 我的`
3. 会话首页是极简聊天列表,不再以控制台卡片为主
4. 项目聊天页以消息流为主体,业务信息降到最小
5. 设备页和我的页回到微信式简单列表
6. 现有底层能力继续可用,但退出主视觉核心区域
7. 未经用户确认,不再做明显偏离微信式体验的大幅视觉发挥
## 3. 非目标
本次不做以下事情:
- 不回退到 WebView 壳路线
- 不重做服务器部署和 API 路线
- 不重写状态模型或文件存储
- 不删除 OTA、AI 账号、主 Agent、设备绑定等底层能力
- 不扩展新的业务模块
- 不继续做“控制台式”信息增强
## 4. 用户确认后的设计结论
本次设计结论来自已确认的用户输入:
- 保留现有原生 Android 架构
- 首页更接近微信聊天列表,而不是业务控制台
- 设备页与我的页都采用微信式简单列表
- 单个项目聊天页尽量像微信聊天页
- 业务入口只保留 `项目目标``版本记录`
- 线程预算、转发、handoff、风险摘要、运维面板等不再进入主 UI
## 5. 信息架构
### 5.1 一级导航
底部固定一级导航:
- `会话`
- `设备`
- `我的`
要求:
- 一级导航始终固定在底部
- 一级导航切换不丢当前 tab 的页面状态
- 不允许再次出现“滑到页面最底部才出现导航”的行为
- 一级导航视觉上接近微信的底部 tab而不是控制台式按钮组
### 5.2 二级导航
保留以下二级页,但弱化控制台味:
- 会话详情
- 项目目标
- 版本记录
- 设备详情
- 添加设备
- 账号与安全
- AI 账号
- 设置
- 技能
- 关于
下列内容不再作为主 UI 核心入口呈现:
- 线程预算
- 转发
- handoff / 调度摘要
- 风险说明
- 运维 / 审计大盘
这些能力如仍需保留,只能后移到更深层或调试入口,不得继续占据主页面主体区域。
## 6. 页面设计
### 6.1 会话首页
会话首页回退为微信式聊天列表。
每一行仅保留:
- 左侧头像
- 中间标题
- 中间最后一条消息预览
- 右侧时间
- 未读数
约束:
- 不再展示大块统计卡片、摘要卡片、控制台说明卡片
- 不在列表主行展示线程预算、风险等级、设备数、quota 等业务字段
- 主 Agent 仍置顶,但只通过位置或轻量标识体现,不做特殊面板
- 多设备项目允许保留群聊式头像组合,但排版必须仍然像聊天列表
### 6.2 项目聊天页
聊天页回退为微信式聊天页。
布局规则:
- 顶部是常规标题栏
- 聊天主体是消息流
- 输入区是主要操作区
- 只保留两个轻量入口:
- `项目目标`
- `版本记录`
这两个入口放在聊天页顶部轻量区域,不允许做成重控制条或大功能区。
明确移除出主界面的内容:
- 线程预算展示块
- handoff 状态块
- 主 Agent 调度摘要块
- 风险说明块
- 转发主入口
### 6.3 设备页
设备页回退为微信式简单列表。
每个设备条目仅保留:
- 头像
- 设备名
- 一行轻描述,例如在线状态或绑定账号
不再在列表主行展示:
- quota
- endpoint
- note
- 技能数量
- 监控式数字摘要
`添加设备` 保留,但做成普通列表入口或轻量操作入口。
### 6.4 我的页
我的页回退为微信“我”式结构。
顶部保留:
- 头像
- 昵称
- 账号信息
主菜单保留:
- `账号与安全`
- `AI 账号`
- `设置`
- `技能`
- `关于`
约束:
- `技能` 是普通菜单项,不做重卡片
- 运维 / 审计 / 修复类内容不再占据我的页主视觉
- 如果保留运维能力,必须下沉到更深层入口
## 7. 交互规则
### 7.1 返回逻辑
返回逻辑按移动端常识收口:
- 从会话详情返回到会话列表
- 从设备详情返回到设备列表
- 从我的二级页返回到我的首页
- 在一级页根节点按返回,不应直接出现异常退出体验
- 优先返回到当前 tab 根页;已经在根页时,再按移动端规则进入后台
### 7.2 状态保持
- 一级 tab 切换后应保留该 tab 已有滚动和浏览状态
- 不允许切 tab 后强制回到异常中间页
- 不允许聊天页返回后丢失会话列表位置
### 7.3 视觉约束
本次 UI 回退的视觉原则:
- 白底、浅分割、轻卡片或无卡片
- 列表优先,而不是仪表盘优先
- 信息克制
- 熟悉、直接、低学习成本
明确禁止:
- 假状态栏
- 桌面预览壳
- 大段控制台说明文案
- 监控面板式色块
- 未确认的大幅品牌化发挥
## 8. 保留不动的底层能力
以下能力继续保留,但不作为主 UI 核心呈现:
- 原生 Android 架构
- `BossApiClient` 与现有 API 路由
- 登录态与 `restore token`
- OTA 下载与安装链路
- 主 Agent 真实执行链路
- AI 账号与 API 容灾配置
- 设备绑定与本地 agent 上报
## 9. 实现边界
本次实现聚焦于 Android 原生前台体验,优先改造:
- `MainActivity`
- 会话列表和会话详情原生页
- 设备列表和设备详情首屏
- 我的首页及菜单化入口
- 底部导航、顶部栏、返回逻辑、列表单元、消息样式
本次不主动改动:
- Web 业务逻辑
- 服务端数据模型
- 部署链路
- 认证和 OTA 的底层实现
## 10. 验收标准
本次回退完成后,应满足:
1. APP 首页视觉第一印象是微信式聊天列表
2. 底部只有 `会话 / 设备 / 我的`
3. 聊天页主体是消息流,只保留 `项目目标 / 版本记录`
4. 设备页和我的页都是简单列表,而不是控制台
5. 返回逻辑符合手机用户直觉
6. 主 Agent、登录恢复、OTA、设备等底层能力仍正常可用
7. 没有再次出现未经确认的大幅 UI 风格漂移
## 11. 推荐实施顺序
建议按以下顺序实施:
1. 调整底部导航、返回逻辑和一级页骨架
2. 重做会话首页
3. 重做项目聊天页
4. 收口设备页
5. 收口我的页
6. 统一列表、按钮、间距、颜色和消息气泡样式
7. 每一批都执行编译、真机验证和文档同步