【工序|ChatArtPro/OHIYOYO 兩站】
2026-10-18 交接卡補錄|交接卡_HANDOFF_備份_20261018.md+交接卡_備份_20261018.md
#### 【有效技巧】
- 兩站架構:前端 Cloudflare Pages(V0 deploy_pages\=ohiyoyo.pages.dev;V1 ohiyoyo_one\=ohiyoyo-one.pages.dev),後端共用 Worker ohiyoyo-api.ohiyoyo.workers.dev(deploy\src\worker.js),D1 ohiyoyo-db+KV OHK+R2 ohiyoyo-media。出站連 Cloudflare 即可,家用 NAT 不用開埠。
- 帳號免費口徑(bu 實測):yahoo es8931407@yahoo.com.tw=ArtMotion 4.1 全組合免費(480p/720p/1080p×5s/10s);gmail es8931407@gmail.com=ArtMotion 5.0 全免費(限時剩約27天)、MiniMax H3 免費=t2v 480p×5s 或 i2v「首尾畫格」480p(全能模式扣60鑽)。
- ChatArtPro 模型切換正解:模型選單是 el-cascader——先點當前模型名開選單,點一級「Art Motion」(不含4.1/5.0字樣),等2.5s再點二級「Art Motion 4.1/5.0」,最後 body 驗證。H3 則點 cascader-node 含「MiniMax H3」→切首尾畫格→480p+產生鈕純「產生」=免費。
- 登入三 bug 修正:el-dropdown trigger 必須 Playwright 原生 click(JS click/get_by_text 不觸發 Vue);絕不可預先移除 .el-dialog/.el-overlay(彈窗本體);current_login_email 讀不到 body email(None)時視為已登入目標帳號,避免登出重登循環。
- 動作模仿分線領單:poll?tool=mimic 與一般影片任務互不干搶;mimic_worker.py 唯一檔名綁任務(mimic_{task_id}_role.jpg/_motion.mp4),全程同一 task_id 嚴禁錯位;_sent.json 每任務 append 時間+檔名供稽核。
- 生成時長公式:length=17×round((dur×16−5)/17)+5(5s→73幀,v3用81)。
- 用戶隔離:作品按 site/uid 分目錄 R2 result/V0-OHIYOYO|V1-OHIYOYO-ONE/{email}/;/api/works?user_id=+device_id 雙查+file_url 去重;登入時把裝置未登入期間作品遷移綁帳號。
#### 【踩坑/避開的錯誤】
- AI MV 線未解:ChatArtPro AI MV 音樂上傳後 UI 無就緒、點產生靜默無任務(aimv_resend3.log「送出未建立任務」)→ 需 headful 手動確認音樂選取方式,勿假設已通。
- 批次誤用 Seedance 2.0 Fast 根因:i2v 頁預設 Seedance;舊 setup「text=MiniMax H3」直點命中通知列(GPT Image/H3 開放體驗橫幅),模型根本沒切→18 支實際 Seedance 480p 5s,觀感重複/截斷。
- ArtMotion 4.1 下「1080P」文字按鈕點不到(維持預設仍免費)→ 解析度 UI 非文字按鈕,待查 DOM;switch_model 失敗要 raise 中止該段,絕不在錯誤模型送單(防扣點)。
- ChatArtPro 一次只能一個 worker 進程,兩個互踢搶單。
- 錯位影片絕不刪已付費成品:改「重掛對應」(R2 檔全保留,依用戶播放觀察把內容對到正確任務)。
- 「Auto」=用戶口語的 ArtMotion;「One 2.2」兩帳號面板查無;MiniMax X3=H3。
- 跨日 bug:course 批次時間戳正則硬編日期→00:00 後永遠匹配不到卡;日期正則一律動態 \d{4}-\d{2}-\d{2}。