SuperAPI AI 工具集

ruview-cli-api

编程与开发

查看项目

更新于 10-16 06:30

技能介绍

RuView CLI、API 与 WASM 是 RuView 项目对外提供的程序化接口,涵盖命令行工具、HTTP API 和 WebAssembly 构建三种形态。

一、wifi-densepose CLI 二进制(wifi-densepose-cli) 该二进制位于 v2 目录,可通过 cargo 运行或构建。构建命令为 cargo build -p wifi-densepose-cli --release,产物为 target/release/wifi-densepose。顶层子命令包括 version 和 mat(Mass Casualty Assessment Tool,大规模伤亡评估工具),后者用于灾难幸存者探测。

mat 的子命令及用途:

  • mat scan [zone]:开始扫描幸存者。关键参数包括 --disaster-type、--sensitivity(0.0–1.0)、--max-depth(米)、--continuous、--interval(毫秒)、--simulate。
  • mat status:查看当前扫描状态。支持 --detailed、--format、--watch。
  • mat zones:管理扫描区域,包含 zones list(可加 --active-only)以及 add/remove/update。
  • mat survivors:列出已探测到的幸存者及其分诊状态。
  • mat alerts:查看和管理警报。
  • mat export:导出扫描数据,支持 JSON 或 CSV。

示例命令: cargo run -p wifi-densepose-cli -- mat scan rubble-A --disaster-type earthquake --sensitivity 0.7 --max-depth 5 --continuous --interval 2000 cargo run -p wifi-densepose-cli -- mat survivors --format json cargo run -p wifi-densepose-cli -- mat export --format csv > survivors.csv

使用 --simulate 可在没有硬件的情况下进行测试。相关背景与用户指南见 docs/wifi-mat-user-guide.md 及 wifi-densepose-mat crate。

二、REST API(wifi-densepose-api,Axum) 该部分为库 crate(v2/crates/wifi-densepose-api/src/lib.rs),提供 Axum 路由与处理器,通过 wifi-densepose-config crate 进行配置。它被接入服务器二进制(例如 sensing server / Docker 镜像),本身不是独立的 cargo run 目标。

最简单的体验方式是使用 Docker 镜像,它在 :3000 端口暴露 API 与仪表盘: docker run -p 3000:3000 ruvnet/wifi-densepose:latest 随后可访问 HTTP 端点(路由见 API 模块 / 文档),并打开 http://localhost:3000。

v1 Python 服务的配置参考见 example.env、pyproject.toml(archive/v1/)。若要将 API crate 嵌入自己的二进制,可从 wifi_densepose_api 获取 router,通过 wifi-densepose-config 提供配置,并用 Axum/Tokio 提供服务。项目规则要求在边界处进行输入校验。

三、WASM / 浏览器与 ESP32-WASM3 wifi-densepose-wasm 可将整个栈编译为 wasm32-unknown-unknown,并提供面向 JS 的 API: cd v2/crates/wifi-densepose-wasm wasm-pack build --target web --features mat # 推荐(生成 pkg/) cargo build --target wasm32-unknown-unknown --features mat # 普通 cargo 构建 导出的接口面见 v2/crates/wifi-densepose-wasm/README.md。

wifi-densepose-wasm-edge 包含 60 个边缘模块(609 个测试),可编译为 wasm32-unknown-unknown 并通过 WASM3 运行在 ESP32-S3 上;共享工具位于 src/vendor_common.rs。这些是 ADR-041 边缘智能模块的 WASM 形态。

浏览器演示包括 pose-fusion(ADR-059)和 point-cloud(ADR-094),通过 GitHub Pages 从 WASM 构建部署。

四、适用场景对照

  • 脚本化幸存者扫描 / 导出结果:使用 wifi-densepose mat …
  • 通过 HTTP 暴露感知能力:wifi-densepose-api(经由服务器二进制 / Docker)
  • 在浏览器中运行感知:wifi-densepose-wasm → wasm-pack build --target web
  • 在 ESP32 上以 WASM 运行边缘模块:wifi-densepose-wasm-edge + WASM3
  • 长时间运行的 CSI 接收与训练:wifi-densepose-sensing-server(见 ruview-applications / ruview-model-training)

五、参考资料 Crates:wifi-densepose-cli、wifi-densepose-api、wifi-densepose-config、wifi-densepose-wasm、wifi-densepose-wasm-edge、wifi-densepose-mat。 ADR:041(边缘模块)、059(实时 ESP32 流水线)、094(点云 GitHub Pages)。 文档:docs/wifi-mat-user-guide.md、docs/edge-modules/、docs/security-audit-wasm-edge-vendor.md。 变更后验证:cd v2 && cargo test -p wifi-densepose-cli -p wifi-densepose-api -p wifi-densepose-wasm --no-default-features。

限制方面:REST API 本身不是独立可运行目标,需嵌入服务器或使用 Docker;WASM 边缘模块依赖 WASM3 与 ESP32-S3 硬件;CLI 在无硬件时需使用 --simulate。其余如具体收费、平台支持范围等资料未提供。