Skip to main content

TCP-modus

Normaal gesproken start de SDK voor elk request een nieuw Copilot CLI-proces (stdio-modus). Met de TCP-modus kun je verbinding maken met een vooraf gestarte Copilot CLI-server.

Voordelen van de TCP-modus

  • Betere prestaties: geen overhead van het starten van processen
  • Gedeelde resources: meerdere Laravel-processen kunnen dezelfde CLI-server delen
  • Procesbeheer: kan als achtergrondproces worden beheerd op Laravel Forge / Laravel Cloud
  • Deploy-ondersteuning: ondersteunt automatisch herstarten bij een deploy

Gebruik

1. Start de Copilot CLI-server

2. Stel de omgevingsvariabele in

Meer is er niet nodig: de SDK schakelt automatisch over van de stdio-modus naar de TCP-modus.
  • tcp:// is optioneel. Het werkt ook met http:// of zonder schema.
  • Je kunt ook alleen een poort opgeven. De host wordt dan automatisch 127.0.0.1.
  • Alleen een host opgeven werkt uitsluitend met 127.0.0.1 en localhost. De poort wordt dan standaard 12345.

Configuratiebestand

Je kunt de TCP-verbinding configureren in config/copilot.php.
Als je zowel COPILOT_URL (cli_url) als COPILOT_CLI_PATH instelt, krijgt de TCP-modus voorrang.

Wisselen van modus tijdens runtime

Normaal gesproken wordt op basis van het configuratiebestand automatisch gekozen tussen de TCP-modus en de stdio-modus. Je kunt ook expliciet wisselen in je code.
Op sommige servers werkt de TCP-modus mogelijk niet goed. Je kunt de modi ook combineren: bijvoorbeeld de TCP-modus voor queue-verwerking en de stdio-modus voor verwerking binnen HTTP-requests.

Gebruik op Laravel Forge / Laravel Cloud

Laravel Forge

  1. Maak een Daemon aan: maak een Daemon aan in het Forge-beheerpaneel.
  2. Stel de omgevingsvariabele in: voeg COPILOT_URL toe aan .env.
  3. Herstart bij een deploy: herstart de Daemon in je deployscript.
In de huidige Forge-omgeving is dit mogelijk niet nodig.

Laravel Cloud

Met de workerfunctie van Laravel Cloud kun je de server als achtergrondproces draaien. Zie Gebruik op Laravel Cloud voor meer informatie.

Aandachtspunten

Beveiliging

Gebruik voor de TCP-server waar mogelijk een lokale bind (127.0.0.1). Als je de server extern openstelt, configureer dan je firewall op de juiste manier.

Opnieuw verbinden

De huidige versie heeft geen functie om automatisch opnieuw te verbinden. Als de verbinding wegvalt, wordt er een exception gegooid.

Huidige modus controleren

Je kunt in je programma controleren in welke modus de client zich bevindt.

Problemen oplossen

Geen verbinding mogelijk

  1. Controleer of de Copilot CLI-server draait
  1. Controleer of de poort klopt
  1. Controleer je firewallinstellingen

Time-outfouten

Verhoog de waarde van timeout in config/copilot.php.
Zie de GitHub-repository voor de meest recente informatie.
Laatst gewijzigd op 6 september 2026