Extend the runtime — perception, reasoning, action. Install with one command. Build your own with the typed plugin spec.
Detects helmets, vests, gloves, and other PPE. Adds attribute fields to person objects.
Multi-camera forklift tracking with heading and speed estimation.
License plate detection + recognition. Local-only, GDPR-friendly.
Unsupervised anomaly detection for industrial inspection.
Lightweight local LM for scene summarisation and context reasoning.
Define zones and per-zone policies (allowed objects, restricted areas, time windows).
Long-horizon memory plugin. Indexes scenes for natural-language retrieval.
Publish scenes and actions to MQTT topics. Standard for IIoT integration.
Push notifications and rich cards to Slack channels.
Publish VAOS scenes and actions as ROS 2 topics.
Connect VAOS actions to industrial PLCs (Modbus, OPC UA).
Plugins are typed contracts. Implement the layer's interface, register, ship.
from vaos.plugin import PerceptionPlugin class MyDetector(PerceptionPlugin): name = "my-detector" version = "0.1.0" async def on_frame(self, frame, scene): # add objects, attributes, or events to the scene scene.objects.append({ "type": "my_object", "confidence": 0.92 }) return scene