Salta ai contenuti

Remote Ops API

La Remote Ops API permette a un’interfaccia browser esterna, un’app Flutter, un orchestratore o un client su rete privata di ispezionare e controllare un nodo Guida in esecuzione. È separata da MCP e dall’API della dashboard operativa in sola lettura.

Remote Ops è disabilitata per impostazione predefinita. Quando viene abilitata, Guida espone un piano di controllo JSON-RPC limitato sotto /api/ops/*. Guida Complete e Guida Node possono entrambe esporla: Complete mantiene l’esperienza desktop/operatore completa, mentre Node è l’esecutore headed avanzato per automazione remota di browser e spazio di lavoro.

Remote Ops è anche la base per future superfici di controllo browser o desktop.

Remote Ops è un’API per canali fidati. Guida decide se la superficie è abilitata e se l’operazione richiesta è sicura localmente; la rete decide chi può raggiungerla.

Guida non autentica i client Remote Ops nell’MVP. Proteggi il canale con ACL NetBird, regole di Windows Firewall, policy di reverse proxy, tunnel localhost, mTLS o un controllo esterno equivalente.

Guida applica comunque controlli locali:

  • Remote Ops deve essere abilitata esplicitamente.
  • Dimensioni di richieste e risposte sono limitate.
  • I comandi hanno timeout.
  • La navigazione remota usa la policy dei domini autorizzati.
  • Gli strumenti dello spazio di lavoro devono essere strumenti nominati e dichiarati localmente.
  • I comandi sui processi di lavoro puntano a pool dichiarati, non a definizioni arbitrarie di script.
  • I valori delle credenziali di accesso non vengono esposti.
  • Le chiamate Remote Ops possono essere registrate nel registro di tracciabilità operativo.
EndpointScopo
GET /api/ops/healthStato leggero di Remote Ops e identità del nodo
GET /api/ops/schemaContratto Remote Ops leggibile dalle macchine per i client
POST /api/ops/rpcEndpoint di comando JSON-RPC 2.0
GET /api/ops/eventsStream SSE per stato, invalidazioni, processi di lavoro, code, registro, attività e audit
GET /api/ops/metricsMetriche compatibili con Prometheus per distribuzioni piccole
GET /api/ops/remote-view/{sessionId}/streamStream WebSocket per una sessione Remote View

Lo stream eventi invia indizi, non stato persistente. I client dovrebbero ricaricare lo stato mirato tramite RPC o letture dashboard quando un evento è rilevante.

Apri Settings e abilita Remote Operations API.

ImpostazioneSignificato
Enable Remote Operations APIAvvia il piano di controllo JSON-RPC su canale fidato
Audit Remote Operations CallsRegistra ogni chiamata RPC Remote Ops nel registro di tracciabilità operativo
PortPorta usata quando Remote Ops è abilitata
Bind addressLoopback per impostazione predefinita; usa un indirizzo privato NetBird/VPN per il controllo remoto

Usa il bind su loopback per client locali, oppure un’interfaccia privata per NetBird/LAN. Non esporre Remote Ops direttamente a Internet pubblico.

{
"jsonrpc": "2.0",
"id": "req-001",
"method": "workers.startPool",
"params": {
"queueName": "careers_fetch"
}
}

Le risposte di errore comuni usano codici standard JSON-RPC più codici specifici di Guida per spazio di lavoro non disponibile, dominio bloccato, autorizzazione richiesta, timeout, conflitto, richiesta troppo grande e risultato troppo grande.

GruppoMetodi rappresentativi
Sistema e dashboardsystem.health, system.capabilities, system.compatibility.check, dashboard.status, dashboard.snapshot, dashboard.failures, dashboard.attention
Telemetria e registrotelemetry.metrics.get, telemetry.events.recent, telemetry.events.summary, audit.entries.list, audit.entries.get, audit.summary
Spazio di lavoro e flussiworkspace.info, workspace.files.tree, workspace.files.read, workspace.files.search, workspace.files.diff, workspace.files.write, workspace.files.context, workspace.runtime.reload, workflows.list, workflows.active.controlRoom.get, workflows.active.recovery.plan, workflows.active.recovery.preview, workflows.active.recovery.execute
Processi di lavoro e attivitàworkers.listPools, workers.startPool, workers.stopPool, workers.pause, workers.resume, workers.runOne, tasks.list, tasks.get, tasks.cancel
Strumentitools.list, tools.run
Codequeues.list, queues.count, queues.items.list, queues.enqueue, queues.deadLetters.list, queues.deadLetters.retry
Registro di tracciabilità dei flussi di lavoroledger.runs.list, ledger.run.get, ledger.run.counts, ledger.run.reconcile, ledger.items.list
Archiviazione e ricercastore.collections, store.documents.list, store.documents.get, search.collections, search.query
Browser e paginabrowser.tabs.list, browser.tabs.create, browser.tabs.activate, browser.navigate, browser.viewport.get, browser.viewport.set, page.content.extract, page.elements.list, page.waitForDomStable
Screenshot e Remote Viewscreenshots.viewport, screenshots.fullPage, browser.remoteView.start, browser.remoteView.stop, browser.remoteView.status

Remote Ops può avviare pool di processi di lavoro dichiarati, eseguire strumenti dello spazio di lavoro nominati, navigare schede, ispezionare code, ispezionare il registro, leggere file limitati dello spazio di lavoro, ricaricare la configurazione dell’ambiente di esecuzione dello spazio di lavoro, recuperare lavoro attivo dei flussi di lavoro, ispezionare risultati catturati e trasmettere il contenuto delle schede. Non va trattata come MCP grezzo esposto sulla rete.

Usa Guida Complete quando vuoi l’app desktop locale completa, il server MCP, pannelli, impostazioni e strumenti operatore. Usa Guida Node quando vuoi specificamente un esecutore remoto headed controllato tramite un canale privato fidato.

Per monitoraggio senza controllo, usa l’API della dashboard operativa. Per sistemi di test automatizzati deterministici, usa la Modalità di automazione. Per accesso da strumenti IA locali, usa l’Integrazione MCP.