Deskbird-Automator
Steuert Deskbird ueber Telegram mit sicherem Auth-Handling, Discovery und Parkplatz-Status/Reservierung. Verwende diesen Skill, wenn ein OpenClaw-Agent Deskb...
Description
name: deskbird-automator description: Steuert Deskbird ueber Telegram mit sicherem Auth-Handling, Discovery und Parkplatz-Status/Reservierung. Verwende diesen Skill, wenn ein OpenClaw-Agent Deskbird-Aufgaben ausfuehren oder eine wiederkehrende Cron-Session dafuer anlegen/aktualisieren soll, inklusive Rueckfrage zum Rhythmus und Reauth bei abgelaufener Auth.
Deskbird-Automator
Verwende diesen Skill, um Deskbird ueber das lokale CLI (scripts/deskbird_tool.py) sicher zu bedienen und optional als wiederkehrende Cron-Session laufen zu lassen.
Voraussetzungen
- Arbeite im Projektordner
<repo-root>. - Nutze bevorzugt diese CLI-Kommandos:
./scripts/deskbird.sh auth-check./scripts/deskbird.sh auth-refresh --format json./scripts/deskbird.sh auth-import --stdin --format json./scripts/deskbird.sh discovery./scripts/deskbird.sh parking-status./scripts/deskbird.sh parking-book-first- Setup bei frischem Upload:
python3 -m venv .venvsource .venv/bin/activatepip install -r requirements.txtpython -m playwright install chromiumchmod +x scripts/deskbird.sh
- Halte den Schonmodus aktiv (
DESKBIRD_SAFE_MODE=true) und sende keine Request-Stuerme. - Fuer Telegram-Reauth standardmaessig nur DevTools-Paste +
auth-importverwenden. auth-pair-*undauth-capturenicht als Standard im Chat vorschlagen.
Deterministischer Env-Pfad
- Verwende fuer alle Skill-Aufrufe den Wrapper
./scripts/deskbird.sh. - Der Wrapper setzt automatisch
--env-file <skill-root>/.envund verhindert damit CWD-bedingte Auth-Fehler. - Nur bei gezieltem Debugging darfst du
--env-fileexplizit auf eine andere Datei setzen.
Empfohlene Dauer-Auth (Broker-Basis)
- Hinterlege nach einmaliger Ermittlung in der Skill-
.env:DESKBIRD_FIREBASE_API_KEYDESKBIRD_FIREBASE_REFRESH_TOKEN
- Dann kann der Agent automatisch per
auth-refresheinen neuen Bearer holen, ohne jeden Login-Flow.
Pflichtdialog Vor Automatisierung
Wenn noch keine passende Cron-Session existiert, frage den Nutzer in genau dieser Reihenfolge:
Soll ich eine wiederkehrende Cron-Session dafuer anlegen?- Wenn ja:
Welcher Rhythmus? Default ist taeglich um 00:30 Uhr (Europe/Berlin), ein Lauf fuer den naechsten 24h-Blick. Was soll die Session pro Lauf genau tun?
Falls unklar, biete als Defaults an:Nur Uebersicht ueber alle buchbaren Objekte sendenUebersicht + Parkplatz automatisch buchen, wenn Regel erfuellt istNur monitoren, nie buchen
- Fasse Name, Rhythmus und Session-Aufgabe zusammen und hole eine letzte Bestaetigung ein.
Wenn der Nutzer keinen Rhythmus nennt, setze den Default: taeglich 00:30 (Europe/Berlin).
Reauth-Protokoll (immer vor Deskbird-Calls)
Fuehre vor Discovery/Status/Buchung immer zuerst aus:
./scripts/deskbird.sh auth-check --format json --min-valid-minutes 90
Auswertung:
- Wenn
requires_reauth=false: normal fortfahren. - Wenn
requires_reauth=true:- Wenn
DESKBIRD_FIREBASE_API_KEYundDESKBIRD_FIREBASE_REFRESH_TOKENvorhanden sind:- zuerst automatisch
./scripts/deskbird.sh auth-refresh --format json --min-valid-minutes 90ausfuehren. - nur wenn das fehlschlaegt, Nutzer um manuelle Reauth bitten.
- zuerst automatisch
- Ohne Firebase-Refresh-Creds: Nutzer aktiv fragen, ob Reauth jetzt gestartet werden soll.
- Wenn
- Manueller Reauth-Standard ist Token/Header-Paste aus Chrome DevTools.
Office-Discovery Pflicht
- Vor jeder Detailabfrage (
parking-status,parking-check,parking-book-first) zuerstdiscoveryausfuehren. --office-idist optional: Das CLI loest das Office automatisch ueberinternalWorkspacesauf.- Nur wenn mehrere Offices vorhanden und der Default unklar ist:
- zuerst
--office-name "<NAME_TEILSTRING>"verwenden, oder DESKBIRD_DEFAULT_OFFICE_IDin der Skill-.envsetzen.
- zuerst
- Der Agent soll den Nutzer nicht standardmaessig nach einer Office-ID fragen.
Reauth Via DevTools Paste
Wenn Reauth noetig ist, leite den Nutzer kurz an:
app.deskbird.comim Browser oeffnen und normal per SSO einloggen.- DevTools (
Network) oeffnen. - Einen
api.deskbird.comRequest anklicken. - Request-Header (
Authorization, optionalCookie,X-CSRF-Token,X-XSRF-Token) kopieren. - Header-Block in Telegram an den Bot senden.
Importiere den vom Nutzer gepasteten Block dann intern so:
cat <<'EOF' | ./scripts/deskbird.sh auth-import --stdin --format json
<PASTED_HEADER_BLOCK_OR_TOKEN>
EOF
Danach immer nochmals pruefen:
./scripts/deskbird.sh auth-check --format json --min-valid-minutes 90
Fallback:
- Nur wenn DevTools-Paste unmoeglich ist, manuelles
auth-captureanbieten.
Wenn Auth danach weiterhin ungueltig ist:
- Keine Buchungen ausfuehren.
- Klar melden, dass ohne erfolgreiche Reauth abgebrochen wird.
Verhalten In Cron-Laeufen
Cron-Laeufe muessen fehlertolerant und vorsichtig sein:
- Nie aggressive Retries oder enge Polling-Schleifen starten.
- Wenn Auth im Cron-Lauf nicht mehr gueltig ist, nicht blind weiterprobieren.
- Stattdessen eine Telegram-Nachricht senden mit klarer Handlungsaufforderung zur Reauth und den Lauf sauber beenden.
Cron-Session Erstellen/Aktualisieren
Nutze OpenClaw-Cron-Funktionen. Wenn Tooling verfuegbar ist, bevorzuge cron.add/cron.update; alternativ CLI:
openclaw cron add --name "Deskbird Daily" --schedule "30 0 * * *" --prompt "<SESSION_PROMPT>" --announce
Regeln:
- Verwende lokale Zeit (Europe/Berlin) fuer den Standard.
- Lege pro Aufgabe genau eine Cron-Session an (keine Duplikate).
- Aktualisiere bestehende Sessions statt neue Kopien anzulegen.
Session-Prompt Bauen
Beim Erstellen des Cron-Prompts nutze die Vorlage aus references/cron-session-template.md und ersetze Platzhalter fuer Zone/Regeln.
Ausgabeformat Gegenueber Dem Nutzer
Bei jedem Lauf (manuell oder Cron) liefere kompakt:
- Auth-Status (
okoderreauth_noetig) - Was geprueft wurde (Datum/Zonen/Objekttypen)
- Wichtige Treffer (frei/belegt/gesperrt, wer belegt)
- Ob eine Buchung durchgefuehrt wurde oder warum nicht
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!