| 字段 | 值 |
|---|---|
| 文档编号 | PRD-20261014-fmode-app-v2 |
| 版本号 | v1.1 |
| 最后更新日期 | 2026-10-14 |
| 状态 | 草案 · 待评审 |
| 本次变更原因 | v1.1:第1轮评审修复(S1 模块清点统一口径 / T8 关联文档补齐) |
| 上游文档 | 《访谈-20261014-现状调研汇总.md》《访谈-20261014-第二轮裁决记录.md》《访谈-20261014-第三轮裁决记录.md》《SPEC-20261014-fmode-app-v2-草案.md》 |
| 规格细节 | FR/AC 明细见 SPEC,本文档不重复 AC,只定盘子 |
fmode-app(存量,Angular 19)是一套能跑通的双端客户端:用户通过 IM 式会话与「数字生命」(AI Agent)交互,并查看其运行状态与交付成果。六大功能模块齐备,用户动线完整。
| 问题 | 量化证据 |
|---|---|
| ① 文档业务逻辑不清晰 | PRD 无 FR/AC 编号,不可验收;PRD 写"金色飞马主题"而代码是蓝紫渐变,背离且无人察觉;3 次"视觉重设计"只交任务清单,零设计规范;docs/README.md 与 04-quality/ 实际内容自相矛盾 |
| ② 组件样式未按规范 | ui-kit 采用率 1.3%(149 个组件仅用 2 个);组件内联硬编码色值 321 处;令牌前缀 3 套并存;全局样式 2079 行 |
| ③ UI 从未经过设计 | 布局尺寸 236/318/340/420px 全硬编码,无从设计推导;视觉方向漂移 3 次(金色飞马 → 微信克隆 → 蓝紫)从未定稿;桌面端无媒体查询降级 |
单一根因:从未产出设计规范,就开始写 UI。
每修一处 UI 都要对抗 321 处硬编码与 3 套令牌,补丁式修改无法收敛。 在「新工程 + 规范底座 + 先设计后编码」的前提下重建,成本低于继续修补。
把 fmode-app 重建为一套规范原生的双端客户端:文档可追溯、界面有设计、代码无脏债。
| 支柱 | 做法 | 验证 |
|---|---|---|
| 规范原生工程 | Angular 20.3 + ui-kit 整目录接入 + 单一令牌体系 + Tailwind preflight 正常启用 | ui-kit ng build 一次通过(✅ 已验证) |
| 先设计后编码 | 新增阶段②设计系统环节:设计令牌定稿 / 组件规范 / 关键页面原型 / 双端布局规范 | 设计规范未定稿不得进入编码 |
| 文档与代码同步 | 按 rules/11 建立 docs/ 全链,四向追溯矩阵从第一天维护 |
每条 FR 有 AC 才进开发;"完成"包含文档同步 |
「功能所有都测试完成」
具体化为:
npm test)console.log / 触达区 ≥44px / 无障碍基线)口径(评审 S1 修复):「7 个功能模块」不含登录。登录属跨端通用能力,与"用户可见的业务功能面"不同层。 「7 个模块全部通过测试」指下表 7 个;通用能力另有各自 AC,同样必须通过。
| # | 模块 | 桌面路由 | 移动路由 | 主要画像 |
|---|---|---|---|---|
| 1 | 通讯录 | /desktop/contacts |
/mobile/contacts |
P1/P2 |
| 2 | 会话 | /desktop/chat/:id |
/mobile/chat/:id |
P1 核心 |
| 3 | 项目 | /desktop/projects |
/mobile/projects |
P2 |
| 4 | 事件 | /desktop/events |
/mobile/events |
P2/P3 |
| 5 | 工作台 | /desktop/workbench |
/mobile/workbench |
P2/P3 核心 |
| 6 | 任务看板(新增) | /desktop/tasks |
/mobile/tasks |
P2/P3 核心 |
| 7 | 成果 | /desktop/deliverables |
/mobile/deliverables |
P1 核心 |
| # | 能力 | 路由 | 说明 |
|---|---|---|---|
| 1 | 入口分流 | / |
UA + 视口一次性判定 |
| 2 | 登录 | /login |
同页双形态;验证码 / Token / 自动 |
| 3 | 移动聚合首页 | /mobile/home |
移动落地页(评审 G1 补登) |
| 4 | 数字生命详情 | /desktop/agent/:id /mobile/agent/:id |
|
| 5 | 我的(含端切换) | /desktop/mine /mobile/mine |
任何新增功能须走变更请求由用户决策。AI 禁止以"顺手做了"为由增加页面/接口。
阶段① 需求挖掘 → 阶段② 设计系统 → 阶段③ 制作编码 → 阶段④ 交付验收
文档做好做完 UI 设计 功能完善
阶段门禁不可跳过。
逐模块交付验证:每个模块独立走完「实现 → 测试 → 冒烟 → 交付验证」,在用户处过一遍再进下一个。 最终 7 个功能模块 + 5 项通用能力全部交付,不以 MVP 为由砍模块。
交付顺序(依据依赖与画像优先级):
0 基础设施 → 1 登录 → 2 通讯录 → 3 会话 → 4 成果 → 5 工作台
→ 6 任务看板 → 7 项目 → 8 事件 → 9 详情/我的 → 10 迁移兼容
任务看板(序 6)有外部依赖:云函数接收端未实现。不可用时先落空态,禁止伪造数据,报告阻塞后跳序 7,待就绪回补。
阶段② 分两步交付,设计初版必须先给用户看:
②A 设计方向确认 → 用户查看 → ②B 组件规范细化
令牌 + 视觉方向 + 关键页面草案
src/本地优先。验收 = npm start(http://localhost:4200)。**不做部署动作**(OBS 上传 / CDN 刷新 / 线上路径)。
「替换旧版」的上线动作暂缓;FR-16 迁移需求仍要做(纯前端实现,与是否上线无关)。
| 画像 | 端 | 核心诉求 | 对应模块 |
|---|---|---|---|
| P1 业务同事 | 手机为主 | 看进展、收成果、发指令 | 会话、成果 |
| P2 管理者/超管 | 桌面为主 | 统览全局、盯有没有卡住 | 工作台、任务看板 |
| P3 运维/交付方 | 双端 | 盯指标、查技术信号 | 工作台、任务看板、详情 |
详见
docs/01-requirements/personas/用户画像.md设计含义:桌面走高密度(多栏对比),移动走高可达(单列、大触达区、沉浸)。
| # | 规则 | 来源 |
|---|---|---|
| R1 | 端分流一次性判定,窗口缩放/旋转不改变端 | 存量特性,保留 |
| R2 | 未接入 FMODE 的数字生命,点行进详情页而非会话页;该判定服务层单点实现 | 存量 5 处重复,须收敛 |
| R3 | 单一事实源:每个数据域一个 owner 服务,视图只消费 | 存量 4 个轮询器重叠 |
| R4 | 租户归属校正由服务端权威判定 | 存量客户端 PUT 自改 |
| R5 | 任务看板一期只读 | 写操作待 RBAC |
| R6 | 所有业务表带 company 指针;删除用软删 |
黄金规则 6 |
| 类别 | 要求 |
|---|---|
| 规范符合 | 零硬编码色值 / 单一令牌前缀 / 字号 ≤8 档 / 圆角 ≤4 档 / 业务样式全部进组件 |
| 无障碍 | aria 完整、键盘可达、focus 可见、触达区 ≥44px、支持 prefers-reduced-motion |
| 安全 | 前端零服务端密钥(masterKey 铁律);v2 新写代码不得复制存量硬编码模式 |
| 性能 | 路由懒加载;Matrix SDK 独立 chunk 不进主包 |
| 可测 | 单测 + 双端全路由冒烟 + 规范断言脚本 |
| 可追踪 | 全链文档:PRD → SPEC → ER → API → 测试 → 留痕 |
| # | 风险 | 影响 | 应对 |
|---|---|---|---|
| R1 | 云函数字段定义未经核对 | 数据层返工 | 阶段② 优先核对;ER 图 ❓ 标记 |
| R2 | 任务看板依赖云函数改造(未实现) | 序 6 模块阻塞 | 先落空态,报告后跳序 7 |
| R2b | 租户归属权威判定依赖云函数 zl4yU8PAEB 改造(与 R2 同级阻塞) |
登录后的归属校正逻辑 | 同 R2 处理:先落现状行为,报告中标注待改造 |
| R3 | AgentTask 21 字段清单未知 |
映射不确定 | 待 Agent 核实(16 问清单) |
| R4 | ui-kit 596 文件,可能引入未用代码 | 体积/维护性 | 阶段② 做组件盘点与按需评估 |
| R5 | 存量 deploy.sh 明文凭证 |
已裁决不处理(自有服务器) | NFR-03 已注明适用范围 |
| R6 | 多任务"并行度"未经实测 | UI 可能按错误假设设计 | 待 Agent 实证(16 问第 4 组) |
| R7 | 任务评论/附件需新增两张表(AgentTaskComment/AgentTaskAttachment) |
影响 AC-07b.2 可实施性 | 随云函数改造一并建;若审批受阻则降级为 AgentTask.extra JSON |
AgentTask 等三张表的 21/13/14 字段清单未获取kanban-report.py 是否已部署到容器未知docs/02-design/design-system/ui-kit底座盘点.md),发现 8 项组件缺口 + 10 项令牌缺口docs/01-requirements/prd/SPEC-20261014-fmode-app-v2-草案.mddocs/01-requirements/personas/用户画像.mddocs/01-requirements/raci/RACI.mddocs/02-design/architecture/业务流程图.mddocs/02-design/database/ER-图-草案.mddocs/02-design/plans/2026-10-14-v2重建方案.mddocs/02-design/plans/调研-20261014-多任务并行可行性.mddocs/01-requirements/stories/访谈-20261014-{第二轮,第三轮}裁决记录.mddocs/01-requirements/stories/访谈-20261014-现状调研汇总.mddocs/01-requirements/stories/访谈问卷-20261014-v2需求挖掘.mddocs/01-requirements/交接文档-阶段1至2.mddocs/04-quality/review/2026-10-14-SPEC-ER评审-第1轮.md