Skip to content

Konfiguration für Remote-/Devcontainer-Modus

Was Sie lernen werden

  • Plannotator auf einem per SSH verbundenen Remote-Server verwenden
  • Plannotator in einem VS Code Devcontainer konfigurieren und darauf zugreifen
  • Plannotator in einer WSL-Umgebung (Windows Subsystem for Linux) nutzen
  • Port-Forwarding einrichten, damit Ihr lokaler Browser auf Plannotator in der Remote-Umgebung zugreifen kann

Das Problem

Sie verwenden Claude Code oder OpenCode auf einem Remote-Server, in einem Devcontainer oder in einer WSL-Umgebung. Wenn die KI einen Plan generiert oder ein Code-Review benötigt, versucht Plannotator, einen Browser in der Remote-Umgebung zu öffnen – aber dort gibt es keine grafische Oberfläche, oder Sie möchten die Review-Oberfläche lieber in Ihrem lokalen Browser anzeigen.

Wann Sie diese Lösung brauchen

Typische Szenarien für den Remote-/Devcontainer-Modus:

SzenarioBeschreibung
SSH-VerbindungSie sind per SSH mit einem Remote-Entwicklungsserver verbunden
DevcontainerSie entwickeln in VS Code mit einem Devcontainer
WSLSie nutzen WSL unter Windows für Linux-Entwicklung
Cloud-UmgebungIhr Code läuft in einem Container oder einer VM in der Cloud

Das Grundkonzept

Die Nutzung von Plannotator in Remote-Umgebungen erfordert die Lösung zweier Probleme:

  1. Fester Port: Remote-Umgebungen können keinen zufälligen Port automatisch wählen, da Port-Forwarding konfiguriert werden muss
  2. Browser-Zugriff: Remote-Umgebungen haben keine grafische Oberfläche, daher muss der Zugriff über den Browser des lokalen Rechners erfolgen

Plannotator erkennt die Umgebungsvariable PLANNOTATOR_REMOTE und wechselt automatisch in den „Remote-Modus":

  • Verwendet einen festen Port (Standard: 19432) statt eines zufälligen Ports
  • Überspringt das automatische Öffnen des Browsers
  • Gibt die URL im Terminal aus, damit Sie sie manuell in Ihrem lokalen Browser öffnen können

🎒 Voraussetzungen

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, stellen Sie sicher, dass Sie:


Schritt-für-Schritt-Anleitung

Schritt 1: Die Umgebungsvariablen für den Remote-Modus verstehen

Der Remote-Modus von Plannotator basiert auf drei Umgebungsvariablen:

UmgebungsvariableBeschreibungStandardwert
PLANNOTATOR_REMOTEAktiviert den Remote-ModusNicht gesetzt (lokaler Modus)
PLANNOTATOR_PORTFeste PortnummerZufällig (lokal) / 19432 (remote)
PLANNOTATOR_BROWSERBenutzerdefinierter Browser-PfadStandard-Systembrowser

Warum

  • PLANNOTATOR_REMOTE teilt Plannotator mit, dass es sich um eine Remote-Umgebung handelt und kein Browser geöffnet werden soll
  • PLANNOTATOR_PORT legt einen festen Port fest, um die Konfiguration des Port-Forwardings zu erleichtern
  • PLANNOTATOR_BROWSER (optional) gibt den Browser-Pfad auf dem lokalen Rechner an

Schritt 2: Konfiguration auf einem SSH-Remote-Server

SSH-Port-Forwarding konfigurieren

Bearbeiten Sie Ihre SSH-Konfigurationsdatei ~/.ssh/config:

bash
Host your-server
    HostName your-server.com
    User your-username
    LocalForward 9999 localhost:9999

Erwartetes Ergebnis:

  • Die Zeile LocalForward 9999 localhost:9999 wurde hinzugefügt
  • Dies leitet den Datenverkehr von Port 9999 auf Ihrem lokalen Rechner an Port 9999 auf dem Remote-Server weiter

Umgebungsvariablen auf dem Remote-Server setzen

Nachdem Sie sich mit dem Remote-Server verbunden haben, setzen Sie die Umgebungsvariablen im Terminal:

bash
export PLANNOTATOR_REMOTE=1
export PLANNOTATOR_PORT=9999

Warum

  • PLANNOTATOR_REMOTE=1 aktiviert den Remote-Modus
  • PLANNOTATOR_PORT=9999 verwendet den festen Port 9999 (entsprechend der Portnummer in der SSH-Konfiguration)

Dauerhafte Konfiguration

Wenn es lästig ist, die Umgebungsvariablen bei jeder Verbindung manuell zu setzen, können Sie sie zu Ihrer Shell-Konfigurationsdatei (~/.bashrc oder ~/.zshrc) hinzufügen:

bash
echo 'export PLANNOTATOR_REMOTE=1' >> ~/.bashrc
echo 'export PLANNOTATOR_PORT=9999' >> ~/.bashrc
source ~/.bashrc

Plannotator verwenden

Jetzt können Sie Claude Code oder OpenCode normal auf dem Remote-Server verwenden. Wenn die KI einen Plan generiert oder ein Code-Review benötigt:

bash
# Auf dem Remote-Server gibt das Terminal eine ähnliche Meldung aus:
[Plannotator] Server running at http://localhost:9999
[Plannotator] Access from your local machine: http://localhost:9999

Erwartetes Ergebnis:

  • Das Terminal zeigt die URL von Plannotator an
  • In der Remote-Umgebung wird kein Browser geöffnet (normales Verhalten)

Im lokalen Browser zugreifen

Öffnen Sie in Ihrem lokalen Browser:

http://localhost:9999

Erwartetes Ergebnis:

  • Die Review-Oberfläche von Plannotator wird korrekt angezeigt
  • Sie können Plan-Reviews oder Code-Reviews wie in einer lokalen Umgebung durchführen

Checkliste ✅:

  • [ ] SSH-Port-Forwarding ist konfiguriert
  • [ ] Umgebungsvariablen sind gesetzt
  • [ ] Das Terminal auf dem Remote-Server zeigt die URL an
  • [ ] Der lokale Browser kann auf die Review-Oberfläche zugreifen

Schritt 3: Konfiguration in VS Code Devcontainer

Devcontainer konfigurieren

Bearbeiten Sie Ihre .devcontainer/devcontainer.json-Datei:

json
{
  "name": "Your Devcontainer",
  "image": "mcr.microsoft.com/devcontainers/base:ubuntu",

  "containerEnv": {
    "PLANNOTATOR_REMOTE": "1",
    "PLANNOTATOR_PORT": "9999"
  },

  "forwardPorts": [9999]
}

Warum

  • containerEnv setzt die Umgebungsvariablen innerhalb des Containers
  • forwardPorts weist VS Code an, den Container-Port automatisch an den lokalen Rechner weiterzuleiten

Devcontainer neu erstellen und starten

  1. Öffnen Sie die VS Code-Befehlspalette (Strg+Umschalt+P oder Cmd+Umschalt+P)
  2. Geben Sie Dev Containers: Rebuild Container ein und führen Sie den Befehl aus
  3. Warten Sie, bis der Container neu erstellt wurde

Erwartetes Ergebnis:

  • VS Code zeigt unten rechts den Port-Forwarding-Status an (normalerweise ein kleines Symbol)
  • Beim Klicken sehen Sie, dass „Port 9999" weitergeleitet wird

Plannotator verwenden

Verwenden Sie Claude Code oder OpenCode normal im Devcontainer. Wenn die KI einen Plan generiert:

bash
# Terminal-Ausgabe im Container:
[Plannotator] Server running at http://localhost:9999

Erwartetes Ergebnis:

  • Das Terminal zeigt die URL von Plannotator an
  • Im Container wird kein Browser geöffnet (normales Verhalten)

Im lokalen Browser zugreifen

Öffnen Sie in Ihrem lokalen Browser:

http://localhost:9999

Erwartetes Ergebnis:

  • Die Review-Oberfläche von Plannotator wird korrekt angezeigt

Checkliste ✅:

  • [ ] Devcontainer-Konfiguration enthält Umgebungsvariablen und Port-Forwarding
  • [ ] Container wurde neu erstellt
  • [ ] VS Code zeigt an, dass der Port weitergeleitet wird
  • [ ] Der lokale Browser kann auf die Review-Oberfläche zugreifen

Schritt 4: Konfiguration in WSL-Umgebung

Die Konfiguration der WSL-Umgebung ähnelt der SSH-Verbindung, aber Sie müssen das Port-Forwarding nicht manuell einrichten – WSL leitet localhost-Datenverkehr automatisch an das Windows-System weiter.

Umgebungsvariablen setzen

Setzen Sie die Umgebungsvariablen im WSL-Terminal:

bash
export PLANNOTATOR_REMOTE=1
export PLANNOTATOR_PORT=9999

Dauerhafte Konfiguration

Fügen Sie diese Umgebungsvariablen zu Ihrer WSL-Shell-Konfigurationsdatei (~/.bashrc oder ~/.zshrc) hinzu:

bash
echo 'export PLANNOTATOR_REMOTE=1' >> ~/.bashrc
echo 'export PLANNOTATOR_PORT=9999' >> ~/.bashrc
source ~/.bashrc

Plannotator verwenden

Verwenden Sie Claude Code oder OpenCode normal in WSL:

bash
# WSL-Terminal-Ausgabe:
[Plannotator] Server running at http://localhost:9999

Erwartetes Ergebnis:

  • Das Terminal zeigt die URL von Plannotator an
  • In WSL wird kein Browser geöffnet (normales Verhalten)

Im Windows-Browser zugreifen

Öffnen Sie im Windows-Browser:

http://localhost:9999

Erwartetes Ergebnis:

  • Die Review-Oberfläche von Plannotator wird korrekt angezeigt

Checkliste ✅:

  • [ ] Umgebungsvariablen sind gesetzt
  • [ ] Das WSL-Terminal zeigt die URL an
  • [ ] Der Windows-Browser kann auf die Review-Oberfläche zugreifen

Fehlerbehebung

Port bereits belegt

Wenn Sie einen ähnlichen Fehler sehen:

Error: bind: EADDRINUSE: address already in use :::9999

Lösung:

  1. Wechseln Sie die Portnummer:
    bash
    export PLANNOTATOR_PORT=10000  # Wählen Sie einen nicht belegten Port
  2. Oder beenden Sie den Prozess, der Port 9999 belegt:
    bash
    lsof -ti:9999 | xargs kill -9

SSH-Port-Forwarding funktioniert nicht

Wenn der lokale Browser nicht auf Plannotator zugreifen kann:

Checkliste:

  • [ ] Die Portnummer in LocalForward in der SSH-Konfigurationsdatei stimmt mit PLANNOTATOR_PORT überein
  • [ ] Sie haben die SSH-Verbindung getrennt und neu hergestellt
  • [ ] Die Firewall blockiert das Port-Forwarding nicht

Devcontainer-Port-Forwarding funktioniert nicht

Wenn VS Code den Port nicht automatisch weiterleitet:

Lösung:

  1. Überprüfen Sie die forwardPorts-Konfiguration in .devcontainer/devcontainer.json
  2. Leiten Sie den Port manuell weiter:
    • Öffnen Sie die VS Code-Befehlspalette
    • Führen Sie Forward a Port aus
    • Geben Sie die Portnummer 9999 ein

Kein Zugriff in WSL

Wenn der Windows-Browser nicht auf Plannotator in WSL zugreifen kann:

Lösung:

  1. Überprüfen Sie, ob die Umgebungsvariablen korrekt gesetzt sind
  2. Versuchen Sie 0.0.0.0 statt localhost (abhängig von der WSL-Version und Netzwerkkonfiguration)
  3. Überprüfen Sie die Windows-Firewall-Einstellungen

Zusammenfassung

Die wichtigsten Punkte zum Remote-/Devcontainer-Modus:

PunktBeschreibung
UmgebungsvariablePLANNOTATOR_REMOTE=1 aktiviert den Remote-Modus
Fester PortVerwenden Sie PLANNOTATOR_PORT, um einen festen Port festzulegen (Standard: 19432)
Port-ForwardingSSH/Devcontainer erfordern Port-Forwarding-Konfiguration, WSL leitet automatisch weiter
Manueller ZugriffIm Remote-Modus wird kein Browser automatisch geöffnet; Sie müssen manuell im lokalen Browser zugreifen
PersistenzFügen Sie Umgebungsvariablen zur Konfigurationsdatei hinzu, um wiederholtes Setzen zu vermeiden

Vorschau auf die nächste Lektion

In der nächsten Lektion lernen wir die detaillierte Konfiguration der Umgebungsvariablen.

Sie werden lernen:

  • Alle verfügbaren Umgebungsvariablen von Plannotator
  • Die Funktion und Standardwerte jeder Umgebungsvariable
  • Wie Sie Umgebungsvariablen für verschiedene Szenarien kombinieren

Anhang: Quellcode-Referenz

Klicken Sie hier, um die Quellcode-Positionen anzuzeigen

Aktualisiert: 2026-01-24

FunktionDateipfadZeilen
Remote-Session-Erkennungpackages/server/remote.ts16-29
Server-Port-Ermittlungpackages/server/remote.ts34-49
Server-Startlogikpackages/server/index.ts91-97
Browser-Öffnungslogikpackages/server/browser.ts45-74
WSL-Erkennungpackages/server/browser.ts11-34

Wichtige Konstanten:

  • DEFAULT_REMOTE_PORT = 19432: Standard-Portnummer für den Remote-Modus

Wichtige Funktionen:

  • isRemoteSession(): Erkennt, ob die Anwendung in einer Remote-Session läuft
  • getServerPort(): Ermittelt den Server-Port (fester Port für Remote, zufälliger Port für lokal)
  • openBrowser(url): Öffnet den Browser plattformübergreifend