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​

Von v0.37.0 aus laufen Shared Services in einem gewöhnlichen Node-Prozess und der Desktop verbindet sich als nativer Client. CLI-Startup benötigt keinen versteckten Elektronen-Host mehr.

AuswahlgerätBereich
--port PORTLocalhost-Port, ganzzahlig 1–65535; Ein besetzter expliziter Port verursacht einen Fehler
--config-root PATH / --profile PATHPortables CLI Konfigurationsverzeichnis; Halten Sie den gleichen absoluten Pfad durch
OPEN_SCIENCE_CONFIG_ROOTExplizites Konfigurationsverzeichnis durch die Umgebung; Befehlsoptionen haben Vorrang
Automatische EntdeckungLokalen Service-Status finden und sein Profil, Port und Version bestätigen

Desktop-Backends wählen einen freien Port aus, wenn keiner angegeben ist; CLI-Startup ist standardmäßig 44100. Verwenden Sie status --json, anstatt den Port aus einem offenen Fenster zu schließen. Ein kompatibler vorhandener Dienst für dieselbe Konfiguration kann wiederverwendet werden; Beenden Sie die aktive Arbeit und befolgen Sie die Aktualisierungsanweisungen, wenn die Versionen nicht übereinstimmen. Die alte --app-path-Option verwandelt eine Electron-Ausführungsdatei nicht in ein neues Node-Backend.

Die Zustandsdatei ist web-service.json. Der Authentifizierungsfehler ist keine Berechtigung, diesen Datensatz zu löschen oder seine PID zu töten. Überprüfen Sie zuerst den eigentlichen Service und die Diagnose, um einen anderen Prozess nicht zu beeinträchtigen.

Initialisierung und Prüfung der Bereitschaft​

Verwenden Sie open-science init, um das Standard-Konfigurationsverzeichnis vorzubereiten, ohne die App zu starten. Für eine isolierte Konfiguration übergeben Sie den gleichen absoluten --profile-Pfad an Init, Start und nachfolgende Befehle. 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​

Ab v1.0.5 hält eine App-Verbindung oder ein expliziter CLI-Start den Dienst am Leben. Verwenden Sie den gleichen absoluten Profilpfad für alle Befehle.

KommandoErgebnis
open-science startStarten oder Wiederverwenden des Dienstes, lassen Sie ihn explizit laufen und öffnen Sie den Browser
open-science start --no-open --jsonDenselben dauerhaften Weiterbetrieb ohne Browser aktivieren; Rückgabe: started oder already-running, Serviceinformationen und lifetime
open-science status --jsonÜberprüfen Sie den ausgewählten Dienst; ein fehlender Dienst kehrt zurück {"running":false} und Ausstiegscode 1
open-science urlDrucken Sie seine authentifizierte Browser-URL; halten Sie diese privat
open-science stop --jsonDauerhaften Weiterbetrieb deaktivieren; nur ohne verbundene App stoppen
open-science stop --force --jsonAnfordern eines vollständigen Servicestopps, einschließlich verbundener Apps; kann aktive Aufgaben unterbrechen

Wiederholt start erhöhen die Anzahl der Laufanforderungen nicht. start, status und stop Unterstützung --json; url nicht. Die JSON-Startausgabe stellt die authentifizierte Browser-URL nicht frei. Ältere Dienste können eine unbekannte Lebensdauer melden; Verwenden Sie passende Versionen, bevor Sie sich auf den neuen Vertrag verlassen.

Shutdown Ergebnisse​

JSON resultBedeutung
already-stoppedKein Live-Service-Record gefunden
keep-alive-revokedDauerhafter Weiterbetrieb deaktiviert; verbundene Apps halten den Dienst aktiv
stoppedDie angeforderte Servicegenerierung verließ und gab das Eigentum frei
shutdown-requestedEin Legacy-Dienst akzeptierte die Anforderung, aber Exit ist nicht bestätigt; der Befehl gibt einen Nicht-Null-Exit-Code zurück.

Lesen result und lifetime; Ein erfolgreicher Exit-Code allein bedeutet nicht, dass der Dienst gestoppt wurde. Ältere daemon-stopped und web-service-stopped Ergebnisnamen werden nicht mehr ausgegeben. --force erfordert das moderne Lifetime-Protokoll und schlägt explizit gegen einen älteren Dienst fehl. Überprüfen Sie Fehler und aktuellen Status, anstatt Statusdateien zu löschen oder eine aufgezeichnete PID zu töten.

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.

Backend-Besitz und Shutdown​

AktionAuswirkungen auf das Backend
Beenden Sie die letzte angeschlossene App ohne expliziten CLI-StartBetriebsstopps
Run CLI start, dann alle Apps beendenDer Dienst läuft durch die ausdrückliche Einstellung weiter
Schließen Sie einen Browser-Tab oder einen SDK-ClientDeaktiviert den dauerhaften Weiterbetrieb nicht
Führen Sie eine gewöhnliche CLI-, Web- oder SDK-Aufgabe ausHält den Dienst nicht unabhängig am Leben, nachdem alle Apps beendet wurden
Lauf open-science stop Mit einer App verbundenDauerhaften Weiterbetrieb deaktivieren; für die verbundene App weiterlaufen
Lauf open-science stop --forceServiceweites Herunterfahren anfordern, möglicherweise Unterbrechung der Arbeit

Wenn der Browser oder die automatisierte Arbeit nach dem Beenden des Desktops fortgesetzt werden muss, starten Sie zuerst explizit dasselbe Profil. Das Schließen eines Fensters zum Tablett wird nicht beendet. Beenden Sie aktive Forschung vor einem Whole-Service-Stop, dann überprüfen status --json.

Ein getrenntes Desktop-Angebot Reconnect und Quit app. Reconnect sendet keine Arbeit erneut ein. Folgen Anschlusswiederherstellung, und inspizieren Sie Operationen, deren Antworten vor dem erneuten Versuch verloren gegangen sind.

Reconnect nach unterbrochenem Desktop-Shutdown​

Öffnen Sie den Desktop der gleichen Version erneut und verbinden Sie sich erneut mit dem ursprünglichen Profil. App-Verbindungen und ein expliziter CLI-Hold bestimmen, ob dieser Dienst am Leben bleibt; ein Browser-Tab allein ersetzt auch nicht.

Wenn die Vorbereitung fehlschlägt, bleibt das Fenster offen. Bewahren Sie ungespeicherte Arbeit und überprüfen Sie die ursprüngliche Aufgabe nach der Wiederherstellung. Wenn ein Startup meldet, dass ein älterer Dienst ihn blockiert, überprüfen Sie das Profil, die Version und die aktiven Clients, bevor Sie die explizite Stoppaktion auswählen. Cancel lässt den Dienst laufen. Ein fehlgeschlagener Stop kann wiederholt oder erneut überprüft werden, ohne Sperrdateien zu löschen.

Anwendungsaktualisierungsverhalten​

Der CLI Application Updater bleibt entfernt; nicht verwenden open-science update --json. Verwendung Desktop-Update-Steuerelemente oder der ursprüngliche Installationskanal.

Vor dem Austausch der CLI-Dateien die Arbeit aller betroffenen Profile beenden. Verbundene Apps schließen und den dauerhaften Weiterbetrieb jedes Profils deaktivieren mit stop --json. Bestätigung stopped oder already-stopped; keep-alive-revoked bedeutet, dass eine App den Dienst weiterhin am Laufen hält. Verwendung stop --force nur wenn Sie beabsichtigen, die Arbeit aller Kunden einzustellen. Überschreiben Sie keine laufenden Programmdateien.

Bei einem Desktop-Update wird möglicherweise aufgefordert, einen angehängten CLI-Dienst zu stoppen und zur Desktop-Verwaltung zu wechseln. Überprüfen Sie das Profil und die betroffenen Aufgaben, bevor Sie zustimmen; Abbrechen lässt es laufen. Dadurch werden die ursprünglichen eigenständigen CLI-Programmdateien nicht aktualisiert. Folgen Sie Belegungs- und Wiederherstellungshinweisen, ohne Sperren oder Konfiguration zu löschen.

Nach dem Upgrade bestätigen Sie die Version und die Originaldaten und überprüfen Sie dann status --json und doctor --json. Bewahren Sie den Credential-Store-Modus auf. 1.x Kompatibilität verspricht keine gemischten Desktop / Backend-Versionen. Siehe: Offizieller Runtime Guide, CLI und Task SDK.

Compute im Web Workspace​

Der Standalone Web Workspace zeigt Compute wenn sein Backend die erforderlichen Notebook- und Compute-APIs bereitstellt. Öffnen Sie den verbundenen Arbeitsbereich, überprüfen Sie, ob das Panel verfügbar ist, und verwenden Sie dann die vorhandenen SSH/Slurm-Konfigurationsschritte. Ein verfügbares Panel liefert keine Remote-Anmeldeinformationen oder bestätigt, dass ein Job ausgeführt werden kann.

Pakete und externe Tool-Clients​

Authentifizierte lokale Web-Sitzungen können Forschungspakete hoch- und herunterladenRemote-Web-Sitzungen erhalten diese Übertragungsfähigkeit nicht. Um einen externen Werkzeugclient an derselben Maschine anzuschließen, konfigurieren Sie die Stdio MCP Adapter. Es verwendet einen bereits laufenden lokalen Dienst und die Berechtigungen dieses Profils; es erstellt keine entfernte MCP-URL.