npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@rmaher001/scrypted-llm-notifier

v0.3.71

Published

Enhance notifications with LLM-generated descriptions of detection images

Readme

LLM Notifier for Scrypted

Enhance security camera notifications with AI-generated descriptions using vision-capable LLMs.

Setup

  1. Install the Scrypted LLM Plugin from the Scrypted plugin manager
  2. Select an LLM provider (OpenAI, Claude, Gemini, or local) in plugin settings
  3. Enable on your notification devices via the Extensions tab on each device

Features

AI Notifications

Vision LLM analyzes notification snapshots and generates contextual titles and descriptions. Preserves known names from face recognition and describes vehicles with make/model/color when visible.

When multiple notifiers are triggered by the same event, only one AI analysis is performed.

Optionally configure a separate Notification LLM for detection enrichment — for example, a fast local model (Ollama, llama.cpp) for real-time notifications while keeping a cloud provider for daily briefs. Multiple providers are load-balanced with round-robin.

Notification Grouping (optional)

Buffer notifications for a configurable window and group related events into a single notification via LLM. Reduces notification spam when multiple cameras trigger on the same activity.

Enable by setting Grouping Window to a value greater than 0.

Daily Brief (optional)

A web dashboard that summarizes your day's camera activity into an AI-generated narrative timeline with video clip playback.

  • Time-bucketed segments with highlights generated per 6-hour period
  • Catch Me Up button for incremental updates since last visit
  • Scheduled push notification with a link to the brief

Enable daily notifications by turning on Enable Daily Brief Notifications in settings.

Gallery

A searchable history of all past notifications with poster-quality snapshots and video playback. Filter by camera, type, or person — and optionally enable semantic search to find events by visual description. The gallery updates in real time as new detections arrive.

Click any event's video to open it in a player with a direct link to the NVR timeline for that camera at the detection timestamp.

Semantic Search (optional)

Add a Gemini Embedding API Key in settings to upgrade from keyword search to full semantic search — find events by visual concepts like "red backpack" or "person at front door".

Get a free API key at Google AI Studio.

LLM Person Identification (optional)

Builds a reference library of known faces from Scrypted's face recognition data, then uses the LLM to identify unrecognized people in future notifications. Reference photos are automatically cropped to the face region and ranked by quality — higher-scoring photos replace lower-scoring ones over time.

Manage reference photos in the People tab of the web UI.

Enable by turning on LLM Person Identification in settings.

Settings

| Setting | Description | Default | |---------|-------------|---------| | LLM Providers | Vision-capable LLMs (load-balanced) | (required) | | Notification LLM | Separate provider(s) for real-time notifications | (uses main) | | Snapshot Mode | Cropped, Full, or Both | Cropped | | Grouping Window | Buffer seconds before grouping (0 = off) | 0 | | LLM Person Identification | Use LLM to identify unknown faces | Off | | Enable Daily Brief Notifications | Send scheduled daily summary | Off | | Brief Schedule | Hour to send daily notification | 8 PM | | Gallery Retention | Days to keep events and posters | 3 | | Gemini Embedding API Key | Enables semantic search in Gallery | (empty) |

HA Card Setup

Display the Daily Brief as a Home Assistant Lovelace card.

You'll need your Scrypted token. Find it in Home Assistant under Settings → Devices & Services → Scrypted. Replace TOKEN in both steps below.

Step 1: Add Lovelace Resource

  1. In Home Assistant, go to Settings → Dashboards → Resources (top right)
  2. Click Add Resource
  3. URL:
    /api/scrypted/TOKEN/endpoint/@rmaher001/scrypted-llm-notifier/assets/daily-brief-card.js
  4. Resource type: JavaScript Module

Step 2: Create a Panel Dashboard

Use type: panel so the card gets full width. Other view types constrain it to a narrow column.

Open a dashboard's raw YAML editor and paste:

views:
  - title: Daily Brief
    type: panel
    cards:
      - type: custom:daily-brief-card
        endpoint: /api/scrypted/TOKEN/endpoint/@rmaher001/scrypted-llm-notifier
        scrypted_token: TOKEN

Troubleshooting

  • No enhancement: Check your LLM plugin settings and confirm a model with vision support is selected
  • Timeouts: Increase the LLM Timeout value in plugin settings, or switch to a faster provider
  • Stale HA card: Clear browser cache or check card version in footer