RuView 插件契约:面向 Claude Code 与 Codex 的 WiFi 感知一体化插件设计(ADR-0001 全解)

📅 发布时间:2026/9/10 22:05:15
RuView 插件契约:面向 Claude Code 与 Codex 的 WiFi 感知一体化插件设计(ADR-0001 全解)
RuView 插件契约面向 Claude Code 与 Codex 的 WiFi 感知一体化插件设计ADR-0001 全解【免费下载链接】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/RuViewRuViewWiFi-DensePose是一个横跨 Rustv2/、Pythonarchive/v1/、ESP32 固件与 96 份 ADR 的大型双代码库项目新人与运维人员反复重做同样的工作流拉起 Docker 演示、烧录并配置 ESP32、运行感知应用、训练姿态模型、执行见证校验。ADR-0001 决定把这些工作流打包成一个可通过 Claude Code 市场发现、并为 Codex 镜像的ruview一体化插件用技能skill 命令command 代理agent三层结构覆盖从入门到进阶的完整操作面。读完本文你将掌握该插件的目录契约、命名空间规则、shell-first 技能约束、Codex 命令对齐策略与 smoke 结构校验的全部设计细节并能在本地直接安装、运行与验证它。背景为什么需要插件化ADR-0001plugins/ruview/docs/adrs/0001-ruview-plugin-contract.md状态Proposed日期 2026-05-11开篇点明了核心痛点RuView 项目规模庞大——Rust 侧的v2/crates/、Python 侧的archive/v1/、firmware/esp32-csi-node/固件以及以docs/adr/下 ADR 序列承载的持续演进决策。反复被重新推导的典型工作流包括启动 Docker 演示环境烧录并配置一个 ESP32 节点运行一个感知应用存在检测 / 生命体征 / 姿态 / 睡眠 / MAT训练姿态模型无相机与相机监督两条路线执行见证验证witness verification信任流水线。这些工作流散落在 README、docs、scripts 与 ADR 中缺乏单一入口。ADR-0001 的目标是把它们打包为一个可发现的 Claude Code 插件并为 Codex 镜像覆盖 practical → advanced 的完整梯度。决策一单一 mega-plugin仓库根目录市场清单ADR 的第一项决策是不拆子插件而是做一个单一插件ruview由仓库根目录的.claude-plugin/marketplace.json在市场上挂名市场名marketplace name为ruview插件source指向./plugins/ruview清单必须位于仓库根目录因为Claude Code 只在克隆仓库的根目录查找.claude-plugin/marketplace.json不会在子目录中查找插件的广度不靠子插件组织而靠skill技能组织。仓库中的 .claude-plugin/marketplace.json 与 ADR 完全一致{ name: ruview, description: RuView Marketplace: Claude Code Codex plugins for WiFi sensing — configuration, applications, model training, and onboarding, from practical to advanced, owner: { name: ruvnet }, plugins: [ { name: ruview, source: ./plugins/ruview, description: End-to-end RuView toolkit: getting started, ESP32 hardware setup, configuration, sensing applications ... and witness verification } ] }对应地在 Claude Code 中的安装方式为/plugin marketplace add ruvnet/RuView /plugin install ruviewruview即先把本仓库注册为插件市场再安装ruviewruview市场名ruview、插件名ruview。决策二目录契约Directory ContractADR 用一棵目录树定义了插件的物理布局这是整个契约的骨架.claude-plugin/marketplace.json # REPO ROOT — 市场名 ruview插件 source ./plugins/ruview plugins/ruview/.claude-plugin/plugin.json # name, description, version, author, homepage, license, keywords —— 不含 skills/commands/agents 数组 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 # 结构契约 plugins/ruview/codex/AGENTS.md codex/README.md codex/prompts/*.md # Codex 镜像 plugins/ruview/README.md # Compatibility Namespace coordination Verification ADR 章节技能 / 命令 / 代理是自动发现的——它们刻意不出现在plugin.json中而是靠目录树约定让 Claude Code 发现。实际仓库的 plugins/ruview/.claude-plugin/plugin.json 验证了这一约定它只声明name、description、version当前 0.3.0、author、homepage、licenseMIT与keywordsruview、wifi-densepose、wifi-sensing、csi、esp32、pose-estimation、vital-signs、edge-ai、model-training、onboarding 等没有任何 skills/commands/agents 数组。值得一提的实现细节plugin.json中同时声明了一个名为rvagent的mcpServers配置npx -y ruvnet/rvagent默认RVAGENT_SENSING_URLhttp://localhost:3000。这与 ADR 决策三技能不依赖mcp__claude-flow__*并不矛盾——ADR 约束的是skill 的allowed-tools而rvagent是插件额外携带的可选 MCP 服务用于 rvAgent/RVF 代理流属于实际代码对 ADR 的演进补充。按此目录契约实际仓库当前的内容为10 个技能ruview-quickstart、ruview-hardware-setup、ruview-configure、ruview-applications、ruview-model-training、ruview-advanced-sensing、ruview-cli-api、ruview-mmwave、ruview-verify、ruview-rvagent7 个命令/ruview-start、/ruview-flash、/ruview-provision、/ruview-app、/ruview-train、/ruview-advanced、/ruview-verify3 个代理ruview-onboarding-guide、ruview-config-engineer、ruview-training-engineer。注意ADR 正文列出的技能集为 9 个而仓库实际已增长到 10 个新增ruview-rvagentCodex 提示也相应多出ruview-rvagent.md——这是 ADR 处于 Proposed 状态、代码库持续演进的直接证据smoke 脚本只校验期望技能集存在不阻止新增。决策三Shell-first 技能与 allowed-tools 最小化ADR 明确技能直接驱动 RuView 自己的工具链——cargo、python、idf.py经CLAUDE.local.md中的 Windows Python 子进程模式、docker、node脚本。为此allowed-tools被限制为核心工具集Bash Read Write Edit Glob Grep不依赖mcp__claude-flow__*工具不允许通配符工具wildcard tools即*/all tools唯一被引用的外部 CLI 是npx claude-flow/clilatest security scan且仅作为安全变更时的可选步骤。以 plugins/ruview/skills/ruview-quickstart/SKILL.md 为例其 frontmatter 为--- name: ruview-quickstart description: Onboarding and first-run for RuView (WiFi-DensePose) — Docker demo with simulated data, repo build, and the fastest path to a live sensing dashboard. ... allowed-tools: Bash Read Write Edit Glob Grep ---该技能给出了三条从零到可运行的路径Tier 0无硬件2 分钟docker pull ruvnet/wifi-densepose:latest后docker run -p 3000:3000 ...用模拟 CSI 数据体验完整 UI 与 APITier 1源码构建cd v2 cargo test --workspace --no-default-features1400 测试约 2 分钟、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真机感知cargo run -p wifi-densepose-sensing-server消费 ESP32 UDP CSI 流配合node scripts/rf-scan.js --port 5006与node scripts/snn-csi-processor.js --port 5006。技能还明确了硬件边界ESP32-C3 与初代 ESP32 不受支持单核无法跑 CSI DSP 流水线应使用 ESP32-S38MB 或 4MB或 ESP32-C6单节点空间分辨率有限建议 2 个以上节点或引入 Cognitum Seed。决策四命名空间ruview-*插件声明独占 kebab-case 的ruview-*命名空间覆盖三类对象技能ruview-quickstart、ruview-hardware-setup、ruview-configure、ruview-applications、ruview-model-training、ruview-advanced-sensing、ruview-cli-api、ruview-mmwave、ruview-verify命令/ruview-start、/ruview-flash、/ruview-provision、/ruview-app、/ruview-train、/ruview-advanced、/ruview-verify代理ruview-onboarding-guide、ruview-config-engineer、ruview-training-engineer。约束还包括插件不写入任何claude-flow内存命名空间与ruflo市场零重叠ruview-*vsruflo-*若两者同时存在遵循ruflo-agentdbADR-0001 的 Namespace convention 章节让位。命名空间约定同时写入 plugins/ruview/README.md 的 Namespace coordination 一节供 smoke 脚本校验其存在。决策五Codex 镜像——完整命令对齐每一个/ruview-*命令都必须有对应的codex/prompts/name.md这是 ADR 对 CodexOpenAI CLI镜像的硬性要求codex/AGENTS.md携带项目规则codex/README.md文档化安装方式镜像完整覆盖面向运维的命令7 个额外的技能与代理没有 Codex 等价物——其知识被折叠进AGENTS.md与 prompt 文件smoke 脚本强制执行命令 ↔ prompt 的存在性对齐。仓库的 plugins/ruview/codex/README.md 给出了安装细节把 prompt 拷入 Codex 提示目录mkdir -p ~/.codex/prompts cp plugins/ruview/codex/prompts/*.md ~/.codex/prompts/随后即可在 codex TUI 中使用/ruview-start、/ruview-flash、/ruview-app、/ruview-train、/ruview-verify、/ruview-advanced项目规则则通过符号链接根AGENTS.md或追加相关章节接入。plugins/ruview/codex/AGENTS.md 进一步界定了 prompt 文件的行为底线默认只读探索、引用当前仓库路径与已接受的 ADR、保留MEASURED/CLAIMED/SYNTHETIC证据标签、绝不发出沙箱/权限绕过或无人值守的硬件写入、绝不内嵌凭据与机器特定端口、持久性发现需走已评审的 shared-brain 提案流程。它还推荐优先使用已发布且锁版本的适配器而非手拼codex exec参数npx ruvnet/ruview0.3.1 guidance --topic architecture --query requested subsystem npx ruvnet/ruview0.3.1 agent run --host codex --repo . --prompt ... npx ruvnet/ruview0.3.1 brain search --query relevant repository concept并以 stdin、可信-C根目录、只读沙箱、临时 JSONL、严格配置、净化环境、限时输出与密钥脱敏为运行前提写入需同时携带--allow-write与--confirm。决策六兼容性表面ADR 明确了插件面向的目标仓库布局Rustv2/crates/、固件firmware/esp32-csi-node/、Pythonarchive/v1/、脚本scripts/、文档docs/adr/硬件文档默认 ESP32 串口为COM8并始终提示读者确认实际端口Windows 上 ESP-IDF 构建走CLAUDE.local.md中的 Python 子进程模式ESP-IDF v5.4 不支持 Git Bash/MSYS2。以 plugins/ruview/skills/ruview-hardware-setup/SKILL.md 为佐证该技能完整覆盖了兼容性边界的落地细节设备Flash芯片角色ESP32-S38MB8 MBXtensa 双核WiFi CSI 感知节点默认ESP32-S3 SuperMini4 MBXtensa 双核紧凑 CSI 节点用sdkconfig.defaults.4mbESP32-C6 Seeed MR60BHA2—RISC-V 60 GHz FMCWmmWave HR/BR/存在检测不支持初代 ESP32、ESP32-C3单核。技能还特别警告硬币尺寸克隆板ESP32-S3-Zero、SuperMini 等在此固件下会持续高电流WIFI_PS_NONEedge_tier2全 DSP 流水线出现过小型稳压器损坏、重启后无法开机的现场报告部署后头几分钟需触摸检查温度并保证通风。Windows 构建的实测命令以 Python 子进程方式剥离MSYSTEM*环境变量后调用 ESP-IDF v5.4 工具链常见问题排查表包括MSys/Mingw is no longer supported需剥离MSYSTEM*、cmake not found注意真实路径含版本目录cmake\3.30.2\cmake-3.30.2-windows-x86_64\bin、无 CSI 帧到接收端重跑provision.py、--channel对齐 AP、放宽--filter-mac等。决策七smoke 契约≥13 项检查ADR 用 plugins/ruview/scripts/smoke.sh 固化结构契约运行方式bash plugins/ruview/scripts/smoke.sh脚本以set -u运行自动解析插件根与仓库根本文件位于root/scripts/smoke.sh逐项断言最终输出PASS: N FAIL: M任一 FAIL 则以退出码 1 结束。其检查面对应 ADR 的 13 项要求为仓库根.claude-plugin/marketplace.json存在、列出ruview、source指向./plugins/ruviewplugin.json含name/description/versionplugin.json含keywordsplugin.json不含skills/commands/agents数组自动发现每个skills/*/SKILL.md含name:description:allowed-tools:且allowed-tools无通配符*/all tools期望技能集全部存在脚本内置ruview-quickstart ruview-hardware-setup ruview-configure ruview-applications ruview-model-training ruview-advanced-sensing ruview-cli-api ruview-mmwave ruview-verify九个每个commands/*.md有description:frontmatter每个agents/*.md有name:description:model:README 含## Compatibility与Namespace coordinationADR-0001 存在且状态为Status: ProposedCodex 镜像存在codex/AGENTS.mdcodex/prompts/*.md 11b. 命令 ↔ prompt 对齐每个commands/name.md都有同名codex/prompts/name.md.claude-plugin/下无错放的 skills/commands/agents该目录只允许plugin.json。其中第 4 项是自动发现约定的可执行化第 11b 项把 Codex 镜像对齐变成了每次提交可回归的机械检查。注意 ADR 只承诺命令↔prompt 的存在性对齐不校验内容一致性——这是其 Cost 部分明确承认的局限。影响与代价Consequences正面收益Good/plugin marketplace add ruvnet/RuView/plugin install ruviewruview或从克隆目录claude --plugin-dir ./plugins/ruview即可让新人与运维人员获得 RuView 完整工作流表面无 MCP server 前置条件技能自带最小工具集Codex 用户获得同样的运维命令smoke 脚本让结构漂移drift可见随时可发现。代价Costmega-plugin 粒度较粗——要么获得全部 9现 10个技能要么一个都没有Codex 镜像需手工保持同步smoke 只查命令↔prompt 的存在性而非内容对齐技能干名与命令干名存在碰撞ruview-verify既是技能又是命令Claude Code 容忍两者同时解析但claude plugin details会将其列出两次。后续事项Follow-ups若技能集超过舒适浏览规模当前已 9→10重新评估单一 mega-plugin决策按生命周期拆分ruview-edge、ruview-train等为命令与 Codex prompt 增加内容级一致性 lint考虑重命名/ruview-verify以消除技能/命令干名碰撞若 security-scan 步骤变得关键为claude-flowCLI 锁定经过测试的 minor 版本用实际仓库树核对 RuView 命令的真实参数sensing-server --help、gcloud-train.sh、provision.py而非仅依赖 README/scripts。安装、验证与延伸阅读安装Claude Code/plugin marketplace add ruvnet/RuView /plugin install ruviewruview # 或本地免安装试用 claude --plugin-dir ./plugins/ruview安装Codex见 plugins/ruview/codex/README.md——拷入~/.codex/prompts/后即可用/ruview-*命令规则经AGENTS.md接入。结构验证bash plugins/ruview/scripts/smoke.sh实操延伸技能目录提供了可直接复用的端到端流程——ruview-quickstart三档快速起步、ruview-hardware-setup固件构建/烧录/配网/串口确认、ruview-model-training无相机 WiFlow 姿态、相机监督 ADR-079 92.9% PCK20、RuVector AETHER 嵌入、MERIDIAN 域泛化、GCloud GPU 训练与 Hugging Face 发布命令侧可对照 plugins/ruview/commands/ruview-verify.md 与 plugins/ruview/codex/prompts/ruview-verify.md 理解同一信任流水线在两种 CLI 下的对称实现tests/proof/bundle/all四种作用域VERDICT: PASS与 witness bundle 7/7 PASS 为硬性出口条件。架构决策索引plugins/ruview/README.md 的 Architecture Decisions 章节指向本文档市场清单位于仓库根 .claude-plugin/marketplace.json插件元数据位于 plugins/ruview/.claude-plugin/plugin.json。本文档状态为 Proposed代码库已在技能数、Codex 提示与rvagentMCP 服务上超出 ADR 原始列举阅读时请以仓库实际内容为准。【免费下载链接】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),仅供参考