Zum Hauptinhalt springen

Headless Service und Browserzugriff

Der lokale Dienst bietet ein Headless-Backend und eine Localhost-Browser-Schnittstelle. Es unterscheidet sich von einem SSH Compute-Host und von der Remote.It-Browserpaarung. Wählen Sie die Authentifizierungs- und Credential-Storage-Einstellungen für den Host aus, bevor Sie einen Client verbinden.

Zielauswahl und -entdeckung

WähleAnwendungsbereich
--port PORTÜbersteuern des Localhost-Service-Ports; gültige ganze Zahl 1–65535
--app-path PATHWählen Sie eine ausführbare installierte Anwendung aus; Verwenden Sie den ausführbaren Pfad, nicht einen beliebigen Projektordner
--config-root PATHConfig-Override von Entwicklungs-Bauten; verpacktes Startup lehnt es ab
OPEN_SCIENCE_CONFIG_ROOT / OPEN_SCIENCE_STORAGE_ROOTExplizite Konfigurationserkennung überschreibt, wo unterstützt
Automatische EntdeckungProbieren Sie die Entwicklungskonfiguration vor der Produktion aus und überspringen Sie tote / ungesunde Kandidaten

Ein expliziter Konfigurationsspeicherort beschränkt die Erkennung auf dieses Verzeichnis. Überprüfen Sie den Status für das vorgesehene Profil, bevor Sie es starten oder stoppen. Wenn der Status running:false zurückgibt, folgen Sie den folgenden Lifecycle-Befehlen: Ein offenes Desktop-Fenster kann einen anderen Dienst / ein anderes Profil verwenden.

Die Dienstzustandsdatei ist web-service.json. Der Authentifizierungsfehler ist keine Berechtigung, den aufgezeichneten Prozess zu beenden. Der Shutdown-Code bewahrt ungesunde Live-Datensätze für die Diagnose und vermeidet die Signalisierung einer PID, die möglicherweise durch einen anderen Prozess wiederverwendet wurde.

Initialisierung und Prüfung der Bereitschaft

Verwenden Sie open-science init, um das Standard-Konfigurationsverzeichnis vorzubereiten, ohne die App zu starten. --profile Alias --config-root nur, wo Entwicklungsprofil-Overrides unterstützt werden; die Packed-Build-Beschränkung nicht umgeht. Debian-Pakete installieren das CLI neben der Anwendung. Siehe Terminaleinrichtung für Codex-Vorbereitung und -Login.

Führen Sie nach einem beabsichtigten start --no-open open-science doctor --json aus. Überprüfen Sie insgesamt ready, individuelle Prüfungen und Vorschläge für die nächsten Aktionen; Der Prozess-Exit-Code allein ist kein Bereitschaftsurteil. Behalten Sie den Dienst auf seiner vorhandenen authentifizierten lokalen Schnittstelle. Das Starten dieses Headless-Dienstes konfiguriert Remote.It nicht oder veröffentlicht keinen öffentlichen Endpunkt.

Lifecycle-Befehle

BefehlErgebnisOptionen und Grenzen
open-science startStarten Sie das Backend und öffnen Sie den BrowserStandard-Port 44100
open-science start --no-openStarten Sie, ohne einen Browser zu öffnenVerwendung für eine absichtliche lokale Servicesitzung
open-science status --jsonDruckmaschinenlesbarer ServicezustandEin fehlender Service kehrt zurück {"running":false} und Ausstiegscode 1
open-science urlDrucken Sie die authentifizierte Browser-URLEnthält die lokale Zugangsbehörde; Nicht in veröffentlichte Beispiele einfügen
open-science stopAnfordern authentifizierter Graceful ShutdownSignalisiert nicht blind eine PID aus einer veralteten Zustandsdatei
open-science stop --jsonMelden Sie das AbschaltungsergebnisSiehe die Ergebnistabelle unten

Unter diesen Befehlen ist Status und Stop Support --json; Start und URL nicht. Der lokale start --json-Check hat invalid_cli_usage mit dem Ausstiegscode 2 zurückgegeben, bevor er etwas gestartet hat. Führen Sie für einen Skriptstart start --no-open und dann status --json aus.

Shutdown Ergebnisse

JSON resultBedeutung
already-stoppedKein Live-Service-Rekord gefunden
daemon-stoppedAuthentifizierter Standalone-Daemon beendet
web-service-stoppedAttached Web-Service gestoppt; Desktop-Applikation läuft weiter

Eine abgelehnte Anfrage oder verpasste Abschaltungsfrist gibt einen Fehler zurück. Lesen Sie den Fehler und prüfen Sie den tatsächlichen Zielzustand. Melden Sie einen Dienst nicht als angehalten, nur weil der Befehl zurückgegeben wurde.

Authentifizierung und Browserzugriff

Der SDK entdeckt den lokalen Dienst und liest sein lokales Authentifizierungstoken und sendet es in Anfrage-Headern. Gewöhnliche menschliche / JSON/JSONL-Task-Ausgabe druckt dieses Token nicht aus. url ist die absichtliche Ausnahme, die einen authentifizierten Browsereintrag erzeugt.

Ein localhost-dienst ist nicht automatisch von einem anderen computer aus zugänglich. Der Remote-Browserzugriff verwendet einen eigenen konfigurierten Zugriffsmodus, eine Pairing- und vertrauenswürdige Browser-Lebenszyklus. SSH Compute sendet stattdessen Jobs an konfigurierte Remoteausführungs-Hosts.

Verwenden Sie Remote-Browserzugriff für Remote.It-Paarung und Remote Compute für SSH-Jobs. Kein Flow wird konfiguriert, indem die Dokumentations-URL des lokalen Dienstes geändert wird.

Credential Storage auf Headless Linux

Der Standard ist OS-geschützter Speicher. Auf einem Linux Headless Backend ohne verwendbaren Keyring wählen Sie eine explizite Alternative:

Beispiel Starten Sie einen Linux Headless-Dienst mit Dateinachweisspeicher

open-science start --credential-store=file --no-open
WahlmöglichkeitVerhalten
Ausgelassene Option / --credential-store=osErfordern Sie den OS-geschützten Speicher
--credential-store=fileErlauben Sie unverschlüsselte Einstellungen verwaltete Geheimnisse nur auf Linux headless
Desktop, macOS oder Windows LaunchDateimodus wird nicht unterstützt
Bereits laufendes BackendAusdrückliche Moduswahl wird abgelehnt; Es ändert nicht den Modus dieses Prozesses
Nächstes StartupGeben Sie den Modus erneut an; Es ist keine gespeicherte Präferenz

Der Dateimodus verwendet settings.json und credentials.json unter der Konfigurationswurzel, mit atomaren Schreibvorgängen und POSIX-Modus 0600. Der Wert file:v1: ist base64-codiert, nicht verschlüsselt. Jeder, der es lesen kann, kann das Geheimnis wiederherstellen; schließen diese Dateien aus Repositories, Bildern und Support-Berichten aus.

Die Auswahl gilt für neue/aktualisierte, von Einstellungen verwaltete Provider-Schlüssel, App-verwaltete Abonnement-Token, GitHub/Literatur-Schlüssel und freigegebene MCP/OAuth-Geheimnisse. Compute-Passwörter/geschützte Compute-Daten behalten ihre separaten OS-Speicheranforderungen bei; externe Agent-Framework-Login-Stores folgen ihren eigenen Regeln. Keine Sandbox wird durch diese Option deaktiviert.

Vorhandene verschlüsselte Werte werden nicht automatisch migriert und erfordern immer noch ihren ursprünglichen OS-Tresor. Wenn nicht verfügbar, geben Sie das Anmeldeformular durch das normal unterstützte Formular erneut ein. Datei-Refs erfordern einen expliziten Dateimodus zum Lesen und sind mit älteren Releases nicht kompatibel. Um einen Berechtigungsnachweis an den OS-Speicher zurückzugeben, starten Sie im OS-Modus neu und ersetzen Sie ihn explizit, während der Tresor verfügbar ist.

Verwenden Sie persistenten Speicher, wenn die Konfiguration den Containerwechsel überleben muss. Shutdown behält die Konfiguration bei; Ersetzen eines Einweg-Container-Dateisystems kann es entfernen. Siehe Credential-Lagervertrag.

Anwendungsaktualisierungsverhalten

open-science update aktualisiert die installierte Anwendung. Aktualisieren Sie den npm-Client separat. Der Befehl kann bei Bedarf einen lokalen Dienst starten und diesen Dienst danach verfügbar lassen.

update --json ErgebnisAuslegung
up-to-dateKeine neuere anwendbare Version gefunden
install-startedUpdater akzeptierte die Installationshandoff; Die installierte Version wird durch diesen Aufruf nicht verifiziert
manual-action-requiredBefolgen Sie den gemeldeten Installerpfad / nächsten Schritt
blockedAktive Forschung verhindert ein Update an Ort und Stelle; Inspektion blockedBy

Der Support erfordert die Servicefähigkeit update-cli-v1. Ältere Installationen können eine manuelle Aktualisierung anstelle einer erratenen Remote-Prozedur erfordern. Bewahren Sie das gedruckte Ergebnis auf und überprüfen Sie die Anwendungsversion nach der Installation.

Implementierung von Lifecycle und Discovery, Konfigurationserkennung. Task-Flags und Exit-Codes siehe CLI; für programmatische Aufrufe siehe Aufgabe SDK.