
RuView 感知应用启动指南用 /ruview-app 运行存在检测、生命体征、姿态、睡眠与 MAT 应用【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuViewRuView 将普通 WiFi 的 CSI 信号转化为实时空间智能与生命体征感知。本文是仓库内插件命令/ruview-app的完整实战指南讲解如何通过该命令从存在检测、生命体征、姿态估计、睡眠监测、环境映射、Mass Casualty AssessmentMAT、3D 点云融合到各类新型 RF 应用中选择并启动对应的感知程序。读完本文你将掌握感知服务器wifi-densepose-sensing-server的启动参数、各应用的正确入口命令、无硬件时的 Docker/Python 回退方案以及在不同场景下如何选择最合适的感知模态。/ruview-app 命令是什么/ruview-app是 RuView 插件plugins/ruview/提供的一个 Claude Code 命令定义在 commands/ruview-app.md 中。它的职责非常单一把用户意图映射到一个可运行的 RuView 感知应用并执行启动。从命令定义看其参数提示argument-hint接受以下取值[presence|vitals|pose|sleep|environment|mat|pointcloud|name]命令的工作流程是一个四步流水线调用ruview-applicationsskill定义于 skills/ruview-applications/SKILL.md该 skill 内含完整的应用目录 快速配方 模态选择知识将$ARGUMENTS映射到具体应用若参数为空则展示应用目录并询问用户若用户没有真实硬件回退到 Docker 演示镜像或 Python 实时演示帮助用户挑选正确的感知模态穿墙检测、静止目标生命体征、骨骼姿态、搜救、多节点融合等。仓库中还维护了同一命令的 Codex 版本 codex/prompts/ruview-app.md其内容与 commands 版本保持一致说明这套映射逻辑同时服务于 Claude Code 与 Codex 两种 Agent 环境。应用目录一个命令覆盖九类感知能力ruview-applicationsskill 将 RuView 可运行的感知应用整理为一张目录表是/ruview-app映射的依据。下表完整保留并补充了各应用的入口点与底层依据应用功能入口 / 底层依据存在 / 占用检测穿墙检测人员、计数、追踪进出训练模型 PIR 融合sensing-server 实时模式examples/environment/生命体征呼吸 6–30 BPM带通 0.1–0.5 Hz、心率 40–120 BPM带通 0.8–2.0 Hz非接触式wifi-densepose-vitalscrateADR-021examples/medical/活动识别行走、静坐、手势、跌倒等时间序列 CSI 模式RuvSensegesture.rsDTW、pose_tracker.rsscripts/gait-analyzer.js姿态估计17 个 COCO 关键点WiFlow 架构摄像头WiFi 双模态融合演示cargo run -p wifi-densepose-sensing-server pose-fusion 演示ADR-059可用/ruview-train训练提升精度睡眠监测整夜监测、睡眠分期、呼吸暂停筛查examples/sleep/含 apnea_screener.pyscripts/apnea-detector.js环境映射RF 指纹识别房间、检测家具移动、发现新物体sensing-server--build-index envRuvSensefield_model.rs、cross_room.rsMATMass Casualty Assessment灾难幸存者检测——在废墟/烟雾中定位人员wifi-densepose-matcratedocs/wifi-mat-user-guide.mdexamples/medical/3D 点云可选融合摄像头深度MiDaS WiFi CSI mmWave 雷达 → 统一空间模型scripts/mmwave_fusion_bridge.pyADR-094新型 RF 应用无源雷达、材质分类、设备指纹、最小割人数统计scripts/passive-radar.js、material-classifier.js、device-fingerprint.js、mincut-person-counter.jsADR-077/078参数快速映射presence / vitals / pose / environment/ruview-app中最常用的一组参数是presence、vitals、pose、environment它们的核心入口完全一致——启动实时感知服务器wifi-densepose-sensing-servercd v2 cargo run -p wifi-densepose-sensing-server这条命令在仓库的 workspace 定义中可查到v2/Cargo.toml将 wifi-densepose-sensing-server 列入crates/wifi-densepose-sensing-server其二进制名为sensing-server见 Cargo.toml。两种数据来源真实 ESP32 与 Docker 模拟 CSI服务器对数据的消费方式由--source参数决定默认auto。典型场景有两种真实硬件ESP32 节点通过UDP 5005 端口把 CSI 帧推给服务器服务器解析为内部CsiFrame表示后进入信号处理管线处理后通过WebSocket 8765 端口ws://localhost:8765/ws/sensing推送给浏览器客户端同时用HTTP 8080 端口托管感知 UI 静态文件无硬件 / 演示直接使用 Docker 演示镜像跑模拟 CSI 数据流docker run -p 3000:3000 ruvnet/wifi-densepose:latest # 浏览器访问 http://localhost:3000默认端口与常用 CLI 参数从 cli.rs 的Args结构定义可以确认以下关键参数及默认值参数默认值说明--http-port8080UI 与 REST API 端口--ws-port8765感知流 WebSocket 端口--udp-port5005ESP32 CSI 帧的 UDP 接收端口--ui-path../uiUI 静态文件路径从v2/目录运行时的相对路径--tick-ms100主循环 tick 间隔100 ms ≈ 10 fps保证姿态动画流畅--bind-addr127.0.0.1绑定地址设为0.0.0.0可开启局域网访问可用环境变量SENSING_BIND_ADDR覆盖--sourceauto数据源auto/wifi/esp32/simulate--model—加载训练好的.rvf模型用于推理--progressive关启用渐进式加载Layer A 立即启动--load-rvf/--save-rvf—启动时加载 / 关闭时保存 RVF 容器--benchmark关运行生命体征检测基准测试1000 帧后退出自定义端口的完整示例cd v2 cargo run -p wifi-densepose-sensing-server -- \ --http-port 9000 \ --udp-port 5005 \ --static-dir ./ui加载训练模型--model 与 RVF 容器pose模态若要获得更好的精度需要加载训练好的模型。服务器要求--model指向RVF 二进制容器魔数RVFS0x52564653。源码 model_format.rs 明确说明如果向--model传入 HuggingFace 原始权重文件如 JSONL/safetensors加载器会报错并提示先转换为 RVF 容器。仓库提供了自动检测与转换路径--model加载器会自动检测并转换已发布的模型格式见 main.rs转换完成后提示convert-model: wrote {} ({} bytes). Load it with --model {}.嵌入与指纹索引--embed 与 --build-indexenvironment模态在启动服务器之外还需要额外两步生成嵌入--embed并构建指纹索引--build-index。--build-index在源码中支持四种索引类型见 main.rscd v2 cargo run -p wifi-densepose-sensing-server -- --model model.rvf --embed cargo run -p wifi-densepose-sensing-server -- --model model.rvf --build-index env索引类型取值用途env/environmentEnvironmentFingerprint环境指纹房间识别、家具移动检测activityActivityPattern活动模式索引temporalTemporalBaseline时间基线索引personPersonTrack人员轨迹索引值得注意的是--embed强制要求配合--model使用否则报错 --embed requires --model path to a pretrained .rvf filemain.rs。--build-index的实现会创建EmbeddingExtractor与FingerprintIndex对 CSI 窗口提取嵌入、插入索引并执行一次 Top-5 最近邻查询验证索引可用性main.rs。生命体征频段的源码依据vitals模态的呼吸/心率区间不是凭空设定的其依据在服务器 README 与源码中均有体现呼吸率对应0.1–0.5 Hz带通即 6–30 BPM心率对应0.67–2.0 Hz约 40–120 BPM实现位于vital_signs模块README.md通过纯 Rust FFT 从 CSI 幅度时间序列提取ADR-021。skill 目录中给出的是0.8–2.0 Hz心率带通两个区间均为有效范围实际覆盖 40–120 BPM。若要以库形式直接使用该模块可以use wifi_densepose_sensing_server::vital_signs::VitalSignDetector; // 20 Hz 采样率的检测器 let mut detector VitalSignDetector::new(20.0); // 喂入 CSI 幅度样本 for amplitude in csi_amplitudes.iter() { detector.push_sample(*amplitude); } // 提取生命体征 if let Some(vitals) detector.detect() { println!(Breathing: {:.1} BPM, vitals.breathing_rate_bpm); println!(Heart rate: {:.0} BPM, vitals.heart_rate_bpm); }数据流架构服务器 README 给出了完整的运行时数据流从硬件到浏览器一目了然ESP32 ──UDP:5005── [ CSI Receiver ] | [ Signal Pipeline ] (vital_signs, graph_transformer, sona) | [ WebSocket Broadcast ] | Browser ──WS:8765── [ Axum Server :8080 ] ── Static UI files睡眠监测sleepsleep模态的启动方式与其它模态不同它不走感知服务器而是组合两个入口# examples/sleep/ 下的睡眠示例 Node.js 呼吸暂停检测器 node scripts/apnea-detector.js仓库中 examples/sleep/ 目录包含 apnea_screener.py负责睡眠分期与呼吸暂停筛查而 scripts/apnea-detector.js 是配套的 Node.js 侧检测脚本两者组合即可完成整夜监测工作流。MATMass Casualty Assessment灾难幸存者检测mat是 RuView 面向应急场景的专门模块——利用 WiFi CSI 检测并定位被埋在废墟、瓦砾或倒塌结构中的幸存者。它由独立的wifi-densepose-matcrate 承载README.md完整用户指南见 docs/wifi-mat-user-guide.md。适用场景包括地震搜救、建筑物倒塌响应、雪崩受困者定位、洪水救援与矿井坍塌检测。该 crate 按领域驱动设计DDD 事件溯源组织分为检测detection、定位localization、告警alerting三个有界上下文并含机器学习层废墟穿透建模、生命体征分类。其核心能力包括生命体征检测呼吸模式、心跳特征、运动分类并由集成分类器ensemble classifier融合三路信号幸存者定位通过三角测量、深度估计与位置融合实现废墟下 3D 位置估计分诊分类符合 START 协议的自动分诊基于优先级生成告警与调度事件溯源所有状态变化以领域事件DetectionEvent、AlertEvent、ZoneEvent发出存入可插拔的EventStoreREST WebSocket API基于 axum 的 HTTP API供实时监控仪表盘使用ruvector 集成ruvector-solver提供三角测量数学ruvector-temporal-tensor提供压缩 CSI 缓冲。作为库使用的入口示例源自 crate 文档use wifi_densepose_mat::{ DisasterResponse, DisasterConfig, DisasterType, ScanZone, ZoneBounds, }; #[tokio::main] async fn main() - anyhow::Result() { let config DisasterConfig::builder() .disaster_type(DisasterType::Earthquake) .sensitivity(0.8) .build(); let mut response DisasterResponse::new(config); // 定义扫描区域 let zone ScanZone::new( Building A - North Wing, ZoneBounds::rectangle(0.0, 0.0, 50.0, 30.0), ); response.add_zone(zone)?; // 开始扫描 response.start_scanning().await?; Ok(()) }对于野外部署crate 提供了portable低功耗模式、distributed多节点分布式扫描、drone无人机搭载扫描隐含distributed等 feature 开关可在 Cargo.toml 中查阅。3D 点云融合pointcloudpointcloud模态对应多传感器融合演示——把摄像头深度MiDaS WiFi CSI mmWave 雷达统一到同一个空间模型python scripts/mmwave_fusion_bridge.py --csi-port COM7 --mmwave-port COM4mmwave_fusion_bridge.py 的实现会同时读取两个串口ESP32-S3 输出的 WiFi CSI 边缘处理生命体征默认 COM7以及 ESP32-C6 MR60BHA2 输出的 60 GHz mmWave 心率/呼吸默认 COM4用加权卡尔曼式平均融合心率与呼吸率并实时展示。该脚本还有配套的融合桥接脚本 scripts/mmwave_fusion_bridge.py 与更轻量的 Python 实时演示 examples/ruview_live.py。新型 RF 应用passive-radar / material-classifier / device-fingerprint / mincut-person-countername参数支持直接点名任意新型 RF 应用ADR-077/078 定义的场景各自是独立的 Node.js 脚本node scripts/passive-radar.js # 无源雷达 node scripts/material-classifier.js # 材质分类 node scripts/device-fingerprint.js # 设备指纹 node scripts/mincut-person-counter.js # 最小割人数统计 node scripts/gait-analyzer.js # 步态分析活动识别配套无硬件时的回退方案若当前环境没有任何 ESP32 硬件/ruview-app会回退到两种开箱即用的方案方案一Docker 演示镜像模拟 CSI全功能docker run -p 3000:3000 ruvnet/wifi-densepose:latest # http://localhost:3000方案二Python 实时演示python examples/ruview_live.pyruview_live.py 是一个环境智能仪表盘它把 RuView Rust crate 中的信号处理算法移植为 Python 实现融合 WiFi CSIESP32-S3与 60 GHz mmWaveMR60BHA2两路信号。其命令行参数完整如下python examples/ruview_live.py --csi COM7 --mmwave COM4 \ --duration 120 --interval 3 --mode vitals \ --seed http://169.254.42.1--csiCSI 串口或none--mode happiness时默认 COM5否则默认 COM7--mmwavemmWave 串口默认 COM4可传none--duration运行时长秒默认 120--interval刷新间隔秒默认 3--mode仪表盘模式vitals默认或happiness幸福向量 Cognitum Seed 摄入--seedCognitum Seed 的 HTTP 基础地址默认关闭。脚本内部移植了 RuVector 的多项核心算法ruview_live.pyWelford 在线统计、生命体征异常检测z-score 阈值 2.5可识别心动过速/心动过缓/呼吸暂停、纵向漂移检测2σ 阈值、相干性评分0.3 阈值 10 帧陈旧上限、HRV 分析SDNN/RMSSD/pNN50/LF-HF以及基于 HRV 的可校准血压估计器。当 mmWave 与 CSI 同时有信号时心率按 8:2 权重融合mw_hr * 0.8 csi_hr * 0.2并在会话结束时输出包含所有基线的摘要报告。可视化辅助脚本skill 中亦有收录node scripts/csi-spectrogram.js # CSI 频谱图 node scripts/csi-graph-visualizer.js # CSI 图谱可视化如何选择合适的感知模态/ruview-app的第四步会根据用户需求给出模态推荐这是实际部署时最有价值的部分隔墙、无视线through-wall→ 选择presence activity。穿墙场景受 Fresnel 区几何限制典型有效距离约≤5 m不要期望更远目标静止睡觉/静坐→ 选择vitals先看呼吸心率需要更干净的信号 sleep staging需要骨骼关键点→ 选择poseWiFlow。纯 WiFicamera-free模式精度一般加入摄像头监督训练后可达 92.9% PCK20但需要用/ruview-train训练见 ruview-train.md 与 ruview-model-training搜救场景→ 选择MATdocs/wifi-mat-user-guide.md房间里发生了什么变化→ 选择environment mapping / RF 指纹索引--build-index env追求最佳空间精度→ 使用2 个以上 ESP32 节点 跨视角融合源码位于 v2/crates/wifi-densepose-ruvector/src/viewpoint/可选配 Cognitum Seed 增强高级用法见 ruview-advanced.md 与 ruview-advanced-sensing。参考资源命令定义plugins/ruview/commands/ruview-app.md 与 Codex 版 plugins/ruview/codex/prompts/ruview-app.md应用目录与配方plugins/ruview/skills/ruview-applications/SKILL.md感知服务器v2/crates/wifi-densepose-sensing-server/README.md、CLI 参数 cli.rs、--build-index实现 main.rsMAT cratev2/crates/wifi-densepose-mat/README.md用户指南docs/user-guide.md、docs/wifi-mat-user-guide.md相关 ADR021生命体征、024对比 CSI 嵌入、027跨环境泛化、059实时 ESP32 管线、077/078新型 RF 应用、094点云部署、355空房启动基线示例目录examples/{environment,medical,sleep,stress,happiness-vector}/每个目录均有 README【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考