You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -52,6 +52,7 @@ Each skill is a self-contained module with its own model, parameters, and [commu
52
52
53
53
-[x]**Skill architecture** — pluggable `SKILL.md` interface for all capabilities
54
54
-[x]**Full skill catalog** — 18 skills across 9 categories with working scripts
55
+
-[x]**Hardware environment layer** — shared [`env_config.py`](skills/lib/env_config.py) for auto-detection + model optimization across NVIDIA, AMD, Apple Silicon, Intel, and CPU
55
56
-[ ]**Skill Store UI** — browse, install, and configure skills from Aegis
56
57
-[ ]**Custom skill packaging** — community-contributed skills via GitHub
57
58
-[ ]**GPU-optimized containers** — one-click Docker deployment per skill
description: "Start this skill automatically when Aegis launches"
15
+
group: Lifecycle
16
+
9
17
- name: model_size
10
18
label: "Model Size"
11
19
type: select
@@ -45,6 +53,13 @@ parameters:
45
53
description: "auto = best available GPU, else CPU"
46
54
group: Performance
47
55
56
+
- name: use_optimized
57
+
label: "Hardware Acceleration"
58
+
type: boolean
59
+
default: true
60
+
description: "Auto-convert model to optimized format for faster inference"
61
+
group: Performance
62
+
48
63
capabilities:
49
64
live_detection:
50
65
script: scripts/detect.py
@@ -64,6 +79,50 @@ Real-time object detection using the latest YOLO 2026 models. Detects 80+ COCO o
64
79
| medium | Moderate | High | Accuracy-focused deployments |
65
80
| large | Slower | Highest | Maximum detection quality |
66
81
82
+
## Hardware Acceleration
83
+
84
+
The skill uses [`env_config.py`](../../lib/env_config.py) to **automatically detect hardware** and convert the model to the fastest format for your platform. Conversion happens once during deployment and is cached.
| Apple Silicon (M1+) | MPS | CoreML `.mlpackage`|~2x |
90
+
| Intel CPU/GPU/NPU | OpenVINO | OpenVINO IR `.xml`|~2-3x |
91
+
| AMD GPU | ROCm | ONNX Runtime |~1.5-2x |
92
+
| CPU (any) | CPU | ONNX Runtime |~1.5x |
93
+
94
+
### How It Works
95
+
96
+
1.`deploy.sh` detects your hardware via `env_config.HardwareEnv.detect()`
97
+
2. Installs the matching `requirements_{backend}.txt` (e.g. CUDA → includes `tensorrt`)
98
+
3. Pre-converts the default model to the optimal format
99
+
4. At runtime, `detect.py` loads the cached optimized model automatically
100
+
5. Falls back to PyTorch if optimization fails
101
+
102
+
Set `use_optimized: false` to disable auto-conversion and use raw PyTorch.
103
+
104
+
## Auto Start
105
+
106
+
Set `auto_start: true` in the skill config to start detection automatically when Aegis launches. The skill will begin processing frames from the selected camera immediately.
107
+
108
+
```yaml
109
+
auto_start: true
110
+
model_size: nano
111
+
fps: 5
112
+
```
113
+
114
+
## Performance Monitoring
115
+
116
+
The skill emits `perf_stats` events every 50 frames with aggregate timing:
@@ -90,20 +150,20 @@ Communicates via **JSON lines** over stdin/stdout.
90
150
{"command": "stop"}
91
151
```
92
152
93
-
## Hardware Support
94
-
95
-
| Platform | Backend | Performance |
96
-
|----------|---------|-------------|
97
-
| Apple Silicon (M1+) | MPS | 20-30 FPS |
98
-
| NVIDIA GPU | CUDA | 25-60 FPS |
99
-
| AMD GPU | ROCm | 15-40 FPS |
100
-
| CPU (modern x86) | CPU | 5-15 FPS |
101
-
| Raspberry Pi 5 | CPU | 2-5 FPS |
102
-
103
153
## Installation
104
154
105
-
The `deploy.sh` bootstrapper handles everything — Python environment, GPU backend detection, and dependency installation. No manual setup required.
155
+
The `deploy.sh` bootstrapper handles everything — Python environment, GPU backend detection, dependency installation, and model optimization. No manual setup required.
0 commit comments