用途:在浏览器网页应用中实现和调试 WebNN(Web Neural Network API)集成,适用于需要本地推理的 JavaScript 或 TypeScript 前端项目。
主要能力:识别前端集成入口(页面、UI 处理器、Worker 入口、模型加载层);确认 WebNN 可行性并选择运行时形态(直接使用 MLGraphBuilder 构图,或包装已有本地推理运行时以优先走 WebNN 加速);实现带守卫的运行时适配器;处理不支持浏览器、非安全上下文、准备中、原生执行与显式回退等状态;验证行为并排查错误。
使用方式:先运行 node scripts/find-webnn-targets.mjs . 盘点目标文件与已有 WebNN 标记(无 Node 时手动检查 package.json、HTML 入口、框架引导文件与 Worker 入口)。编写代码前阅读 references/webnn-reference.md,选择流程时看 references/examples.md,涉及兼容性、预览标志或后端差异时看 references/compatibility.md,出错时看 references/troubleshooting.md。集中做支持检测(window.isSecureContext、navigator.ml 与执行上下文),在应用准备初始化本地推理的边界处创建 MLContext;直接执行时按 context.writeTensor()、context.dispatch()、await context.readTensor() 顺序调用;监听 context.lost 并在失效时重建上下文、图与张量;功能销毁时释放张量、图与上下文。设备意图可选 powerPreference: "high-performance"、powerPreference: "low-power" 或 accelerated: false,但仅为偏好而非保证。
适用场景:浏览器内本地模型推理、需要优先使用 WebNN 加速且已有本地运行时适配层的应用、需要明确回退路径的本地处理功能。
限制:需安全上下文与 Window 或 Worker 上下文;不适用于服务端推理、模型训练或依赖云端推理的场景;非浏览器网页应用不适用;加速与设备选择可能被浏览器按算子回退或拆分;若目标环境依赖预览 Chromium 标志,需先确认浏览器状态再判定为应用缺陷;资料未提供具体价格、平台支持版本与性能数据。