SuperAPI AI 工具集

luxonis-build-poc

编程与开发

查看项目

更新于 10-16 00:02

技能介绍

用途:根据项目简报,在真实 OAK 设备上构建一个最薄、可端到端运行的概念验证(POC),核心价值是演示简报中的关键行为。做法是改编最接近的已知可用 Luxonis 示例,而不是从零发明管线。最终只允许两种状态:running-demo(切片可运行并展示核心成功观察,且能用所报告的命令/片段复现)或 blocked(本地无法达到可运行演示,需报告阻塞层、证据与下一步,例如用 luxonis-device-setup 验证设备)。

主要能力与流程:

  1. 预检:读取工作目录与用户输入,若有则读 PROJECT_BRIEF.md(要构建什么)和 DEVICE.md(已验证设备的缓存记录)。不假设已安装其他 Luxonis 技能。先解析简报再解析设备。无 PROJECT_BRIEF.md 时,若有 /luxonis-project-interview 则用它,否则内联捕获一段目标(行为、目标、成功观察)后继续,不在此做完整访谈。设备方面:DepthAI 无法在没有连接 OAK 的情况下运行(RVC2 与 RVC4 均无纯主机或模拟模式),回放只是设备端输入源,不能替代设备。DEVICE.md 只是提示而非设备已连接的证明,且可能过期;应以实时可达性为准。DEVICE.md 存在则与实时检查核对,若记录设备仍可打开则使用;若发现不同设备则以实时发现为准并提议更新 DEVICE.md。DEVICE.md 缺失时不要假设无设备,运行最小可达性探测(已知可用的 DepthAI 片段能否打开设备并流一帧);若失败且需要真实设置(USB/udev、PoE、adoption),转 /luxonis-device-setup。设备可达则构建并运行切片;不可达则构建切片并准备确切运行命令,然后以 blocked 结束,提示运行 /luxonis-device-setup 后重跑本技能。
  2. 知识来源:仅使用克隆的 oak-examples 仓库 main 分支(跟踪 DepthAI v3)作为实现参考。惰性克隆,仅在准备改编时进行:创建 ~/.luxonis/agent-context 目录(若不存在);通过 HTTPS(绝不用 SSH)浅克隆并固定 main,带 git 低速保护(http.lowSpeedLimit=1000、http.lowSpeedTime=60),克隆到临时同级路径(如 oak-examples.tmp),成功后再重命名到位;若已存在则用仅快进拉取刷新。仅当包含 INDEX.md 时检出才可用;克隆失败或不完整则视为示例不可用,回退到在线文档。绝不读取部分检出,绝不用网络搜索的、较旧的或 v2 时代示例:始终 DepthAI v3,绝不用 v2。用面向代理的目录导航:读 INDEX.md(按 Tags/Shape/Mode 匹配简报)与 ESSENTIAL_KNOWLEDGE.md 共享词汇,再读所选示例的 AGENTS.md,然后 README.md。若有 oakctl,oakctl app examples list 是另一种浏览方式。
  3. 根据简报选择运行路径:简报期望的运行位置加设备系列决定形态。笔记本/电脑连接相机 -> 主机侧脚本(Shape: script,Mode: host),用 depthai 的纯 Python 在主机运行。相机上、无电脑连接 -> 独立 OAK 应用(Mode: standalone),用 oakapp.toml 打包并用 oakctl app run 运行,需要 RVC4/OAK4。目标不明确时只问一个问题,不要两种都建。选择 Shape/Mode 已匹配所选路径的示例,以便改编而非转换。
  4. 构建一个垂直切片:从最接近的示例开始,尽量少改以命中简报的主要行为。主机依赖只装在隔离 venv 中,绝不用全局 pip,未经批准不改项目依赖。独立应用保持示例的 oakapp.toml 形态,只调整切片所需。
  5. 验证后停止:简报的成功标准定义“可用”。运行切片并捕获证明它的具体观察。主机脚本:在 venv 中 python3 main.py,观察预期输出/叠加。独立应用:oakctl app run <app-dir>(使用 oakapp.toml;加 -d <id> 固定设备);oakctl app run <app-dir> --detach 后用 oakctl app list / app logs / app stop <id>。运行失败时一次只修一个假设并重跑同一命令,串行化变更,绝不堆叠编辑或运行竞争的设备命令。仅在通过的重跑后才宣布 running-demo;若无法运行(无设备/离线),如实说明并标记 blocked,不要声称从未运行的演示。切片运行后即停止,在聊天中记录假设、确切运行命令与明显下一步(或用户需要时写简短 POC_NOTES.md),不要主动扩大范围。

限制与护栏:特权/持久操作需先确认(全局 pip/项目依赖变更、系统更新、刷机、恢复出厂、Hub adoption、发布应用);本地构建和运行开发应用可以。模型方面复用 DepthAI Model Zoo/示例模型,若目标需要自定义模型,说明需要数据集/训练,不要声称在此训练。WSL USB 诚实:不要假装 WSL 有 USB 访问,需用户暴露设备或从有直接 USB 的主机运行。硬件故障(橙灯、启动失败、疑似校准)-> blocked,联系 support@luxonis.com。已构建的东西坏了/慢/令人困惑而非新建 -> 属于 luxonis-troubleshoot 的工作。

文档:软件中心/入门 https://docs.luxonis.com/software-v3.md;文档源映射 https://docs.luxonis.com/llms.txt;oakctl CLI https://docs.luxonis.com/software-v3/oak-apps/oakctl.md;oakapp.toml 配置 https://docs.luxonis.com/software-v3/oak-apps/configuration.md;V2 与 V3 移植 https://docs.luxonis.com/software-v3/depthai/tutorials/v2-vs-v3.md;示例(INDEX.md 目录)https://github.com/luxonis/oak-examples。