Mã nguồn mở 🇺🇸 27.07.2026 21:04

Experiments with the Proposed Cross-Origin Storage API in Transformers.js

Hugging FaceHugging Face
Transformers.js faces a caching issue: when using the same AI model or Wasm runtime across different websites, the browser downloads and caches them repeatedly due to origin-based cache isolation. The proposed Cross-Origin Storage (COS) API addresses this by identifying files by cryptographic hash rather than URL, enabling secure resource sharing across different origins.
Transformers.js — thư viện để chạy các mô hình transformer trong trình duyệt. Khi tải một mô hình, chẳng hạn như Xenova/whisper-tiny.en, trình duyệt sẽ lưu vào bộ nhớ đệm thông qua Cache API. Tuy nhiên, khi truy cập một trang web khác sử dụng cùng mô hình đó, trình duyệt sẽ tải lại mô hình đó (177 MB dữ liệu trùng lặp), vì bộ nhớ đệm HTTP bị cô lập theo nguồn gốc (Network Isolation Key bao gồm top-level site và current-frame site). Điều này cũng áp dụng cho runtime Wasm ort-wasm-simd-threaded.asyncify.wasm (4.733 KB), được chia sẻ giữa các mô hình khác nhau. API Cross-Origin Storage (COS) được đề xuất giới thiệu navigator.crossOriginStorage, định danh các tệp theo hàm băm SHA-256. Nhà phát triển có thể lưu trữ và đọc các tệp thông qua requestFileHandle(hash). Các tệp có thể được truy cập toàn cầu (origins: '*'), bị giới hạn bởi danh sách các nguồn gốc hoặc chỉ trong cùng một trang web (same-site). Hàm băm được kiểm tra khi ghi, đảm bảo tính toàn vẹn. Khả năng hiển thị chỉ có thể mở rộng, không thể thu hẹp. Để bảo vệ quyền riêng tư, COS ngăn chặn việc dò tìm thông qua nguồn gốc và hàm băm. API hiện đang trong giai đoạn thử nghiệm, nhưng có thể truy cập thông qua tiện ích mở rộng Cross-Origin Storage.
Nguồn: Hugging Face blog — bản gốc
Bài viết liên quan trước đây ↓
Tin mới