mirror of
https://github.com/ruvnet/RuView
synced 2026-07-19 16:53:18 +00:00
8ff7c2c35a
Add `plugins/ruview` — an end-to-end toolkit for working with RuView (WiFi-DensePose) from Claude Code, mirrored as Codex prompts. Marketplace: `plugins/.claude-plugin/marketplace.json` (one plugin, `ruview`). Skills (9): ruview-quickstart, ruview-hardware-setup, ruview-configure, ruview-applications, ruview-model-training, ruview-advanced-sensing, ruview-cli-api, ruview-mmwave, ruview-verify — shell-first (cargo / python / idf.py / docker / node), no claude-flow MCP dependency. Commands (7): /ruview-start, /ruview-flash, /ruview-provision, /ruview-app, /ruview-train, /ruview-advanced, /ruview-verify. Agents (3): ruview-onboarding-guide, ruview-config-engineer, ruview-training-engineer. Codex mirror: codex/AGENTS.md + codex/README.md + codex/prompts/*.md (full command parity, enforced by scripts/smoke.sh). Docs: docs/adrs/0001-ruview-plugin-contract.md (Proposed). Verification: scripts/smoke.sh (13 structural checks). Provisioning docs reflect the full `provision.py` flag set (TDM mesh, edge tiers, vitals, hop channels, Cognitum Seed, swarm intervals) and the issue #391 NVS-namespace-replace gotcha. Verified: `claude plugin validate` (plugin + marketplace), loads via `claude --plugin-dir`, smoke 13/13, and confirmed against an attached ESP32-S3 on COM8 running the RuView CSI firmware (live adaptive_ctrl + csi_collector serial output). Co-Authored-By: claude-flow <ruv@ruv.net>
4.5 KiB
4.5 KiB
name, description, allowed-tools
| name | description | allowed-tools |
|---|---|---|
| ruview-applications | Run RuView sensing applications — presence/occupancy, breathing & heart rate, activity & fall detection, 17-keypoint pose estimation (WiFlow), sleep monitoring & apnea screening, environment mapping, Mass Casualty Assessment (MAT), and the 3D point-cloud fusion demo. Use when someone wants to actually *do* something with a working RuView setup. | Bash Read Write Edit Glob Grep |
RuView Applications
What RuView can sense, and how to run each one. Assumes you have either the Docker demo (simulated CSI) or a live ESP32 sink (see ruview-quickstart / ruview-hardware-setup).
Application catalogue
| Application | What it does | Entry point |
|---|---|---|
| Presence / occupancy | Detect people through walls, count them, track entries/exits (trained model + PIR fusion, ~0.012 ms latency) | sensing-server live mode; examples/environment/ |
| Vital signs | Breathing 6–30 BPM (bandpass 0.1–0.5 Hz), heart rate 40–120 BPM (bandpass 0.8–2.0 Hz), contactless while sleeping/sitting | wifi-densepose-vitals crate (ADR-021); examples/medical/ |
| Activity recognition | Walking, sitting, gestures, falls — from temporal CSI patterns | RuvSense gesture.rs (DTW), pose_tracker.rs; scripts/gait-analyzer.js |
| Pose estimation | 17 COCO keypoints via WiFlow architecture; dual-modal webcam+WiFi fusion demo | cargo run -p wifi-densepose-sensing-server + pose-fusion demo (ADR-059); see ruview-model-training to train |
| Sleep monitoring | Overnight monitoring, sleep-stage classification, apnea screening | examples/sleep/; scripts/apnea-detector.js |
| Environment mapping | RF fingerprinting identifies rooms, detects moved furniture, spots new objects | sensing-server --build-index env; RuvSense field_model.rs, cross_room.rs |
| Mass Casualty Assessment (MAT) | Disaster survivor detection — find people in rubble/smoke | wifi-densepose-mat crate; docs/wifi-mat-user-guide.md; examples/medical/ |
| 3D point cloud (optional fusion) | Camera depth (MiDaS) + WiFi CSI + mmWave radar → unified spatial model (~22 ms, 19K+ pts/frame) | scripts/mmwave_fusion_bridge.py; ADR-094 (GitHub Pages deploy) |
| Novel RF apps | Passive radar, material classification, device fingerprinting, mincut person-counting | scripts/passive-radar.js, material-classifier.js, device-fingerprint.js, mincut-person-counter.js (ADR-077/078) |
Quick recipes
# Docker demo — everything, simulated CSI
docker run -p 3000:3000 ruvnet/wifi-densepose:latest # http://localhost:3000
# Live sensing server (consumes ESP32 UDP CSI)
cd v2 && cargo run -p wifi-densepose-sensing-server
# Live RF room scan (Cognitum Seed on :5006)
node scripts/rf-scan.js --port 5006
node scripts/snn-csi-processor.js --port 5006
# Embed a trained model + build an environment index
cd 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
# Python live demo
python examples/ruview_live.py
# Spectrogram / graph visualisers
node scripts/csi-spectrogram.js
node scripts/csi-graph-visualizer.js
Picking the right modality
- Through a wall, no line of sight → presence + activity; expect ≤5 m depth (Fresnel-zone geometry).
- Person stationary (sleeping / sitting) → vitals (breathing first, heart rate needs cleaner signal) + sleep staging.
- Need skeletons → pose (WiFlow). Camera-free works but is modest; camera-supervised gets 92.9% PCK@20 — train it (
ruview-model-training). - Search & rescue → MAT (
docs/wifi-mat-user-guide.md). - "What changed in this room?" → environment mapping / RF fingerprint index.
- Best spatial accuracy → 2+ ESP32 nodes + cross-viewpoint fusion (
ruview-advanced-sensing), optionally + Cognitum Seed.
Examples directory map
examples/environment/ · examples/medical/ · examples/sleep/ · examples/stress/ · examples/happiness-vector/ · examples/ruview_live.py — each has a README.
Reference
README.md— feature matrix, latency/throughput numbersdocs/user-guide.md,docs/wifi-mat-user-guide.md- ADRs: 021 (vitals), 024 (AETHER contrastive embeddings), 027 (MERIDIAN domain generalization), 041 (edge modules), 059 (live ESP32 pipeline), 077/078 (novel RF apps), 082 (pose tracker output filter), 094 (point cloud)
- RuvSense modules:
v2/crates/wifi-densepose-signal/src/ruvsense/(14 modules)