Inhalt
Dokumentation › Grundlagen

Steuer-API: Bots von außen steuern (Skripte und KI)

Die lokale HTTP-Schnittstelle der App — einschalten, Token kopieren, Status und Log lesen und Bots per PowerShell, eigenem Programm oder KI-Assistent laden, starten, pausieren und stoppen.

Zuletzt aktualisiert: 2026-09-14

Nach diesem Artikel kannst du FlowBotCommander von außen bedienen: aus PowerShell, aus einem eigenen Programm oder von einem KI-Assistenten, der per „Function Calling“ deine Bots startet und stoppt. Du brauchst dafür keine Programmierkenntnisse — die Beispiele unten kannst du eins zu eins kopieren.

Was die Steuer-API ist

Die App enthält einen kleinen HTTP-Server. Er läuft nur auf deinem Rechner (Adresse 127.0.0.1), ist standardmäßig aus und lässt niemanden ohne dein Token herein. Über diese Schnittstelle kann ein Skript

  • den Zustand abfragen (läuft, pausiert, welcher Bot ist geladen),
  • das Protokoll mitlesen,
  • die Bots im Bots-Ordner auflisten,
  • einen Bot laden, starten, pausieren und stoppen.

Was sie bewusst nicht kann: Bots bearbeiten, Variablen setzen oder Noten anlegen — das bleibt im Editor. Der Panic-Hotkey (Taste Pause) stoppt den Bot jederzeit, egal was die API gerade tut.

Schritt 1 — Einschalten und Token kopieren

  1. Menü Werkzeuge → Steuer-API… öffnen.
  2. Häkchen Steuer-API aktivieren (Opt-in) setzen.
  3. Port lassen (8765) oder ändern, falls ein anderes Programm ihn belegt.
  4. Beim Token auf Kopieren klicken — den brauchst du gleich. Neu erzeugt ein frisches Token; das alte gilt dann nicht mehr.
  5. Übernehmen. Unten erscheint „● Läuft auf http://127.0.0.1:8765“, im Protokoll „🌐 Steuer-API läuft auf …“.

Das Fenster Steuer-API mit Häkchen, Port und Token

Die Einstellung bleibt gespeichert: Beim nächsten App-Start läuft die API wieder, bis du das Häkchen entfernst. Das Token liegt verschlüsselt auf deinem Rechner, nie im Bot und nie auf unserem Server.

Schritt 2 — Bots in den Bots-Ordner legen

Die API listet und lädt nur Bots aus dem Ordner %AppData%\FlowBotCommander\bots. Der Weg dorthin: Win+R, %AppData%\FlowBotCommander\bots eintippen, Enter (den Ordner beim ersten Mal anlegen). Speichere deine Bots mit Datei → Speichern unter… dort hinein — jeder heißt name.bot.json.

Schritt 3 — Die erste Anfrage

Öffne PowerShell und setze dein Token ein:

$token = "HIER-DEIN-TOKEN"
$h = @{ Authorization = "Bearer $token" }

Invoke-RestMethod http://127.0.0.1:8765/api/health              # geht ohne Token
Invoke-RestMethod -Headers $h http://127.0.0.1:8765/api/status  # alles andere nur mit Token

Die Antwort auf /api/status sieht so aus:

{ "running": false, "paused": false, "nodeCount": 6, "logCount": 12, "loadedBot": "clicker-heroes-komplett.bot.json" }

Das Token gehört in den Header Authorization: Bearer <Token> — mit Leerzeichen nach „Bearer“. Fehlt er oder stimmt das Token nicht, antwortet die API mit 401 und {"error":"unauthorized"}.

Schritt 4 — Bot laden, starten, pausieren, stoppen

# Welche Bots gibt es?
Invoke-RestMethod -Headers $h http://127.0.0.1:8765/api/bots

# Bot laden — Name mit oder ohne .bot.json, auch ein Teil des Namens reicht
Invoke-RestMethod -Headers $h -Method Post -ContentType "application/json" `
    -Body '{ "name": "clicker-heroes-komplett" }' http://127.0.0.1:8765/api/bot/load

# Starten
Invoke-RestMethod -Headers $h -Method Post http://127.0.0.1:8765/api/run

# Pausieren und fortsetzen
Invoke-RestMethod -Headers $h -Method Post -ContentType "application/json" `
    -Body '{ "paused": true }'  http://127.0.0.1:8765/api/pause
Invoke-RestMethod -Headers $h -Method Post -ContentType "application/json" `
    -Body '{ "paused": false }' http://127.0.0.1:8765/api/pause

# Stoppen
Invoke-RestMethod -Headers $h -Method Post http://127.0.0.1:8765/api/stop

Jede Aktion antwortet mit { "ok": true, "message": "…" } oder { "ok": false, "message": "Grund" } — zum Beispiel „Läuft bereits.“ oder „Bot 'xyz' nicht gefunden.“ (Die Meldungen sind derzeit auf Deutsch.)

Protokoll mitlesen

/api/logs?since=N liefert die Protokollzeilen ab Zeile N (0 = alle). Merke dir die Anzahl der gelesenen Zeilen und frage beim nächsten Mal ab dort — so bekommst du nur Neues:

$zeilen = Invoke-RestMethod -Headers $h "http://127.0.0.1:8765/api/logs?since=0"
$zeilen.Count       # z. B. 12
Invoke-RestMethod -Headers $h "http://127.0.0.1:8765/api/logs?since=12"   # nur die neuen Zeilen

Alle Endpunkte im Überblick

Aufruf Zweck Token nötig
GET /api/health Lebenszeichen der App nein
GET /api/status läuft/pausiert, Anzahl Noten und Protokollzeilen, geladener Bot ja
GET /api/logs?since=N Protokollzeilen ab N ja
GET /api/bots Bots im Bots-Ordner (Name, Pfad, Größe, Änderungsdatum) ja
POST /api/bot/load { "name": "…" } Bot in den Editor laden ja
POST /api/run geladenen Bot starten ja
POST /api/stop Ausführung stoppen ja
POST /api/pause { "paused": true/false } pausieren oder fortsetzen ja
GET /api/tools/openai fertiges Function-Calling-Manifest für KI-Assistenten ja

Mit einem KI-Assistenten verbinden

GET /api/tools/openai liefert eine fertige Werkzeugliste im OpenAI-Format („tools“). Sie beschreibt jede Funktion — get_status, get_logs, list_bots, load_bot, run_bot, stop_bot, pause_bot — so, dass ein Sprachmodell sie von selbst richtig aufruft. Der übliche Aufbau:

  1. Dein Skript holt das Manifest und übergibt es dem KI-Dienst als Werkzeuge.
  2. Du schreibst der KI: „Starte den Bot clicker-heroes-komplett und sag mir, wenn im Protokoll ein Fehler steht.“
  3. Die KI antwortet mit einem Werkzeugaufruf (z. B. run_bot); dein Skript führt den passenden HTTP-Aufruf aus und gibt das Ergebnis zurück.

Die App ruft dabei keinen KI-Dienst selbst auf — die Brücke zwischen KI und API ist dein Skript. So bleibt dein Token auf deinem Rechner.

Sicherheit

  • Die API ist nur von deinem eigenen Rechner erreichbar. Andere Geräte im Netzwerk kommen nicht heran — das ist Absicht und lässt sich nicht umstellen.
  • Das Token ist wie ein Passwort: nicht weitergeben, nicht in Bots oder Screenshots. Bei Verdacht Neu klicken und Übernehmen.
  • Schalte die API aus, wenn du sie nicht brauchst.
  • Pause stoppt den Bot immer — auch mitten in einer API-Aktion.

Wenn es nicht klappt

  • „Verbindung verweigert“ — die API ist nicht eingeschaltet, die App läuft nicht, oder der Port stimmt nicht (siehe Fenster Steuer-API…).
  • 401 unauthorized — Token fehlt, ist falsch oder das Wort „Bearer“ fehlt im Header.
  • Im Protokoll „❌ Steuer-API: …“ beim Übernehmen — meist ist der Port belegt. Anderen Port eintragen (z. B. 8766) und erneut übernehmen.
  • „Bot 'xyz' nicht gefunden.“ — der Bot liegt nicht in %AppData%\FlowBotCommander\bots oder heißt anders. GET /api/bots zeigt, was die API sieht.
  • „Start nicht möglich (kein Start-Node?)“ — der geladene Bot hat keine Start-Note oder läuft schon.

Bereit zum Ausprobieren?

FlowBotCommander ist zum Start kostenlos — ohne Konto.

Kostenlos starten