initial
This commit is contained in:
@@ -0,0 +1,549 @@
|
||||
# OpenClaw auf Raspberry Pi 4 – Installationsanleitung
|
||||
### mit OpenRouter + mailbox.org CalDAV & Tasks
|
||||
|
||||
***
|
||||
|
||||
## Übersicht & Voraussetzungen
|
||||
|
||||
Diese Anleitung richtet einen **OpenClaw Gateway** auf einem Raspberry Pi 4 (headless, 64-bit) ein, verbindet ihn mit **OpenRouter** als KI-Provider und integriert **mailbox.org Kalender und Aufgaben** über CalDAV via `vdirsyncer` + `khal`.[^1][^2]
|
||||
|
||||
**Du brauchst:**
|
||||
- Raspberry Pi 4 (2 GB+ RAM, 4 GB empfohlen) mit 64-bit Raspberry Pi OS Lite[^2]
|
||||
- MicroSD ≥ 16 GB oder USB-SSD (empfohlen für Stabilität)[^2]
|
||||
- SSH-Zugang
|
||||
- OpenRouter API Key (`sk-or-...`) – holen unter openrouter.ai/keys[^1]
|
||||
- mailbox.org App-Passwort mit CalDAV-Berechtigung (unter Einstellungen → Sicherheit → Applikationspasswörter)[^3][^4]
|
||||
- Deine mailbox.org Kalender-URL(s) aus dem Webinterface (☰ → Eigenschaften → CalDAV URL)[^5][^6]
|
||||
|
||||
> **Wichtig:** Das App-Passwort ist zwingend erforderlich – auch ohne 2FA. Externe Apps wie vdirsyncer werden seit mailbox.org Login 2.0 mit dem normalen Passwort blockiert.[^4][^7]
|
||||
|
||||
### Hinweis: npm ist Pflicht
|
||||
|
||||
OpenClaw wird **ausschließlich als npm-Paket** distribuiert – es gibt keinen Weg daran vorbei. Der offizielle `install.sh`-Einzeiler übernimmt den npm-Aufruf automatisch, prüft Node.js, richtet das npm-Verzeichnis ein und vermeidet Permission-Fehler. Deshalb wird in dieser Anleitung der Einzeiler statt `npm install -g openclaw` direkt bevorzugt.[^8][^9][^10][^11]
|
||||
|
||||
***
|
||||
|
||||
## Phase 1: Raspberry Pi vorbereiten
|
||||
|
||||
### 1.1 OS flashen
|
||||
|
||||
Mit **Raspberry Pi Imager** (Raspberry Pi OS Lite, 64-bit) flashen. In den erweiterten Einstellungen vorab konfigurieren:[^2]
|
||||
|
||||
- Hostname: `dumbass`
|
||||
- SSH aktivieren
|
||||
- Benutzername: `hans`, Passwort setzen
|
||||
- WLAN (optional; Ethernet ist stabiler)
|
||||
|
||||
SD-Karte einstecken, Pi starten, per SSH verbinden:
|
||||
|
||||
```bash
|
||||
ssh hans@dumbass
|
||||
```
|
||||
|
||||
### 1.2 System aktualisieren & Grundpakete installieren
|
||||
|
||||
Der `install.sh` installiert fehlende Pakete zwar selbstständig nach, aber explizite Vorinstallation verhindert `spawn git ENOENT`-Fehler während des npm-Build-Prozesses:[^9][^8]
|
||||
|
||||
```bash
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
sudo apt install -y git curl build-essential python3-pip
|
||||
```
|
||||
|
||||
> **Warum `build-essential` + `python3-pip`?** Einige npm-Abhängigkeiten von OpenClaw (insb. `sharp` für Bildverarbeitung und `node-gyp` für native Addons) kompilieren C++-Code während der Installation. Auf ARM ohne Build-Tools schlägt `npm install` mit `node-gyp rebuild` Fehler fehl.[^11][^12]
|
||||
|
||||
Zeitzone korrekt setzen (wichtig für Kalenderabfragen und Cron):[^2]
|
||||
|
||||
```bash
|
||||
sudo timedatectl set-timezone Europe/Vienna
|
||||
```
|
||||
|
||||
### 1.3 Node.js 22 installieren (Mindestanforderung)
|
||||
|
||||
OpenClaw erfordert **Node.js 22+**. Node.js 24 funktioniert ebenfalls.[^13][^14][^11]
|
||||
|
||||
**Empfohlen – nvm (flexibles Versionsmanagement, einfach aktualisierbar):**[^15]
|
||||
|
||||
```bash
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
|
||||
source ~/.bashrc
|
||||
nvm install 22
|
||||
nvm alias default 22
|
||||
node --version # → v22.x.x
|
||||
npm --version # → 10.x.x
|
||||
```
|
||||
|
||||
**Alternative – NodeSource (systemweit, ohne nvm):**
|
||||
|
||||
```bash
|
||||
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
|
||||
sudo apt install -y nodejs
|
||||
node --version
|
||||
```
|
||||
|
||||
> **Achtung:** Den Standard-`nodejs`-APT-Paket von Raspberry Pi OS **nicht** verwenden – er liefert oft veraltete Versionen (v18 oder älter), die von OpenClaw abgelehnt werden.[^14][^15]
|
||||
|
||||
### 1.4 Swap prüfen (du hast bereits 4 GB Swap)
|
||||
|
||||
Da bereits 4 GB Swap konfiguriert sind, wird zusätzlich die Swappiness reduziert um unnötigen Swap-Druck zu vermeiden:[^2]
|
||||
|
||||
```bash
|
||||
free -h # Swap sollte angezeigt werden
|
||||
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
|
||||
sudo sysctl -p
|
||||
```
|
||||
|
||||
### 1.5 Pi-spezifische Optimierungen
|
||||
|
||||
```bash
|
||||
# GPU-Speicher minimieren (kein Display benötigt)
|
||||
echo 'gpu_mem=16' | sudo tee -a /boot/firmware/config.txt
|
||||
|
||||
# Nicht benötigte Dienste deaktivieren
|
||||
sudo systemctl disable bluetooth
|
||||
sudo systemctl disable cups 2>/dev/null || true
|
||||
|
||||
# Node.js Compile Cache (beschleunigt CLI-Aufrufe auf ARM spürbar)
|
||||
grep -q 'NODE_COMPILE_CACHE' ~/.bashrc || cat >> ~/.bashrc <<'EOF'
|
||||
export NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache
|
||||
mkdir -p /var/tmp/openclaw-compile-cache
|
||||
export OPENCLAW_NO_RESPAWN=1
|
||||
EOF
|
||||
source ~/.bashrc
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
## Phase 2: OpenClaw installieren & mit OpenRouter verbinden
|
||||
|
||||
### 2.1 OpenClaw installieren
|
||||
|
||||
Der offizielle Einzeiler prüft Node.js, richtet den npm-Prefix korrekt ein (verhindert EACCES-Fehler) und installiert alle Abhängigkeiten:[^16][^9][^11]
|
||||
|
||||
```bash
|
||||
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
|
||||
```
|
||||
|
||||
Die Installation dauert auf dem Pi 4 ca. 3–6 Minuten (npm kompiliert native Module für ARM). **Nicht unterbrechen.**[^16]
|
||||
|
||||
Nach Abschluss Umgebung neu laden und verifizieren:
|
||||
|
||||
```bash
|
||||
source ~/.bashrc
|
||||
openclaw --version
|
||||
```
|
||||
|
||||
**Falls `openclaw: command not found`** – npm-Prefix wurde auf `~/.npm-global` gesetzt und ist noch nicht im PATH:[^17][^9]
|
||||
|
||||
```bash
|
||||
export PATH="$HOME/.npm-global/bin:$PATH"
|
||||
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
openclaw --version
|
||||
```
|
||||
|
||||
**Falls `sharp`-Build-Fehler auftreten** (kommt vor bei ARM mit globalem libvips):[^11]
|
||||
|
||||
```bash
|
||||
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest
|
||||
```
|
||||
|
||||
Nach der Installation immer prüfen:
|
||||
|
||||
```bash
|
||||
openclaw doctor
|
||||
```
|
||||
|
||||
Dieser Befehl checkt Node.js-Version, npm-Installation, Config-Gültigkeit, Gateway-Status und Permission-Probleme – und sagt genau was fehlt.[^8]
|
||||
|
||||
### 2.2 Onboarding mit OpenRouter
|
||||
|
||||
Der schnellste Weg setzt OpenRouter direkt per CLI:[^18][^1]
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice openrouter-api-key
|
||||
```
|
||||
|
||||
Der Wizard fragt nach dem API Key. Alternativ als Ein-Zeiler:[^18]
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice apiKey --token-provider openrouter --token "sk-or-DEINKEY"
|
||||
```
|
||||
|
||||
### 2.3 Modell konfigurieren
|
||||
|
||||
Öffne `~/.openclaw/openclaw.json` und trage dein gewünschtes Modell ein. Empfohlene Konfiguration mit Fallback:[^19][^20][^1]
|
||||
|
||||
```json
|
||||
{
|
||||
"env": {
|
||||
"OPENROUTER_API_KEY": "sk-or-DEINKEY"
|
||||
},
|
||||
"agents": {
|
||||
"defaults": {
|
||||
"model": {
|
||||
"primary": "openrouter/anthropic/claude-sonnet-4.5",
|
||||
"fallbacks": [
|
||||
"openrouter/anthropic/claude-haiku-3.5"
|
||||
]
|
||||
},
|
||||
"models": {
|
||||
"openrouter/anthropic/claude-sonnet-4.5": {},
|
||||
"openrouter/anthropic/claude-haiku-3.5": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> **Tipp Kostenoptimierung:** `"primary": "openrouter/openrouter/auto"` lässt OpenRouter automatisch das günstigste Modell für jede Anfrage wählen. Besonders sinnvoll wenn OpenClaw viele einfache Hintergrundaufgaben (Heartbeats, Status-Checks) ausführt.[^20][^1]
|
||||
|
||||
Modellverbindung testen:
|
||||
|
||||
```bash
|
||||
openclaw models list
|
||||
```
|
||||
|
||||
### 2.4 Gateway als Daemon starten
|
||||
|
||||
```bash
|
||||
openclaw onboard --install-daemon
|
||||
```
|
||||
|
||||
Status prüfen:
|
||||
|
||||
```bash
|
||||
openclaw status
|
||||
systemctl --user status openclaw-gateway.service
|
||||
journalctl --user -u openclaw-gateway.service -f
|
||||
```
|
||||
|
||||
Falls der Dienst nach Logout nicht weiterläuft, Lingering aktivieren:[^2]
|
||||
|
||||
```bash
|
||||
sudo loginctl enable-linger hans
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
## Phase 3: vdirsyncer + khal installieren (CalDAV-Stack)
|
||||
|
||||
Der offizielle OpenClaw CalDAV-Skill setzt auf `vdirsyncer` (Sync-Layer) und `khal` (Lese-/Schreibzugriff auf Events und Tasks).[^21][^22]
|
||||
|
||||
### 3.1 Pakete installieren
|
||||
|
||||
```bash
|
||||
sudo apt install -y vdirsyncer khal
|
||||
```
|
||||
|
||||
Verzeichnisse anlegen:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.config/vdirsyncer
|
||||
mkdir -p ~/.config/khal
|
||||
mkdir -p ~/.local/share/vdirsyncer/status
|
||||
mkdir -p ~/.local/share/vdirsyncer/calendars
|
||||
mkdir -p ~/.local/share/vdirsyncer/tasks
|
||||
```
|
||||
|
||||
### 3.2 CalDAV URLs von mailbox.org ermitteln
|
||||
|
||||
Öffne mailbox.org im Browser. Für **jeden** Kalender und jede Aufgabenliste:
|
||||
|
||||
1. Kalender anklicken → ☰-Menü → **Eigenschaften**
|
||||
2. Unter **CalDAV URL** die vollständige URL kopieren
|
||||
|
||||
Beispielform: `https://dav.mailbox.org/caldav/Y2FsOi8vMC80Mg`[^6][^5]
|
||||
|
||||
> Die oberste Discovery-URL `https://dav.mailbox.org` funktioniert bei vdirsyncer direkt (automatische Collection-Erkennung), aber **spezifische URLs** sind zuverlässiger und vermeiden, dass ungewollte Shared-Folder auftauchen.[^23][^24]
|
||||
|
||||
### 3.3 App-Passwort sicher speichern
|
||||
|
||||
Das Passwort wird als geschützte Datei abgelegt (einfache, bewährte Methode):[^25]
|
||||
|
||||
```bash
|
||||
# Datei anlegen (600 = nur für dich lesbar)
|
||||
echo "DEIN_APP_PASSWORT" > ~/.config/vdirsyncer/mailbox_apppassword
|
||||
chmod 600 ~/.config/vdirsyncer/mailbox_apppassword
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
## Phase 4: vdirsyncer konfigurieren
|
||||
|
||||
Vollständige Konfiguration für **Kalender + Aufgaben** in `~/.config/vdirsyncer/config`:
|
||||
|
||||
```ini
|
||||
[general]
|
||||
status_path = "~/.local/share/vdirsyncer/status/"
|
||||
|
||||
# ──────────────── KALENDER ────────────────
|
||||
|
||||
[pair mailbox_calendar]
|
||||
a = "mailbox_cal_remote"
|
||||
b = "mailbox_cal_local"
|
||||
collections = ["from a", "from b"]
|
||||
conflict_resolution = "a wins"
|
||||
metadata = ["displayname", "color"]
|
||||
|
||||
[storage mailbox_cal_remote]
|
||||
type = "caldav"
|
||||
url = "https://dav.mailbox.org/caldav/DEINE_KALENDER_ID"
|
||||
username = "deine@mailadresse.org"
|
||||
password.fetch = ["command", "cat", "/home/hans/.config/vdirsyncer/mailbox_apppassword"]
|
||||
|
||||
[storage mailbox_cal_local]
|
||||
type = "filesystem"
|
||||
path = "~/.local/share/vdirsyncer/calendars/"
|
||||
fileext = ".ics"
|
||||
|
||||
# ──────────────── AUFGABEN (VTODO) ────────────────
|
||||
|
||||
[pair mailbox_tasks]
|
||||
a = "mailbox_tasks_remote"
|
||||
b = "mailbox_tasks_local"
|
||||
collections = ["from a", "from b"]
|
||||
conflict_resolution = "a wins"
|
||||
|
||||
[storage mailbox_tasks_remote]
|
||||
type = "caldav"
|
||||
url = "https://dav.mailbox.org/caldav/DEINE_TASKS_ID"
|
||||
username = "deine@mailadresse.org"
|
||||
password.fetch = ["command", "cat", "/home/hans/.config/vdirsyncer/mailbox_apppassword"]
|
||||
|
||||
[storage mailbox_tasks_local]
|
||||
type = "filesystem"
|
||||
path = "~/.local/share/vdirsyncer/tasks/"
|
||||
fileext = ".ics"
|
||||
```
|
||||
|
||||
> **Wichtig:** Ersetze `DEINE_KALENDER_ID` und `DEINE_TASKS_ID` mit den tatsächlichen IDs aus Schritt 3.2. `conflict_resolution = "a wins"` bedeutet: im Konflikt gewinnt der Server (mailbox.org). Das ist die sicherste Einstellung.[^26][^25]
|
||||
|
||||
Ersten Sync durchführen:
|
||||
|
||||
```bash
|
||||
vdirsyncer discover
|
||||
vdirsyncer sync
|
||||
```
|
||||
|
||||
> **Erwartetes Verhalten:** Beim ersten Durchlauf erscheint eine Bestätigungsabfrage für neue Collections → mit `yes` bestätigen.
|
||||
|
||||
***
|
||||
|
||||
## Phase 5: khal konfigurieren
|
||||
|
||||
`~/.config/khal/config`:
|
||||
|
||||
```ini
|
||||
[calendars]
|
||||
|
||||
[[mailbox_kalender]]
|
||||
path = ~/.local/share/vdirsyncer/calendars/*
|
||||
type = discover
|
||||
|
||||
[[mailbox_aufgaben]]
|
||||
path = ~/.local/share/vdirsyncer/tasks/*
|
||||
type = discover
|
||||
|
||||
[default]
|
||||
default_calendar = mailbox_kalender
|
||||
highlight_event_days = True
|
||||
show_todos = True
|
||||
|
||||
[locale]
|
||||
timeformat = %H:%M
|
||||
dateformat = %Y-%m-%d
|
||||
datetimeformat = %Y-%m-%d %H:%M
|
||||
longdateformat = %A, %d. %B %Y
|
||||
longtimeformat = %H:%M
|
||||
firstweekday = 0
|
||||
```
|
||||
|
||||
Khal-Setup testen:
|
||||
|
||||
```bash
|
||||
khal list today 7d
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
## Phase 6: OpenClaw CalDAV-Skill installieren
|
||||
|
||||
```bash
|
||||
openclaw skills install caldav-calendar
|
||||
```
|
||||
|
||||
Oder alternativ über den Playbooks-Skill:[^22][^27]
|
||||
|
||||
```bash
|
||||
openclaw add @asleep123/caldav-calendar
|
||||
```
|
||||
|
||||
Danach OpenClaw Gateway neu starten:
|
||||
|
||||
```bash
|
||||
systemctl --user restart openclaw-gateway.service
|
||||
```
|
||||
|
||||
Du kannst jetzt z.B. via Telegram oder deinem konfigurierten Channel tippen:
|
||||
- *„Was habe ich morgen im Kalender?"*
|
||||
- *„Erstelle einen Termin am 10.6. um 14 Uhr – Zahnarzt"*
|
||||
- *„Zeig mir alle offenen Aufgaben"*
|
||||
|
||||
***
|
||||
|
||||
## Phase 7: Automatischer Sync via Cron
|
||||
|
||||
Damit OpenClaw immer aktuelle Kalenderdaten hat, Sync automatisieren:[^28][^26]
|
||||
|
||||
```bash
|
||||
crontab -e
|
||||
```
|
||||
|
||||
Folgende Zeilen einfügen:
|
||||
|
||||
```
|
||||
# Alle 5 Minuten synchronisieren
|
||||
*/5 * * * * /usr/bin/vdirsyncer sync >> ~/.local/share/vdirsyncer/sync.log 2>&1
|
||||
|
||||
# khal-Cache täglich um 03:00 löschen (verhindert veraltete Anzeigen)
|
||||
0 3 * * * rm -f ~/.local/share/khal/khal.db
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
## Phase 8: Dashboard-Zugriff (optional)
|
||||
|
||||
Das OpenClaw Control UI läuft nur lokal. Zugriff via SSH-Tunnel:[^2]
|
||||
|
||||
```bash
|
||||
# Auf dem Raspi:
|
||||
openclaw dashboard --no-open
|
||||
# → zeigt lokale URL, z.B. http://127.0.0.1:18789
|
||||
|
||||
# Auf deinem PC (neues Terminal):
|
||||
ssh -N -L 18789:127.0.0.1:18789 hans@dumbass
|
||||
```
|
||||
|
||||
Dann im Browser: `http://localhost:18789`
|
||||
|
||||
***
|
||||
|
||||
## Bekannte Fallstricke & Workarounds
|
||||
|
||||
| Problem | Ursache | Fix |
|
||||
|---|---|---|
|
||||
| **401-Fehler bei vdirsyncer** | Normales Passwort statt App-Passwort | App-Passwort mit CalDAV-Berechtigung anlegen[^4][^29] |
|
||||
| **Wiederkehrende Aufgaben verschwinden** | Open-Xchange-Bug: RRULE wird entfernt | Wiederkehrende Tasks nicht über CalDAV verwalten; als VEVENT anlegen[^30][^31] |
|
||||
| **Tasks nur in eine Richtung** | Bekannter Sync-Bug | `vdirsyncer discover` erneut ausführen; `conflict_resolution` explizit setzen[^32][^33] |
|
||||
| **khal zeigt veraltete Daten** | Cache-Problem | `rm ~/.local/share/khal/khal.db` und neu abfragen[^21] |
|
||||
| **OpenClaw liefert erfundene Termine** | Kalender nicht verbunden, Agent halluziniert | Bekannte Termine als Probe gegenchecken; Logs prüfen[^34][^35] |
|
||||
| **khal edit schlägt fehl** | Braucht TTY, nicht-interaktiver Kontext | `tmux` verwenden oder Events direkt als `.ics` bearbeiten[^21] |
|
||||
| **Service startet nach Reboot nicht** | Kein User-Lingering | `sudo loginctl enable-linger $(whoami)`[^2] |
|
||||
| **WiFi bricht periodisch weg** | Power Management | `sudo iwconfig wlan0 power off` (nach Reboot nötig → `/etc/rc.local` eintragen)[^2] |
|
||||
|
||||
***
|
||||
|
||||
## Schnellreferenz: Wichtige Befehle
|
||||
|
||||
```bash
|
||||
# Status prüfen
|
||||
openclaw status
|
||||
journalctl --user -u openclaw-gateway.service -n 50
|
||||
|
||||
# Manueller Kalender-Sync
|
||||
vdirsyncer sync
|
||||
|
||||
# Heutige Termine anzeigen
|
||||
khal list today
|
||||
|
||||
# Nächste 7 Tage
|
||||
khal list today 7d
|
||||
|
||||
# Neuen Termin erstellen
|
||||
khal new 2026-06-10 14:00 15:00 "Zahnarzt"
|
||||
vdirsyncer sync # danach immer syncen!
|
||||
|
||||
# Modell wechseln
|
||||
openclaw models set openrouter/anthropic/claude-opus-4.5
|
||||
|
||||
# OpenClaw-Skill aktualisieren
|
||||
openclaw skills update --all
|
||||
|
||||
# Gateway neu starten
|
||||
systemctl --user restart openclaw-gateway.service
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
|
||||
1. [Integration with OpenClaw | OpenRouter | Documentation](https://openrouter.ai/docs/guides/coding-agents/openclaw-integration) - Learn how to configure OpenClaw to use OpenRouter for AI agents across multiple messaging platforms.
|
||||
|
||||
2. [Raspberry Pi - OpenClaw Docs](https://docs.openclaw.ai/install/raspberry-pi)
|
||||
|
||||
3. [Application passwords for external programs - Knowledge Base](https://kb.mailbox.org/en/private/security-and-privacy/application-passwords-for-external-programs/) - When using Two-Factor Authentication (2FA) for your account, you must create and use a corresponding...
|
||||
|
||||
4. [Access security for mailbox – 2FA, app passwords, and email ...](https://kb.mailbox.org/en/private/security-and-privacy/access-security-for-mailbox-2fa-app-passwords-and-e-mail-passwords/) - This article provides an overview of the different functions for securing your access to mailbox – i...
|
||||
|
||||
5. [CardDAV for Outlook and Thunderbird – CalDav Synchronizer - Mailbox.org](https://kb.mailbox.org/en/private/addressbook-and-calendar/caldav-carddav-for-outlook-caldav-synchronizer/) - Once you have enabled two-factor authentication, external applications such as Outlook, Thunderbird,...
|
||||
|
||||
6. [CalDAV-Clients – Outlook, Thunderbird, macOS, Evolution, Kontact](https://kb.mailbox.org/de/privat/adressbuch-und-kalender/caldav-clients-outlook-thunderbird-macos-evolution-kontact/) - Im nächsten Schritt wählen Sie als Format CalDAV und als Adresse https://dav.mailbox.org/caldav/XXX ...
|
||||
|
||||
7. [Information zu Nutzung von CalDAV/CardDAV/WebDAV und Drive ...](https://userforum.mailbox.org/topic/9956-information-zu-nutzung-von-caldavcarddavwebdav-und-drive-mit-login-2-0-2fa) - Mit dem neuen Login 2.0 in Kombination mit 2FA müssen für den Zugriff über CalDAV/CardDAV/WebDAV und...
|
||||
|
||||
8. [Fix 'npm install failed for openclaw@latest' and ... - Stack Junkie](https://www.stack-junkie.com/blog/fix-openclaw-installation-errors) - Fix npm install failed for openclaw@latest, Node version mismatches, permission errors, port conflic...
|
||||
|
||||
9. [Installer internals - OpenClaw Docs](https://docs.openclaw.ai/install/installer)
|
||||
|
||||
10. [OpenClaw Install: Complete Installation Guide | macOS, Linux ...](https://openclaw-install.org) - Complete OpenClaw install guide for macOS, Linux, and Windows. Learn how to install OpenClaw in 10 m...
|
||||
|
||||
11. [Install – OpenClaw - Open Source AI Coding Assistant](https://openclawlab.com/en/docs/install/) - Install OpenClaw — installer script, npm/pnpm, from source, Docker, and more
|
||||
|
||||
12. [OpenClaw Installation Error: Complete Fix Guide for All Platforms ...](https://yingtu.ai/en/blog/openclaw-installation-error) - Fix OpenClaw installation errors on macOS, Windows, and Linux. Covers Node.js version issues, Sharp/...
|
||||
|
||||
13. [The Ultimate Guide to Fixing OpenClaw Installer NPM Install Failed ...](https://skywork.ai/skypage/en/fixing-openclaw-npm-install/2048664282507194368) - Fix OpenClaw npm install failed errors fast—step‑by‑step guide, environment checks, and top AI agent...
|
||||
|
||||
14. [How to Run OpenClaw on Raspberry Pi: A Practical Setup Guide](https://www.sunfounder.com/blogs/news/how-to-run-openclaw-on-raspberry-pi-a-practical-setup-guide) - Start by installing Raspberry Pi OS Lite. This version provides a minimal environment without a grap...
|
||||
|
||||
15. [OpenClaw x Raspberry Pi Deployment Guide | MI - 超智諮詢](https://www.meta-intelligence.tech/en/insight-openclaw-raspberry-pi) - A complete tutorial on deploying the OpenClaw AI agent on Raspberry Pi (5/4).
|
||||
|
||||
16. [Can OpenClaw Run on Raspberry Pi? Complete Step-by- ...](https://www.pcbuildadvisor.com/can-openclaw-run-on-raspberry-pi-complete-step-by-step-installation-guide/) - Yes, OpenClaw can absolutely run on a Raspberry Pi — and it runs surprisingly well when set up corre...
|
||||
|
||||
17. [The Complete OpenClaw Setup & Installation Guide - Sphere Partners](https://www.sphereinc.com/blogs/the-complete-openclaw-setup-installation-guide/) - If you're deploying on a VPS, use the npm method or Docker instead. 2.3 Installation Method 2: npm G...
|
||||
|
||||
18. [OpenClaw OpenRouter Setup: One API Key for Hundreds of ...](https://www.stack-junkie.com/blog/openclaw-openrouter-setup-guide) - OpenClaw OpenRouter setup: connect hundreds of LLM models through one API key, configure model routi...
|
||||
|
||||
19. [OpenRouter](https://docs.openclaw.ai/providers/openrouter)
|
||||
|
||||
20. [The Ultimate Guide to OpenClaw OpenRouter Setup](https://skywork.ai/skypage/en/openclaw-openrouter-setup/2037020692520374272) - Optimize AI agents with OpenClaw + OpenRouter: cost‑effective, multi‑model routing, local execution,...
|
||||
|
||||
21. [caldav-calendar skill by openclaw/skills - playbooks](https://playbooks.com/skills/openclaw/skills/caldav-calendar) - This skill synchronizes and queries CalDAV calendars using vdirsyncer and khal, enabling streamlined...
|
||||
|
||||
22. [caldav-calendar - OpenClaw Skills](https://openclawskills.best/skills/asleep123/caldav-calendar/) - How do I install caldav-calendar? Run openclaw add @asleep123/caldav-calendar in your terminal. This...
|
||||
|
||||
23. [mailbox.org - DAVx5](https://www.davx5.com/tested-with/mailboxorg) - WebDAV URL: https://dav.mailbox.org/servlet/webdav.infostore/. User name: your mailbox.org email add...
|
||||
|
||||
24. [Access calendar data from programs using CalDav](https://userforum-en.mailbox.org/topic/2526-access-calendar-data-from-programs-using-caldav) - I was using the wrong url. ``` # Replace with your actual mailbox.org username and password. USERNAM...
|
||||
|
||||
25. [Synchronise CalDAV and CardDAV data for khal and khard with ...](https://www.jan0sch.de/post/synchronise-caldav-and-carddav-data-with-vdirsyncer/) - First we need to setup our synchronisation. The file ~/.config/vdirsyncer/config contains the config...
|
||||
|
||||
26. [Calendar Integration | Dank Linux](https://danklinux.com/docs/dankmaterialshell/calendar-integration) - Setting up khal and vdirsyncer is very user-unfriendly and convoluted, in a future release this inte...
|
||||
|
||||
27. [Commands](https://docs.openclaw.ai/tools/clawhub)
|
||||
|
||||
28. [Tutorial¶](https://vdirsyncer.pimutils.org/en/stable/tutorial.html)
|
||||
|
||||
29. [CardDAV/CalDAV authentication error - mailbox User Forum](https://userforum-en.mailbox.org/topic/3141-carddavcaldav-authentication-error) - Hello since about 24 hours or so ago, I have been consistently receiving error authenticating into m...
|
||||
|
||||
30. [Support for recurring tasks for CalDAV would be really nice](https://userforum-en.mailbox.org/topic/1725-support-for-recurring-tasks-for-caldav-would-be-really-nice) - Right now, if I add a recurring task on a CalDAV client and sync it to Mailbox, the recurring tasks ...
|
||||
|
||||
31. [Are recurring tasks not supported when syncing from Mailbox.org?](https://github.com/TechbeeAT/jtxBoard/discussions/2204) - I am trying to sync my Mailbox.org tasks with my Android phone. Everything works as expected, except...
|
||||
|
||||
32. [mailbox.org synchronization broken · Issue #948 · tasks/tasks](https://github.com/tasks/tasks/issues/948) - CALDAV server: mailbox.org Tasks version: 8.7 (current on F-droid) I first noticed this today, but I...
|
||||
|
||||
33. [Tasks only syncing one way over CalDAV - Reddit](https://www.reddit.com/r/tasks/comments/1daztkg/tasks_only_syncing_one_way_over_caldav/) - I have a problem with the sync between NextCloud and the Tasks Android App which uses CalDAV. This i...
|
||||
|
||||
34. [Calendar tool returns hallucinated data when no calendar connected](https://github.com/openclaw/openclaw/issues/10190) - When using the calendar tool with no calendar integration configured, the tool returns fabricated/ha...
|
||||
|
||||
35. [[Bug]:Agent fabricates tool output for factual queries — calendar tool ...](https://github.com/openclaw/openclaw/issues/63289) - I am a non-developer end user running OpenClaw 2026.4.1 in a Lume VM, and that this was discovered w...
|
||||
|
||||
Reference in New Issue
Block a user