A native macOS app that runs an ONNX detector for Frigate on Apple Silicon. The app ships with the runtime, the required Python libraries and the yolov8n.onnx model bundled inside, so you don't need to install Python, a venv or any of the repo's dependencies — just download and open it.
The release build is signed with a Developer ID certificate and notarized by Apple, so it opens normally on macOS without "unidentified developer" warnings.
Based on the official
apple-silicon-detectorfrom the Frigate project (MIT, © Blake Blackshear). This repository repackages it as a fully native macOS app with a bundled default model and a signed + notarized release. See Credits.
- Download
FrigateDetector.app.zipfrom the latest GitHub Release. - Double-click the zip to unzip it.
- Open
FrigateDetector.app(double-click). Because the build is notarized, macOS opens it without a Gatekeeper block. - In the app:
- Model: defaults to the
yolov8n.onnxmodel bundled inside the app. Use Choose model to point at your own.onnx, or tick Auto to let Frigate supply the model. - Host: use
*to allow Frigate to connect from another machine/container; use127.0.0.1to keep it local. - Port: defaults to
5555. - Press Start.
- Model: defaults to the
- Wait about 1 minute for the runtime and model to fully start up (the live log shows progress).
- Point Frigate at the Mac's TCP endpoint, for example:
detectors:
apple_silicon:
type: zmq
endpoint: tcp://192.168.2.2:5555Replace 192.168.2.2 with the LAN IP of the Mac running the app.
A downloaded release is notarized, so a normal double-click should just work. You only need this section if you built the app yourself (those builds are ad-hoc signed) or copied it across machines in a way that flagged it as quarantined:
- Right-click
FrigateDetector.app→ Open → Open, or System Settings→Privacy & Security→ scroll toSecurity→ Open Anyway, or- Clear the quarantine flag from Terminal:
xattr -dr com.apple.quarantine /path/to/FrigateDetector.appThe app opens a TCP endpoint for Frigate to connect to, so check your firewall, local network and access permissions before relying on it long term.
The app does not write into the host machine's system Python or venv directories. Runtime data is stored at:
~/Library/Application Support/FrigateDetector
Logs are streamed live inside the app and also written to:
~/Library/Application Support/FrigateDetector/Logs/FrigateDetector.log
Requirements on the build machine:
- macOS Apple Silicon
- Xcode Command Line Tools
uvor Python 3.11+
Build the app:
make appAfter building, the app is at macos/FrigateDetector.app (ad-hoc signed for local use).
To produce a release that opens cleanly on other Macs, sign it with a Developer ID Application certificate and notarize it with your Apple Developer account. The helper script does signing + notarization + stapling:
# Using an app-specific password
SIGN_IDENTITY="Developer ID Application: Your Name (TEAMID)" \
APPLE_ID="you@example.com" \
TEAM_ID="TEAMID" \
APP_PASSWORD="xxxx-xxxx-xxxx-xxxx" \
macos/scripts/sign_and_notarize.shNotes:
SIGN_IDENTITYis optional — if omitted, the script uses the firstDeveloper ID Applicationidentity in your keychain.- Set
SKIP_NOTARIZE=1to sign only (no notarization). - Hardened-runtime entitlements for the bundled PyInstaller/ONNX Runtime binary live in
macos/FrigateDetector.entitlements. - The script writes the release zip to
macos/FrigateDetector.app.zip.
You can still run the detector directly via the Makefile:
make install
make run MODEL=yolo/yolov8n.onnx ENDPOINT=tcp://*:5555Or use the model passed in by Frigate:
make run MODEL=AUTO ENDPOINT=tcp://*:5555macos/App/Sources/FrigateDetectorApp.swift: the native macOS UI.macos/scripts/build_app.sh: builds the.appand packages the detector runtime with PyInstaller.macos/scripts/sign_and_notarize.sh: Developer ID signing, notarization and stapling.macos/FrigateDetector.entitlements: hardened-runtime entitlements for notarization.detector/zmq_onnx_client.py: the ZMQ server that receives tensors from Frigate and runs ONNX Runtime.detector/model_util.py: model output post-processing.yolo/yolov8n.onnx: the default model bundled into the app release.
This project is based on the original apple-silicon-detector by the Frigate NVR project, created by Blake Blackshear and the Frigate contributors. The core ONNX/ZMQ detector and the Frigate integration come from that project.
This repository builds on it by:
- Rewriting the macOS launcher as a fully native AppKit app (no Terminal window required).
- Bundling a default
yolov8n.onnxmodel so it works out of the box. - Signing the release with a Developer ID certificate and notarizing it with Apple.
Licensed under the MIT License, © 2020 Blake Blackshear — the original copyright and license are preserved.
Disclaimer: This is an independent community project. It is not affiliated with, endorsed by, or officially supported by the Frigate project or its maintainers. "Frigate" is the name of the upstream project and is used here only to describe compatibility.