Abschnitte der Wissensbasis ▾

Navigation

▸ Hier starten Nach Rollen

Kategorien

Werkzeuge 52
Glossar 12

Tools

OpenHands + JoinGonka Gateway: Agent auf eigenem Endpunkt

OpenHands ist eine offene Plattform für die autonome Entwicklung: Der Agent liest selbstständig das Repository, führt Befehle aus, bearbeitet Dateien und bringt Aufgaben bis zum Ergebnis, während Sie das Ziel vorgeben und die Resultate überprüfen. Im Jahr 2026 ist die Hauptschnittstelle Agent Canvas, ein browserbasiertes Dashboard, von dem aus Konversationen mit dem Agenten und Automatisierungen auf dem eigenen Rechner, in Docker, auf einem Server oder in der OpenHands-Cloud gestartet werden. Der Code ist unter der MIT-Lizenz quelloffen.

OpenHands schreibt kein Modell vor: Die gesamte LLM-Ebene basiert auf LiteLLM, daher ist für den Agenten jeder OpenAI-kompatible Endpoint geeignet. Für das JoinGonka Gateway sind das drei Felder in den Einstellungen: Custom Model — openai/deepseek-ai/DeepSeek-V4-Flash-0731, Base URL — https://gate.joingonka.ai/v1, API Key — Ihr Schlüssel jg-…. Ein separates Installationsprogramm wird nicht benötigt: Alles ist in wenigen Minuten über die Benutzeroberfläche erledigt.

Ein autonomer Agent ist ein sehr intensiver Token-Verbraucher: Jeder Schritt enthält einen System-Prompt, die Historie und die Ergebnisse der Werkzeuge, und eine Aufgabe kann dutzende Schritte umfassen. Die OpenHands-Dokumentation warnt ausdrücklich: Der Agent sendet viele Anfragen an das Modell, behalten Sie den Verbrauch im Auge. Über das Gateway kostet eine Million Eingabe-Token $0.0069 — identisch für DeepSeek V4 Flash, GLM-5.3 Flash und MiniMax M2.7 —, sodass lange Abläufe kein Budgetproblem mehr darstellen. Nach der Bestätigung der E-Mail-Adresse erhalten Sie 3M kostenlose Token: Das reicht aus, um den Agenten an einer echten Aufgabe zu testen und den eigenen Verbrauch zu sehen.

Welches OpenHands nutzen Sie: vier Schnittstellen und ein Schlüssel

Das Projekt hat heute mehrere Schnittstellen, und je nachdem, welche bei Ihnen läuft, unterscheidet sich der Ort der Modelleinstellungen. Die Werte selbst sind überall gleich, nur der Pfad dorthin variiert.

SchnittstelleStartvorgangWo wird das Modell eingestelltStatus im September 2026
Agent Canvasnpx @openhands/agent-canvas oder npm install -g @openhands/agent-canvas und Befehl agent-canvas; öffnet sich unter http://localhost:8000Settings > LLM, Reiter AdvancedHauptschnittstelle des Projekts
OpenHands CLIuv tool install openhands --python 3.12, dann openhandsErsteinrichtungs-Assistent, Ctrl+P → Settings, Datei ~/.openhands/agent_settings.jsonfunktioniert, ist in der README jedoch als Projekt markiert, das nicht mehr aktiv weiterentwickelt wird
Früheres Web-Interface in Dockeropenhands serve oder docker run aus der Dokumentation; Port 3000Settings → Reiter LLM → Schalter Advancedin der Dokumentation als Local GUI (Legacy) bezeichnet
OpenHands Cloudverwaltete Cloud des Projektsdieselbe LLM-Einstellungsseitelaut Dokumentation wird das eigene LLM dort auf die gleiche Weise festgelegt; dieser Pfad wurde von uns nicht geprüft

Für Agent Canvas sind Node.js und uv erforderlich – der lokale Server des Agenten läuft darauf (Details in der Installationsanleitung). Die Anleitung nennt Node.js 22.12 oder neuer, aber das Paket selbst deklariert ab Version 1.17 Node.js 24 oder neuer – verwenden Sie 24, um keine Warnung wegen einer inkompatiblen Version zu erhalten. Es gibt auch eine Container-Option: Das Image ghcr.io/openhands/agent-canvas stellt die Schnittstelle unter http://localhost:8000/canvas bereit und sieht nur die Verzeichnisse, die Sie gemountet haben.

JoinGonka Schlüssel. Registrieren Sie sich unter gate.joingonka.ai/register, bestätigen Sie Ihre Adresse und erstellen Sie einen Schlüssel mit dem Präfix jg- im Bereich „API-Keys“. Ein Schlüssel und ein Guthaben gelten für alle Modelle im Netzwerk. In der Liste der Werkzeuge des @joingonka/setup-Installers ist OpenHands nicht enthalten, und das ist kein Versäumnis: Dessen Einstellungen leben in der Oberfläche und im geschützten Backend-Speicher, nicht in einer Text-Konfigurationsdatei, die man von außen sauber bearbeiten könnte.

Verbindung in Agent Canvas: drei Felder im Reiter Advanced

Schritt 1. Starten Sie Agent Canvas und öffnen Sie Settings > LLM. Der Einrichtungsassistent schlägt einen eigenen OpenHands-Anbieter vor — diesen Schritt können Sie überspringen, da die Einstellungen später leicht wieder aufgerufen werden können.

Schritt 2. Klicken Sie auf Add LLM Profile und wechseln Sie zum Tab Advanced: Der Tab Basic bietet nur Anbieter und Modelle aus der integrierten Liste an.

Schritt 3. Füllen Sie die drei Felder aus:

FeldWert
Custom Modelopenai/deepseek-ai/DeepSeek-V4-Flash-0731
Base URLhttps://gate.joingonka.ai/v1
API KeyIhr jg-… Schlüssel

Schritt 4. Speichern Sie das Profil. Vor dem Speichern überprüft Canvas die Konfiguration mit einer Anfrage vom Backend: Wenn der Schlüssel abgelehnt wird oder das Modell nicht verfügbar ist, wird das Profil nicht gespeichert und Sie sehen eine Fehlermeldung.

Schritt 5. Beginnen Sie eine neue Unterhaltung und senden Sie eine kurze Nachricht. Bereits geöffnete Unterhaltungen laufen weiterhin mit dem Modell, mit dem sie begonnen wurden.

Warum openai/. LiteLLM bestimmt den Anbieter anhand des Modellpräfixes. Das Präfix openai/ bedeutet nicht „Modell von OpenAI“, sondern „mit dem Server über das OpenAI Chat Completions-Protokoll kommunizieren“. Nur das erste Segment wird abgeschnitten, sodass die eigentliche Kennung — deepseek-ai/DeepSeek-V4-Flash-0731 — am Gateway ankommt. In der OpenHands-Dokumentation wird dasselbe Schema am Beispiel von openai/qwen/qwen3.6-35b-a3b gezeigt. Ohne das Präfix verweigert LiteLLM den Dienst mit der Meldung LLM Provider NOT provided.

Warum /v1 und nichts weiter. LiteLLM kontaktiert den Server über den offiziellen OpenAI-Client, der selbst /chat/completions anhängt. Daher muss die Adresse auf /v1 enden: Ohne das Suffix geht die Anfrage an der API vorbei, mit einem zusätzlichen Ende landet sie auf einem Pfad, der nicht existiert. Eine weitere Anforderung von Canvas: Die Adresse muss vom Backend aus erreichbar sein, nicht nur vom Browser aus. Das Gateway ist eine öffentliche HTTPS-Adresse; aus dem Docker-Container ist es genauso sichtbar wie vom Host aus; Tricks wie host.docker.internal werden nur für Modelle auf Ihrem eigenen Rechner benötigt.

Profile für alle drei Modelle. Erstellen Sie ein Profil für jedes Netzwerkmodell und benennen Sie diese kurz — zum Beispiel deepseek, glm und minimax (die Dokumentation erwähnt ein Limit von zehn Profilen). Sie können direkt in der Unterhaltung umschalten, ohne den Kontext zu verlieren: über den Profilauswahl-Button im Eingabefeld oder den Befehl /model glm; /model ohne Argument zeigt die Liste an. Um den Schlüssel nicht in jedes Profil einfügen zu müssen, können Sie ihn einmalig im Block „Provider Connections“ speichern — er ist auf dem lokalen Backend verfügbar.

Früheres Interface in Docker. Die Felder sind dieselben: Settings → Tab LLM → Advanced aktivieren → Custom Model, Base URL, API Key → Save Changes.

Terminal und Automatisierung: CLI, Umgebungsvariablen, SDK

Die CLI wird mit einem Befehl über uv installiert und führt beim ersten Start selbst durch die Modellkonfiguration; später kehrt man mit Ctrl+P → Settings dorthin zurück:

uv tool install openhands --python 3.12
openhands

Für Skripte sind Umgebungsvariablen praktischer. Ein wichtiges Detail: Standardmäßig ignoriert die CLI sie und wendet sie nur mit dem Flag --override-with-envs an — für einen einzelnen Lauf, ohne etwas zu speichern:

export LLM_MODEL="openai/deepseek-ai/DeepSeek-V4-Flash-0731"
export LLM_BASE_URL="https://gate.joingonka.ai/v1"
export LLM_API_KEY="jg-your-key"

openhands --override-with-envs

Dasselbe Set funktioniert ohne Oberfläche — für CI und Batch-Aufgaben:

openhands --headless --override-with-envs -t "Read calc.py and tell me in one sentence whether it has a bug."

Im Headless-Modus arbeitet der Agent immer mit Auto-Genehmigung, also starten Sie ihn dort, wo er alles darf: in einem separaten Verzeichnis oder Container. Das Flag --json verwandelt die Ausgabe in einen Strom von JSONL-Ereignissen — praktisch, um sie in einer Pipeline zu verarbeiten. Genau so haben wir die Verbindung am 21. September 2026 mit CLI 1.16.0 geprüft: Im Kopf der CLI wird Agent initialized with model: openai/deepseek-ai/DeepSeek-V4-Flash-0731 ausgegeben, danach liest der Agent die Datei und antwortet sachlich.

MethodeWirkt woWird gespeichert
Settings > LLM im Agent Canvasalle neuen Gespräche auf diesem Backendja, im Speicher des Backends (~/.openhands)
Assistent und Ctrl+P → Settings in der CLIalle CLI-Läufeja, in ~/.openhands/agent_settings.json
LLM_MODEL, LLM_BASE_URL, LLM_API_KEY mit dem Flag --override-with-envseinen CLI-Laufnein
config.tomldie frühere V0-Reihe und der Entwicklungsmodusin der Dokumentation als Legacy eingestuft; im Agent Canvas und in CLI 1.x werden die Einstellungen über die oben genannten Wege festgelegt

Die gespeicherten CLI-Einstellungen liegen in ~/.openhands/agent_settings.json: Das Modell darin wird durch Bearbeiten von drei Feldern des Blocks llm geändert — model, api_key und base_url. Die Datei von Grund auf neu zu erstellen ist keine gute Idee: Der Assistent beim ersten Start schreibt dort auch die übrigen Agent-Einstellungen hinein, darunter die Verlaufskomprimierung, ohne die ein langes Gespräch ans Kontextfenster stößt.

Wenn Sie den Agenten in eigenen Code einbetten, nimmt das OpenHands SDK dieselben drei Werte entgegen:

from pydantic import SecretStr
from openhands.sdk import LLM

llm = LLM(
    model="openai/deepseek-ai/DeepSeek-V4-Flash-0731",
    base_url="https://gate.joingonka.ai/v1",
    api_key=SecretStr("jg-your-key"),
)

Welches Modell sollte man für lange autonome Durchläufe wählen

Der Preis bei Netzmodellen ist einheitlich, daher geht es bei der Auswahl um das Verhalten. Für einen autonomen Agenten sind zwei Zahlen wichtig. Kontextfenster: Jeder Schritt sendet den Verlauf erneut, und je länger das Fenster, desto länger arbeitet der Agent ohne Verluste. Antwortobergrenze: Der Schritt, in dem der Agent eine große Datei vollständig schreibt, muss in eine einzige Antwort passen. In der Tabelle finden Sie die Ergebnisse unseres Durchlaufs derselben Aufgabe (Datei lesen und Fehler finden) über OpenHands CLI 1.16.0 mit SDK 1.21.0.

ModellCustom Model für OpenHandsKontextAntwortobergrenzeVerhalten in OpenHands
DeepSeek V4 Flashopenai/deepseek-ai/DeepSeek-V4-Flash-0731380K32768Hat die Datei gelesen und präzise geantwortet, ohne überflüssigen Text. Langer Kontext und die höchste Antwortobergrenze im Netz – die Standardwahl für stundenlange Aufgaben
GLM-5.3 Flashopenai/zai-org/GLM-5.3-Flash390K8192Reflektiert vor der Antwort; hat den Zyklus mit Tools sauber durchlaufen. Profil für Planung und Analyse komplexer Logik – mit dem Hinweis, dass ein Teil der Antwort für die Reflexion verwendet wird
MiniMax M2.7openai/MiniMaxAI/MiniMax-M2.7200K8192Hat die Aufgabe gelöst, aber im abschließenden Bericht laut den Gedankengang dargelegt. Das Modell hat die größte Kapazität im Netz – Backup-Profil für Stoßzeiten und für Konversationstitel

Ein bewährtes Schema für langwierige Aufgaben folgt dem Rat aus der OpenHands-Dokumentation: mit einem Modell planen, mit einem anderen ausführen. Beginnen Sie das Gespräch mit dem glm-Profil und bitten Sie um einen Plan ohne Dateibearbeitungen; senden Sie dann /model deepseek und geben Sie den Befehl zur Ausführung. Verlauf, Dateien und Aufgabenstatus bleiben beim Umschalten erhalten. Halten Sie das minimax-Profil als drittes bereit: Es ist praktisch, darauf auszuweichen, wenn die anderen beiden zu Stoßzeiten keine Kapazität mehr haben, und in Settings > Application kann man ihm auch die Generierung von Konversationstiteln überlassen.

Verlaufskomprimierung. Selbst ein Fenster von Hunderttausenden von Token ist bei einer stundenlangen Aufgabe begrenzt. In OpenHands ist dafür der Condenser zuständig: Er fasst alte Ereignisse in einer kurzen Zusammenfassung zusammen, was laut Dokumentation die Latenz und den Token-Verbrauch in langen Gesprächen reduziert. Im Agent Canvas lässt er sich unter Settings > Condenser konfigurieren; bei unserem CLI-Durchlauf hat er sich mit einem Schwellenwert von 80 Ereignissen automatisch eingeschaltet.

Modelllimits. OpenHands übernimmt das Kontextfenster und die Antwortobergrenze aus dem LiteLLM-Verzeichnis, aber Gonka-Netzwerkkennungen sind dort nicht enthalten (wir haben LiteLLM 1.81 überprüft), sodass der Agent keine eigenen Werte für diese Modelle hat. Das behindert die Arbeit nicht: Das Gateway wendet die Antwortobergrenze selbst an, gemäß der obigen Tabelle. Wenn Sie Limits explizit festlegen möchten – im SDK sind das die Felder max_input_tokens und max_output_tokens, und im Canvas öffnet der Tab All die vollständige Liste der Profilfelder. Details zum Standardmodell finden Sie im Überblick über DeepSeek V4 Flash.

Überprüfung und häufige Fehler

Sie können von zwei Seiten aus überprüfen, ob Anfragen tatsächlich über das Gateway laufen. Von der Seite von OpenHands aus — ein neues Gespräch und eine kurze Aufgabe wie „Lies die README und fasse sie in einem Satz zusammen“: Der Agent sollte das Tool aufrufen und antworten. Von der Seite des Gateways aus — im Dashboard, Bereich „Nutzung“: Die Anfrage erscheint in der Aufschlüsselung „Nach Modellen“, und im Block „Nach Schlüsseln“ wird die Zeit der letzten Anfrage aktualisiert. Wenn es leer ist, bedeutet dies, dass das Gespräch über ein anderes Profil geführt wird: Überprüfen Sie, welches davon als aktiv markiert ist.

Was man siehtWas das bedeutetWas zu tun ist
LLM Provider NOT providedIm Modellfeld fehlt das Provider-PräfixGeben Sie openai/ vor der Kennung ein: openai/deepseek-ai/DeepSeek-V4-Flash-0731
Profil wird nicht gespeichert, Canvas zeigt einen Backend-FehlerCanvas hat die Konfiguration mit einer Live-Anfrage überprüft und eine Ablehnung erhaltenDer Fehlertext ist eine der unten aufgeführten Zeilen: Korrigieren Sie den Schlüssel, die Adresse oder das Modell und speichern Sie erneut
AuthenticationError … Invalid API keyDas Gateway hat mit 401 geantwortet: Schlüssel nicht akzeptiertFügen Sie den vollständigen Schlüssel ohne Leerzeichen an den Rändern ein; überprüfen Sie im Dashboard, ob er nicht widerrufen wurde
405 Not Allowed und HTML-Seite von nginxIn der Base URL fehlt das Suffix /v1Die Adresse muss genau https://gate.joingonka.ai/v1 lauten
404 … Invalid URL (POST /v1/v1/chat/completions)In der Base URL befindet sich ein zusätzlicher Teil: ein zweites /v1 oder der vollständige Pfad /chat/completionsLassen Sie nur /v1 stehen — den Pfad ergänzt LiteLLM selbst
400 … Model "…" not found. Available: …Die Kennung nach openai/ stimmte mit keinem Modell im Netzwerk übereinDas Gateway listet selbst verfügbare auf; die vollständige Liste finden Sie unter GET https://gate.joingonka.ai/v1/models
429Das Minutenlimit für Anfragen des Schlüssels ist erschöpft oder die Kapazität des Modells ist zur Stoßzeit erschöpftOpenHands wiederholt die Anfrage automatisch mit zunehmender Pause. Wenn es zu lange dauert — wechseln Sie das Profil mit dem Befehl /model; den Netzwerkstatus finden Sie auf der Statusseite
402Das Guthaben ist aufgebrauchtLaden Sie Ihr Konto im Bereich „Billing“ auf; der Schlüssel bleibt dabei funktionsfähig
Der Agent antwortet wie ein Chatbot: Er fasst keine Dateien an, verheddert sich bei Tool-AufrufenDas Modell kommt mit dem Agenten-Zyklus nicht zurecht; die OpenHands-Dokumentation rät in diesem Fall, das Modell zu wechselnWechseln Sie auf das Profil DeepSeek V4 Flash — in unserem Durchlauf hat es den Agenten-Zyklus ohne Beanstandungen absolviert

Laut der Dokumentation von OpenHands können die Anzahl der Wiederholungen und die Pausen dazwischen bei 429 über die Variablen LLM_NUM_RETRIES, LLM_RETRY_MIN_WAIT und LLM_RETRY_MAX_WAIT konfiguriert werden. Die Standardwerte in der Dokumentation und im SDK weichen voneinander ab, orientieren Sie sich daher an den tatsächlichen Werten: Im Gesprächszustand der CLI 1.16.0 sahen wir 5 Versuche mit Pausen von 8 bis 64 Sekunden.

Wie viel kostet es und was ist bei der Arbeit zu beachten

Über das JoinGonka Gateway kosten Token $0.0069 pro Million bei der Eingabe und $0.021 pro Million bei der Ausgabe — der Preis ist für alle Modelle im Netzwerk gleich und wird auf dieser Seite aus einer Live-Quelle übernommen.

SzenarioVerbrauchÜber Gateway
Einmalige Aufgabe: Datei verstehen, eine Änderung vornehmenzehntausende TokenBruchteile eines Cents
Autonome Feature-Entwicklung20-50M Tokenzweistellige Centbeträge
Ein Tag Hintergrundautomatisierung~150M Tokenetwa ein Dollar

Die Einschätzungen in der rechten Spalte basieren auf den Preisen vom September 2026; wie die Ökonomie von Agenten funktioniert, wird detailliert im Artikel über die günstigste API für AI-Agenten erläutert.

Verbrauchsobergrenze. OpenHands empfiehlt, Ausgabenlimits festzulegen — das Gateway hat dies direkt in das Zahlungsmodell integriert: Das Guthaben ist vorausbezahlt, und der Agent wird nicht mehr ausgeben, als auf dem Konto vorhanden ist. Restguthaben und täglicher Verbrauch sind im Dashboard sichtbar. Erstellen Sie für CI und Hintergrundautomatisierungen einen separaten Schlüssel, damit sich deren Verbrauch nicht mit Ihrem vermischt; untergeordnete Schlüssel mit Tageslimit werden im Artikel über Management Keys beschrieben.

Vertrauensgrenze. Agent Canvas, das über npm gestartet wird, arbeitet mit den Rechten Ihres Benutzers und sieht das gesamte Dateisystem. Für fremden Code verwenden Sie die Variante in Docker: Der Agent sieht nur das eingebundene Verzeichnis. Dies ist eine Eigenschaft von OpenHands selbst und hängt nicht vom Modell-Provider ab.

Der Schriftverkehr bleibt bei Ihnen. Der Gesprächsverlauf wird von OpenHands lokal unter ~/.openhands gespeichert und bei jedem Schritt an das Modell gesendet; das Gateway speichert den Schriftverkehr nicht — Ihre Prompts und Ihr Code bleiben nach der Antwort nicht darauf zurück.

Wenn die Aufgabe Bilder enthält — Screenshots der Benutzeroberfläche, Schemata — erstellen Sie dafür ein separates Profil mit einem Vision-Modell: Die Gonka-Netzwerkmodelle sind textbasiert. Für Code, Befehle und Dateien ist dies keine Einschränkung.

OpenHands verbindet sich mit dem JoinGonka Gateway über drei Felder: Custom Model openai/deepseek-ai/DeepSeek-V4-Flash-0731, Base URL https://gate.joingonka.ai/v1 und den Schlüssel jg-…. Im Agent Canvas ist dies der Tab Advanced unter Settings > LLM, im CLI der Einrichtungsassistent oder die Umgebungsvariablen LLM_MODEL, LLM_BASE_URL und LLM_API_KEY mit dem Flag --override-with-envs; config.toml bleibt in der vorherigen Serie. Das Präfix openai/ wählt das Protokoll, nicht den Anbieter, das Suffix /v1 ist zwingend erforderlich. Ein Live-Test bestätigte den Agenten-Zyklus auf allen drei Modellen des Netzwerks: Standardmäßig DeepSeek V4 Flash mit 380K Kontext und Antworten bis zu 32768 Token verwenden, GLM-5.3 Flash für die Planung, MiniMax M2.7 als Backup-Profil für Stoßzeiten.

Möchten Sie mehr erfahren?

Erkunden Sie andere Abschnitte oder beginnen Sie jetzt GNK zu verdienen.

Schlüssel und kostenlose Token erhalten →