跳至主要內容
全球國際徵信顧問
案件指揮艙全部本機工具
V237 / OPERATING GUIDE

先讀範圍,再決定要把哪些工具存到這台裝置。

離線完整包讓「截圖轉文字」、PDF 工坊與選配的語音轉文字包,在沒有網路時也能用。本頁說明做什麼、不做什麼、規則細節、怎麼自己驗證、本機沙箱的實測,以及最容易被誤解的地方。

READ FIRST

先說清楚這不是什麼

這不是案件資料備份,也不能確保整個網站永遠可用。它只把公開的工具檔存進這個瀏覽器為本站保留的儲存空間,瀏覽器可以在空間吃緊時清掉它。
OFFLINE PACK

離線完整包

一頁、三個步驟:選擇要存的內容、存入、實際斷網測試。

做什麼
  • 一次一個動作:預設已勾好「基本離線內容」、「截圖轉文字(繁體中文+英文)」與「PDF 工坊」,不確定就直接按「存到這台裝置」。預設總共約 33.3 MB(其中引擎與語言檔 12.0 MB,基本離線內容 21.3 MB 是檔案原始大小)。
  • 「進階」收合在下面:更多 OCR 語言(簡體中文、日文、韓文、越南文、泰文、印尼文)、OCR 相容核心、簡繁轉換、語音轉文字選配包。
  • 只存符合這台裝置的 OCR 核心:支援 SIMD 的瀏覽器存快速核心,不支援的存相容核心,不會兩種都存。
  • 下載中會顯示進度、目前的檔名,可以隨時「取消」;已經存好的檔案會留著,下次只補缺的。失敗時有「重試失敗的項目」,同樣只下載缺的檔案。
  • 最多同時 2 條下載,每個檔案存進來之前先核對大小與 SHA-256,對不上就不存,也不會留下殘缺的檔案。
  • 存好後畫面寫「已存好 N 項、共 X MB」,並教你怎麼關掉網路實際試一次;之後可以按「檢查完整性」,把每個檔案重新算一次核對碼,並實際讀取一個檔案確認它是從這台裝置供應的。
  • 可以逐項移除,或「全部移除」(兩段式確認);網站更新後,頁面會提醒有新版,按「更新」才換,而且只重新下載有變動的檔案。
  • 各工具頁面(截圖轉文字、PDF 工坊、錄音轉文字)上的小標籤會告訴你這個工具的引擎是否已存好。
不做什麼
  • 不在背景同步、不自動更新、不自己重試;沒有你的動作就不會下載。
  • 不使用 localStorage、sessionStorage、IndexedDB 或 cookie;引擎檔只放在一個獨立的 Cache Storage(gibpack-engines-v1)。
  • 不保存你的檔案或案件資料,也不蒐集你存了什麼。
  • 不讓選配包的檔案憑空出現:語音轉文字包要先由網站管理者把它放進網站,這裡才存得到。
規則細節
  • 基本離線內容是網站原本就有的「V206 離線備援」,檔案清單由 sw.js 決定(目前 614 個檔案、約 21.3 MB)。它開始後無法中途取消,所以排在最後一步。
  • 引擎檔的清單(v237-engines.json)每次都跟網站要最新版(不使用快取),其中每個檔案都有大小與 SHA-256;Service Worker 一邊下載一邊串流計算,結果與清單不符就整個丟掉。
  • 每個工作都是單一任務:已經有存入或檢查在進行時,其他分頁會看到提示,可以停止它。瀏覽器若在下載中途把背景程式暫停,頁面最多等 60 秒後會偵測到並說明,可以接著存。
  • 空間不夠時會停下來,用白話說明(清出空間或移除不用的項目),不會把殘缺的檔案當成已存好。「要求長期保留」只是請求,瀏覽器可以不答應,頁面會照實說。
  • 已存的檔案在網站更新後繼續使用,直到你按「更新」;也就是更新前,離線用的是舊版。
可以存的內容與大小(清單中的實際位元組)
大小為十進位 MB(1 MB = 1,000,000 位元組)。語音轉文字包的檔案數含 pack.json。
內容群組代號大小檔案數
辨識程式(共用)ocr-base174,268 位元組(0.2 MB)2
OCR 快速核心(支援 SIMD 的瀏覽器)ocr-core-simd2,996,129 位元組(3.0 MB)2
OCR 相容核心(不支援 SIMD 時)ocr-core-compat2,995,832 位元組(3.0 MB)2
繁體中文語言檔ocr-lang-chi_tra1,656,239 位元組(1.7 MB)1
英文語言檔ocr-lang-eng2,952,873 位元組(3.0 MB)1
簡體中文ocr-lang-chi_sim1,718,768 位元組(1.7 MB)1
日文ocr-lang-jpn2,030,256 位元組(2.0 MB)1
韓文ocr-lang-kor1,572,336 位元組(1.6 MB)1
越南文ocr-lang-vie1,423,003 位元組(1.4 MB)1
泰文ocr-lang-tha896,631 位元組(0.9 MB)1
印尼文ocr-lang-ind1,194,182 位元組(1.2 MB)1
PDF 引擎(含字元對照表與標準字型)pdf4,245,548 位元組(4.2 MB)188
簡繁轉換(OpenCC)opencc1,100,656 位元組(1.1 MB)1
語音轉文字選配包pack-asr130,409,423 位元組(130.4 MB)17
如何自行驗證
  • 斷網測試:存好後開啟飛航模式,再開「截圖轉文字」按「載入辨識模型」、辨識一張圖,並用 PDF 工坊讀一份 PDF。
  • 開發者工具:Application 分頁的 Cache Storage 會看到 gibpack-engines-v1,裡面每個檔案都有 X-Gibpack-Group 標頭;Network 分頁斷網後重新載入,引擎檔應該顯示由 Service Worker 供應。
  • 核對檔案:用 sha256sum 對網站上的引擎檔算核對碼,與 v237-engines.json 裡的值比對。
  • 確認沒有外送:存入與使用期間,Network 分頁只應該出現本站網域的請求。
實測(本機沙箱小樣本,單次量測)

下列都是在 2 核心的沙箱、同時還有其他程序在跑、測試站在本機(沒有真實網路延遲)的 Chromium 量到的;時間只供參考,不代表你的手機或網路。真實手機、iOS Safari、Firefox 沒有測過。

  • 預設內容存入(桌面):5.8 秒;手機尺寸視窗:6.3 秒。
  • CPU 降速 4 倍加上慢速網路(每條連線約 1.6 Mbps、延遲 150 毫秒):91.0 秒完成;頁面超過 100 毫秒的長任務 1 次、最長 140 毫秒(核對碼的計算在 Service Worker 裡,不佔用頁面)。
  • 斷網後(伺服器端與瀏覽器端都斷線)用桌面與手機尺寸各辨識一張合成圖:字元錯誤率 1.2%(單一樣本;誤差的完整說明見 OCR 指南);PDF 工坊讀得到中文文字與使用 Big5 字元對照表的 PDF;伺服器沒有收到任何成功的引擎檔請求。
  • 語音轉文字選配包:存入 7.0 秒、完整性檢查 1.3 秒(約 130.4 MB);斷網後在錄音轉文字頁載入引擎並辨識一段短錄音成功。
  • 失敗注入(伺服器回 500、內容被截短、位元組被改、連線中斷)、取消、空間不足(模擬儲存空間上限)、網站更新(只重新下載有變的檔案)、背景程式被中止、兩個分頁同時操作、檔案被竄改後的檢查與修復,都有測試,結果如下表。
自動化測試的通過數(通過/總數)。測試在私有測試樹上執行,不碰網站正式檔案。
測試結果
核心函式單元測試(Node)198/198
清單產生器11/11
Service Worker 通訊協定91/91
Service Worker 通訊協定(續)41/41
HEAD 請求5/5
桌面與手機:存入、斷網後使用67/67
沒存/移除之後30/30
失敗注入、取消續傳、空間不足、SIMD51/51
網站更新、慢網路、背景程式被中止、檢查與修復、手機版面39/39
語音轉文字選配包12/12
既有的 Service Worker 離線測試(V236)29/29
常見誤解
  • 「存好了就永遠在」:不是。瀏覽器可以清掉;離線前請再回來按「檢查完整性」。
  • 「離線完整包會備份我的資料」:不會,它只存公開的工具檔。
  • 「網站更新了,離線版會自動變新」:不會,要你按「更新」。
  • 「OCR 離線也一樣準」:離線用的是同一份引擎與語言檔,辨識品質與線上相同,限制見 OCR 指南。
  • 「檢查通過就代表檔案經過第三方認證」:不是。核對碼只能發現下載中斷與內容被改,不能證明來源。
限制
  • 沒有真機測試(iOS、Android 實機)與 Firefox、Safari 的測試;各瀏覽器給網站的儲存空間不同。
  • 正式主機(Netlify)自動解壓縮 .gz 檔的行為只在本機模擬過(伺服器自動解開時,會用解開後的大小與核對碼比對,另有備援欄位),沒有在正式站上實測。
  • 基本離線內容只能確認檔案數量,沒辦法逐檔核對內容。
  • 一個存入工作如果超過瀏覽器允許背景程式存活的時間,會被中止;此時頁面會偵測並讓你接著存,已存好的不會重抓。

建議的使用流程

  1. 在有 Wi-Fi 的地方開啟離線完整包,保持預設,按「存到這台裝置」。
  2. 等畫面寫「已存好」,再開啟飛航模式,照「怎麼測試」實際試一次。
  3. 出發前再回來按一次「檢查完整性」。
  4. 不再需要時,在「已存在這台裝置的內容」逐項移除,或按「全部移除」。

離線完整包 · OCR 操作指南 · PDF 工坊指南 · 回首頁