Documentation

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:

  1. Receive a natural language prompt via Slack: “Did John Doe enter the server room tonight?”
  2. Programmatically query OpenNVR for facial recognition logs matching John Doe.
  3. Extract the exact camera timestamp and fetch the visual frame.
  4. Pass the physical frame through an OpenNVR Visual Language Model (VLM) adapter to verify if John Doe was carrying unauthorized equipment.
  5. 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:

  1. Navigate to your OpenClaw dashboard and select Add Vision Node.
  2. Supply your OpenNVR backend URL (http://opennvr_core:8000) alongside an administrative JWT token.
  3. OpenClaw will instantaneously sync your OpenNVR camera topology and grid matrices.
  4. When OpenNVR’s InsightFace adapter detects a registered VIP or Employee approaching 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:

  1. Navigate to the Integrations & Webhooks panel.
  2. Define a secure HTTP POST target (e.g., your custom Node.js/Python microserver) or an MQTT Broker.
  3. 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.