👶🧠 AI Baby Monitor (Local Video‑LLM Nanny) Your second pair of eyes, powered by local video LLMs. Because, you know... it does take a village. The AI Baby Monitor watches a video stream (webcam, RTSP camera, …) and a simple list of safety rules. If a rule is broken it issues a single gentle beep so you can quickly glance over and check on your baby. 📸 Demo Obviously, I'm not going to put my child in danger just for the demo, so here're videos of: People using smartphones, when rules say you shouldn't ❌ Baby being safe and playful with a parent ✅ 📵 "No smartphones" rule – alert fired 👶 Baby walking – no alert ✨ Features 🛡️ Private‑first Everything runs locally; nothing ever leaves your network. ⚡ Realtime-ish Works on consumer GPUs at ~1 req/s. 🦾 Video LLM Uses the Qwen2.5 VL by default, served through vLLM. 🔔 One beep alert Deliberately minimal & quiet — just look when it beeps. 🖥 Live dashboard Streamlit viewer shows the live stream + LLM reasoning logs in real time. 📝 Easy rules "The baby shouldn’t climb out of the crib", "Baby should always be accompanied by adult" … just edit YAML. 🏘️ Multi-rooms Supports multiple rooms. Just add another YAML with instructions. 🚀 Quick start Prerequisites • Docker + docker‑compose • One GPU • Python 3.12 with uv # 1 — clone $ git clone https://github.com/zeenolife/ai-baby-monitor.git && cd ai-baby-monitor # 2 — copy .env.template into .env $ cp .env.template .env # 3 — build & start all services (Redis, vLLM, video streamer, Streamlit viewer) $ docker compose up --build -d # 4 — start the watcher on the **host**. unfortunately playing sound in Docker container and propagating to host is really painful. so no docker compose here $ uv run scripts/run_watcher.py --config-file configs/living_room.yaml # 5 — open the dashboard 👉 http://localhost:8501. You can also open the dashboard on your phone http://{host_network_ip}:8501 Heads‑up The first run downloads the model (~6 GB), builds docker image and may take a few minutes. 🛠 Configu...
First seen: 2025-05-25 13:44
Last seen: 2025-05-25 20:45