1. Warum OpenClaw auf einem Mac Mini betreiben?
Cloud-VPS-Anbieter berechnen nach Rechenzeit und fügen GPU-Aufschläge für KI-Inferenz hinzu. Ein Mac Mini M4 bietet Ihnen dediziertes Apple Silicon zu einem pauschalen Preis von 85 $/Monat — keine Pay-per-Call-Überraschungen, voller SSH-Zugriff und die Möglichkeit, lokale LLMs neben OpenClaw für nahezu keine Inferenzkosten laufen zu lassen.
| Merkmal | Cloud-VPS (KI-Stufe) | Mac Mini M4 (MyRemoteMac) |
|---|---|---|
| Monatliche Kosten | 150–400 $/Monat (GPU-VPS) | 85 $/Monat (Pauschale) |
| Unterstützung lokaler LLMs | Zusatzkosten / eingeschränkt | Nativ (Ollama, llama.cpp) |
| Always-On-Verfügbarkeit | Ja | Ja (99,9 % SLA) |
| Apple-Integrationen | Keine | iMessage, Shortcuts, Automator |
| Einrichtungskomplexität | Mittel | Gering (SSH-Zugriff inklusive) |
| Datenschutz | Gemeinsam genutztes Rechenzentrum | Dedizierte Hardware |
Wichtigster Vorteil: Anders als bei einem Cloud-VPS läuft Ihr Mac Mini M4 Ollama oder llama.cpp nativ auf Apple Silicon. Sie können OpenClaw für sensible Aufgaben an ein lokales LLM leiten und dann für komplexe Anfragen auf Claude zurückgreifen — alles ohne pro Token zu bezahlen.
2. Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Einen Mac Mini M4 Server von MyRemoteMac (ab 85 $/Monat)
- SSH-Zugriff auf Ihren Mac Mini (im MyRemoteMac-Abonnement enthalten)
- Einen Anthropic API-Schlüssel (für Claude) — erhältlich unter console.anthropic.com
- Ein Messaging-Konto bei Telegram, Discord oder WhatsApp, um Ihren Agenten zu verbinden
- Grundkenntnisse in Terminal-Befehlen und JSON-Konfigurationsdateien
3. Schritt 1: Mit Ihrem Mac Mini verbinden und Node.js installieren
Verbinden Sie sich zunächst per SSH mit Ihrem Mac Mini M4. Sie haben Ihre Zugangsdaten bei der Einrichtung Ihres MyRemoteMac-Servers erhalten.
Per SSH verbinden
# Connect to your Mac Mini M4
ssh admin@your-server-ip
# Verify you're on Apple Silicon
uname -m
# Expected output: arm64
# Check macOS version
sw_vers
# ProductName: macOS
# ProductVersion: 15.4
nvm installieren (Node Version Manager)
# Install nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# Load nvm into the current session
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# Verify nvm is available
nvm --version
# 0.39.7
Node.js LTS installieren
Wir empfehlen nvm zur Verwaltung von Node.js-Versionen — es vermeidet Berechtigungsprobleme und macht Upgrades trivial:
# Install the latest LTS version of Node.js
nvm install --lts
# Set it as the default for new sessions
nvm alias default node
# Verify the installation
node --version
# v22.x.x
npm --version
# 10.x.x
Die Installation überprüfen
# Confirm Node.js is running on Apple Silicon
node -e "console.log(process.platform, process.arch)"
# darwin arm64
# Note the exact Node.js binary path (needed for launchd in Step 4)
which node
# /Users/admin/.nvm/versions/node/v22.14.0/bin/node
4. Schritt 2: OpenClaw installieren und Claude API-Schlüssel konfigurieren
Mit fertigem Node.js installieren Sie OpenClaw in einem dedizierten Projektverzeichnis. OpenClaw wird als npm-Paket verteilt.
OpenClaw installieren
# Create a directory for your OpenClaw agent
mkdir -p ~/openclaw
cd ~/openclaw
# Initialize a Node.js project
npm init -y
# Install OpenClaw
npm install openclaw
# Create the logs directory
mkdir -p logs
Die Konfigurationsdatei erstellen
OpenClaw liest seine Einstellungen aus einer config.json-Datei. Erstellen Sie eine in Ihrem Projektverzeichnis:
# Create config.json in your project directory
cat > ~/openclaw/config.json << 'EOF'
{
"model": "claude-sonnet-4-6",
"apiKey": "sk-ant-YOUR_API_KEY_HERE",
"channels": {
"telegram": {
"enabled": true,
"token": "YOUR_TELEGRAM_BOT_TOKEN"
}
},
"maxHistory": 20,
"systemPrompt": "You are a helpful assistant. Be concise and accurate."
}
EOF
Ersetzen Sie sk-ant-YOUR_API_KEY_HERE durch Ihren tatsächlichen Schlüssel von console.anthropic.com. Sie können claude-sonnet-4-6 für komplexe Aufgaben oder claude-haiku-4-5 für schnellere, günstigere Antworten verwenden.
Den Agenten interaktiv testen
# Start OpenClaw in interactive mode to test it
cd ~/openclaw
npx openclaw start --config ./config.json
# Expected output:
# [OpenClaw] Agent initialized with model: claude-sonnet-4-6
# [OpenClaw] Telegram channel connected
# [OpenClaw] Listening for messages...
# Press Ctrl+C to stop (you will set up the persistent service in Step 4)
5. Schritt 3: Messaging-Kanäle verbinden
OpenClaw unterstützt Telegram, Discord, WhatsApp, iMessage, Slack und Signal. Der am einfachsten einzurichtende Kanal ist Telegram — erstellen Sie einen Bot über @BotFather:
# Step 1: Open Telegram and search for @BotFather
# Step 2: Send /newbot and follow the prompts
# Step 3: Copy the token (format: 1234567890:AAF...)
# Test your bot token is valid:
curl -s "https://api.telegram.org/botYOUR_TOKEN/getMe"
# {"ok":true,"result":{"id":...,"first_name":"My Agent","username":"myagent_bot",...}}
Discord verbinden
Um einen Discord-Bot zu verbinden, erstellen Sie eine Anwendung im Discord Developer Portal und erteilen Sie ihr die erforderlichen Berechtigungen:
# In Discord Developer Portal (https://discord.com/developers/applications):
# 1. Create a New Application and give it a name
# 2. Go to Bot > Add Bot
# 3. Copy the Bot Token
# 4. Enable "Message Content Intent" under Privileged Gateway Intents
# 5. Under OAuth2 > URL Generator, select bot + Send Messages + Read Message History
# 6. Use the generated URL to invite the bot to your server
# Update your config.json to enable Discord:
# "discord": { "enabled": true, "token": "YOUR_DISCORD_BOT_TOKEN" }
6. Schritt 4: Als persistenten launchd-Dienst ausführen
Für den Betrieb rund um die Uhr muss OpenClaw automatisch beim Booten starten und bei einem Fehler neu starten. macOS verwendet dafür launchd — erstellen Sie eine Dienst-plist in ~/Library/LaunchAgents/.
Die launchd-Plist erstellen
Speichern Sie Folgendes als ~/openclaw/com.openclaw.agent.plist (ersetzen Sie admin durch Ihren tatsächlichen Benutzernamen und passen Sie den Node.js-Pfad aus Schritt 1 an):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.openclaw.agent</string>
<key>ProgramArguments</key>
<array>
<string>/Users/admin/.nvm/versions/node/v22.14.0/bin/node</string>
<string>/Users/admin/openclaw/node_modules/.bin/openclaw</string>
<string>start</string>
<string>--config</string>
<string>/Users/admin/openclaw/config.json</string>
</array>
<key>WorkingDirectory</key>
<string>/Users/admin/openclaw</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/Users/admin/openclaw/logs/openclaw.log</string>
<key>StandardErrorPath</key>
<string>/Users/admin/openclaw/logs/openclaw-error.log</string>
</dict>
</plist>
Den Dienst aktivieren und starten
# Save the plist to the LaunchAgents directory
# (Use your actual username instead of "admin")
cp ~/openclaw/com.openclaw.agent.plist ~/Library/LaunchAgents/
# Load and start the service
launchctl load ~/Library/LaunchAgents/com.openclaw.agent.plist
launchctl start com.openclaw.agent
Überprüfen, ob der Dienst läuft
# Check that the service is running
launchctl list | grep openclaw
# 12345 0 com.openclaw.agent
# (First column is the PID — a number means it's running)
# View live logs
tail -f ~/openclaw/logs/openclaw.log
# View error logs
tail -f ~/openclaw/logs/openclaw-error.log
OpenClaw aktualisieren (ohne Ausfallzeit)
# Stop the service before updating
launchctl stop com.openclaw.agent
# Update OpenClaw to the latest version
cd ~/openclaw
npm update openclaw
# Restart the service
launchctl start com.openclaw.agent
# Confirm the new version is running
tail -5 ~/openclaw/logs/openclaw.log
7. Häufige Probleme beheben
Dienst startet nicht: "Cannot find module"
Der absolute Node.js-Pfad in der plist ist falsch oder npm-Pakete fehlen. Überprüfen Sie das Fehlerprotokoll und installieren Sie neu:
# Check the error logs
cat ~/openclaw/logs/openclaw-error.log | tail -20
# Make sure to use the absolute Node.js binary path in the plist
which node
# /Users/admin/.nvm/versions/node/v22.14.0/bin/node
# Reinstall dependencies
cd ~/openclaw
npm install
Claude API gibt 401 Unauthorized zurück
Ihr API-Schlüssel fehlt, ist falsch oder Ihr Anthropic-Konto hat keine verbleibenden Credits. Überprüfen Sie den Schlüssel:
# Test your API key directly
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":10,"messages":[{"role":"user","content":"Hi"}]}'
# Expected: {"id":"msg_...","type":"message",...}
# If you get 401: check your key at console.anthropic.com
Telegram-Bot reagiert nicht mehr
Das Bot-Token wurde möglicherweise widerrufen oder der Dienst ist abgestürzt. Überprüfen Sie das Token und starten Sie neu:
# Verify the bot token is still valid
curl -s "https://api.telegram.org/botYOUR_TOKEN/getMe"
# Restart the service
launchctl stop com.openclaw.agent
launchctl start com.openclaw.agent
# If the token was revoked, generate a new one via @BotFather (/mybots > API Token)
Hoher Speicherverbrauch nach mehreren Tagen
OpenClaw sammelt den Gesprächsverlauf im Speicher an. Senken Sie maxHistory in config.json und planen Sie einen wöchentlichen Neustart:
# Reduce conversation history in config.json
# "maxHistory": 10 (default is 20 — lower values use less memory)
# Set up a weekly restart via cron
crontab -e
# Add this line to restart OpenClaw every Sunday at 3am:
# 0 3 * * 0 launchctl stop com.openclaw.agent; sleep 2; launchctl start com.openclaw.agent
# Monitor memory usage
ps aux | grep openclaw
8. Kostenanalyse vs. Cloud-VPS
Hier ist ein realistischer Kostenvergleich für den Betrieb eines KI-Agenten rund um die Uhr bei verschiedenen Nutzungsstufen:
| Anwendungsfall | KI-Aufrufe/Monat | Cloud-VPS-Kosten | MyRemoteMac Kosten | Monatliche Ersparnis |
|---|---|---|---|---|
| Persönlicher Assistent | ~500 Aufrufe | 120 $/Monat (einfacher GPU-VPS) | 85 $/Monat | 45 $/Monat |
| Kleiner Team-Bot | ~5.000 Aufrufe | 200 $/Monat | 85 $/Monat | 125 $/Monat |
| Lokales LLM + Agent | Unbegrenzt (lokal) | 350+ $/Monat (GPU-VPS) | 85 $/Monat | 275+ $/Monat |
| Multi-Agenten-System | 10.000+ Aufrufe | 600+ $/Monat | 229 $/Monat (M4 Pro) | 371+ $/Monat |
Fazit: Der Betrieb von OpenClaw auf einem Mac Mini M4 ist deutlich günstiger als jeder Cloud-KI-VPS. Sie erhalten außerdem natives Apple Silicon für lokale LLMs über Ollama — leiten Sie nicht sensible Aufgaben an ein kostenloses lokales Modell und sparen Sie noch mehr bei den API-Kosten.
Verwandte Anleitungen
LLMs auf Mac Mini M4 ausführen
Führen Sie Ollama, llama.cpp und lokale Sprachmodelle nativ auf Apple Silicon für kostenlose KI-Inferenz aus.
Mac Mini als KI- & ML-Server
Verwandeln Sie Ihren Mac Mini in einen privaten KI-Inferenzserver für Machine-Learning-Workloads.
iOS ohne physischen Mac entwickeln
Bauen, testen und signieren Sie iOS-Apps remote mit einem Cloud-Mac-Mini — kein Hardwarekauf erforderlich.