visionA/docs/autoflow/02-prd/user-stories.md
jim800121chen fb7da5d180 chore(autoflow): migrate .autoflow/ 共享層文件至 docs/autoflow/
依 autoflow-agent workspace v2 設計把 PRD / 設計 / 架構 / 交付類
共享文件從個人層 .autoflow/(ignored)搬到 docs/autoflow/(進 git),
讓團隊可共享產品與架構文件,個人層只留 progress / review / testing 等
per-branch 筆記。

- 02-prd/        21 個檔(PRD、features、market-analysis 等)
- 03-design/     18 個檔(design-spec、wireframes、flows 等)
- 04-architecture/ 31 個檔(TDD、design-doc、ADR×14、API 規格等)
- 07-delivery/   3 個檔(project-summary、phase-0.6-handover、stage-deployment-setup)

合計 73 檔。原檔已從 .autoflow/ 移除(migration 工具執行 git mv,
但因 .autoflow/ 在 .gitignore 中、git 將此操作視為新增、無 rename history)。
2026-05-04 16:55:55 +08:00

121 lines
7.5 KiB
Markdown
Raw Permalink 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.

# 5. User StoriesRICE 排序)— visionA Cloud
> 父文件:[PRD.md](PRD.md)
---
## 5.1 RICE 評分說明
| 維度 | 定義 | 範圍 |
|------|------|------|
| Reach | 每季觸及的用戶數粗估Phase 0 用戶基數小,數字為相對值)| 1-100 |
| Impact | 對北極星指標WAD的影響程度 | 0.25 / 0.5 / 1 / 2 / 3 |
| Confidence | 估算信心度 | 50% / 80% / 100% |
| Effort | 預估開發人月Architect 會再核對)| 0.1 - 10 |
| **RICE** | Reach × Impact × Confidence / Effort | — |
> Phase 0 雛形的 Reach / Effort 是**相對估值**,不是絕對數字。主要目的是排優先級,不是財務預估。
---
## 5.2 所有 User StoriesRICE 排序)
### 🔴 P0 — Phase 0 雛形必做
| # | Story | Persona | Reach | Impact | Conf. | Effort | RICE | 備註 |
|---|-------|---------|-------|--------|-------|--------|------|------|
| US-01 | 作為開發者,我要**在瀏覽器打開 visionA Cloud 並看到登入頁** | 全部 | 100 | 3 | 100% | 0.5 | 600 | Phase 0 雛形UI onlyauth stub |
| US-02 | 作為開發者,我要**註冊帳號(雛形只要 email + 密碼)** | 全部 | 100 | 3 | 100% | 0.3 | 1000 | Phase 0in-memory不存 DB |
| US-03 | 作為開發者,我要**登入後看到我名下的裝置列表(空的也要)** | 全部 | 100 | 3 | 100% | 1 | 300 | 核心頁面 |
| US-04 | 作為開發者,我要**從雲端頁面取得一組 Pairing Token** | 全部 | 100 | 3 | 100% | 1 | 300 | Pairing 核心 |
| US-05 | 作為開發者,我要**讓我筆電上的 local agent 用這個 token 連上 visionA Cloud** | 全部 | 100 | 3 | 100% | 3 | 100 | 後端重點remote-proxy + tunnel |
| US-06 | 作為開發者,我要**Pairing 成功後,裝置自動出現在雲端頁面** | 全部 | 100 | 3 | 100% | 0.5 | 600 | WebSocket 即時更新 |
| US-07 | 作為開發者,我要**在雲端頁面看到裝置詳細(型號、韌體、健康度)** | 全部 | 100 | 2 | 100% | 0.5 | 400 | 搬自 local-tool |
| US-08 | 作為開發者,我要**瀏覽 7 個預設模型** | 全部 | 100 | 2 | 100% | 0.5 | 400 | 搬自 local-tool |
| US-09 | 作為開發者,我要**上傳我自己的 .nef 模型(雛形:走 local filesystem 實作的 S3 介面)** | 全部 | 80 | 2 | 80% | 1 | 128 | ObjectStorage 介面重點 |
| US-10 | 作為 FAE我要**進入工作區,選遠端裝置 + 模型 + Camera 來源,開始推論** | 阿哲 | 80 | 3 | 80% | 3 | 64 | 核心體驗tunnel 要穩 |
| US-11 | 作為 FAE我要**看到遠端 Camera 的即時 MJPEG 串流 + 推論結果 overlay** | 阿哲 | 80 | 3 | 80% | 2 | 96 | tunnel 要能 stream binary |
| US-12 | 作為開發者,我要**在 Settings 切換語言(繁中/English和主題Dark Mode** | 全部 | 100 | 0.5 | 100% | 0.2 | 250 | 沿用 local-tool i18n |
| US-13 | 作為開發者,我要**登出(雛形:清 token** | 全部 | 100 | 1 | 100% | 0.1 | 1000 | Phase 0 簡易版 |
### 🟡 P1 — Phase 1 MVP
| # | Story | Persona | Reach | Impact | Conf. | Effort | RICE | 備註 |
|---|-------|---------|-------|--------|-------|--------|------|------|
| US-14 | 作為開發者,我要**看到一個儀表板,顯示所有裝置狀態 + 最近活動** | 全部 | 80 | 2 | 80% | 2 | 64 | 搬自 local-tool |
| US-15 | 作為 FAE我要**用上傳圖片/影片做推論,不只 Camera** | 阿哲 | 60 | 2 | 80% | 2 | 48 | 搬自 local-tool |
| US-16 | 作為 SI我要**把多台裝置組成叢集,按加權 RR 做推論** | Sarah | 40 | 3 | 70% | 3 | 28 | 從 POC 搬 + 產品化 |
| US-17 | 作為 SI我要**看到叢集中每台裝置的負載分佈** | Sarah | 30 | 2 | 70% | 2 | 21 | POC 已有雛形 |
| US-18 | 作為開發者,我要**Pairing Token 有 expiry過期自動失效** | 全部 | 80 | 2 | 80% | 1.5 | 85 | 安全性 |
| US-19 | 作為開發者,我要**能撤銷某個裝置的 Pairing** | 全部 | 60 | 1 | 80% | 0.5 | 96 | 安全性 |
| US-20 | 作為開發者,我要**看到每次推論的 log / history** | 全部 | 50 | 1 | 70% | 1.5 | 23 | 需要 DB |
| US-21 | 作為 SI我要**邀請隊友加入我的 workspace共享裝置** | Sarah | 40 | 2 | 60% | 3 | 16 | 多租戶 |
| US-22 | 作為開發者,我要**接真的 Auth 系統JWT / OAuth** | 全部 | 80 | 2 | 80% | 4 | 32 | 替換 Phase 0 stub |
| US-23 | 作為開發者,我要**上傳到真的 S3 / MinIO不是 local fs** | 全部 | 80 | 1 | 80% | 2 | 32 | 替換 Phase 0 stub |
### 🟢 P2 — Phase 2+(未來)
| # | Story | Persona | Reach | Impact | Conf. | Effort | RICE | 備註 |
|---|-------|---------|-------|--------|-------|--------|------|------|
| US-24 | 作為開發者,我要**直接在 visionA Cloud 轉檔(非 Kneron 格式 → .nef** | Mike | 70 | 2 | 60% | 5 | 17 | 等 converter 團隊完成 API |
| US-25 | 作為 Mike我要**同時跑多個模型比較效能** | Mike | 40 | 2 | 60% | 3 | 16 | Workspace 升級 |
| US-26 | 作為開發者,我要**用 API key 寫自動化腳本(公開 API** | Mike | 30 | 1 | 50% | 3 | 5 | 開放平台 |
| US-27 | 作為 SI我要**看使用量計費Billing** | Sarah | 40 | 2 | 50% | 5 | 8 | 商業化 |
| US-28 | 作為開發者,我要**接收 email 通知(裝置離線、推論完成等)** | 全部 | 60 | 1 | 70% | 2 | 21 | Notification 系統 |
| US-29 | 作為 SI我要**每個客戶現場一個獨立 tenant** | Sarah | 30 | 2 | 60% | 5 | 7 | 多租戶加強 |
| US-30 | 作為開發者,我要**用手機 app 看裝置狀態read-only** | 全部 | 40 | 1 | 40% | 5 | 3 | Mobile |
### 🔵 雛形介面 TODOPhase 0 只做介面不接實作)
| # | Story | 雛形做什麼 | 未來要做什麼 |
|---|-------|-----------|------------|
| US-TODO-01 | 會員註冊 | 前端頁面 + 後端 stub handler | 接真 AuthJWT / OAuth|
| US-TODO-02 | 忘記密碼 | 前端頁面只 | 接 email 服務 |
| US-TODO-03 | 個人設定頁 | 前端骨架只 | 密碼變更、頭像上傳等 |
| US-TODO-04 | Billing 頁 | 不做 | Stripe 整合 |
| US-TODO-05 | 轉檔整合 | **定義 API 契約**給 converter 團隊 | 真的接 converter API |
---
## 5.3 MVP 功能範圍Phase 0 雛形)
**納入 Phase 0**:所有 P0 storiesUS-01 ~ US-13
**明確排除**
- 真實 Auth用 stub
- 真實 DB用 in-memory
- 真實 S3用 local fs 實作 ObjectStorage 介面)
- 叢集功能Phase 1
- 儀表板Phase 1
- 圖片/影片推論Phase 1Phase 0 只做 Camera
- 忘記密碼 / 個人設定(只有介面)
- Billing不做
- 轉檔整合(只定契約)
---
## 5.4 驗收條件總覽Phase 0
Phase 0 完成的定義:以下全部為 Yes。
- [ ] visionA-frontend 能部署成靜態網站並在瀏覽器打開
- [ ] visionA-backend 的 `cmd/api-server` 可單獨跑health check OK
- [ ] visionA-backend 的 `cmd/remote-proxy` 可單獨跑health check OK
- [ ] 使用者能在瀏覽器完成註冊 + 登入stub
- [ ] 使用者能從雲端頁面取得一組 Pairing Token
- [ ] 至少一台裝有 local-tool 的筆電,能用 Pairing Token 連上 remote-proxy可能需臨時修改 local-tool config
- [ ] Pairing 成功後,裝置即時出現在雲端頁面
- [ ] 使用者能從雲端選裝置 + 模型 + Camera跑一次端到端推論
- [ ] 模型上傳功能可用(雖然實際存 local fs
- [ ] 所有 P0 頁面切換順暢,無明顯 bug
- [ ] local-tool 所有既有測試持續通過0 regression
---
## 連結
- 上一章:[用戶研究](user-research.md)
- 下一章:[功能規格](features/)
- 跳回:[PRD 索引](PRD.md)