{"id":51188926,"url":"https://github.com/home-assistant-tools/frigate-apple-detector","last_synced_at":"2026-06-27T13:02:27.602Z","repository":{"id":357438675,"uuid":"1236937847","full_name":"home-assistant-tools/frigate-apple-detector","owner":"home-assistant-tools","description":"Native macOS app that turns an Apple Silicon Mac into a CoreML / Neural Engine-accelerated object detector for Frigate over ZMQ. Signed \u0026 notarized — no Python, venv or Docker needed.","archived":false,"fork":false,"pushed_at":"2026-06-15T03:56:25.000Z","size":10911,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-22T07:33:00.269Z","etag":null,"topics":["apple-silicon","coreml","detector","frigate","frigate-nvr","home-assistant","macos","neural-engine","nvr","object-detection","onnx","onnxruntime","swift","yolov8","zmq"],"latest_commit_sha":null,"homepage":"https://github.com/duongvanba/frigate-apple-detector/releases/latest","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/home-assistant-tools.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["NickM-27"]}},"created_at":"2026-05-12T18:06:45.000Z","updated_at":"2026-06-20T04:58:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/home-assistant-tools/frigate-apple-detector","commit_stats":null,"previous_names":["duongvanba/frigate-apple-detector","home-assistant-tools/frigate-apple-detector"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/home-assistant-tools/frigate-apple-detector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant-tools%2Ffrigate-apple-detector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant-tools%2Ffrigate-apple-detector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant-tools%2Ffrigate-apple-detector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant-tools%2Ffrigate-apple-detector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/home-assistant-tools","download_url":"https://codeload.github.com/home-assistant-tools/frigate-apple-detector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant-tools%2Ffrigate-apple-detector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34854180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple-silicon","coreml","detector","frigate","frigate-nvr","home-assistant","macos","neural-engine","nvr","object-detection","onnx","onnxruntime","swift","yolov8","zmq"],"created_at":"2026-06-27T13:02:26.980Z","updated_at":"2026-06-27T13:02:27.594Z","avatar_url":"https://github.com/home-assistant-tools.png","language":"Python","funding_links":["https://github.com/sponsors/NickM-27"],"categories":[],"sub_categories":[],"readme":"# Frigate Apple Silicon Detector\n\nA 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.\n\nThe release build is **signed with a Developer ID certificate and notarized by Apple**, so it opens normally on macOS without \"unidentified developer\" warnings.\n\n\u003e Based on the official [`apple-silicon-detector`](https://github.com/frigate-nvr/apple-silicon-detector) from the [Frigate](https://github.com/blakeblackshear/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](#credits).\n\n## Quick start\n\n1. Download `FrigateDetector.app.zip` from the [latest GitHub Release](../../releases/latest).\n2. Double-click the zip to unzip it.\n3. Open `FrigateDetector.app` (double-click). Because the build is notarized, macOS opens it without a Gatekeeper block.\n4. In the app:\n   - **Model**: defaults to the `yolov8n.onnx` model bundled inside the app. Use **Choose model** to point at your own `.onnx`, or tick **Auto** to let Frigate supply the model.\n   - **Host**: use `*` to allow Frigate to connect from another machine/container; use `127.0.0.1` to keep it local.\n   - **Port**: defaults to `5555`.\n   - Press **Start**.\n5. Wait about 1 minute for the runtime and model to fully start up (the live log shows progress).\n6. Point Frigate at the Mac's TCP endpoint, for example:\n\n```yaml\ndetectors:\n  apple_silicon:\n    type: zmq\n    endpoint: tcp://192.168.2.2:5555\n```\n\nReplace `192.168.2.2` with the LAN IP of the Mac running the app.\n\n## If macOS still blocks the app\n\nA 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:\n\n- Right-click `FrigateDetector.app` → **Open** → **Open**, or\n- `System Settings` → `Privacy \u0026 Security` → scroll to `Security` → **Open Anyway**, or\n- Clear the quarantine flag from Terminal:\n\n```bash\nxattr -dr com.apple.quarantine /path/to/FrigateDetector.app\n```\n\nThe 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.\n\n## Where does the app store data?\n\nThe app does not write into the host machine's system Python or venv directories. Runtime data is stored at:\n\n```text\n~/Library/Application Support/FrigateDetector\n```\n\nLogs are streamed live inside the app and also written to:\n\n```text\n~/Library/Application Support/FrigateDetector/Logs/FrigateDetector.log\n```\n\n## Building the app from source\n\nRequirements on the build machine:\n\n- macOS Apple Silicon\n- Xcode Command Line Tools\n- `uv` or Python 3.11+\n\nBuild the app:\n\n```bash\nmake app\n```\n\nAfter building, the app is at `macos/FrigateDetector.app` (ad-hoc signed for local use).\n\n## Signing and notarizing your own build\n\nTo 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:\n\n```bash\n# Using an app-specific password\nSIGN_IDENTITY=\"Developer ID Application: Your Name (TEAMID)\" \\\nAPPLE_ID=\"you@example.com\" \\\nTEAM_ID=\"TEAMID\" \\\nAPP_PASSWORD=\"xxxx-xxxx-xxxx-xxxx\" \\\nmacos/scripts/sign_and_notarize.sh\n```\n\nNotes:\n\n- `SIGN_IDENTITY` is optional — if omitted, the script uses the first `Developer ID Application` identity in your keychain.\n- Set `SKIP_NOTARIZE=1` to sign only (no notarization).\n- Hardened-runtime entitlements for the bundled PyInstaller/ONNX Runtime binary live in `macos/FrigateDetector.entitlements`.\n- The script writes the release zip to `macos/FrigateDetector.app.zip`.\n\n## Running the detector from the command line\n\nYou can still run the detector directly via the Makefile:\n\n```bash\nmake install\nmake run MODEL=yolo/yolov8n.onnx ENDPOINT=tcp://*:5555\n```\n\nOr use the model passed in by Frigate:\n\n```bash\nmake run MODEL=AUTO ENDPOINT=tcp://*:5555\n```\n\n## Main components\n\n- `macos/App/Sources/FrigateDetectorApp.swift`: the native macOS UI.\n- `macos/scripts/build_app.sh`: builds the `.app` and packages the detector runtime with PyInstaller.\n- `macos/scripts/sign_and_notarize.sh`: Developer ID signing, notarization and stapling.\n- `macos/FrigateDetector.entitlements`: hardened-runtime entitlements for notarization.\n- `detector/zmq_onnx_client.py`: the ZMQ server that receives tensors from Frigate and runs ONNX Runtime.\n- `detector/model_util.py`: model output post-processing.\n- `yolo/yolov8n.onnx`: the default model bundled into the app release.\n\n## Credits\n\nThis project is based on the original [**apple-silicon-detector**](https://github.com/frigate-nvr/apple-silicon-detector) by the [Frigate NVR](https://github.com/frigate-nvr) project, created by [Blake Blackshear](https://github.com/blakeblackshear) and the Frigate contributors. The core ONNX/ZMQ detector and the Frigate integration come from that project.\n\nThis repository builds on it by:\n\n- Rewriting the macOS launcher as a fully native AppKit app (no Terminal window required).\n- Bundling a default `yolov8n.onnx` model so it works out of the box.\n- Signing the release with a Developer ID certificate and notarizing it with Apple.\n\nLicensed under the [MIT License](LICENSE), © 2020 Blake Blackshear — the original copyright and license are preserved.\n\n\u003e **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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhome-assistant-tools%2Ffrigate-apple-detector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhome-assistant-tools%2Ffrigate-apple-detector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhome-assistant-tools%2Ffrigate-apple-detector/lists"}