Natural-language alerts

LIVE
or publish a camera into this session

Monitor

qwen-monitor-v1not attached
import * as rgb from '@rgb-live/sdk';
const client = rgb.client({ apiKey: KEY, origin: ORIGIN });
const session = await client.sessions.create({ name: 'alerts-demo' });
const alerts = await session.attach('qwen-monitor-v1', { to: 'cam0', as: 'alerts', params: { rules: ['person raising their hand'] } });
alerts.on('event', async (e) => {                            // confirmed events only
  showAlert(`${e.rule} — ${e.reason}`);
  const clip = await cam.record({ from: e.ts - 5, to: e.ts + 10 });   // the stream is already buffered: cut 5 s before, 10 s after
  slack.post(`${e.rule}: ${e.reason} ${clip.url}`);
});
alerts.on('check', (c) => timeline.add(c));                    // every VLM call

Session graph


video frames
0
events
0
VLM checks
0

timeline red = event · green = positive screen awaiting confirmation · grey = negative