Third-Party App Integrations
OpenNVR is deliberately designed as a headless, API-first orchestration engine. Because the platform natively exposes Webhooks, MQTT topics, and stateless REST APIs, it serves as the perfect foundation for massive third-party ecosystem integrations.
Below are the primary patterns and supported partner applications built to ingest OpenNVR data.
🏬 The App Store — the first-class path
The primary way third-party functionality ships today is the OpenNVR App Store: ten detection apps install with one click from a curated, digest-pinned index, and yours can too.
What an app gets for declaring a manifest — with zero frontend code:
- Its own page in the shell at
/app-catalog/<id>: live dashboard (metrics, tables, gauges, log feeds, image galleries), config forms — including polygon/tripwire zone drawing on the camera’s own frame, chip lists, and time windows — and operator action forms. - Live config delivery: edits in the UI reach the running app without a restart.
- An agent skill: the voice/chat agent can list your app, read its live state, and relay its alerts — read-only by design; the agent’s service key can never invoke your app’s actions.
- Governance for free: actions are user-JWT-only through the server proxy; installs are pinned to reviewed image digests.
The app SDK is Apache-2.0 — your app ships under any license, including
proprietary. Distribute privately (a compose overlay + self-registration:
no review needed) or open a PR that adds one digest-pinned entry to the
curated index. See docs/CONTRIBUTING_APPS.md and docs/FIRST_DETECTOR.md
(“your first detector in 15 minutes”) in the main repository.
🤖 The AI Agent Application
Organizations deploying advanced Large Language Models (LLMs) via LangChain or AutoGen can natively integrate OpenNVR as a specific “Tool” or “Plugin” within their Agent’s autonomous workspace.
By giving an autonomous AI Agent access to the GET /api/v1/events and POST /infer API endpoints, the AI can independently:
- Receive a natural language prompt via Slack: “Did John Doe enter the server room tonight?”
- Programmatically query OpenNVR for facial recognition logs matching
John Doe. - Extract the exact camera timestamp and fetch the visual frame.
- Pass the physical frame through an OpenNVR Visual Language Model (VLM) adapter to verify if John Doe was carrying unauthorized equipment.
- Return the completely synthesized intelligence report to the security team.
OpenNVR effectively transforms passive IP cameras into literal sensory organs for your overarching Corporate AI Agents.
🦅 OpenClaw Integration
OpenClaw is a highly sophisticated, open-source physical security and proprietary hardware access control mapping application. It natively supports OpenNVR as its primary Computer Vision (CV) provider.
Integration Steps:
- Navigate to your OpenClaw dashboard and select Add Vision Node.
- Supply your OpenNVR backend URL (
http://opennvr_core:8000) alongside an administrative JWT token. - OpenClaw will instantaneously sync your OpenNVR camera topology and grid matrices.
- When OpenNVR’s InsightFace adapter detects a registered
VIPorEmployeeapproaching a camera, it pushes a synchronous Webhook directly to OpenClaw. OpenClaw then evaluates the strict credentials and fires physical edge relays to unlock the smart door.
Custom Webhooks & MQTT
If you are building your own proprietary React-Native mobile applications or IoT edge scripts, you do not need to poll the APIs endlessly to trace detections.
Within the OpenNVR UI:
- Navigate to the Integrations & Webhooks panel.
- Define a secure HTTP
POSTtarget (e.g., your custom Node.js/Python microserver) or an MQTT Broker. - The exact millisecond an AI adapter trips an alert threshold (e.g., Person Count > 5), OpenNVR pushes the rich JSON payload out to your custom ecosystem natively, ensuring zero latency from detection to automation script execution.