RuView 官方 Claude Code / Codex 插件完全指南:用 /ruview-* 命令与 Skill 驱动 WiFi 感知全流程
【免费下载链接】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
导读
本文围绕 RuView(WiFi-DensePose)仓库内的官方 AI 编码助手插件 plugins/ruview/README.md 展开,系统讲解这个「mega-plugin」如何把 RuView 从入门到进阶的完整工作流(Docker 演示、ESP32 硬件烧录与配网、传感应用运行、模型训练、多站感知、见证校验)打包为可自动发现的 Skill、斜杠命令与 Agent,并为 OpenAI Codex 提供完整镜像。读完本文,你将掌握该插件的安装方式、内部目录契约、全部 Skill/命令/Agent 的职责分工、smoke.sh结构校验逻辑,以及 ADR-0001 所定义的插件契约与命名空间协调规则。
一、插件定位:从「反复手抄工作流」到「一条命令直达」
RuView 是一个大型双代码库项目(Rustv2/、Pythonarchive/v1/、ESP32 固件、96+ 份 ADR)。新用户与运维人员经常需要反复推导同一套工作流:启动 Docker 演示、烧录并配网一个 ESP32、运行传感应用、训练姿态模型、执行见证校验(witness verification)。ADR-0001 指出,这些工作流需要一个单一、可发现的 Claude Code 插件来承载,并镜像到 Codex,覆盖「practical → advanced」的完整跨度。
该插件的名称与版本见 plugin.json:name: ruview、version: 0.3.0、license: MIT,关键词覆盖wifi-sensing、csi、esp32、pose-estimation、vital-signs、edge-ai等。插件描述明确其能力范围:onboarding、ESP32 硬件设置、配置、传感应用、模型训练、高级多站感知、见证校验、BFLD 隐私层,以及 rvAgent + RVF 智能体流程。
设计上它是一个「mega-plugin」——不拆分子插件,广度靠 Skill 组织(ADR-0001 Decision #1)。代价是安装粒度较粗:要么获得全部 9 个 Skill,要么一个都没有。
二、安装与本地测试
2.1 Claude Code 安装(市场方式)
仓库根目录的 .claude-plugin/marketplace.json 声明了名为ruview的市场(marketplace),其插件source指向./plugins/ruview。Claude Code 在克隆仓库的根目录查找.claude-plugin/marketplace.json,因此市场清单必须放在仓库根(ADR-0001 Decision #1)。安装命令:
# In Claude Code — add this repo as a plugin marketplace, then install: /plugin marketplace add ruvnet/RuView /plugin install ruview@ruview2.2 本地免安装试用
从仓库克隆中直接指定插件目录即可,无需安装:
claude --plugin-dir ./plugins/ruview2.3 Codex(OpenAI CLI)安装
Codex 镜像位于 plugins/ruview/codex/README.md:七个/ruview-*命令全部镜像为 Codex prompt,另有AGENTS.md承载项目规则。按用户级安装:
mkdir -p ~/.codex/prompts cp plugins/ruview/codex/prompts/*.md ~/.codex/prompts/ # now in the codex TUI: /ruview-start /ruview-flash /ruview-app /ruview-train /ruview-verify /ruview-advanced项目规则方面,Codex 会在仓库根与工作目录自动发现AGENTS.md,可软链或复制:
ln -s plugins/ruview/codex/AGENTS.md AGENTS.md # repo root (if you don't already have one)可选配置:将 prompts 目录软链到~/.codex/prompts/ruview以保持随仓库版本化。
三、插件内部结构:目录契约与自动发现
ADR-0001 Decision #2 定义了严格的目录契约。完整结构如下:
.claude-plugin/marketplace.json # REPO ROOT — marketplace name `ruview`, plugin source ./plugins/ruview plugins/ruview/.claude-plugin/plugin.json # name, description, version, author, homepage, license, keywords — NO skills/commands/agents arrays plugins/ruview/skills/<name>/SKILL.md # frontmatter: name, description, allowed-tools plugins/ruview/commands/<name>.md # frontmatter: description (+ argument-hint) plugins/ruview/agents/<name>.md # frontmatter: name, description, model plugins/ruview/docs/adrs/0001-ruview-plugin-contract.md plugins/ruview/scripts/smoke.sh # structural contract plugins/ruview/codex/AGENTS.md + codex/README.md + codex/prompts/*.md # Codex mirror plugins/ruview/README.md # Compatibility + Namespace coordination + Verification + ADR sections关键设计:Skill/命令/Agent 全部由目录树自动发现,plugin.json刻意不枚举它们(ADR-0001 Decision #2,smoke.sh 第 4 项也会校验这一点)。因此新增一个 Skill 只需在skills/下新建目录与SKILL.md,无需改任何清单文件。
从当前仓库文件列表可以确认实际落盘情况:
- Skills(10 个目录,见 skills/):
ruview-quickstart、ruview-hardware-setup、ruview-configure、ruview-applications、ruview-model-training、ruview-advanced-sensing、ruview-cli-api、ruview-mmwave、ruview-verify,以及 README/ADR 计数之外的ruview-rvagent(对应 plugin.json 中声明的rvagentMCP Server,npx -y @ruvnet/rvagent)。 - Commands(7 个,见 commands/):
/ruview-start、/ruview-flash、/ruview-provision、/ruview-app、/ruview-train、/ruview-advanced、/ruview-verify。 - Agents(3 个,见 agents/):
ruview-onboarding-guide、ruview-config-engineer、ruview-training-engineer。 - Codex 镜像:
codex/prompts/下 8 个 prompt 文件(7 个命令镜像 +ruview-rvagent.md)。
四、Skill 总览:九大能力模块
Skill 是插件的主体,每个SKILL.md以 frontmatter 声明name、description、allowed-tools。下表继承自插件 README 并补充说明:
| Skill | 职责 |
|---|---|
ruview-quickstart | 上手与首次运行——Docker 演示、仓库构建、最快路径跑通实时看板 |
ruview-hardware-setup | ESP32-S3 / C6 固件构建、烧录、WiFi 配网、串口监控 |
ruview-configure | sdkconfig 变体、NVS 配网、信道/MAC 覆盖(ADR-060)、边缘模块(ADR-041)、sensing-server 参数、Mesh、Cognitum Seed |
ruview-applications | 运行存在检测、生命体征、姿态(WiFlow)、睡眠、环境映射、MAT、点云融合、新型 RF 应用 |
ruview-model-training | 无相机姿态、相机监督姿态(92.9% PCK@20,ADR-079)、RuVector 嵌入(AETHER)、域泛化(MERIDIAN)、本地 SNN、GCloud GPU、HF 发布 |
ruview-advanced-sensing | RuvSense 多站感知、跨视角融合、RF 断层成像、持久场模型、意图信号、对抗检测、Mesh 安全 |
ruview-cli-api | wifi-denseposeCLI 二进制(含 MAT 子命令)、REST API(wifi-densepose-api)、浏览器/WASM(wifi-densepose-wasm、wifi-densepose-wasm-edge) |
ruview-mmwave | mmWave / FMCW 雷达——ESP32-C6 + MR60BHA2(60 GHz HR/BR/presence)、HLK-LD2410(24 GHz)、mmWave↔CSI 融合(48 字节融合生命体征) |
ruview-verify | Rust 测试、确定性 Python 证明、固件哈希、ADR-028 见证包 + 自校验、合并前检查清单 |
从 ruview-quickstart/SKILL.md 可以还原三条上手路径(Tier):
- Tier 0(无硬件,约 2 分钟):
docker pull ruvnet/wifi-densepose:latest+docker run -p 3000:3000 ruvnet/wifi-densepose:latest,打开http://localhost:3000即可获得模拟 CSI 数据与完整 UI,适合演示、探索 API、无传感器开发 UI。 - Tier 1(源码构建):
cd v2 && cargo test --workspace --no-default-features(1,400+ 测试,约 2 分钟);单 crate 快速检查cargo check -p wifi-densepose-train --no-default-features;确定性 Python 证明python archive/v1/data/proof/verify.py(必须输出VERDICT: PASS)。若 numpy/scipy 升级导致哈希不匹配,可先--generate-hash再验证。 - Tier 2(真实 ESP32-S3 感知):交给
ruview-hardware-setup完成烧录/配网/监控闭环后,cd v2 && cargo run -p wifi-densepose-sensing-server消费 ESP32 UDP CSI 流;辅助工具node ../scripts/rf-scan.js --port 5006(RF 房间扫描)与node ../scripts/snn-csi-processor.js --port 5006(SNN 实时学习)。
Quickstart 还明确了几条硬性约束:原始 ESP32 与 ESP32-C3 不支持(单核,无法跑 CSI DSP 流水线);单节点空间分辨率有限,建议 2+ 节点或加 Cognitum Seed;无相机姿态精度有限(约 84 秒训练、PCK 中等),追求 92.9% PCK@20 需走相机监督训练;整个方案无云、无网、无摄像头,全部在边缘硬件上运行。
五、Commands:七条斜杠命令的工作流串联
| 命令 | 用途 |
|---|---|
/ruview-start | 上手——在 Docker / 源码构建 / 硬件三条路径中选择并引导走通 |
/ruview-flash | 构建 + 烧录 ESP32 固件(8MB / 4MB),确认 CSI 流 |
/ruview-provision | 向节点写入 WiFi 凭据、sink IP、信道 / MAC 过滤 |
/ruview-app | 运行一个传感应用 |
/ruview-train | 训练 / 评估 / 发布模型(含 GPU) |
/ruview-advanced | 使用多站 / 断层成像 / 跨视角 / Mesh 安全特性 |
/ruview-verify | 运行信任流水线 + 合并前检查清单 |
以 ruview-start.md 为例,命令带argument-hint: "[docker|build|hardware]",执行时先调用ruview-quickstartSkill,再按$ARGUMENTS直达对应层级,并警告三大坑:ESP32-C3 / 原始 ESP32 不支持、单节点空间分辨率有限、无相机姿态建议改用相机监督(92.9% PCK@20)。
ruview-train.md 则把训练拆成五条轨道(对应ruview-model-trainingSkill):camera-free(Track A,预训练 + 训练两步)、camera-supervised(Track B,收集-对齐-训练-评估,92.9% PCK@20)、embeddings(Track C,AETHER ADR-024)、domain-gen(Track D)/ snn(Track E)、gpu(GCloud,--gpu l4 --hours 2或--gpu a100 --sweep,VM 默认训练后自动删除,除非--keep-vm)。训练后校验:cargo test --workspace --no-default-features+python archive/v1/data/proof/verify.py,发布走python scripts/publish-huggingface.py,最后交给/ruview-verify生成见证包。
六、Agents:三位专职角色的分工
| Agent | 角色 |
|---|---|
ruview-onboarding-guide | 带领新人从零到可用环境 |
ruview-config-engineer | 搭建/调优部署(固件、NVS、边缘模块、Mesh、Seed) |
ruview-training-engineer | 训练、评估、发布模型 |
Agent 的 frontmatter 要求name+description+model三字段(smoke.sh 第 8 项强制校验)。
七、源码级纵深:配置参数与实战细节
7.1 固件构建期配置(sdkconfig 变体)
ruview-configure/SKILL.md 给出三套构建期变体:
| 变体 | 文件 | 适用场景 |
|---|---|---|
| 8MB(默认) | firmware/esp32-csi-node/sdkconfig.defaults.template | ESP32-S3 8MB,全特性,真实 WiFi CSI |
| 4MB | firmware/esp32-csi-node/sdkconfig.defaults.4mb | ESP32-S3 SuperMini 4MB——禁用显示、双 OTA 槽(partitions_4mb.csv,各约 1.856 MB) |
| Heltec N16R2 | firmware/esp32-csi-node/sdkconfig.defaults.heltec_n16r2 | Heltec 板卡 |
切换方式为cp对应 defaults 文件覆盖sdkconfig.defaults后重新构建。严禁用 mock 模式测试——Kconfig 跌倒阈值 bug 只在真实 CSI 下暴露(ruview-hardware-setup中亦有同样警告)。
7.2 运行时设备配置(NVS 配网参数表)
provision.py通过串口写入csi_cfgNVS 命名空间。以下参数表继承自 configure Skill,是实际配网时的权威参考(Windows 下--help需PYTHONUTF8=1,帮助文本含非 ASCII 字符):
python firmware/esp32-csi-node/provision.py --port COM8 \ --ssid "WiFi" --password "secret" \ --target-ip 192.168.1.20 --target-port 5005 \ # aggregator UDP sink (port default 5005) --node-id 1 \ # 0-255 --channel 6 --filter-mac AA:BB:CC:DD:EE:FF # ADR-060: pin channel + filter transmitter| 参数组 | Flags | 说明 |
|---|---|---|
| WiFi / sink | --ssid--password--target-ip--target-port(5005)--node-id | --node-id取值 0-255 |
| TDM Mesh | --tdm-slot--tdm-total | 0 基槽位索引 + 节点总数——多节点 Mesh 的时隙分配方式 |
| 边缘处理 | --edge-tier {0,1,2} | 0=关闭,1=统计,2=生命体征(ADR-041) |
| 检测阈值 | --pres-thresh(50)--fall-thresh(15000 → 15.0 rad/s²) | 高人流区域调高--fall-thresh降低误报(issue #263) |
| 生命体征 | --vital-win(300 帧)--vital-int(1000 ms)--subk-count(32,Top-K 子载波) | |
| 信道/跳频 | --channel(1-14 / 36-177,覆盖 AP 自动检测)--filter-mac--hop-channels(1,6,11)--hop-dwell(200 ms) | 省略--channel并设置--hop-channels启用 ADR-061 多频跳频;省略--filter-mac捕获全部发射端 |
| Cognitum Seed | --seed-url(http://10.1.10.236)--seed-token(Bearer,来自配对)--zone(lobby) | |
| Swarm | --swarm-hb(30 s)--swarm-ingest(5 s) | 心跳 + 向量摄取间隔 |
| 模式 | --dry-run(只生成 NVS bin 不烧录)--baud(460800)--force-partial |
重要警告(issue #391):烧录会整体替换csi_cfg命名空间——CLI 未传的键全部被擦除。务必一次传全所需参数,或明知后果地使用--force-partial。不确定时先读设备串口启动日志(adaptive_ctrl/csi_collector行)确认当前值。大规模批量配网可用scripts/generate_nvs_matrix.py生成 NVS 分区镜像。
7.3 硬件设置:Windows 构建的 Python 子进程模式
ruview-hardware-setup/SKILL.md 记录了 ESP-IDF v5.4 不支持 MSYS2/Git Bash 这一关键前提,因此 Windows 下构建必须通过 Espressif Python venv 以子进程方式执行,并剥离MSYSTEM*环境变量。该 Skill 还给出 esptool 直接烧录命令:
python -m esptool --chip esp32s3 --port COM8 --baud 460800 \ write_flash 0x0 firmware/esp32-csi-node/build/bootloader/bootloader.bin \ 0x8000 firmware/esp32-csi-node/build/partition_table/partition-table.bin \ 0xf000 firmware/esp32-csi-node/build/ota_data_initial.bin \ 0x20000 firmware/esp32-csi-node/build/esp32-csi-node.bin以及常见问题排查表(MSys/Mingw is no longer supported、cmd.exe /C挂起、cmake not found路径错误、python_env not found缺IDF_PYTHON_ENV_PATH、sink 收不到 CSI 帧、误报跌倒等)。板卡形态警告:小尺寸克隆板(ESP32-S3-Zero、SuperMini 等)散热余量小,而该固件持续满功率开 WiFi(WIFI_PS_NONE)并跑完整 DSP 流水线(edge_tier=2),现场曾出现板子过热后无法再开机(疑似稳压器损坏),需保证通风并在部署初期触摸检查。
7.4 传感应用与训练轨道
ruview-applications列出了完整应用目录:穿墙存在/占用检测(~0.012 ms 延迟)、生命体征(呼吸 6–30 BPM 带通 0.1–0.5 Hz、心率 40–120 BPM 带通 0.8–2.0 Hz,见wifi-densepose-vitalscrate / ADR-021)、活动识别(RuvSensegesture.rsDTW +pose_tracker.rs)、17 关键点姿态(WiFlow)、睡眠监测与呼吸暂停筛查、环境映射(--build-index env)、大规模伤员评估 MAT(wifi-densepose-matcrate)、3D 点云融合(MiDaS 深度 + WiFi CSI + mmWave,~22 ms / 19K+ 点每帧)、以及新型 RF 应用(被动雷达、材料分类、设备指纹、mincut 人数统计)。
ruview-model-training给出五条训练轨道与 GCloud GPU 训练命令(bash scripts/gcloud-train.sh --dry-run冒烟 →--gpu l4 --hours 2原型 →--gpu a100 --config scripts/training-config-sweep.json→--sweep全超参扫描;VM 训练后自动删除,除非--keep-vm),以及数据布局(data/recordings/原始 CSI、data/csi/预训练集、data/mmfi/MM-Fi 数据集、data/paired/相机-CSI 配对样本、data/ground-truth/MediaPipe 关键点)。本地 Mac 训练走bash scripts/mac-mini-train.sh。
八、兼容性
- Claude Code:Skill、命令、Agent 自动发现,无需
claude-flowMCP 服务器——Skill 直接驱动 RuView 自身工具链(cargo、python、idf.py、docker、node)。仅安全相关改动可选引用npx @claude-flow/cli@latest security scan。 - Codex(OpenAI CLI):工作流镜像在
codex/prompts/,可放入~/.codex/prompts/或让 Codex 指向codex/;codex/AGENTS.md承载项目规则。 - 目标仓库:假定为
ruvnet/RuView/wifi-densepose布局(v2/crates/、firmware/esp32-csi-node/、archive/v1/、scripts/、docs/adr/)。Windows 下 ESP-IDF 构建走CLAUDE.local.md中的 Python 子进程模式(ESP-IDF v5.4 与 Git Bash 不兼容)。
九、命名空间协调
插件认领 kebab-case 的ruview-*命名空间(9 个 Skill + 7 个命令 + 3 个 Agent,ruview-verify同时是 Skill 与命令的 stem——Claude Code 两者都能解析,但claude plugin details会重复列出)。插件不写入任何claude-flow内存命名空间;若与ruflo市场组合使用,遵循ruflo-agentdbADR-0001 §"Namespace convention",两者零重叠(ruview-*vsruflo-*)。
十、验证:smoke.sh 结构契约
bash plugins/ruview/scripts/smoke.shsmoke.sh 实现 ≥13 项检查,是插件的「结构化冒烟测试」,覆盖:
- 仓库根
.claude-plugin/marketplace.json存在、列出ruview且source指向./plugins/ruview; - plugin.json 含
name/description/version; - plugin.json 含
keywords; - plugin.json不含
skills/commands/agents数组(自动发现契约); - 每个
skills/*/SKILL.md有name+description+allowed-tools,且allowed-tools无通配符(*/all tools); - 9 个期望 Skill 全部存在;
- 每个
commands/*.md有description; - 每个
agents/*.md有name+description+model; - README 含
## Compatibility与Namespace coordination段落; - ADR-0001 存在且
Status: Proposed; - Codex 镜像存在(
AGENTS.md+prompts/); 11b.命令↔prompt 奇偶校验——每个commands/<name>.md都有匹配的codex/prompts/<name>.md; .claude-plugin/下无错放的 skills/commands/agents。
脚本以set -u运行,任何 FAIL 都会以非零退出码结束——这让插件与 Codex 镜像之间的漂移「可见化」。
十一、架构决策(ADR-0001)
plugins/ruview/docs/adrs/0001-ruview-plugin-contract.md 状态为Proposed(2026-05-11),核心决策:
- 单一 mega-plugin + 仓库根市场清单:市场名
ruview,插件source: "./plugins/ruview"; - 目录契约:Skill/命令/Agent 自动发现,不写入 plugin.json;
- Shell 优先的 Skill:
allowed-tools限于核心工具(Bash/Read/Write/Edit/Glob/Grep),无mcp__claude-flow__*依赖、无通配符工具; - 命名空间:
ruview-*,与ruflo-*零重叠; - Codex 镜像完整命令奇偶:7 个命令全部有对应 prompt,smoke 强制校验存在性奇偶(非内容奇偶);
- 兼容性面:面向
wifi-densepose仓库布局,硬件文档默认 COM8 并要求读者确认串口; - Smoke 契约:≥13 项结构检查。
ADR 也坦承成本:mega-plugin 安装粒度粗;Codex 镜像需手工同步(smoke 只查存在性奇偶、不查内容奇偶);ruview-verify存在 Skill/命令 stem 碰撞。后续计划包括按生命周期拆分(ruview-edge、ruview-train)、增加内容级奇偶 lint、以及针对真实代码树验证底层命令旗标(sensing-server --help、gcloud-train.sh、provision.py)。
十二、硬件注意事项:串口与平台
插件文档默认 ESP32 串口为COM8——已对照一块运行 RuView CSI 固件的ESP32-S3(USB VID:PID303A:1001,Espressif)确认,串口监视器可见实时adaptive_ctrltick 与csi_collector: CSI cb #… len=128 …日志。仓库CLAUDE.local.md历史上引用过COM7,部分 README 片段引用COM9。烧录前务必确认实际端口(python -c "import serial.tools.list_ports as l; print([p.device for p in l.comports()])"或设备管理器)。Windows 下provision.py --help需PYTHONUTF8=1才能正常打印(帮助文本含非 ASCII 字符)。
十三、扩展阅读路径
- 插件文档与契约:插件 README、ADR-0001、市场清单、plugin.json
- Skill 源码:quickstart、hardware-setup、configure、applications、model-training
- 命令与 Codex 镜像:commands、codex/README.md、codex/prompts
- 冒烟测试:scripts/smoke.sh
- 底层固件与脚本:firmware/esp32-csi-node/provision.py、scripts/gcloud-train.sh、scripts/publish-huggingface.py
相关 ADR 索引:ADR-021(生命体征)、ADR-024(AETHER 对比嵌入)、ADR-027(MERIDIAN 域泛化)、ADR-028(ESP32 能力审计 + 见证)、ADR-041(边缘模块)、ADR-059(实时 ESP32 流水线)、ADR-060(信道/MAC 覆盖)、ADR-061(QEMU + Mesh)、ADR-079(相机地面真值训练)、ADR-081(自适应 CSI Mesh 内核)、ADR-084/085(RaBitQ 相似度传感)、ADR-086(边缘新颖性门控)、ADR-094(点云 GitHub Pages 部署)。
【免费下载链接】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),仅供参考