Skip to main content

TCP-Modus

Standardmäßig startet das SDK bei jeder Anfrage einen neuen Copilot-CLI-Prozess (stdio-Modus). Im TCP-Modus können Sie sich stattdessen mit einem zuvor gestarteten Copilot-CLI-Server verbinden.

Vorteile des TCP-Modus

  • Bessere Performance: Kein Overhead durch das Starten von Prozessen
  • Ressourcen-Sharing: Mehrere Laravel-Prozesse können denselben CLI-Server nutzen
  • Prozessverwaltung: Als Hintergrundprozess über Laravel Forge / Laravel Cloud verwaltbar
  • Deployment-Unterstützung: Automatischer Neustart beim Deployment möglich

Verwendung

1. Copilot-CLI-Server starten

2. Umgebungsvariablen setzen

Damit wechselt das SDK automatisch vom stdio- in den TCP-Modus.
  • tcp:// ist optional. Auch http:// oder ganz ohne Schema funktioniert.
  • Die reine Angabe eines Ports ist möglich. In diesem Fall wird 127.0.0.1 als Host verwendet.
  • Reine Host-Angaben sind nur mit 127.0.0.1 oder localhost gültig. In diesem Fall lautet der Standardport 12345.

Konfigurationsdatei

Die TCP-Verbindung konfigurieren Sie in config/copilot.php.
Sind sowohl COPILOT_URL (cli_url) als auch COPILOT_CLI_PATH gesetzt, hat der TCP-Modus Vorrang.

Moduswechsel zur Laufzeit

Normalerweise wird der Modus (TCP oder stdio) anhand der Konfigurationsdatei automatisch gewählt. Sie können ihn im Code jedoch auch explizit wechseln.
Auf manchen Servern arbeitet der TCP-Modus nicht zuverlässig. Es ist auch möglich, Queue-Jobs im TCP-Modus und Verarbeitung innerhalb von HTTP-Anfragen im stdio-Modus zu betreiben.

Betrieb mit Laravel Forge / Laravel Cloud

Laravel Forge

  1. Daemon erstellen: Erstellen Sie im Forge-Backend einen Daemon.
  2. Umgebungsvariablen setzen: Ergänzen Sie COPILOT_URL in .env.
  3. Beim Deployment neu starten: Starten Sie den Daemon aus dem Deploy-Skript neu.
In aktuellen Forge-Umgebungen ist dies unter Umständen nicht mehr erforderlich.

Laravel Cloud

Mit der Worker-Funktion von Laravel Cloud können Sie den Copilot-CLI-Server als Hintergrundprozess betreiben. Details finden Sie unter Nutzung mit Laravel Cloud.

Hinweise

Sicherheit

Verwenden Sie für den TCP-Server möglichst ein lokales Binding (127.0.0.1). Beim externen Bereitstellen konfigurieren Sie die Firewall angemessen.

Wiederverbindung

Die aktuelle Version verfügt nicht über automatisches Reconnect. Bricht die Verbindung ab, wird eine Ausnahme geworfen.

Aktuellen Modus prüfen

Innerhalb des Programms können Sie prüfen, in welchem Modus der Client arbeitet.

Troubleshooting

Verbindung schlägt fehl

  1. Prüfen, ob der Copilot-CLI-Server läuft
  1. Prüfen, ob der Port korrekt ist
  1. Firewall-Einstellungen prüfen

Timeout-Fehler

Erhöhen Sie den timeout-Wert in config/copilot.php.
Aktuelle Informationen finden Sie im GitHub-Repository.
Zuletzt geändert am 13. Juli 2026