Commit Graph

7 Commits

Author SHA1 Message Date
pluto 85ecbc22ac feat: add automatic event cleanup based on retention setting
Hourly background task deletes events older than configured
retention period (default 90 days). Reads event_retention_days
from settings table. Includes 2 tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:24:08 -06:00
pluto 5908293671 feat: add web UI with dashboard, review queue, known objects, and settings
Vanilla HTML/CSS/JS SPA served at :5199 with dark theme:
- Dashboard: live event feed with snapshot thumbnails, filters, auto-refresh
- Review Queue: unreviewed events with tag/dismiss actions
- Known Objects: grid of tagged identities with delete
- Settings: vision backend toggle, recognition enable, retention days
- Tag modal: assign events to existing or new known objects

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:24:02 -06:00
pluto f5f688277f feat: integrate recognition engine into MQTT event pipeline
- Recognition pipeline runs between snapshot fetch and notification
- Checks recognition_enabled setting before running CLIP matching
- Known objects with quiet/suppress action skip Matrix notifications
- Vision description uses configurable backend (haiku/ollama/both)
- docker-compose.yml adds CLIP/Ollama env vars and data volume

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:23:54 -06:00
pluto 2df137ee2a feat: add recognition engine with CLIP matching and Ollama vision LLM
- OllamaClient: analyze_image, compare_images, is_available
- Recognition pipeline: CLIP embedding -> cosine similarity -> threshold
  routing (known >0.85, unknown <0.60, ambiguous -> Ollama fallback)
- Vision dispatcher: get_description() supports haiku/ollama/both backends
- 9 embedding serialization tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:17:49 -06:00
pluto b7c729d331 feat: add REST API endpoints for events, known objects, and settings
Routes package with CRUD endpoints: event listing/filtering/tagging/dismissal,
known object management with thumbnails, settings CRUD, and stats.
64 tests passing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:09:21 -06:00
pluto 031b9eaaec feat: scaffold v2 with FastAPI, SQLite database, and project structure
Migrate from raw HTTPServer to FastAPI, add SQLite database with schema
for known objects, embeddings, events, and settings. Add centralized
config, Pydantic models, and 22 database integration tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:02:17 -06:00
Jeremy Hobbs 6086ed3cc0 Initial commit: frigate-notify application
AI-powered video alert service that bridges Frigate NVR events to Matrix.
Listens to MQTT, uses Claude Haiku vision to analyze snapshots, and posts
annotated alerts to a Matrix room.

- app/main.py: MQTT subscriber and event orchestration loop
- app/vision.py: Claude Haiku vision analysis wrapper
- app/matrix_client.py: Matrix HTTP client for sending messages/images
- app/requirements.txt: Python dependencies
- Dockerfile: container image build definition
- docker-compose.yml: deployment configuration (host network, NAS mounts)
- .env.example: required environment variable template (copy to .env)
2026-03-07 14:30:57 -06:00