"""本地预览查看器(带 COOP/COEP 头 → 页面跨源隔离 → onnxruntime-web 可用多线程 wasm) python ml/serve.py [端口=8000] 然后打开 http://localhost:8000/?policy=1 注:跨源隔离下从 CDN 加载 ort.min.js 需要 CDN 返回 CORP 头;jsDelivr 支持。若被拦,用 &ortLocal=1 并把 onnxruntime-web 的 dist 文件(ort.min.js、ort-wasm-simd-threaded*.wasm/.mjs)放到 webapp/vendor/ort/。""" import http.server, os, sys os.chdir(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'webapp')) class H(http.server.SimpleHTTPRequestHandler): def end_headers(self): self.send_header('Cross-Origin-Opener-Policy', 'same-origin') self.send_header('Cross-Origin-Embedder-Policy', 'require-corp') self.send_header('Cross-Origin-Resource-Policy', 'cross-origin') self.send_header('Cache-Control', 'no-store') super().end_headers() extensions_map = {**http.server.SimpleHTTPRequestHandler.extensions_map, '.wasm': 'application/wasm', '.mjs': 'text/javascript'} port = int(sys.argv[1]) if len(sys.argv) > 1 else 8000 print(f'http://localhost:{port}/?policy=1') http.server.ThreadingHTTPServer(('', port), H).serve_forever()