From 8439428479e39c555fb32dacc2d0f0f2e7161686 Mon Sep 17 00:00:00 2001 From: kris Date: Fri, 27 Mar 2026 01:42:05 +0800 Subject: [PATCH] docs: add wechat native ui rollback spec --- ...-03-27-wechat-native-ui-rollback-design.md | 265 ++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 docs/superpowers/specs/2026-03-27-wechat-native-ui-rollback-design.md diff --git a/docs/superpowers/specs/2026-03-27-wechat-native-ui-rollback-design.md b/docs/superpowers/specs/2026-03-27-wechat-native-ui-rollback-design.md new file mode 100644 index 0000000..bd85c0e --- /dev/null +++ b/docs/superpowers/specs/2026-03-27-wechat-native-ui-rollback-design.md @@ -0,0 +1,265 @@ +# 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. 每一批都执行编译、真机验证和文档同步