Dieser Leitfaden beschreibt die Schritte zur Einrichtung einer lokalen OpenClaw-Instanz. Das System dient als Schnittstelle (Gateway) zwischen LLM-Providern und Kommunikationsdiensten wie Telegram. Die Installation erfolgt containerisiert mittels Docker.
Telegram Bot
Voraussetzung für die Installation ist eine aktive Instanz von Docker Desktop. Parallel dazu sollte ein Telegram-Bot über den @BotFather erstellt werden, um später den notwendigen API-Token griffbereit zu haben s. Anleitung

Docker Desktop starten

OpenClaw von GitHub downloaden
In der Windows-Eingabeaufforderung (cmd.exe) wird zunächst das Quellcode-Repository heruntergeladen. Dies erfolgt über den Befehl:
git clone https://github.com/openclaw/openclaw.git

Docker Setup starten
Anschließend wird in das neu erstellte Verzeichnis gewechselt. Im Zielverzeichnis wird das Setup-Skript ausgeführt. Das Skript initiiert den Build-Prozess innerhalb des Docker-Containers. Dabei werden systemrelevante Abhängigkeiten und Paketmanager wie bun, corepack und pnpm installiert und konfiguriert.
cd openclaw
docker-setup.sh

OpenClaw konfigurieren
Nach Abschluss des Build-Vorgangs startet der interaktive Konfigurationsmodus. Zunächst muss den Sicherheitshinweisen zugestimmt werden, da der Agent weitreichende Systemrechte erhalten kann.

Für eine schnelle Einrichtung wird der Modus QuickStart gewählt.

Provider-Wahl: Auswahl von Google als Anbieter.

Authentifizierung: Eingabe des Gemini API Key.


Modell-Selektion: Festlegung des zu verwendenden Modells, beispielsweise google/gemini-2.0-flash.

Integration der Kommunikationsschnittstelle
Das System fordert zur Auswahl eines primären Kommunikationskanals auf. Hier wird Telegram (Bot API) selektiert. Der zuvor generierte Telegram-Bot-Token muss an dieser Stelle in die Konsole eingefügt werden.


Einrichtung von Skills und Abhängigkeiten
OpenClaw prüft den Status verfügbarer Erweiterungen („Skills“). Das System listet fehlende Abhängigkeiten für Module wie github, openai-whisper oder gog (Google Workspace) auf. Zur Auflösung dieser Abhängigkeiten wird die Installation von Homebrew innerhalb der Umgebung angeboten und bestätigt.




Optionale API-Keys für Dienste wie Google Places oder ElevenLabs können in diesem Schritt übersprungen werden.

Abschluss und Systemstart
Nach erfolgreicher Konfiguration gibt das System die lokale Adresse des Web-Interfaces aus. Zu diesem Zeitpunkt ist der Container openclaw-cli-run in Docker Desktop aktiv.

Die OpenClaw GUI wird unter der angegebenen URL erst einmal nicht angezeigt., obwohl der Container jetzt bereitsteht.
http://127.0.0.1:18789/#token=eeac2ff0d......4e3

Wir Schließen daher erst einmal die Konsole mit Strg+C.
OpenClaw Konfiguration
Nach der Installation ist die Konfiguration hier zu finden.

OpenClaw erneut starten
Um den Dienst vollständig zu starten, wird der folgende Befehl ausgeführt:
docker compose up -d openclaw-gateway

Anschließend ist der OpenClaw GUI unter der zuvor angegebenen URL zu erreichen. Sollte das Web-Interface den Status „Disconnected“ anzeigen, ist eine manuelle Anpassung der Konfigurationsdatei notwendig.

Die Datei pending.json befindet sich im Verzeichnis C:\Users[Benutzer].openclaw\devices. In dieser JSON-Datei muss der Parameter „silent“ manuell von false auf true geändert werden. pending.json wird erst erstellt, nachdem wir die zuvor angegebene URL aufgerufen haben.

Über die GUI mir OpenClaw chatten
Nach dem Neuladen des Web-Interfaces kann die Identität des Agenten definiert werden (z. B. Name: „The Ghost in the Machine“).

OpenClaw über die Console aufrufen
Für den falls, dass wir Änderungen vornehmen möchten z.B. weitere Skills installieren, können wir die OpenClaw Console innerhalb des Docker Containers wir folgt aufrufen.
docker exec -it openclaw-openclaw-gateway-1 /bin/bash
Telegram
Eigentlich sollte sich der Bot nach dem Starten von OpenClaw über Telegram melden. Bei mir gab es keine Reaktion seitens Telegram, weshalb ich das Onboarding erneut aufrufen musste, um Telegram neue zu konfigurieren.
Das Onboading können wir via OpenClaw CLI starten.
docker compose run --rm openclaw-cli onboard
Nach dem Start der Container-Infrastruktur ist der Bot zwar online, lehnt jedoch Interaktionen standardmäßig ab. Das System meldet „OpenClaw: access not configured“ und zeigt die zugehörige Telegram User ID und Pairing ID an.

Dies ist ein Sicherheitsmechanismus, um unbefugten Zugriff auf den Agenten zu verhindern. Um die Kommunikation für den eigenen Account zu ermöglichen, muss diese ID explizit freigegeben werden. Dies erfolgt durch die Ausführung des folgenden Befehls in der Eingabeaufforderung, wobei [TELEGRAM_BINDING_ID] durch die im Chat angezeigte Binding ID zu ersetzen ist:
docker compose run --rm openclaw-cli pairing approve telegram TELEGRAM_BINDING_ID
Die Konsole bestätigt den Vorgang mit der Meldung „Approved telegram sender“. Unmittelbar danach ist der Bot für diesen Nutzer freigeschaltet und verarbeitet eingehende Nachrichten.

Nach der Autorisierung ist der Bot einsatzbereit. Er reagiert auf Eingaben im Telegram-Chat und kann kontextbezogene Informationen, wie die aktuelle Uhrzeit unter Berücksichtigung der Zeitzone (CET), verarbeiten und ausgeben.

OpenClaw Auto-Update
Wer OpenClaw lokal via Docker betreibt (Local Build), möchte nicht jedes Mal manuell git pull und docker compose build ausführen, um auf dem neuesten Stand zu bleiben.
Erstelle im Hauptverzeichnis deiner OpenClaw-Installation (z.B. C:\sources\openclaw) eine neue Datei namens update_openclaw.ps1.
# Als normaler User in C:\sources\openclaw\
# 1. Neueste Infos vom Server holen ohne zu mergen
git fetch origin
# 2. Prüfen, ob der lokale Stand hinter dem Server liegt
$local = git rev-parse HEAD
$remote = git rev-parse origin/main
if ($local -ne $remote) {
Write-Host "Updates gefunden. Folgende Dateien werden aktualisiert:" -ForegroundColor Cyan
# Zeige die Dateien an, die sich ändern werden
git diff --name-only $local $remote
# Jetzt den eigentlichen Pull und Build durchführen
git pull origin main
# Hier folgen deine bestehenden Docker-Befehle...
docker-compose up -d --build
Write-Host "Update erfolgreich durchgeführt." -ForegroundColor Green
}
else {
Write-Host "OpenClaw ist auf dem neuesten Stand. Keine Aktion erforderlich." -ForegroundColor Gray
}
OpenClaw kann anschließend mit dem folgenden Befehl aktualisiert werden:
powershell -ExecutionPolicy Bypass -File "C:\sources\openclaw\update_openclaw.ps1"
