Steuerbare Remote-Coding-Sessions: eine Ebene über der IDE

Martin Rau · · 5 Min. Lesezeit

Manchmal entsteht das schönste Feature aus einem Moment, in dem erst mal alles kaputt aussieht. Diese Geschichte ist so eine. Es geht um steuerbare Remote-Coding-Sessions in boostN.ai — also darum, einen Coding-Auftrag loszuschicken, ihn von einem Agenten im echten Code abarbeiten zu lassen, und jederzeit per Verknüpfung live reinspringen zu können, wenn man will. Eine Ebene über der IDE. Und beinahe wäre das an einer einzigen verschwundenen Zeile im Terminal gescheitert.

Was wir vorher gemacht haben

Unser Devi-Runner im boostN-CLI startet Coding-Agenten als fernsteuerbare Sessions. Damit man eine laufende Session auch in der Web-App anklicken kann, brauchten wir die zugehörige Session-Verknüpfung. Die haben wir bisher ganz pragmatisch direkt aus der Ausgabe im Terminal gelesen — ein bisschen Mustererkennung auf die Session-Kennung, fertig. Diese Verknüpfung haben wir dann in der Web-App als klickbaren Knopf angezeigt. Funktionierte zuverlässig, war simpel, und niemand hat sich Gedanken gemacht, dass diese eine Zeile mal nicht mehr da sein könnte.

Warum es plötzlich nicht mehr ging

Genau das passierte aber. Das aktuelle Claude-CLI druckt diese Verknüpfung im interaktiven Modus — also genau in dem Modus, den unser Runner für den automatischen Start des Auftrags braucht — gar nicht mehr ins Terminal. Weder im Klartext noch als anklickbaren Verweis. Stehen bleibt nur noch ein lapidares „Remote Control active”. Die Information, die wir brauchten, war einfach weg.

Wir haben daraufhin alle vier dokumentierten Modi des CLI systematisch durchprobiert. Das Ergebnis war ernüchternd: Kein lokaler Modus liefert gleichzeitig die Verknüpfung und den automatischen Start des Auftrags. Der einzige Modus, der die Verknüpfung noch ausgibt, ist ein Server-Modus — und der nimmt keinen lokal mitgegebenen Auftrag an. Auf den ersten Blick sah das nach einer Sackgasse aus.

Was wir herausgefunden haben

Dann kam der Moment, der die Geschichte dreht. Die Verknüpfung war nämlich gar nicht verschwunden — sie war nur umgezogen. Statt im Terminal zu stehen, liegt sie jetzt auf der Server-Schnittstelle des Anbieters. Es gibt dort einen Endpunkt, der alle laufenden Remote-Sessions eines Kontos auflistet, jeweils mit Kennung, Titel und Status. Die Anmeldung läuft über das ohnehin vorhandene Zugangs-Token aus dem System-Schlüsselbund. Und aus der Session-Kennung lässt sich die steuerbare Verknüpfung eindeutig zusammenbauen. Wichtig: Das ist reiner Lese-Zugriff, wir holen uns nur eine Liste ab.

Der Plan

Daraus ergibt sich ein sauberer Weg. Der Runner startet die Session weiterhin lokal mit dem Auftrag, genau wie bisher — versieht sie aber zusätzlich mit einem eindeutigen Vorgangs-Code als Namen. Danach fragt er die Liste der laufenden Sessions ab, findet die eigene über genau diesen Code, baut die steuerbare Verknüpfung und schickt sie an die Web-App. Vom Umfang her reden wir über schätzungsweise 120 bis 180 Zeilen Code — überschaubar.

Warum das gut für Nutzer ist

Der eigentliche Punkt ist nicht die wiedergefundene Verknüpfung, sondern was sie ermöglicht. Remote-Sessions heben einen eine Ebene über die IDE. Statt selbst tief im Editor mitzulesen, schickt man einen Auftrag los, ein Agent arbeitet im echten Code — und nur falls es nicht vorangeht oder eine Rückfrage entsteht, springt man bewusst rein. Oder eben nicht. Gerade wer an vielen Projekten parallel arbeitet, merkt schnell, dass die IDE für diesen Überblick eine Stufe zu tief sitzt.

IDEs sind — so schön sie sein mögen — eine Stufe zu tief drin. Gerade wenn man an vielen Projekten arbeitet, will man auf eine höhere Ebene. Mit der Remote-Verknüpfung schickt man einen Auftrag los, jemand arbeitet daran, und falls man merkt, es kommt nicht voran oder es entsteht eine Rückfrage, springt man bewusst rein — oder eben nicht. Das macht es besonders gegenüber einem normalen IDE-Auftrag, wo ich den ganzen Text vor mir habe, den Verweis reinkopieren muss und dann sehr viel am Lesen bin. Ich hoffe, dass diese Web-Geschichte für uns Anbieter verfügbar bleibt und andere nachziehen — denn ein eigenes Sprachmodell zu hosten, nur um den Chat fernsteuerbar zu machen, ist viel zu weit weg.

Die Remote-Verknüpfung macht aus einem Coding-Auftrag also etwas, das man delegieren und bei Bedarf wieder übernehmen kann. Und genau das ist der Unterschied zum klassischen Mitlesen im Editor.

Ein Wunsch zum Schluss

Bleibt ein Wunsch an die Plattform-Anbieter: solche fernsteuerbaren Agent-Schnittstellen bitte offen und stabil halten. Dann können Werkzeug-Anbieter wie wir darauf aufbauen, ohne ein eigenes Sprachmodell hosten zu müssen, nur um eine Session remote-fähig zu machen. Das wäre ein unverhältnismäßig großer Aufwand für etwas, das es eigentlich schon gibt — man muss es nur erreichbar lassen.

Entdecke mehr