Erste Einrichtung
Diese Anleitung führt durch die erste Einrichtung der ProcessCube Agent Runtime. Der Primärweg ist Subscription-basiert — API-Keys dienen nur als Fallback.
In Entwicklung. Teil der Preview-Phase (1.2.0-insiders.x). Schnittstellen
und Verhalten können sich vor dem ersten Stable-Release noch ändern.
Voraussetzungen
- Docker und Docker Compose
- Zugriff auf das Runtime-Image
- ChatGPT-/OpenAI-Account für Codex, falls Codex genutzt wird
- Claude-Account für Claude Code, falls Claude genutzt wird
- GitHub-Account, falls Repositories bearbeitet werden sollen
1. Runtime starten
Gemeinsames Docker-Netz anlegen
Die Compose referenziert pc-shared als externes Netz — ohne wird der Start
abgelehnt:
docker network create pc-shared.env mit echtem Token anlegen
Die Gateway bindet ans LAN und verweigert ein Non-Loopback-Binding ohne Auth —
ohne Token startet der Container nicht. Den Platzhalter aus .env.example nicht
übernehmen, sonst bricht pc-runtime bewusst ab:
sed "s|^OPENCLAW_GATEWAY_TOKEN=.*|OPENCLAW_GATEWAY_TOKEN=$(openssl rand -hex 32)|" .env.example > .envOptional lässt sich hier schon ANTHROPIC_SETUP_TOKEN hinterlegen — dann läuft die
Claude-Anmeldung später ohne Rückfrage durch.
Container starten
docker compose up -d
docker compose exec openclaw-runtime bash2. Versionen prüfen
pc-runtime versionAlternativ manuell: openclaw, bun, node, gh, codex, claude, pc,
python3, uv jeweils mit --version.
3. Setup starten
pc-runtime setupDas Setup fragt nach dem gewünschten Backend (mindestens eines ist Pflicht):
Claude, Codex oder Hybrid. pc-runtime setup stößt die nötigen
Logins an, setzt das Default-Modell von Agent main auf das gewählte Backend und
ruft main am Ende real auf.
Ausnahme Claude: Bei einem frisch angelegten Anthropic-Profil lässt setup
den abschließenden Smoke-Test bewusst aus — er wäre vor dem Gateway-Neustart
zwangsläufig rot. Stattdessen gibt setup den Neustart-Befehl aus; geprüft wird
danach mit pc-runtime doctor --smoke.
Die folgenden Abschnitte beschreiben, was dabei im Detail passiert bzw. wie es sich manuell nachvollziehen lässt.
Codex / OpenAI (Subscription)
Die Anmeldung läuft über den Device-Code-Flow — den Code auf einem beliebigen Gerät eingeben; der Browser-OAuth-Callback funktioniert im Container nicht.
openclaw models auth login --provider openai --set-default
openclaw models auth list
openclaw models status --plainWird die Subscription genutzt, darf OPENAI_API_KEY den Primärweg nicht
versehentlich überschreiben.
Claude (Subscription)
Für Anthropic gibt es keinen Device-Code wie bei Codex. Stattdessen wird ein
Setup-Token (claude setup-token) als Auth-Profil in OpenClaw hinterlegt. Das
nutzt deine Subscription (nicht „extra usage”), gilt rund ein Jahr und liegt im
OpenClaw-State (Volume pc_openclaw) — übersteht also Neustarts.
# 1) Token erzeugen (öffnet den Claude-Login; Ausgabe: sk-ant-oat01-…):
claude setup-token
# 2) Token in OpenClaw hinterlegen und als Default setzen:
openclaw models auth login --provider anthropic --method setup-token --set-defaultpc-runtime setup (Backend „Claude”/„Hybrid”) führt Schritt 2 interaktiv aus und
fragt den Token ab.
Unbeaufsichtigt (Container, Secret)
Der Token kommt per Option oder Umgebungsvariable — ein TTY wird nicht gebraucht:
# Token per Option — alternativ ANTHROPIC_SETUP_TOKEN in der .env setzen:
pc-runtime setup --claude-token sk-ant-oat01-…
# Auth-Profil für jeden registrierten Agenten:
pc-runtime setup --all-agents --claude-token sk-ant-oat01-…OpenClaw verwaltet Auth-Profile pro Agent. Ohne --agent <id> (mehrfach
angebbar, Default main) bzw. --all-agents bricht der Login auf Images mit
mehreren Agenten ab („Multiple agents are configured …”).
Danach die Gateway neu starten
Ein bereits laufender Agent sieht das frische Profil nicht und meldet sonst
No API key found for provider "anthropic":
docker compose restartNach dem Neustart kurz warten, bis die Gateway lauscht — sonst meldet doctor
FEHLER: Gateway erreichbar … ECONNREFUSED, obwohl nur der Start noch läuft:
until docker compose exec -T openclaw-runtime openclaw gateway probe >/dev/null 2>&1; do sleep 3; donePrüfen (erst nach dem Neustart aussagekräftig):
openclaw models auth list # Profil 'anthropic:setup-token' mit 'expires …'
openclaw models status # Default: anthropic/claude-opus-5
pc-runtime doctor --smoke # echter ModellaufrufDas Profil allein genügt nicht — bleibt das Default-Modell beim vorherigen
Anbieter, läuft der Agent trotz gültiger Anmeldung in Missing bearer authentication. Der Token-Weg setzt es deshalb selbst
(openclaw models set anthropic/claude-opus-5); models set ist global und
nie agent-scoped.
Der Token gilt rund ein Jahr; pc-runtime doctor warnt 30 Tage vor Ablauf.
Danach neuen Token mit claude setup-token erzeugen und
pc-runtime setup --claude-token … erneut ausführen. Selbsterneuernde
OAuth-Profile bleiben bewusst unbeachtet.
Fallback — Claude-CLI-Bindung. Der frühere Weg (claude auth login +
openclaw models auth login --provider anthropic --method cli --set-default)
funktioniert weiter, OpenClaw führt das Profil anthropic:claude-cli aber
inzwischen als deprecated. Er legt kein Auth-Profil an (models auth list
meldet Profiles: (none), der Nachweis steht nur in models status als
effective=synthetic), ist nicht unbeaufsichtigt einrichtbar und braucht das
Volume pc_claude.
Nicht verwenden: CLAUDE_CODE_OAUTH_TOKEN als Umgebungsvariable — die kennt der
OpenClaw-Anthropic-Provider nicht (er liest ANTHROPIC_OAUTH_TOKEN und
ANTHROPIC_API_KEY).
API-Key-Fallback (optional)
export OPENAI_API_KEY=...
export ANTHROPIC_API_KEY=...Für Docker Compose besser über .env oder Docker Secrets einbinden. Subscription
bleibt der Primärweg.
GitHub anmelden
gh auth login
gh auth statusGateway prüfen
openclaw doctor
openclaw devices listBei scope upgrade pending approval einmalig freigeben:
openclaw devices approve <request-id>4. Doctor mit Smoke-Test
pc-runtime doctor --smokeZielzustand:
OK : OpenClaw CLI
OK : Gateway-Token
OK : Gateway erreichbar
OK : OpenClaw Auth-Profile lesbar
OK : AI-Backend: Subscription aktiv
OK : Workspace beschreibbar (/workspace)
OK : Persistente Volumes vorhanden
OK : Registrierte Agenten (N)
OK : Smoke-Test Agent 'main'Registrierte Agenten (N) listet alle registrierten Agenten auf (nicht nur
main) — fehlt ein erwarteter Agent, fällt das hier sofort auf. Ein reiner
API-Key-Fallback (ohne Subscription) erscheint als
WARN : AI-Backend: nur API-Key-Fallback — kein Fehler, nur ein Hinweis.
pc-runtime doctor --smoke ruft Agent main real auf (Backend-End-to-End, da
alle Agenten dasselbe Backend nutzen). pc-runtime doctor --smoke-all ruft
jeden registrierten Agenten einzeln auf — gründlicher, aber langsamer.
5. Direkter Smoke-Test
Am einfachsten über pc-runtime doctor --smoke (führt den Aufruf gegen Agent
main aus). Oder manuell:
openclaw agent \
--agent main \
--message "Antworte mit einem kurzen OK und nenne das aktive Modell." \
--session-key "agent:main:smoke-test-001"6. Test aus LowCode
In ProcessCube® LowCode mit dem openclaw-message-send-Node:
| Feld | Wert |
|---|---|
| Gateway URL | ws://<runtime-host>:18789 |
| Agent ID | main |
| Auth-Token | Wert aus OPENCLAW_GATEWAY_TOKEN (Connect-Token) |
Test-Payload: { "message": "Antworte mit OK aus der ProcessCube Agent Runtime." }
Details zu Gateway-Config und Nodes: OpenClaw-Agenten aus ProcessCube® LowCode ansprechen.
ProcessCube-Engine anbinden
Die Engine (LowCode) ist nicht Teil der Runtime — sie ist der Consumer und verbindet sich von außen gegen die Gateway. Zwei Wege:
Weg 1 — veröffentlichter Host-Port (einfachster)
Die Runtime published 18789:
- vom Host:
ws://localhost:18789 - aus einem Container in einem anderen Compose-Projekt (Docker Desktop):
ws://host.docker.internal:18789
Kein gemeinsames Netz nötig; als Connect-Token den Wert aus
OPENCLAW_GATEWAY_TOKEN verwenden.
Weg 2 — gemeinsames Docker-Netz (Container ↔ Container)
Die Runtime-Compose hängt bereits am externen Netz pc-shared. Die Engine ans
selbe Netz hängen, dann per Service-Namen erreichbar: ws://openclaw-runtime:18789.
services:
engine: # bzw. node-red / der Service, der OpenClaw aufruft
networks: [default, pc-shared]
networks:
pc-shared:
external: trueDie Gateway bindet via --bind lan auf alle Interfaces und ist damit auch unter
Service-Name/Container-IP erreichbar — der Host-Port wird hierfür nicht benötigt.
Mit dem Agenten chatten (Control UI / TUI)
Neben dem einmaligen openclaw agent-Aufruf lässt sich interaktiv mit Agent
main chatten.
Control UI (Browser)
Die Gateway liefert die Control UI auf demselben Port aus (<port> =
GATEWAY_PORT, Default 18789):
http://localhost:<port>/#token=<OPENCLAW_GATEWAY_TOKEN>Der #token=…-Anhang authentifiziert über den Gateway-Token aus .env.
pc-runtime setup gibt diese URL am Ende fertig aus.
Browser-Origin einmalig erlauben — OpenClaw lehnt die UI sonst mit „origin
not allowed” ab. Den Befehl gibt pc-runtime setup direkt mit aus; danach die
Gateway neu starten:
openclaw config set gateway.controlUi.allowedOrigins \
'["http://localhost:<port>","http://127.0.0.1:<port>"]' --strict-json
# Für Zugriff von einem anderen Host dessen Origin zusätzlich aufnehmen.
docker compose restartDer openclaw agent-Aufruf (Smoke-Test) braucht diese Origin-Freigabe nicht
— nur die Browser-UI.
Terminal-UI
docker compose exec -it openclaw-runtime openclaw tuiErster Connect: Device-Pairing freigeben
Interaktive Clients (TUI/Control UI) fordern beim ersten Connect erweiterte
Scopes an und brechen zunächst ab (pairing required: …). Einmalig freigeben,
dann den Client neu verbinden:
openclaw devices list
openclaw devices approve <request-id>Der einmalige openclaw agent-Aufruf (z.B. der Smoke-Test) braucht dieses
Pairing nicht — nur die interaktive Session.
Typische Fehler
| Meldung | Ursache & Lösung |
|---|---|
Missing bearer authentication | Agent nutzt OpenAI-API statt OAuth/Subscription oder das Default-Modell zeigt auf einen Provider ohne gültiges Auth-Profil. Prüfen: openclaw models auth list, openclaw models status --plain, env | grep OPENAI. |
scope upgrade pending approval | Ein Device fordert mehr Rechte als genehmigt (typisch beim ersten Connect einer interaktiven UI). Freigeben: openclaw devices approve <request-id>. |
| Codex angemeldet, Agent nutzt es nicht | Codex-CLI-Login allein reicht nicht — die OpenAI-OAuth-Anmeldung muss für OpenClaw sichtbar sein: openclaw models auth list. |
No API key found for provider "anthropic" | Das Claude-Auth-Profil ist frisch angelegt, der Agent läuft noch mit dem alten Stand. Gateway neu starten (docker compose restart), danach pc-runtime doctor --smoke. |
Multiple agents are configured, but the model command has no explicit owner | Auth-Profile sind agent-scoped. Adressaten angeben: pc-runtime setup --agent <id> bzw. --all-agents. |
Auth-Profil abgelaufen (doctor-Warnung) | Setup-Token gilt rund ein Jahr. Neuen Token mit claude setup-token erzeugen und pc-runtime setup --claude-token … ausführen, danach Gateway neu starten. |