- 新增 web2/ 前端:任务卡看板、风险雷达、决策日志、我的团队、快捷指令 - ChatPanel 增强:风险卡置顶、案卡接入、起诉状向导、语音输入 - 事项看板:点击查看详情弹窗、断点续接(恢复历史对话+matterId) - 保密模式恢复:密码验证后重建内存 session,保留多轮上下文 - 多轮对话:ask/ask-stream/ask-analyze 注入 session 历史,AI 有上下文 - 追问优化:紧扣用户问题,不再偏离主题(社保问社保,工伤问工伤) - 对话区可滚动,输入区固定可见 - 状态机放宽:允许从任意非终态转到 pending_expert - session 存活检查端点,后端重启后自动重建 session - DB migration:风险推送表、案卡表 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
295 lines
12 KiB
Markdown
295 lines
12 KiB
Markdown
# BossAi 产品需求文档(PRD)
|
||
|
||
- **版本**:v2.0(UIUX 重构)
|
||
- **状态**:待确认
|
||
- **日期**:2026-08-30
|
||
- **关联**:ADR-001 前端技术栈、ADR-002 UIUX 范式转变、CHG-20260830-001 UIUX 重构
|
||
|
||
---
|
||
|
||
## 1. 产品定位
|
||
|
||
**一句话**:BossAi 是面向中国中小企业老板的"经营智囊",把 AI 法务参谋、经营决策、生活助理、情绪支持整合为以"事项"为中心的主动式助手。
|
||
|
||
**定位转变**(v1.0 → v2.0):
|
||
|
||
| 维度 | v1.0(现状) | v2.0(本次重构) |
|
||
|---|---|---|
|
||
| 产品形态 | AI 对话工具 | 经营智囊(任务卡片优先) |
|
||
| 交互范式 | 老板主动问 | AI 主动推送 + 老板主动问 |
|
||
| 信息组织 | 按场景分页 | 按"我的事项"聚合,场景为标签 |
|
||
| 画像作用 | 存着、只读 | 驱动个性化指令与推送 |
|
||
| 专家关系 | 目录式 | "我的团队"关系视图 |
|
||
| 移动端 | 桌面缩放 | 原生移动体验(底部 Tab + FAB) |
|
||
|
||
---
|
||
|
||
## 2. 目标用户
|
||
|
||
### 2.1 主用户:中小企业老板(user 角色)
|
||
|
||
- **画像**:25-55 岁,时间碎片化,手机为主,30 秒内要拿到要点
|
||
- **行业**:餐饮、零售、制造、服务业为主
|
||
- **规模**:微型(<10人) ~ 中型(<200人)
|
||
- **痛点**:
|
||
- 不懂法律术语,怕说错话
|
||
- 同时挂着好几件事(合同、用工、税务、决策)
|
||
- 想要"结论+行动",不是"探讨"
|
||
- 决策做完就忘,没有复盘
|
||
- 信任专家但要"我的人",不是"找陌生人"
|
||
|
||
### 2.2 次用户:专家(expert 角色)、管理员(admin 角色)
|
||
|
||
本次重构**不改变** expert/admin 的核心功能,仅做视觉规范对齐(Admin 警示色、ADMIN 徽章)。
|
||
|
||
---
|
||
|
||
## 3. 核心场景(SCENE)
|
||
|
||
| 编号 | 场景 | 用户故事 | 优先级 |
|
||
|---|---|---|---|
|
||
| SCENE-001 | 老板台 | "我打开应用,一眼看到今天要关注的事,不用到处找" | P0 |
|
||
| SCENE-002 | 案卡看板 | "我同时处理 3 件事,每件到哪一步了,一目了然" | P0 |
|
||
| SCENE-003 | 快捷指令 | "我不懂法律,但我点一下就能问'用工合规',AI 帮我组织问题" | P0 |
|
||
| SCENE-004 | 我的团队 | "我咨询过的专家自动成为'我的人',下次直接找他" | P1 |
|
||
| SCENE-005 | 风险雷达 | "AI 主动提醒我行业新规和合同风险,不用我自己查" | P1 |
|
||
| SCENE-006 | 决策日志 | "我上个月做了哪些决策,结果如何,能复盘" | P2 |
|
||
| SCENE-007 | 法务咨询 | "我问合同问题,AI 追问关键事实,给我风险卡和起诉状" | P0(保留优化) |
|
||
| SCENE-008 | 经营决策 | "我纠结要不要扩张,AI 帮我算账给建议" | P0(保留优化) |
|
||
| SCENE-009 | 生活助理 | "我私人问题也能问,保密模式" | P1(保留) |
|
||
| SCENE-010 | 情绪中心 | "我压力大,有人陪我聊聊,阅后即焚" | P1(保留) |
|
||
|
||
---
|
||
|
||
## 4. 信息架构(v2.0)
|
||
|
||
### 4.1 桌面端导航
|
||
|
||
```
|
||
总览
|
||
└─ 老板台(/) ← 重构 Dashboard
|
||
|
||
我的事项
|
||
└─ 事项看板(/matters) ← 新增
|
||
|
||
智囊
|
||
├─ 法务参谋(/legal) ← 保留,接入案卡
|
||
├─ 经营决策(/decisions) ← 保留,接入案卡
|
||
├─ 生活助理(/life) ← 保留
|
||
└─ 情绪中心(/emotion) ← 保留
|
||
|
||
我的资源
|
||
├─ 我的团队(/team) ← 重构 Experts
|
||
├─ 决策日志(/decisions-log)← 新增
|
||
├─ 知识库(/knowledge) ← 保留
|
||
├─ 对话历史(/history) ← 保留
|
||
└─ 我的画像(/profile) ← 保留
|
||
|
||
系统
|
||
└─ 设置(/settings) ← 保留
|
||
```
|
||
|
||
### 4.2 移动端导航(底部 4 Tab + FAB)
|
||
|
||
```
|
||
底部 Tab:
|
||
🏠 老板台(/)
|
||
📋 事项(/matters)
|
||
👥 团队(/team)
|
||
👤 我(/me) ← 聚合 profile/settings/history
|
||
|
||
FAB(+):全局浮动按钮 → 快捷指令面板(底部抽屉)
|
||
```
|
||
|
||
**移动端"我"页**:聚合 我的画像 / 对话历史 / 设置 / 知识库 入口,解决移动端导航深度问题。
|
||
|
||
---
|
||
|
||
## 5. 功能清单(PRD-FUNC)
|
||
|
||
### 5.1 阶段一(P0,2 周)
|
||
|
||
| 编号 | 功能 | 描述 | 关联场景 |
|
||
|---|---|---|---|
|
||
| PRD-FUNC-001 | 老板台 | 替代 Dashboard,展示"今日要事":高风险提醒、待确认事项、专家回复、经营健康度 | SCENE-001 |
|
||
| PRD-FUNC-002 | 事项看板 | 案卡看板视图,按状态分列(待补充事实/待确认/分析中/待专家/已闭环),支持断点续接 | SCENE-002 |
|
||
| PRD-FUNC-003 | 案卡状态机 | 会话绑定案卡,状态:新建→待补充事实→待确认→分析中→待专家(可选)→已闭环 | SCENE-002 |
|
||
| PRD-FUNC-004 | 案卡续接 | 点击案卡进入对应 ChatPanel,恢复会话上下文 | SCENE-002 |
|
||
| PRD-FUNC-005 | ChatPanel 接入案卡 | 新建咨询自动创建案卡,状态随会话推进自动流转 | SCENE-007/008 |
|
||
| PRD-FUNC-006 | 移动端底部 Tab | 重构移动端导航为底部 4 Tab + FAB | SCENE-001 |
|
||
|
||
### 5.2 阶段二(P1,2 周)
|
||
|
||
| 编号 | 功能 | 描述 | 关联场景 |
|
||
|---|---|---|---|
|
||
| PRD-FUNC-007 | 快捷指令面板 | FAB 触发底部抽屉,画像驱动的指令网格 + 语音/文字输入 | SCENE-003 |
|
||
| PRD-FUNC-008 | 画像驱动指令 | 根据行业/规模生成个性化指令(餐饮→用工合规、食安风险) | SCENE-003 |
|
||
| PRD-FUNC-009 | 指令预填模板 | 点击指令预填问题模板,老板补充关键细节即可 | SCENE-003 |
|
||
| PRD-FUNC-010 | 我的团队 | 重构 Experts 为关系视图:咨询过的专家自动入队,显示关系深度 | SCENE-004 |
|
||
| PRD-FUNC-011 | 团队一键咨询 | 从"我的团队"发起咨询,自动带上历史上下文 | SCENE-004 |
|
||
| PRD-FUNC-012 | 语音输入 | 快捷指令面板支持语音输入(Web Speech API) | SCENE-003 |
|
||
|
||
### 5.3 阶段三(P1-P2,2 周)
|
||
|
||
| 编号 | 功能 | 描述 | 关联场景 |
|
||
|---|---|---|---|
|
||
| PRD-FUNC-013 | 风险雷达 | 后端定时扫描知识库新规+画像匹配,推送到老板台 | SCENE-005 |
|
||
| PRD-FUNC-014 | 风险分级推送 | 红(立即)/橙(本周)/蓝(知晓),老板台卡片展示 | SCENE-005 |
|
||
| PRD-FUNC-015 | 决策日志 | 闭环案卡自动归档为决策记录,支持月度/季度复盘 | SCENE-006 |
|
||
| PRD-FUNC-016 | 决策结果标记 | 老板标记决策执行情况(顺利/受阻/未执行),反哺 AI | SCENE-006 |
|
||
| PRD-FUNC-017 | ChatPanel 风险卡置顶 | 风险卡从消息流提取为置顶固定卡片,可独立分享/导出 | SCENE-007 |
|
||
| PRD-FUNC-018 | 起诉状三步向导 | 要素式起诉状改为:预览→编辑→导出/发专家 三步向导 | SCENE-007 |
|
||
|
||
---
|
||
|
||
## 6. UI/UX 设计原则
|
||
|
||
### 6.1 视觉规范
|
||
|
||
| 维度 | 规范 |
|
||
|---|---|
|
||
| 主色 | `indigo-600`(信任+专业),替代当前 gray-900 |
|
||
| 辅色 | `emerald`(安全) / `amber`(注意) / `rose`(风险) |
|
||
| 字体 | Geist,标题加粗,正文 15px(老板友好) |
|
||
| 圆角 | 卡片 `rounded-xl`(12px),按钮 `rounded-lg`(8px) |
|
||
| 容器 | `container mx-auto max-w-7xl px-4`(保留) |
|
||
| 触控 | 移动端最小点击区 44×44px |
|
||
| 禁止 | 硬编码 hex、emoji 作图标、alert/confirm、div onClick |
|
||
|
||
### 6.2 交互规范
|
||
|
||
| 场景 | 规范 |
|
||
|---|---|
|
||
| 页面切换 | 200ms ease-out |
|
||
| 案卡状态变化 | 300ms 过渡 |
|
||
| 案卡手势 | 左滑归档、右滑置顶(移动端) |
|
||
| 空态 | 引导"完善画像解锁更精准建议",非"暂无数据" |
|
||
| 离线 | 顶部条提示 + 本地缓存案卡列表 |
|
||
| 流式输出 | 先出结论卡片,再展开推理过程 |
|
||
| 危险操作 | Dialog 二次确认 |
|
||
|
||
### 6.3 角色化三端
|
||
|
||
| 端 | 风格 | Header | Sidebar |
|
||
|---|---|---|---|
|
||
| C 端(user/老板) | 温暖专业 | `h-14 bg-white/95 backdrop-blur`,主色 indigo | `w-60`,图标+文字 |
|
||
| B 端(expert/专家) | 专业密集 | 保留当前 | 保留当前 |
|
||
| Admin | 警示 | `bg-slate-950` + 主色 `amber-400` + ADMIN 徽章 | 深色 |
|
||
|
||
---
|
||
|
||
## 7. 数据模型影响
|
||
|
||
### 7.1 新增:案卡(Matter)
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|---|---|---|
|
||
| id | int | 主键 |
|
||
| code | string | 唯一业务代码 `MTR_{YYYYMMDD}_{seq}` |
|
||
| user_id | int | 所属老板 |
|
||
| scene | string | legal/decision/life/emotion |
|
||
| title | string | 案卡标题(AI 生成或用户命名) |
|
||
| status | string | new/asking_facts/pending_confirm/analyzing/pending_expert/closed |
|
||
| session_id | string | 关联会话 sid |
|
||
| risk_level | string | nullable,green/amber/orange/red |
|
||
| summary | text | nullable,AI 结论摘要 |
|
||
| closed_at | timestamp | nullable |
|
||
| execution_result | string | nullable,顺利/受阻/未执行 |
|
||
| created_at / updated_at | timestamp | 审计 |
|
||
|
||
### 7.2 新增:风险推送(RiskAlert)
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|---|---|---|
|
||
| id | int | 主键 |
|
||
| user_id | int | 推送对象 |
|
||
| level | string | red/orange/blue |
|
||
| title | string | 标题 |
|
||
| content | text | 详情 |
|
||
| source | string | 来源(knowledge/doc_scan) |
|
||
| related_matter_id | int | nullable |
|
||
| read_at | timestamp | nullable |
|
||
| created_at | timestamp | |
|
||
|
||
### 7.3 新增:专家关系(ExpertRelation)
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|---|---|---|
|
||
| id | int | 主键 |
|
||
| user_id | int | 老板 |
|
||
| expert_id | int | 专家 |
|
||
| consultation_count | int | 咨询次数 |
|
||
| last_consulted_at | timestamp | 最近咨询 |
|
||
| tags | string | 擅长领域标签(逗号分隔) |
|
||
| created_at / updated_at | timestamp | |
|
||
|
||
### 7.4 现有表扩展
|
||
|
||
- `sessions` 表新增 `matter_id`(nullable,关联案卡)
|
||
- `profiles` 表无变化(画像驱动指令只读消费)
|
||
|
||
---
|
||
|
||
## 8. API 影响概览
|
||
|
||
详细 API 契约在 `2-task-bossai-uiux.md` 中按 TASK 展开。核心新增端点:
|
||
|
||
| 端点 | 方法 | 说明 | 阶段 |
|
||
|---|---|---|---|
|
||
| `/matters` | GET | 案卡看板列表(按状态分组) | 一 |
|
||
| `/matters` | POST | 创建案卡(绑定会话) | 一 |
|
||
| `/matters/{id}` | GET | 案卡详情 | 一 |
|
||
| `/matters/{id}/status` | PATCH | 更新案卡状态 | 一 |
|
||
| `/matters/{id}/close` | POST | 闭环案卡 | 一 |
|
||
| `/quick-commands` | GET | 画像驱动快捷指令 | 二 |
|
||
| `/team` | GET | 我的团队列表 | 二 |
|
||
| `/risk-alerts` | GET | 风险推送列表 | 三 |
|
||
| `/risk-alerts/{id}/read` | POST | 标记已读 | 三 |
|
||
| `/matters/{id}/execution` | PATCH | 标记决策执行结果 | 三 |
|
||
|
||
---
|
||
|
||
## 9. 非功能需求
|
||
|
||
| 维度 | 要求 |
|
||
|---|---|
|
||
| 性能 | 老板台首屏 < 1.5s,案卡看板 < 1s |
|
||
| 移动端 | 底部 Tab 所有页面可达,FAB 全局可用 |
|
||
| 离线 | 案卡列表本地缓存,断网可查看 |
|
||
| 无障碍 | 键盘可达,对比度 ≥ 4.5:1,aria-label 完整 |
|
||
| 兼容 | Chrome/Safari/Edge 最近 2 版,iOS/Android 移动浏览器 |
|
||
| 安全 | 案卡数据租户隔离(user_id),前端隐藏 ≠ 后端放权 |
|
||
|
||
---
|
||
|
||
## 10. 验收标准(整体)
|
||
|
||
- [ ] 老板打开应用,3 秒内看到"今日要事"
|
||
- [ ] 案卡看板正确展示所有进行中事项,点击可续接
|
||
- [ ] 移动端底部 Tab 全功能可达,FAB 弹出快捷指令
|
||
- [ ] 快捷指令基于画像生成,点击预填问题
|
||
- [ ] "我的团队"显示咨询过的专家,一键发起咨询
|
||
- [ ] 风险推送出现在老板台,可标记已读
|
||
- [ ] 闭环案卡归档为决策日志,可标记执行结果
|
||
- [ ] ChatPanel 风险卡置顶,起诉状三步向导可用
|
||
- [ ] 三端视觉规范对齐(C 端 indigo / B 端 gray / Admin 深色+amber)
|
||
- [ ] lint + typecheck + build 通过
|
||
|
||
---
|
||
|
||
## 11. 风险与对策
|
||
|
||
| 风险 | 对策 |
|
||
|---|---|
|
||
| 范式转变用户不适应 | 阶段一保留法务/决策/生活独立入口,案卡为增量 |
|
||
| 后端定时任务复杂度 | 阶段三风险雷达先用简单轮询,后续优化 |
|
||
| 语音输入浏览器兼容 | 降级为文字输入,Safari 不支持时隐藏语音按钮 |
|
||
| 移动端底部 Tab 重构量大 | 与桌面 Sidebar 共享 NavConfig,仅渲染层不同 |
|
||
| 画像数据不全导致指令不准 | 缺口引导:"完善行业信息解锁更精准建议" |
|
||
|
||
---
|
||
|
||
📌 v2.0 更新:见 `pmdocs/changes/2026-08-30-001-uiux重构.md`
|
||
影响范围:SCENE-001~010、PRD-FUNC-001~018、全用户端导航与页面
|
||
状态:待确认
|