visionA/local-tool/.autoflow/02-prd/vision-and-non-goals.md
jim800121chen c54f16fca0 Initial commit: visionA monorepo with local-tool subproject
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>
2026-04-11 22:10:38 +08:00

5.9 KiB
Raw Blame History

3. 產品願景與非目標

3.1 產品願景

visionA-local 是一顆「裝起來像一般桌面 app」的 Kneron AI 邊緣推論工具,讓任何人在任何機器上都能三分鐘內開始推論。

我們相信:內部工具也應該有「消費級產品」的使用體驗。環境依賴、連網要求、管理員權限——這些讓 edge-ai-platform 難以在客戶現場順利跑起來的摩擦點,通通要在 visionA-local 消失。

3.2 非目標Non-Goals— 明確列出 visionA-local 不做 的事

以下功能在 MVP 以及可預見的 v1.x 範圍內都不會實作。列出非目標是為了避免開發過程中出現 scope creep也讓三方討論時有明確界線。

3.2.1 網路 / 多人協作相關 — 全部不做

非目標 為什麼不做
Cluster / 多裝置叢集管理 單機工具不需要叢集。cluster API、cluster 頁面、叢集 workspace 全部刪除
Relay / tunnel / 遠端連線 只跑 localhost沒有遠端存取的需求。relay token、tunnel client、hwid 全部刪除
多人協作 / 權限管理 一人一機,無帳號、無權限、無 ACL
Gitea URL 整合 原本用於雲端 relay 註冊local 版不需要

3.2.2 生命週期 / 營運相關 — 全部不做

非目標 為什麼不做
Auto-update自動更新 使用者 Q6 明確決定不做。使用者需手動從 Gitea Releases 下載新版
程式碼簽章 / notarization 使用者 Q2 明確決定都不買macOS Developer ID $99/年 + Windows EV cert $300-600/年)。內部工具可接受 Gatekeeper / SmartScreen 警告
Telemetry / 崩潰回報 使用者 Q12 明確決定不做。沒有匿名使用追蹤、沒有崩潰上傳
License key / 啟用機制 內部工具不需要防外流機制
WCAG 2.2 AA 正式合規(第四輪 R4-3 使用者明確決定不做稽核。僅保留 shadcn/Radix 提供的預設無障礙屬性(盡力而為)。未來要發佈給外部客戶或政府單位時再補。詳見 nonfunctional.md §6.8.3

3.2.3 平台 / 架構相關 — 暫不做(但保留未來擴充空間)

非目標 為什麼不做 未來可能性
ARM 架構支援 使用者 Q4 決定:三平台都只做 x86_64使用者目前是 Intel Mac 之後有需求可加 macOS arm64 + Linux arm64
Mac App Store 上架 內部工具,且 App Store 需要 sandbox 限制 USB 存取 無計畫
Microsoft Store 上架 同上 無計畫
Snap / Flatpak 發佈流程過重AppImage 已涵蓋 無計畫
macOS 13 以下 / Windows 10 以下 / Ubuntu 20.04 以下 使用者 Q3 決定:只支援各平台最新兩版 無計畫

3.2.4 功能相關 — 刻意砍掉

非目標 為什麼不做
韌體燒錄 / Flash 使用者 Q9 明確決定砍掉。server/internal/flash/ 整包刪除,相關 UI 也移除
系統列 Tray常駐圖示 第三輪 Q-A 決策Q7 已決定「關閉視窗 = 結束程式」Tray 失去背景常駐價值;加上跨平台圖資產(.icns / .ico / .png@各 DPI與 Wails tray 踩坑成本高CP 值不划算。server/internal/tray/ 整包刪除GUI controller 亦無需保留
多 Kneron dongle cluster 協作 可以同時接多顆,但不做叢集協調
Kneron 以外的硬體支援 本工具專為 Kneron KL 系列設計

3.2.5 商業 / 營運相關 — 全部不做

非目標 為什麼不做
商業模式 / 訂閱制 / IAP 內部工具,零商業化需求
廣告 同上
使用者帳號 / 登入 單機工具,無帳號
雲端同步 / 備份 所有資料存本機macOS~/Library/Application Support/visiona-local/Windows / Linux 待 Architect 補慣例路徑),不上雲
分享 / 協作功能 不支援匯出 share link 給同事
產品定價 免費(內部工具)
法律文件Terms / Privacy Policy 內部工具,但若未來要發佈給外部客戶需補

3.3 非目標的交叉引用

  • Architect Round 1 Section 6「要砍掉的程式碼清單」列出具體路徑與本節 3.2.1、3.2.4 對應。
  • Design Round 1 Section 1「前端頁面去留」列出要砍的 /clusters 頁面與 cluster-* 元件,與本節 3.2.1 對應。
  • 功能清單features/feature-inventory.md)用 / 標示每個 API 與頁面的去留,這是本節的完整對照表。

3.4 「如果有人要求加這些功能怎麼辦?」

當 MVP 開發過程中若有人使用者、FAE、其他工程師提出要加上任何非目標裡的功能

  1. 先指向本節:「這在 PRD 的非目標清單裡MVP 不做。」
  2. 如果真的有充分理由:回到三方聯合討論,重新評估是否把某項從非目標移出。
  3. 絕對不要:私下塞進 MVP 範圍。一旦破壞非目標邊界,瘦身 50% 程式碼的目標就守不住了。

3.5 非目標的風險

列出非目標本身也有風險:

風險 可能情境 緩解
使用者因 Gatekeeper / SmartScreen 警告而放棄安裝 不做程式碼簽章的後果 First-Run 文件 / 歡迎頁清楚說明「點右鍵開啟」的步驟
沒 auto-update 導致舊版永遠在外面跑 不做自動更新的後果 透過內部 Slack / Email 通知新版,每次新版本都要求使用者手動更新
沒 telemetry 導致無法知道使用者在哪裡卡住 不做遙測的後果 依賴主動回報(內部 Slack channel、定期 user interview
不支援 ARM Mac 會讓 M 系使用者要跑 Rosetta效能 + 穩定性問題) 只做 x86_64 的後果 使用者目前是 Intel Macm 系需求出現時再評估