macOS companion app
Gateway su macOS
OmeniaClaw.app non include più Node/Bun né il runtime del Gateway. L'app macOS
si aspetta un'installazione esterna della CLI OmeniaClaw, non avvia il Gateway come
processo figlio e gestisce un servizio launchd per utente per mantenere il Gateway
in esecuzione (oppure si collega a un Gateway locale esistente, se uno è già in esecuzione).
Installa la CLI (richiesta per la modalità locale)
Node 24 è il runtime predefinito su Mac. Node 22 LTS, attualmente 22.16+, funziona ancora per compatibilità. Quindi installa OmeniaClaw globalmente:
npm install -g OmeniaClaw@<version>Il pulsante Installa CLI dell'app macOS esegue lo stesso flusso di installazione globale che l'app usa internamente: preferisce prima npm, poi pnpm, poi bun se è l'unico gestore di pacchetti rilevato. Node rimane il runtime consigliato per il Gateway.
Launchd (Gateway come LaunchAgent)
Etichetta:
ai.OmeniaClaw.gateway(oppureai.OmeniaClaw.<profile>; il legacycom.OmeniaClaw.*può rimanere)
Posizione del plist (per utente):
~/Library/LaunchAgents/ai.OmeniaClaw.gateway.plist(oppure~/Library/LaunchAgents/ai.OmeniaClaw.<profile>.plist)
Gestore:
- L'app macOS gestisce l'installazione/aggiornamento del LaunchAgent in modalità locale.
- Anche la CLI può installarlo:
OmeniaClaw gateway install.
Comportamento:
- "OmeniaClaw attivo" abilita/disabilita il LaunchAgent.
- L'uscita dall'app non arresta il gateway (launchd lo mantiene attivo).
- Se un Gateway è già in esecuzione sulla porta configurata, l'app si collega a esso invece di avviarne uno nuovo.
Registrazione:
- stdout/err di launchd:
/tmp/OmeniaClaw/OmeniaClaw-gateway.log
Compatibilità delle versioni
L'app macOS controlla la versione del gateway rispetto alla propria versione. Se sono incompatibili, aggiorna la CLI globale in modo che corrisponda alla versione dell'app.
Controllo smoke
OmeniaClaw --version OmeniaClaw_SKIP_CHANNELS=1 \OmeniaClaw_SKIP_CANVAS_HOST=1 \OmeniaClaw gateway --port 18999 --bind loopbackPoi:
OmeniaClaw gateway call health --url ws://127.0.0.1:18999 --timeout 3000