local-tool/: visionA-local desktop app
- M1: Wails shell + Go server + Next.js UI + Mock mode (macOS dmg ready)
- M2: i18n (zh-TW/en) + Settings 4-tab refactor
- M3: Embedded Python 3.12 runtime (python-build-standalone) + KneronPLUS wheels
- M4: Windows Inno Setup script (build on Windows runner)
- M5: Linux AppImage script + udev rule (build on Linux runner)
- M6: ffmpeg (GPL, pending legal review) + yt-dlp bundled
- Lifecycle: watchServer health check, fatal native dialog,
Wails IPC raise endpoint, stale process cleanup
.autoflow/: full PRD / Design Spec / Architecture / Testing docs
(4 rounds tri-party discussion + cross review)
.github/workflows/: macOS / Windows / Linux build CI
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6.8 KiB
visionA-local — 產品需求文件(PRD)索引
版本:v1.2(第四輪使用者決策套用) 作者:PM Agent 日期:2026-04-11 狀態:三方交叉審閱完成 + 第四輪決策落地 任務等級:L 級(完整流程)
品牌命名 vs 資料目錄命名:產品品牌名維持
visionA-local(大小寫混寫,對應現有 Logo 與對外文案);資料目錄、Bundle ID、CLI 執行檔、安裝檔檔名統一用全小寫visiona-local(對齊 Bundle IDcom.innovedus.visiona-local與 Linux 檔案系統慣例)。第四輪 R4-5 決策。
文件導覽
本 PRD 採模組化結構。各章節為一句話摘要 + 子檔案連結,子檔案內含完整細節。
| 章節 | 摘要 | 子檔案 |
|---|---|---|
| 1. 產品策略與定位 | visionA-local 是 edge-ai-platform 的單機桌面版,專為「帶著筆電做 Kneron demo 的人」而生,價值主張是「裝起來就能跑、離線可用、零依賴」 | strategy.md |
| 2. 目標使用者與使用情境 | 三種 Persona:內部 FAE(主要)、外部開發者 / 評估客戶、Solution Architect / PM;6 個核心 User Story | user-research.md |
| 3. 產品願景與非目標 | visionA-local 不做:cluster、relay、tunnel、tray、auto-update、程式碼簽章、telemetry、韌體燒錄、多架構、商店上架 | vision-and-non-goals.md |
| 4. 功能清單與 API 對照 | 對照原 edge-ai-platform,列出保留 / 刪除 / 新增的前後端功能與 API endpoint | features/feature-inventory.md |
| 5. 使用者流程 | 首次安裝 → First-Run → 日常使用 → 離開 | features/user-flows.md |
| 6. 非功能需求與驗收標準 | 量化驗收條件:安裝時間、首次推論時間、安裝檔大小、資源占用、離線可用 | nonfunctional.md |
| 7. 發佈與交付策略 | 內部 Gitea Releases / GitHub Releases;不上商店、不做 auto-update、不做憑證簽章 | release-strategy.md |
| 8. 風險與相依性 | 交叉引用 Architect Round 1 的 R1-R5 技術風險 + PM 補充的產品風險 | risks.md |
快速摘要(TL;DR)
做什麼:把 edge-ai-platform(原本要部署到 EC2 / Docker 的 Kneron AI 邊緣運算平台)改造成單機桌面應用,打包成 macOS / Windows / Ubuntu 三平台的 GUI 安裝檔。
為誰做:主要是 Innovedus 內部 FAE(帶筆電到客戶現場做 demo),次要是外部開發者(剛拿到 Kneron 板想快速上手)和 Solution Architect / PM(想用 Mock 模式說故事)。
核心轉換:從「共享基礎設施」→「個人工具」。任何為「多人 / 遠端 / 規模化」而生的功能都砍掉,任何為「安裝便利 / 離線可用 / 單人順手」的體驗都強化。
最重要的 3 個產品決策:
- 一鍵離線安裝:Python runtime + KneronPLUS SDK + ffmpeg + 預置模型 .nef 全部內嵌進安裝檔(單平台約 200MB),使用者不需要預先裝任何東西、也不需要連網。使用者還可以 fallback 使用系統 Python。
- 砍掉 50% 的原始碼:cluster、relay、tunnel、tray、relay-token、gitea-url、韌體燒錄、auto-update、docker / deploy scripts 全部刪除。新專案只保留核心推論路徑。
- 內部工具定位:不投資憑證簽章(使用者接受 Gatekeeper / SmartScreen 警告)、不上商店、不做 telemetry、不做 license key。發佈到內部 Gitea Releases。
不做什麼(明確排除):多裝置 cluster、遠端連線、系統列 tray、自動更新、程式碼簽章、崩潰遙測、韌體 flash、ARM 架構、Mac App Store / Microsoft Store / Snap Store 上架、license 啟用機制。
發佈範圍(MVP)
visionA-local 不分 Phase 1 / Phase 2 / Phase 3——所有核心功能一次到位,因為這是內部工具,沒有「分階段驗證市場」的必要。MVP 即 GA。
MVP 必達功能:
- macOS(x86_64)/ Windows(x86_64)/ Ubuntu(x86_64)三平台安裝檔
- 首次啟動 First-Run 流程(歡迎 → 模式選擇 → 硬體偵測)
- 裝置管理(USB Kneron 偵測 / 連線)
- 模型管理(預置 .nef + 自上傳)
- 推論引擎(分類 / 偵測 / 臉辨)
- 攝影機串流(MJPEG + 推論 overlay)
- 媒體推論(圖片 / 影片 / URL 上傳)
- Mock 模式(零硬體入口)
- 中英雙語 + 跟隨系統的深色模式
- M1 即一次清乾淨前端 cluster / relay UI(不留半調子 legacy)
MVP 排除:cluster、relay、tunnel、系統列 tray、auto-update、程式碼簽章、telemetry、韌體燒錄、ARM 架構。
交叉審閱清單
本 PRD 完成後需:
- Architect 審閱:所有需求技術上可行?Effort 估算合理?R1-R5 風險有被充分反映?(2026-04-11 完成,見
/Users/jimchen/visionA/local-tool/.autoflow/04-architecture/architect-cross-review.md) - Design 審閱:體驗面沒有遺漏?First-Run 流程已被納入?(2026-04-11 完成,見
/Users/jimchen/visionA/local-tool/.autoflow/03-design/design-cross-review.md) - PM 自審(v1.2):第四輪決策已點對點落地(2026-04-11)
- 使用者最終確認:整份 PRD v1.2 的發佈範圍、非目標、驗收標準皆無誤?
變更紀錄
| 版本 | 日期 | 作者 | 變更 |
|---|---|---|---|
| v1.0 | 2026-04-11 | PM Agent | 第一階段產出;以 15 個使用者決策 + 三方第一輪分析為基礎撰寫 |
| v1.1 | 2026-04-11 | PM Agent | 套用第三輪使用者決策:砍 tray(Q-A)、Kneron 模型授權改風險標記(Q-B)、M1 前端一次清乾淨(Q-C)、macOS 資料目錄改 ~/Library/Application Support/visionA-local/(Q-E1)、Workspace 升 sidebar 一級(Q-E2)、Settings 外觀分頁取消並把語言併入一般(Q-E3) |
| v1.2 | 2026-04-11 | PM Agent | 套用第四輪使用者決策(三方交叉審閱後):R4-1 Kneron 授權暫不主動問、R4-2 MJPEG 延遲改首次≤250ms / 穩定後≤150ms、R4-3 WCAG 2.2 AA 正式列為非目標(盡力而為)、R4-4 安裝時間上限放寬至 5 分鐘、Mock idle RAM 放寬至 ≤600MB、R4-5 資料目錄/Bundle ID 全小寫 visiona-local、R4-6 ⌘R 改 ⌘Shift+R、⌘Shift+W 取消、R4-7 首次推論拆首次≤30s/回訪≤15s 兩級、R4-8 OS 通知策略分層(裝置 toast / 崩潰 shell out 原生通知);另補 sidebar 描述對齊 Design(4 主導航 + Settings 底部獨立區)、新增 4.8 第三方授權宣告章節(ffmpeg LGPL、yt-dlp、Python 等)、新增 R11 發佈通路 / R12 CI runner 風險追蹤項、新增 5.5 single-instance 第二次雙擊 UX、5.6 OS 通知策略 |