Extract 轉檔零件+工作流:自動辨識副檔名轉檔(docx/pptx/xlsx/pdf/md/csv/xml…),去 Python 化——請出 SDD(含 WASM 鐵律歸屬裁定) #54
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
[總管] 需求源:leo 2026-07-14 journal(
Leo/kbjournals/2026_07_14.md「完成 Arcrun RAG 企業 V1」)原話:技術盤點(InkStoneCo wishlist C8,2026-07-14):OOXML 全家(docx/pptx/xlsx)=zip+XML;JS 生態成熟(mammoth/SheetJS/unpdf)但牴觸零件鐵律(TinyGo/AS WASM only)。SDD 要裁的核心=歸屬:
對標:n8n Extract From File 沒有 docx/pptx——此件補齊即「n8n 有的都有、還多兩格」。掃描 PDF 的 OCR 不進本件(歸 LLM provider)。市場定位與細節見
Leo/InkStoneCosystem-dev/docs/1-vision/product-wishlist.mdC8。對應 arcrun-rag V1:demo site 的攝入流程直接吃這個(現用 markitdown Python=要拔掉的最後依賴)。
[總管] leo 07-14 補需求核心=自動偵測(這是與 n8n 的本質差異,寫進 SDD requirements):
對標痛點:n8n Extract From File 要用戶手選輸入格式——多格式攝入就得 switch 分流到不同 extractor。Arcrun Extract=單一入口零件,進什麼吃什麼,工作流不需要 switch。
偵測級聯(副檔名只是第一層,magic bytes 才是權威):
PK\x03\x04=ZIP 家族→讀內部[Content_Types].xml分辨 docx/pptx/xlsx;%PDF-=pdf;D0CF11E0=舊版 Office;③二進位判不中→文字類結構嗅探(<?xml→xml、分隔符規律→csv、其餘→md/plain)。format:unknown-text;真二進位判不出→不假裝,標format:unknown進待處理清單+通知 admin(原檔留 repo 溯源,不丟)。禁默默跳過、禁猜錯格式硬解出亂碼入庫。