Workflow nodes
Compile checks mirror the Wake Word pattern:
WorkflowCodeAssembler calls provision_*_for_compile() before emitting edge worker source.
SDK extras (cyberwave-python)
Defined in cyberwave-sdks/cyberwave-python/pyproject.toml. Install on edge with pip install 'cyberwave[<extra>]' or pip install 'cyberwave-edge-core[<extra>]' (thin passthrough).
Catalog STT models (edge_package)
Each public STT catalog entry sets metadata.edge_package to one extra (never ml-all).
Faster Whisper also sets
faster_whisper_model_id (tiny.en, base.en, small.en) for CTranslate2. Hybrid models may fall back to the cloud whisper node when not running on edge.
See Call Model STT on edge.
Compile server setup (Django)
Packages are listed incyberwave-backend/requirements/base.txt:
base.txt, rebuild the Django Docker image:
- “Wake Word Engine but openwakeword is not installed on the compile server”
- “Fuzzy Matcher but rapidfuzz is not installed …”
- “Audio Assistant but silero-vad (or torch) is not installed …”
- “whisper.cpp but pywhispercpp is not installed …”
- “faster-whisper is not installed …”
Edge worker image
Defaultcyberwaveos/edge-ml-worker installs a fat extra set for dev:
ml,ml-onnx,ml-stt,ml-stt-faster,ml-audio,fuzzy-match,zenoh,image,schedule plus openwakeword via --no-deps (Python 3.12).
For Raspberry Pi, rebuild a slim image with only what your workflow uses:
Typical voice pipeline (extras needed)
ml-all.
Related
Audio in Workflows
PCM format and pipeline overview
Call Model STT
Whisper.cpp vs Faster Whisper on edge
Wake Word compile
Compile-time model download
Edge model cache
Weight download on device