Gateway

Manuale operativo del Gateway

Usa questa pagina per l'avvio del giorno 1 e le operazioni del giorno 2 del servizio Gateway.

Avvio locale in 5 minuti

  • Avvia il Gateway

    bash
    OmeniaClaw gateway --port 18789# debug/trace mirrored to stdioOmeniaClaw gateway --port 18789 --verbose# force-kill listener on selected port, then startOmeniaClaw gateway --force
  • Verifica lo stato del servizio

    bash
    OmeniaClaw gateway statusOmeniaClaw statusOmeniaClaw logs --follow

    Baseline sana: Runtime: running, Connectivity probe: ok e Capability: ... che corrisponde a ciò che ti aspetti. Usa OmeniaClaw gateway status --require-rpc quando ti serve una prova RPC con ambito di lettura, non solo la raggiungibilità.

  • Convalida la prontezza del canale

    bash
    OmeniaClaw channels status --probe

    Con un gateway raggiungibile, questo esegue probe live dei canali per account e audit opzionali. Se il gateway non è raggiungibile, la CLI ripiega invece su riepiloghi dei canali basati solo sulla configurazione anziché sull'output dei probe live.

  • Modello a runtime

    • Un processo sempre attivo per routing, piano di controllo e connessioni dei canali.
    • Un'unica porta multiplexata per:
      • Controllo/RPC WebSocket
      • API HTTP compatibili con OpenAI (/v1/models, /v1/embeddings, /v1/chat/completions, /v1/responses, /tools/invoke)
      • UI di controllo e hook
    • Modalità di binding predefinita: loopback.
    • L'autenticazione è richiesta per impostazione predefinita. Le configurazioni con segreto condiviso usano gateway.auth.token / gateway.auth.password (oppure OmeniaClaw_GATEWAY_TOKEN / OmeniaClaw_GATEWAY_PASSWORD) e le configurazioni reverse proxy non loopback possono usare gateway.auth.mode: "trusted-proxy".

    Endpoint compatibili con OpenAI

    La superficie di compatibilità a maggiore leva di OmeniaClaw ora è:

    • GET /v1/models
    • GET /v1/models/{id}
    • POST /v1/embeddings
    • POST /v1/chat/completions
    • POST /v1/responses

    Perché questo insieme è importante:

    • La maggior parte delle integrazioni Open WebUI, LobeChat e LibreChat interroga prima /v1/models.
    • Molte pipeline RAG e di memoria si aspettano /v1/embeddings.
    • I client agent-native preferiscono sempre più spesso /v1/responses.

    Nota di pianificazione:

    • /v1/models è agent-first: restituisce OmeniaClaw, OmeniaClaw/default e OmeniaClaw/<agentId>.
    • OmeniaClaw/default è l'alias stabile che punta sempre all'agente predefinito configurato.
    • Usa x-OmeniaClaw-model quando vuoi sovrascrivere provider/modello del backend; altrimenti la normale configurazione di modello ed embedding dell'agente selezionato resta in controllo.

    Tutti questi endpoint vengono eseguiti sulla porta principale del Gateway e usano lo stesso confine di autenticazione dell'operatore fidato del resto dell'API HTTP del Gateway.

    Precedenza di porta e binding

    Impostazione Ordine di risoluzione
    Porta Gateway --portOmeniaClaw_GATEWAY_PORTgateway.port18789
    Modalità di binding CLI/override → gateway.bindloopback

    I servizi gateway installati registrano il --port risolto nei metadati del supervisore. Dopo aver modificato gateway.port, esegui OmeniaClaw doctor --fix oppure OmeniaClaw gateway install --force in modo che launchd/systemd/schtasks avvii il processo sulla nuova porta.

    L'avvio del Gateway usa la stessa porta e lo stesso binding effettivi quando inizializza le origini locali della UI di controllo per binding non loopback. Ad esempio, --bind lan --port 3000 inizializza http://localhost:3000 e http://127.0.0.1:3000 prima che venga eseguita la convalida a runtime. Aggiungi esplicitamente qualsiasi origine di browser remoto, come URL proxy HTTPS, a gateway.controlUi.allowedOrigins.

    Modalità di hot reload

    gateway.reload.mode Comportamento
    off Nessun ricaricamento della configurazione
    hot Applica solo modifiche hot-safe
    restart Riavvia in caso di modifiche che richiedono ricaricamento
    hybrid (predefinito) Applica a caldo quando sicuro, riavvia quando richiesto

    Set di comandi dell'operatore

    bash
    OmeniaClaw gateway statusOmeniaClaw gateway status --deep   # adds a system-level service scanOmeniaClaw gateway status --jsonOmeniaClaw gateway installOmeniaClaw gateway restartOmeniaClaw gateway stopOmeniaClaw secrets reloadOmeniaClaw logs --followOmeniaClaw doctor

    gateway status --deep serve per ulteriore individuazione dei servizi (LaunchDaemons/unità systemd di sistema /schtasks), non per un probe di salute RPC più approfondito.

    Gateway multipli (stesso host)

    La maggior parte delle installazioni dovrebbe eseguire un gateway per macchina. Un singolo gateway può ospitare più agenti e canali.

    Servono più gateway solo quando vuoi intenzionalmente isolamento o un bot di ripristino.

    Controlli utili:

    bash
    OmeniaClaw gateway status --deepOmeniaClaw gateway probe

    Cosa aspettarsi:

    • gateway status --deep può segnalare Other gateway-like services detected (best effort) e stampare suggerimenti di pulizia quando sono ancora presenti installazioni launchd/systemd/schtasks obsolete.
    • gateway probe può avvisare di multiple reachable gateways quando risponde più di un target.
    • Se è intenzionale, isola porte, configurazione/stato e radici workspace per ogni gateway.

    Checklist per istanza:

    • gateway.port univoco
    • OmeniaClaw_CONFIG_PATH univoco
    • OmeniaClaw_STATE_DIR univoco
    • agents.defaults.workspace univoco

    Esempio:

    bash
    OmeniaClaw_CONFIG_PATH=~/.OmeniaClaw/a.json OmeniaClaw_STATE_DIR=~/.OmeniaClaw-a OmeniaClaw gateway --port 19001OmeniaClaw_CONFIG_PATH=~/.OmeniaClaw/b.json OmeniaClaw_STATE_DIR=~/.OmeniaClaw-b OmeniaClaw gateway --port 19002

    Configurazione dettagliata: /gateway/multiple-gateways.

    Accesso remoto

    Preferito: Tailscale/VPN. Fallback: tunnel SSH.

    bash
    ssh -N -L 18789:127.0.0.1:18789 user@host

    Poi connetti i client localmente a ws://127.0.0.1:18789.

    Vedi: Gateway remoto, Autenticazione, Tailscale.

    Supervisione e ciclo di vita del servizio

    Usa esecuzioni supervisionate per un'affidabilità simile alla produzione.

    macOS (launchd)

    bash
    OmeniaClaw gateway installOmeniaClaw gateway statusOmeniaClaw gateway restartOmeniaClaw gateway stop

    Usa OmeniaClaw gateway restart per i riavvii. Non concatenare OmeniaClaw gateway stop e OmeniaClaw gateway start come sostituto del riavvio.

    Su macOS, gateway stop usa launchctl bootout per impostazione predefinita: questo rimuove il LaunchAgent dalla sessione di avvio corrente senza rendere persistente una disabilitazione, quindi il recupero automatico KeepAlive continua a funzionare dopo arresti inattesi e gateway start riabilita in modo pulito. Per sopprimere in modo persistente il riavvio automatico tra i reboot, passa --disable: OmeniaClaw gateway stop --disable.

    Le etichette LaunchAgent sono ai.OmeniaClaw.gateway (predefinito) oppure ai.OmeniaClaw.<profile> (profilo con nome). OmeniaClaw doctor verifica e ripara la deriva della configurazione del servizio.

    Linux (utente systemd)

    bash
    OmeniaClaw gateway installsystemctl --user enable --now OmeniaClaw-gateway[-<profile>].serviceOmeniaClaw gateway status

    Per la persistenza dopo il logout, abilita il lingering:

    bash
    sudo loginctl enable-linger <user>

    Esempio manuale di unità utente quando serve un percorso di installazione personalizzato:

    ini
    [Unit]Description=OmeniaClaw GatewayAfter=network-online.targetWants=network-online.target [Service]ExecStart=/usr/local/bin/OmeniaClaw gateway --port 18789Restart=alwaysRestartSec=5TimeoutStopSec=30TimeoutStartSec=30SuccessExitStatus=0 143KillMode=control-group [Install]WantedBy=default.target

    Windows (nativo)

    powershell
    OmeniaClaw gateway installOmeniaClaw gateway status --jsonOmeniaClaw gateway restartOmeniaClaw gateway stop

    L'avvio gestito nativo di Windows usa un'attività pianificata chiamata OmeniaClaw Gateway (oppure OmeniaClaw Gateway (<profile>) per i profili con nome). Se la creazione dell'attività pianificata viene negata, OmeniaClaw ripiega su un launcher nella cartella Startup per utente che punta a gateway.cmd dentro la directory di stato.

    Linux (servizio di sistema)

    Usa un'unità di sistema per host multiutente/sempre attivi.

    bash
    sudo systemctl daemon-reloadsudo systemctl enable --now OmeniaClaw-gateway[-<profile>].service

    Usa lo stesso corpo del servizio dell'unità utente, ma installalo sotto /etc/systemd/system/OmeniaClaw-gateway[-<profile>].service e modifica ExecStart= se il binario OmeniaClaw si trova altrove.

    Non lasciare che anche OmeniaClaw doctor --fix installi un servizio gateway a livello utente per lo stesso profilo/porta. Doctor rifiuta quell'installazione automatica quando trova un servizio gateway OmeniaClaw a livello di sistema; usa OmeniaClaw_SERVICE_REPAIR_POLICY=external quando l'unità di sistema possiede il ciclo di vita.

    Percorso rapido del profilo di sviluppo

    bash
    OmeniaClaw --dev setupOmeniaClaw --dev gateway --allow-unconfiguredOmeniaClaw --dev status

    I valori predefiniti includono stato/configurazione isolati e porta gateway di base 19001.

    Riferimento rapido del protocollo (vista operatore)

    • Il primo frame del client deve essere connect.
    • Il Gateway restituisce lo snapshot hello-ok (presence, health, stateVersion, uptimeMs, limiti/policy).
    • hello-ok.features.methods / events sono un elenco di discovery conservativo, non un dump generato di ogni rotta helper chiamabile.
    • Richieste: req(method, params)res(ok/payload|error).
    • Gli eventi comuni includono connect.challenge, agent, chat, session.message, session.tool, sessions.changed, presence, tick, health, heartbeat, eventi del ciclo di vita di pairing/approvazione e shutdown.

    Le esecuzioni degli agenti sono in due fasi:

    1. Ack di accettazione immediato (status:"accepted")
    2. Risposta finale di completamento (status:"ok"|"error"), con eventi agent in streaming nel mezzo.

    Vedi la documentazione completa del protocollo: Protocollo Gateway.

    Controlli operativi

    Liveness

    • Apri WS e invia connect.
    • Attendi una risposta hello-ok con snapshot.

    Readiness

    bash
    OmeniaClaw gateway statusOmeniaClaw channels status --probeOmeniaClaw health

    Recupero dei gap

    Gli eventi non vengono riprodotti. In caso di gap di sequenza, aggiorna lo stato (health, system-presence) prima di continuare.

    Firme di errore comuni

    Firma Problema probabile
    refusing to bind gateway ... without auth Associazione non-loopback senza un percorso di autenticazione Gateway valido
    another gateway instance is already listening / EADDRINUSE Conflitto di porta
    Gateway start blocked: set gateway.mode=local Configurazione impostata in modalità remota, oppure il contrassegno della modalità locale manca da una configurazione danneggiata
    unauthorized durante la connessione Mancata corrispondenza di autenticazione tra client e Gateway

    Per le scalette diagnostiche complete, usa Risoluzione dei problemi del Gateway.

    Garanzie di sicurezza

    • I client del protocollo Gateway falliscono rapidamente quando Gateway non è disponibile (nessun fallback implicito a canale diretto).
    • I primi frame non validi/non di connessione vengono rifiutati e chiusi.
    • L'arresto controllato emette l'evento shutdown prima della chiusura del socket.

    Correlati:

    Correlati

    Was this useful?
    On this page

    On this page