Complete P2 (LLM) and P3 (voice pipeline) implementation
P2 — homeai-llm: - Fix ollama launchd plist path for Apple Silicon (/opt/homebrew/bin/ollama) - Add Modelfiles for local GGUF models: llama3.3:70b, qwen3:32b, codestral:22b (registered via `ollama create` — no re-download needed) P3 — homeai-voice: - Wyoming STT: wyoming-faster-whisper, large-v3 model, port 10300 - Wyoming TTS: custom Kokoro ONNX server (wyoming_kokoro_server.py), port 10301 Voice af_heart; models at ~/models/kokoro/ - Wake word: openWakeWord daemon (hey_jarvis), notifies OpenClaw at /wake - launchd plists for all three services + load-all-launchd.sh helper - Smoke test: wyoming/test-pipeline.sh — 3/3 passing HA Wyoming integration pending manual UI config (STT 10.0.0.200:10300, TTS 10.0.0.200:10301). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
35
homeai-voice/scripts/load-all-launchd.sh
Executable file
35
homeai-voice/scripts/load-all-launchd.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
# Load (or reload) all homeai-voice launchd services.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
LAUNCHD_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/launchd" && pwd)"
|
||||
LAUNCH_AGENTS=~/Library/LaunchAgents
|
||||
|
||||
PLISTS=(
|
||||
com.homeai.wyoming-stt.plist
|
||||
com.homeai.wyoming-tts.plist
|
||||
com.homeai.wakeword.plist
|
||||
)
|
||||
|
||||
for plist in "${PLISTS[@]}"; do
|
||||
src="${LAUNCHD_DIR}/${plist}"
|
||||
dst="${LAUNCH_AGENTS}/${plist}"
|
||||
label="${plist%.plist}"
|
||||
|
||||
cp "$src" "$dst"
|
||||
|
||||
if launchctl list "$label" &>/dev/null; then
|
||||
launchctl unload "$dst" 2>/dev/null || true
|
||||
fi
|
||||
launchctl load "$dst"
|
||||
echo "Loaded: $label"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Status:"
|
||||
for plist in "${PLISTS[@]}"; do
|
||||
label="${plist%.plist}"
|
||||
pid=$(launchctl list "$label" 2>/dev/null | awk 'NR==2{print $1}')
|
||||
echo " $label — PID: ${pid:--}"
|
||||
done
|
||||
Reference in New Issue
Block a user