Commit Graph

2 Commits

Author SHA1 Message Date
Leo 903ca60154 feat: 本地轉檔層補 .pptx——CP B1 最後一個 Office 格式
同 docx 路數:zip 開 OOXML、slide 按數字序、每頁「## 投影片 N」+文字+(備註);
空/純圖回 ErrNoText 明示不靜默。測試 4 案(中文/多頁排序/備註/空簡報)。
過程紅測一輪:NFKC 套整份 Markdown 把自家全形標籤「(備註)」轉半形——
改為只正規化 XML 抽出片段、結構標記正規化後組裝。collector go test 全綠(總管親跑)。
(實作=子 CC;驗證+commit=總管)
2026-07-28 13:40:36 +08:00
Leo 09bf454402 feat(t73): 轉檔層接進主流程——docx 真的走得通(零件完成≠功能完成)
ExtractWithGemma 讀檔後改走 ConvertToText,LLM 只會收到文字永不收二進位。
刻意不吞錯:ErrNoText(掃描件/空檔) 與 ErrUnsupported(未支援格式) 都往上拋,
因為靜默略過正是 leo 撞到的病。

接線測試 5/5(驗用戶真的會走的那條路,非只測零件):
  scan 收得到 .docx/收 .md/不收 .png
   docx 一路走到 Gemini API 才因假 key 失敗 = 決定性證據:
     轉檔確實發生在送模型之前(非宣稱)
  抽不出文字 → 明確失敗且 errors.Is(ErrNoText) 可判定,不靜默送空卡
  未支援格式 → ErrUnsupported,與 ErrNoText 可區分(給用戶的說法不同)
  .md 迴歸保護:不因接了轉檔層而壞掉

順帶修:變數名與既有 text(LLM 回應) 衝突 → 改 srcText(輸入原稿),IDE 診斷抓到。
全 collector 測試綠。
2026-07-27 20:44:29 +08:00