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

75 lines
4.9 KiB
Markdown
Raw 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.

# 1. 產品策略與定位
## 1.1 產品願景(模擬新聞稿)
> **標題visionA-local 讓 Kneron AI 邊緣推論「裝起來就能跑」**
>
> **副標題**:為 Innovedus FAE 與 Kneron 開發者打造的單機桌面工具,不用架 server、不用裝 Python、不用連網
>
> 以往要讓客戶看一場 Kneron KL720 / KL730 的即時推論 demoFAE 得扛一台預先設定好的筆電祈禱客戶現場的網路、Python、KneronPLUS SDK、ffmpeg、驅動都沒問題。只要其中一個出包demo 就得延期。
>
> visionA-local 把整套 edge-ai-platform 的能力打包成一顆單機桌面 app。下載、雙擊安裝、開啟——三分鐘內就能看到攝影機串流 + 推論 overlay。所有依賴都內嵌在安裝檔裡完全離線也能用。
>
> 「我上禮拜到客戶現場,對方 IT 環境鎖得死緊,連 pip install 都被擋。以前這種狀況我只能道歉重約,這次我點一下 visionA-local十分鐘後就開始 demo 了。」—— 一位 Innovedus 內部 FAE
>
> visionA-local 支援 macOS、Windows、Ubuntu 三平台,透過內部 Gitea Releases 發放給 Innovedus 團隊與合作客戶。v1.0 今日釋出。
## 1.2 核心問題
| 問題 | 目前痛點 | visionA-local 的解法 |
|------|----------|---------------------|
| **環境依賴地獄** | FAE / 開發者要預先裝 Python 3.12、建 venv、pip install KneronPLUS wheel、裝 ffmpeg、設 USB 權限,每個環節都可能失敗 | 一鍵安裝檔內嵌所有依賴,使用者機器零預裝需求 |
| **客戶現場網路不穩 / 被鎖** | 原 edge-ai-platform 要跑在 server 上FAE 現場得架 Docker、設反向代理 | 桌面 applocalhost 跑就好,不需網路、不需 Docker、不需 root |
| **多人系統搬回單人用** | edge-ai-platform 為多人共享設計FAE 一個人用很重 | 砍掉 cluster / relay / tunnel / token 認證UI 更簡單 |
| **沒硬體就體驗不到** | 沒 Kneron 板就完全無法試用 | Mock 模式零硬體入口,產品經理也能玩 |
## 1.3 與 edge-ai-platform 的差異定位
| 面向 | edge-ai-platform | visionA-local |
|------|------------------|--------------|
| 部署形態 | 伺服器 / 容器EC2 + Docker + nginx | 單機桌面 AppmacOS / Windows / Ubuntu |
| 網路模型 | 多人可遠端連線(含 relay / tunnel / cluster | 只跑 localhost一人一機 |
| 安裝體驗 | Ops 手動部署、curl 腳本、需先裝 ffmpeg / Python | 一鍵 GUI 安裝檔,內嵌所有依賴 |
| 多裝置策略 | 支援 cluster多 Kneron 叢集) | 單機可接多顆 USB但不做 cluster |
| 使用場景 | 共享平台、遠端存取、多人協作 | 個人開發、現場 POC、離線 demo |
| 更新策略 | CI/CD + Docker image push | 使用者手動從 Gitea 下載新版 |
| 憑證與認證 | relay token + hwid | 無localhost |
## 1.4 價值主張
**一句話**:「裝起來像一般 app、離線也能跑、接上 Kneron 就推論。」
**三個支柱**
1. **零依賴**:使用者機器完全不需要預先安裝任何東西
2. **零網路**:完全離線可用(唯一例外:可選的 update-check
3. **零學習成本**:接上 USB → App 自動偵測 → 點一下就跑
## 1.5 OKR內部工具導向不追求成長 / 營收指標)
| Objective | Key Results |
|-----------|-------------|
| **O1讓 Innovedus FAE 能在任何客戶現場 3 分鐘內開始 demo** | KR1全新機器無預裝從下載安裝檔到開啟首屏 ≤ 5 分鐘<br>KR2從 app 開啟到 Mock 模式跑出第一幀推論 ≤ 30 秒<br>KR3插上 Kneron USB 到 connect 成功 ≤ 10 秒 |
| **O2把 edge-ai-platform 的重複程式碼瘦身 50%** | KR1cluster / relay / tunnel / deploy / docker 相關程式碼全部刪除<br>KR2server / frontend 程式碼行數較原專案減少 ≥ 30%<br>KR3安裝檔單平台 ≤ 500MB目標 ~200MB |
| **O3建立可重複發佈的內部工具流程** | KR1三平台安裝檔能從 CI 自動產出<br>KR2首次發佈內部 Gitea Releases 後,至少 5 位內部 FAE 成功安裝並回報可用 |
## 1.6 成功指標(護欄指標 vs 體驗指標)
**體驗指標(追求極大化):**
- 安裝時間(下載完成 → 首屏):目標 < 3 分鐘上限 < 5 分鐘
- 首次推論時間app 開啟 Mock 第一幀目標 < 15 上限 < 30
- 實機接入時間 USB connect 成功目標 < 5 上限 < 10
**護欄指標(不能惡化):**
- Mock 模式 idle CPU 佔用 5%
- Mock 模式 idle RAM 佔用 500 MB
- 安裝檔單平台大小 500 MB
- 完全斷網時 update-check 外所有功能必須正常運作
## 1.7 北極星指標(內部工具)
由於不是對外商品北極星指標不追求成長類數據改用**可用性**為核心
> **「內部 FAE 在客戶現場第一次 demo 成功率 ≥ 95%」**
第一次成功定義為**首次安裝後 5 分鐘內順利跑出第一次推論**不需要聯繫作者 debug