Diese Anleitung gilt für Linux-Server (z. B. CentOS, Ubuntu, OpenCloudOS). #
📋 Inhaltsverzeichnis #
- Umgebung vorbereiten: Benutzer erstellen & Node.js installieren
- Discord einrichten: Bot beantragen & Token erhalten
- OpenClaw konfigurieren: Whitelist & IDs
- Prozessverwaltung: 24/7-Betrieb im Hintergrund
- Häufig gestellte Fragen & Fehlerbehebung (FAQ)
Phase 1: Umgebung vorbereiten #
1. Benutzer erstellen und Berechtigungen erteilen #
Melden Sie sich als root am Server-Terminal an und führen Sie Folgendes aus:
# 1. Benutzer erstellen — wählen Sie einen Namen, z. B. 'kyoyarn'
useradd -m kyoyarn
# 2. Passwort festlegen (passwd + Benutzername, Passwort muss zweimal eingegeben werden)
passwd kyoyarn
# 3. Administratorrechte erteilen (ersetzen Sie 'kyoyarn' durch Ihren Benutzernamen)
# Hinweis: CentOS/OpenCloudOS verwendet normalerweise die Gruppe 'wheel', Ubuntu die Gruppe 'sudo'
usermod -aG wheel kyoyarn
# Falls der Fehler "group 'wheel' does not exist" erscheint, versuchen Sie: usermod -aG sudo kyoyarn
2. Node.js (v18+) installieren #
OpenClaw benötigt eine Node.js-Umgebung. (Falls Node.js v18 oder höher bereits auf Ihrem Server installiert ist, können Sie diesen Schritt überspringen.)
# Zum neuen Benutzer wechseln (ersetzen Sie 'kyoyarn' durch Ihren Benutzernamen)
su - kyoyarn
# Node.js über NVM installieren (die zuverlässigste Methode)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# Umgebungsvariablen neu laden
source ~/.bashrc
# Node v20 installieren und verwenden
nvm install 20
nvm use 20
# Installation überprüfen
node -v # Sollte v20.x.x ausgeben
3. OpenClaw installieren #
# OpenClaw global installieren
npm install -g openclaw@latest
# Konfigurationsverzeichnis erstellen
mkdir -p ~/.openclaw
# Installation überprüfen
openclaw --version
Phase 2: Discord einrichten #
1. Anwendung erstellen #
- Melden Sie sich beim Discord Developer Portal an.
- Klicken Sie oben rechts auf New Application und vergeben Sie einen Namen (z. B.
MyOpenClaw). - Klicken Sie im linken Menü auf Bot und dann auf Reset Token.
- 👉 Kopieren und speichern Sie den Token sofort — nach dem Schließen der Seite ist er nicht mehr sichtbar.
2. Privilegierte Intents aktivieren (Entscheidender Schritt) #
Scrollen Sie auf der Bot-Seite nach unten zu Privileged Gateway Intents und aktivieren Sie alle drei:
- ✅ Presence Intent
- ✅ Server Members Intent
- ✅ Message Content Intent (ohne diesen ist der Bot taub)
- Klicken Sie auf Save Changes.
3. Einladungslink generieren #
-
Klicken Sie im linken Menü auf OAuth2 -> URL Generator.
-
Setzen Sie unter Scopes ein Häkchen bei:
bot.
-
Setzen Sie unter Bot Permissions die benötigten Häkchen. Folgende sind erforderlich:
Read Messages/View ChannelsSend MessagesRead Message History
- Kopieren Sie die generierte URL, öffnen Sie sie im Browser und fügen Sie den Bot Ihrem Server hinzu.
Phase 3: OpenClaw konfigurieren #
1. IDs abrufen (Entwicklermodus erforderlich) #
Gehen Sie in den Discord-Einstellungen zu Advanced -> Aktivieren Sie den Developer Mode.
- Guild ID (Server-ID): Rechtsklick auf das Serversymbol links -> Copy Server ID.
- Channel ID (Kanal-ID): Rechtsklick auf den gewünschten Kanal -> Copy Channel ID.
2. Konfigurationsdatei erstellen #
Bearbeiten Sie die Konfigurationsdatei mit nano:
nano ~/.openclaw/openclaw.json
Kopieren und passen Sie folgenden Inhalt an (Token und IDs müssen ersetzt werden):
{
"channels": {
"discord": {
"enabled": true,
"token": "DEIN_DISCORD_TOKEN_HIER_EINFÜGEN",
"groupPolicy": "allowlist",
"guilds": {
"DEINE_SERVER_ID_HIER_EINFÜGEN": {
"channels": {
"DEINE_KANAL_ID_HIER_EINFÜGEN": {
"allow": true
}
}
}
}
}
},
"gateway": {
// Zugriff auf die Konsole über http://SERVER_IP:4000 ermöglichen
"bind": "0.0.0.0"
}
}
Drücken Sie Ctrl + O und Enter zum Speichern, Ctrl + X zum Beenden.
3. Erster Test #
Starten Sie noch nicht den Hintergrunddienst — führen Sie es zuerst manuell aus, um die Funktion zu prüfen:
openclaw gateway
- Prüfen Sie, ob in den Logs
Gateway connectederscheint. - Senden Sie in Discord
hellound prüfen Sie, ob der Bot antwortet. - Nach erfolgreichem Test drücken Sie
Ctrl + Czum Stoppen.
Phase 4: Prozessverwaltung (Hintergrundausführung) #
Verwenden Sie Systemd zur Dienstverwaltung, damit das Programm auch nach Trennung der SSH-Verbindung weiterläuft und beim Systemstart automatisch gestartet wird.
1. User Linger aktivieren #
Verhindert, dass das System Ihre Prozesse nach dem Abmelden beendet.
# Stellen Sie sicher, dass Sie der Benutzer kyoyarn sind
loginctl enable-linger $(whoami)
2. Laufzeitverzeichnis-Variable setzen #
export XDG_RUNTIME_DIR=/run/user/$(id -u)
(Es wird empfohlen, diese Zeile am Ende von ~/.bashrc hinzuzufügen, damit sie bei erneuter Anmeldung erhalten bleibt.)
3. Dienst registrieren und starten #
# 1. Dienst installieren
openclaw daemon install
# 2. Dienst starten
openclaw daemon start
# 3. Status überprüfen
openclaw daemon status
Wenn Sie ein grünes Active: active (running) sehen, ist alles fertig! 🎉
Phase 5: Häufig gestellte Fragen & Fehlerbehebung (FAQ) #
Q1: Discord antwortet mit “Agent failed… permission denied /root/…” #
Ursache: Dies ist ein typisches Problem nach einer Migration. Obwohl Sie als kyoyarn angemeldet sind, enthalten die Konfigurationsdateien noch Pfade mit /root.
Lösung:
Führen Sie folgenden Befehl aus, um alle Pfade in den Konfigurationsdateien zu ersetzen:
find ~/.openclaw -type f -exec sed -i "s|/root/.openclaw|/home/$(whoami)/.openclaw|g" {} +
# Nach dem Ersetzen nicht vergessen, neu zu starten
openclaw daemon restart
Q2: Der Bot ist online, reagiert aber nicht auf Nachrichten (Logs sind auch still) #
Ursache: Normalerweise ist der Message Content Intent im Discord Developer Portal nicht aktiviert. Lösung: Gehen Sie zum Discord Developer Portal -> Bot -> Message Content Intent aktivieren -> Save Changes.
Q3: Fehler “This channel is not allowed” #
Ursache: Die Whitelist ist aktiv, aber die aktuelle Kanal-ID ist nicht in openclaw.json eingetragen.
Lösung: Rechtsklick zum Kopieren der aktuellen Kanal-ID, zur Konfigurationsdatei hinzufügen und dann openclaw daemon restart ausführen.
Q4: Wie kann man Echtzeit-Fehlerlogs einsehen? #
Befehl:
journalctl --user -u openclaw -f
(Zum Beenden Ctrl + C drücken.)
Q5: Wie stoppt oder startet man den Dienst vollständig neu? #
- Neustart (nach Konfigurationsänderung):
openclaw daemon restart - Stoppen (für Wartungsarbeiten):
openclaw daemon stop