diff --git a/.gitignore b/.gitignore index 9fba9f7..aff6b44 100644 --- a/.gitignore +++ b/.gitignore @@ -15,9 +15,16 @@ Thumbs.db # ───────────────────────────────────── # 不進 git 的依賴與產物(決策 R4-D2) -local-tool/vendor/ +# 注意:使用 /** 而非 /,否則後面的 ! 例外無法 re-include(git 規則: +# 父目錄被排除時無法 re-include 檔案)— R5-6b 需要 macOS ffmpeg binary 進 git +local-tool/vendor/** local-tool/dist/ local-tool/payload/ +# R5-6b:macOS LGPL ffmpeg binary 進 git(沒有現成 LGPL binary 來源,自 build 成本高, +# commit 後開發者 clone 即可用,不必每次重 build ~15 分鐘) +!local-tool/vendor/ffmpeg/ +!local-tool/vendor/ffmpeg/macos/ +!local-tool/vendor/ffmpeg/macos/** # Go server 的 embed 與 build 產物 local-tool/server/web/out/ diff --git a/local-tool/.autoflow/01-requirements/pm-analysis-round2-refactor.md b/local-tool/.autoflow/01-requirements/pm-analysis-round2-refactor.md new file mode 100644 index 0000000..9a7c50d --- /dev/null +++ b/local-tool/.autoflow/01-requirements/pm-analysis-round2-refactor.md @@ -0,0 +1,419 @@ +# PM 第一輪分析 — visionA-local 方向變更(2026-04-14) + +> 作者:PM Agent +> 性質:**第一輪分析筆記,非正式 PRD 修訂** +> 觸發事件:使用者在 M7 收尾階段提出三項重大方向變更 +> 對應使用者訊息:「推論只需包含 camera / image / video upload」「模型只預設 + 只能上傳」「介面希望是網頁不是包在應用程式中」「Wails 負責顯示 server log / 啟停重啟 / 打開 localhost 網頁」 + +--- + +## 摘要(3 行) + +1. **這是一個 L 級變更,不是 S 級**:三項變更疊加起來等於把 visionA-local 從「Wails 內嵌式桌面 app」重新定位為「Ollama / LM Studio / Stable Diffusion WebUI 式的 server 管理器 + 獨立 web UI」,PRD 第 1 章(定位)、第 2 章(使用情境)、第 4 章(功能清單)、第 6 章(非功能需求)、第 8 章(風險)全部要改,競品類比也要換。 +2. **最大的哲學衝突**:原 PRD 的 北極星指標是「內部 FAE 在客戶現場 5 分鐘內跑出第一次推論 ≥ 95%」,現在多一步「要使用者先在桌面 app 按 Start Server → 再點 Open Browser → 瀏覽器才看到 UI」,這對「零摩擦 3 分鐘 demo」體驗是**退步而非進步**,PM 必須先釐清使用者動機,否則會做出一個「技術上更乾淨、但使用體驗更差」的產品。 +3. **目前開發階段是最糟的時機點**:M1-M6 已經做完,dmg 220MB 可跑,M7 Windows build 在收尾。此時做這種方向轉彎代價很高——前端 Sidebar / 4 主導航 / Workspace / Settings 全部要重新思考「誰住在 Wails 裡、誰住在瀏覽器裡」。但如果使用者的動機夠強(見 C1),延後改比現在改更貴。**必須先釐清動機再做決定,不要為了「使用者說了就做」而跳過第一輪分析**。 + +--- + +## A. 變更解讀 + +### A1. 影片來源變更(砍 URL / yt-dlp) + +**新要求**:推論只包含 `camera / image / upload 影片(avi, mpeg, mp4 瀏覽器能吃的格式)`。 + +**PM 解讀**: +- 使用者明確砍掉 `/api/media/url`(YouTube / yt-dlp 相關)。 +- 「瀏覽器能吃的格式」是一個**關鍵措辭**——暗示使用者的 mental model 從「我用桌面 app 解影片」轉向「我用瀏覽器播影片」。這跟 A3 介面變更是同一件事的兩面。 +- 但這裡有個**語意陷阱**:瀏覽器能播的 `