Conversation
Breaking change: Docker is no longer the default deployment — native venv is.
detect.py:
- Replace pycoral + tflite-runtime with ai-edge-litert
- Use litert.Interpreter + load_delegate('libedgetpu') for Edge TPU
- Platform-aware delegate lib name (Linux/macOS/Windows)
- Unified output tensor parsing (removed separate pycoral path)
- Add 'runtime' field to ready event
requirements.txt:
- pycoral~=2.0 + tflite-runtime~=2.14 → ai-edge-litert>=2.1.0
- Python 3.9-3.13 supported (was 3.6-3.9)
deploy.sh:
- Docker build → native Python venv
- Auto-installs libedgetpu via apt on Debian/Ubuntu
- Install instructions for macOS and Windows
- Native run_command (no docker run)
deploy.bat:
- Docker → native Python venv for Windows
tpu_probe.py:
- list_edge_tpus() → load_delegate() availability test
SKILL.md:
- Version 1.0.0 → 2.0.0
- Removed runtime: docker
- Updated Platform Setup with libedgetpu install commands
- Docker noted as optional alternative
Dockerfile:
- Marked as optional, bullseye-slim → bookworm-slim
- pycoral → ai-edge-litert
…tion skills - Remove Docker references from Coral TPU and OpenVINO table entries - Update mermaid diagram to show all 3 detection skills as native - Show Coral TPU using ai-edge-litert + libedgetpu delegate - Show OpenVINO using OpenVINO SDK with NCS2/iGPU/CPU targets - Replace 'docker build' with 'system packages' in LLM install step
…till uses Docker)
The skill crashed with 'No Edge TPU model found' because deploy.sh never downloaded a .tflite model. Now downloads SSD MobileNet V2 (Edge TPU compiled) from google-coral/test_data during deployment, plus a CPU-only fallback variant.
Ships the model in-repo so the skill works immediately after deployment without requiring an internet download step. Force-added past .gitignore *.tflite rule.
The _edgetpu.tflite model uses custom Edge TPU ops that can't run on CPU. When no Coral USB is connected, the fallback needs the standard quantized model without edgetpu-custom-op.
…B passthrough This reverts the deployment logic to the Docker-first approach originally introduced in commit 9137400 to bypass sudo and libedgetpu installation hurdles on macOS. The compiled tflite models added in recent commits remain.
Aligns the yolo-detection-2026-coral-tpu skill architectural flow with CameraClaw by using a host-side `monitor.js` script rather than emitting a hardcoded `run_command` from `deploy.sh`. This fixes Docker invocation inconsistencies natively inside Aegis. Also handles cross-platform volume mapping via `os.tmpdir()` which fixes Windows mapping issues.
… path in monitor wrapper
… runtime detection
…er deployments - Drop all Docker architecture dependencies - Remove Aegis manual_setup firewall pre-conditions - Implement native ask_sudo wrapped in osascript/pkexec for UI collection - Fully script bare-metal Windows UAC powershell payload handling
…n prompt - Added a contextual AppleScript dialog explaining the privacy boundary - Injected explicit 'Approve' and 'Manual Install' GUI buttons before hitting sudo
…ge across && pipelines
…g, non-fatal install, ask_sudo command transparency
…3.10+ Google's official Edge TPU wheels only support Windows Python up to 3.9. We now use an inline Python script to probe sys.version_info during deploy.bat execution. It automatically falls back to community-compiled PyCoral wheels (feranick/pycoral) if Python 3.10 or 3.11 are detected natively. Also added user alerts advising that UAC will spawn a detached Google setup console window that they must wait for.
…logic Replaced the deprecated apt-key logic in the deploy.sh script for Ubuntu/Debian environments with modern gpg keyring hooks. Also explicitly installed python3-pycoral through the apt registry rather than fetching standard pypi builds, as Google does not publish wheels natively for modern Python. Added a detailed architecture documentation and Mermaid flow diagram to the YOLO 2026 Edge TPU deployment package.
…ipts
deploy.sh is now a thin OS dispatcher routing to:
deploy-macos.sh — arm64 (feranick) and x86_64 (official Google runtime)
deploy-linux.sh — pyenv-based Python 3.9 lock so pycoral wheels work
on any distro without relying on apt python3-pycoral
deploy.bat — Windows (unchanged, existing entry point)
Benefits:
- Platform scripts are fully isolated — fixing Linux cannot break macOS
- Linux now falls back to pyenv Python 3.9 if system Python is 3.10+
- RPM-based distros get a clear manual install message instead of silently failing
Two failure modes now monitored: 1. invoke() hang: We run interpreter.invoke() on a daemon thread with a 10s timeout. If it doesn't return, we emit a tpu_error/invoke_timeout event and exit(1) so Aegis restarts the skill. 2. Silent stall: After the TPU has produced >=5 genuine detections, if 30 consecutive frames return zero objects, we emit tpu_error/stall. stall resets after reporting so Aegis gets one clear signal per episode rather than a flood of events. Both events include retriable:true so Aegis can auto-restart.
…wrapper The entry point was set to 'scripts/monitor.js' (runtime: node) which never existed. Aegis's runtime resolver already knows how to find venv/bin/python3 for Python skills, so we can point directly at detect.py. This eliminates the extra Node.js hop and ensures the venv Python (with all deps installed) is used instead of the system Python.
pycoral was never imported by detect.py or tpu_probe.py — both use ai-edge-litert directly. Removing pycoral from the deploy scripts means: - No Python version pinning needed (works with any python3) - No pyenv installation on Linux - No brew install python@3.9 on macOS - Works out of the box with system Python 3.12 or 3.13 Tested: ai_edge_litert imports cleanly on Python 3.12.13
…f storing in git Dropping the 13MB of binary .tflite files from the DeepCamera repository to prevent repository bloat. The installer scripts (deploy-macos.sh, deploy-linux.sh, and deploy.bat) now dynamically download the official standard detection models from Google's Edge TPU GitHub repository at deploy-time using curl (or Start-BitsTransfer on Windows).
…nd watchdog - Replaced references to PyCoral framework with ai-edge-litert - Documented the new dynamic model download behavior at deploy-time (no longer tracked in git) - Added a section on Resilience & Auto-Recovery covering the TPU Watchdog's hang (10s invoke timeout) and stall (30-frame silent drop) detection logic - Refined Linux/macOS Python documentation since the constraint has been lifted to 3.9-3.13
The Coral Edge TPU skill has been hardened with the ai-edge-litert runtime, dynamic model deployment, and robust TPU health watchdog monitoring across all 3 platforms. Updating the catalog status from Testing (🧪) to Ready (✅).
feat: migrate Coral TPU skill from pycoral to ai-edge-litert (LiteRT)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.