# WASM / WASI Preview 2 组件模型 + JSPI 性能预算与链接规则规划器

规划 WebAssembly 组件部署：wac 式链接图与 plug 命令、五大运行时的 WASI Preview 2 支持核查、JSPI 标记，以及体积/冷启动/TTFB/内存预算。

> 标准页面: https://elysiatools.com/zh/tools/wasm-wasi-component-model-jspi-wasi-copilot-perf-budget-and-link-rule-planner

- **分类:** Validation

- **关键词:** wasm, wasi, 组件模型, 链接规则, 冷启动, 流式, 预算, 运行时矩阵

## 概述

组件解析为 wac 式 socket/plug 链接图（拓扑排序、环检测、生成 wac plug / wac targets 命令）；支持矩阵按稳定版 WASI 0.2（wasi-cli、wasi:http/proxy）与提案（keyvalue、config）区分 wasmtime、Wasmer、WasmEdge、WAMR 与 V8；体积、冷启动 p50/p95/p99、流式 TTFB 与每实例内存对照预算建模；JSPI 被标记为 V8 原生但尚未 W3C 标准化。

## 输入项

- **组件清单** (textarea): One per line: name, imports, exports, size_kb (use "-" for empty lists) e.g. api-gateway, wasi:http/incoming-handler@0.2.0 wasi:keyvalue/store@0.1.0, wasi:http/outgoing-handler@0.2.0, 850 auth-plug, -, wasi:http/incoming-handler@0.2.0, 220 kv-cache, -, wasi:keyvalue/store@0.1.0, 150
- **目标运行时** (select)
- **所需 WASI 接口** (select)
- **使用 JSPI（异步↔同步桥）** (checkbox)
- **流式响应（wasi:http）** (checkbox)
- **预期并发实例数** (number)
- **每实例线性内存（MB）** (number)
- **体积预算（KB）** (number)
- **冷启动预算 p99（ms）** (number)
- **TTFB 预算（ms）** (number)

## 适用场景

- 在微服务或边缘节点部署多组件 WASM 架构，需要规划组件间 socket/plug 接口装配与 `wac plug` 依赖关系时。
- 评估 WASI 0.2 稳定接口（如 wasi:http/proxy、wasi-cli）与提案接口在不同目标运行时（如 Cranelift 与 V8 隔离实例）的兼容性与风险时。
- 为大规模并发实例建立包体积、p99 冷启动延迟、流式响应 TTFB 与线性内存容量基准线时。

## 工作原理

- 解析组件清单中声明的导入、导出接口与文件体积，通过拓扑排序与环检测生成依赖链接图与 CLI 链接命令。
- 对照选定的目标运行时矩阵，逐一核查所选 WASI 接口的支持状态（稳定支持、实验性支持或提案中），并提示 JSPI 标准化状态。
- 根据并发实例数、每实例内存配额及流式开关，建模计算冷启动 p50/p95/p99 分位数、TTFB 及总内存开销，并与预设预算进行对比告警。

## 使用案例

- 云原生网关插件编排：为基于 wasi:http/proxy 的网关组合认证中间件与缓存组件，生成自动化构建脚本。
- 边缘函数轻量化落地：在资源受限设备上使用 WAMR 运行单叶节点 CLI 组件，控制亚毫秒级冷启动与极低内存开销。
- 浏览器与 Node.js 隔离沙箱设计：在 V8 隔离实例中集成 JSPI 与组件模型，验证异步 I/O 桥接与冷启动预算。

## 常见问题

### JSPI 选项在架构评估中代表什么？

JSPI（JavaScript Promise Integration）用于在 V8 等引擎中实现异步与同步的调用桥接，规划器会标记其仅在 V8 原生可用且尚未完成 W3C 标准化。

### 为什么生成的链接图会出现环依赖告警？

组件模型要求有向无环图（DAG），若两个或多个组件之间存在互相导入/导出的死锁依赖，拓扑排序将失败并抛出环检测警告。

### 流式响应（streamingResponses）如何影响 TTFB 预算？

开启流式响应后，TTFB 主要取决于首包生成与网络流建立延迟；关闭时则必须等待完整实例执行与缓冲结束，TTFB 会受制于冷启动 p99 耗时。

### WASI Preview 2 稳定接口与提案接口有什么区别？

wasi:http/proxy 和 wasi:cli 等属于 WASI 0.2 稳定规范，而 wasi:keyvalue 和 wasi:config 处于 Phase 2 提案阶段，在部分运行时中可能缺乏原生支持。

### 每实例线性内存设置如何作用于总开销？

规划器会将单实例线性内存配额乘以预期并发实例数，结合组件链接的组合开销，计算总体宿主内存开销并校验内存预算。

## 相关工具

- [美国市县法典（Municode 等）引用链接验证器与重编号检测器](https://elysiatools.com/zh/tools/us-state-county-municode-code-of-ordinances-section-subsection-citation-link-checker): 解析 Title/Chapter/Article/Section/Subsection/Appendix 五级法典引用，生成 Bluebook 规则 12.9.2 法律引用，检测近期条例修订导致的重编号（缺口/重复/乱序），并可选实时验证 Municode / American Legal / eCode360 托管链接。
- [Mod-11 校验码计算器](https://elysiatools.com/zh/tools/mod11-checksum): 使用模 11（ISO 7064）校验位算法校验或生成数字，支持 ISBN-10（10..2）、挪威身份证（3,7,6,1,8,9,4,5,2）与通用 2-7 权重方案。
- [AI 域名创意生成器](https://elysiatools.com/zh/tools/ai-domain-name-idea-generator): 输入品牌关键词,让 AI 生成最多 10 个创意域名,自动用 DNS 粗筛 + RDAP 复验可用性,过滤掉已注册的。面向创业者、独立开发者、品牌策划。
- [Cron 表达式解释器](https://elysiatools.com/zh/tools/cron-expression-explainer): 解析 5 段 / 6 段 / Quartz cron 表达式为自然语言调度描述，按字段拆解，并按任意 IANA 时区列出接下来 N 次执行时间，附带 AI 生成的本地化自然语言解释
- [看板周期时间与吞吐量教练](https://elysiatools.com/zh/tools/kanban-cycle-time-throughput-coach): 从 CSV（Jira 风格或简单格式）导入创建→开始→完成时间戳，得到敏捷教练视角的流指标：前置/周期时间分位数、WIP 年龄、按天/周/月的吞吐量、累积流图以及 Little 定律一致性校验。
- [ML-KEM / Kyber 密钥对与封装测试器](https://elysiatools.com/zh/tools/ml-kem-kyber-keypair-and-encapsulation-tester): 生成 ML-KEM-512/768/1024（FIPS 203 / CRYSTALS-Kyber）密钥对，用公钥封装随机共享密钥，再用私钥解封装并验证两边一致——同时现场核对三个参数集的精确线上尺寸。
- [PKCE Code Verifier 与 Challenge 生成器](https://elysiatools.com/zh/tools/pkce-code-verifier-generator): 生成、校验与验证 OAuth2 / OIDC PKCE（RFC 7636）的 code_verifier 与 S256 code_challenge 配对。三种模式：(1) 从密码学安全随机字节（256/384/512/768 位熵）生成全新的 verifier + challenge；(2) 按 RFC 审计你已有的 verifier——长度（43–128）、字符集 \[A-Za-z0-9-._~\] 与 ≥256 位熵；(3) 通过重算 BASE64URL(SHA256(verifier)) 验证 verifier/challenge 配对。可选构建完整的授权请求 URL 与令牌交换体。补足通用的 nonce-generator（仅输出 verifier+challenge 配对）——增加 RFC 合规审计与配对验证。
- [安全响应头检查器](https://elysiatools.com/zh/tools/security-headers-checker): 审计 HTTP 响应头的安全合规性——解析你粘贴的原始头（无网络），按 OWASP 安全头集做值级检查：HSTS max-age、CSP unsafe-inline/eval、X-Content-Type-Options、Referrer-Policy、Permissions-Policy、COOP/COEP/CORP 等。输出字母评级（A+ 到 F）及逐项 Finding 与可复制的修复建议。

## 示例

- [WebAssembly (WASM) 高性能计算](https://elysiatools.com/zh/samples/webassembly): 基于浏览器的高性能WebAssembly计算，实现接近原生的速度
- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [WASM查看器示例](https://elysiatools.com/zh/samples/wasm-viewer-samples): 用于浏览器内预览的WASM示例
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
