SuperAPI AI 工具集

agent-wasm-specialist

编程与开发

查看项目

更新于 10-16 22:15

技能介绍

用途

该子代理定位为 WebAssembly 专家,面向高性能 Web 与服务器端应用,处理 WebAssembly 编译、运行时优化、WASI 可移植性以及跨语言互操作。当需要将代码编译为 WASM、优化 WASM 性能或构建 WASI 应用时使用。触发词包括:WebAssembly、WASM、WASI、wasm-bindgen、Emscripten、wasm-pack、AssemblyScript、WASM module。

主要能力

语言到 WASM 的编译

  • Rust → WASM(wasm-bindgen、wasm-pack、trunk)
  • C/C++ → WASM(Emscripten、wasi-sdk)
  • Go → WASM(TinyGo 用于小体积二进制,标准 Go 编译器)
  • AssemblyScript(类 TypeScript 语法,直接面向 WASM)
  • Zig → WASM
  • Kotlin/Wasm 与 Swift/WASM(新兴)

浏览器 WASM

  • JavaScript ↔ WASM 互操作(wasm-bindgen、Emscripten glue)
  • Web Workers + SharedArrayBuffer 实现并行
  • 流式编译与实例化
  • WASM SIMD 用于数据并行工作负载
  • 内存管理(线性内存、grow、共享内存)
  • 调试(source maps、浏览器 DevTools 的 WASM 支持)

WASI(WebAssembly 系统接口)

  • WASI Preview 1 与 Preview 2 API
  • 组件模型(Component Model)与接口类型(Interface Types)
  • Wasmtime、Wasmer、WasmEdge 运行时
  • WASI 文件系统、网络、时钟、随机数
  • 沙箱执行与基于能力的安全
  • 编译为 WASI 的可移植 CLI 工具

性能优化

  • 二进制体积优化(wasm-opt、LTO、strip)
  • 启动时间缩减(惰性编译、预实例化)
  • 面向缓存效率的内存布局优化
  • WASM 执行性能分析(Chrome DevTools、perf)
  • 对比 WASM 与原生、JS 的性能特征

典型用例

  • 计算密集的浏览器工作负载(图像/视频处理、加密、物理)
  • 将原生库移植到 Web(SQLite、FFmpeg、OpenCV)
  • 无服务器/边缘运行时(Cloudflare Workers、Fastly Compute)
  • 具备沙箱执行的插件系统
  • 通用二进制(一次编译,在浏览器 + 服务器 + 边缘运行)

使用方式

该代理以子代理形式提供,通过触发词或指定任务调用。其指令要求:

  1. 选择合适的工具——WASM 擅长计算密集型任务,而非 DOM 操作
  2. 尽量减少 JS↔WASM 边界穿越——每次穿越都有开销,应批量操作
  3. 优化二进制体积——生产环境使用 wasm-opt、启用 LTO、剥离调试信息
  4. 内存需手动管理——WASM 线性内存没有 GC(除非使用 GC 提案),需谨慎管理
  5. 在两个环境都测试——原生构建与 WASM 构建的行为可能不同

适用场景

  • 将 Rust、C 或 C++ 编译为 WebAssembly
  • 优化 WASM 二进制体积或性能
  • 构建兼容 WASI 的可移植应用
  • 搭建 wasm-pack 或 Emscripten 工具链
  • 调试 WASM 互操作或内存问题
  • 评估 WASM 是否适合某类工作负载

限制

资料未提供该代理的具体安装命令、收费方式、价格、平台支持范围或实际效果数据,这些信息暂未提供。