CommunityCodierung & Entwicklunggithub.com

qqbot-remind

Erstellt, listet und bricht einmalige oder wiederkehrende QQ-Erinnerungen ab. Nur bei expliziten Benutzeranfragen verwenden; bei fehlenden Angaben wie Zeit, Inhalt oder Zeitzone nachfragen.

Was ist qqbot-remind?

Diese Fähigkeit ermöglicht es einem KI-Assistenten (z. B. Claude Code, Cursor, Codex), über einen QQ-Bot zuverlässig Erinnerungen für Benutzer zu erstellen, abzufragen und abzubrechen. Sie ist intelligent gestaltet: Der Assistent wird nur aktiv, wenn der Benutzer explizit eine Erinnerung, einen Alarm oder eine geplante Aufgabe anfordert. Bei unklaren Angaben (Zeit, Inhalt, Zeitzone oder Zielsitzung) fragt der Assistent nach, anstatt zu raten. Der primäre Weg ist das `qqbot_remind`-Tool, das relative Zeiten wie "5m" (5 Minuten) oder Cron-Ausdrücke für wiederkehrende Aufgaben akzeptiert. Falls dieses Tool nicht verfügbar ist, kann auf das `cron`-Tool zurückgegriffen werden, wobei strenge Regeln gelten: `payload.kind` muss `"agentTurn"` sein (damit die Nachricht per QQ zugestellt wird) und `schedule.atMs` muss ein absoluter Millisekunden-Zeitstempel sein. Die Fähigkeit enthält außerdem eine Entscheidungsmatrix, die häufige Anfragen in Aktionen übersetzt, sowie eine Cron-Referenztabelle. Die Zustellung erfolgt über den Kanal `"qqbot"`, wobei Einzelchat- und Gruppenchat-Adressen unterstützt werden. Nachrichten werden vom Assistenten je nach Aktion mit einem Emoji und einem warmen Ton formuliert (z. B. `⏰` für Erfolg, `📋` für leere Liste, `✅` für gelöschte Aufgabe). Zusammenfassend ist dies eine spezialisierte, robuste und benutzerzentrierte Lösung für zeitgesteuerte Erinnerungen innerhalb des QQ-Ökosystems.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/extensions/qqbot/skills/qqbot-remind

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

QQ Bot Zeitgesteuerte Erinnerungen

⚠️ Absichtsregeln

Verwenden Sie das Tool nur, wenn der Benutzer explizit verlangt, eine Erinnerung / einen Alarm / eine geplante Aufgabe zu erstellen, abzufragen oder abzubrechen. Rufen Sie das Tool nicht auf bei Smalltalk, hypothetischen Fragen, Erklärungen der Erinnerungsfunktion oder Diskussionen über zukünftige Pläne ohne Aufforderung zur Erstellung.

Wenn der Benutzer tatsächlich eine Erinnerung wünscht, haben Sie keinen Speicher und keinen Hintergrund-Thread. Ein mündliches Versprechen „Ich werde dich dann erinnern“ ist unwirksam – Sie müssen das Tool aufrufen, um die geplante Aufgabe tatsächlich zu registrieren. Fragen Sie bei Unklarheiten zu Zeit, Inhalt, Zielsitzung oder Zeitzone nach; raten Sie nicht für den Benutzer.


Empfohlener Ablauf (mit dem qqbot_remind-Tool)

Schritt 1: Rufen Sie das qqbot_remind-Tool mit einfachen Parametern auf:

ParameterBeschreibungBeispiel
actionAktionsart"add" / "list" / "remove"
contentErinnerungsinhalt"Wasser trinken"
toZieladresse (optional, wird automatisch bezogen, normalerweise nicht ausfüllen)—
timeZeit (relative Zeit oder Cron-Ausdruck)"5m" / "1h30m" / "0 8 * * *"
timezoneIANA-Zeitzone (für wiederkehrende Erinnerungen empfehlenswert)"Europe/Berlin" / "America/Los_Angeles"
jobIdAufgaben-ID (nur bei remove)"xxx"

Schritt 2: Antworten Sie dem Benutzer basierend auf dem Rückgabewert von qqbot_remind. qqbot_remind erstellt, fragt ab oder bricht Gateway-Cron-Aufgaben direkt ab; rufen Sie danach nicht das cron-Tool auf.

Beispiel

Benutzer sagt: „Erinnere mich in 5 Minuten daran, Wasser zu trinken“

  1. Rufen Sie qqbot_remind auf: { "action": "add", "content": "Wasser trinken", "time": "5m" }
  2. Nach erfolgreicher Rückmeldung des Tools antworten Sie: ⏰ Okay, ich erinnere dich in 5 Minuten daran, Wasser zu trinken ~

Alternativlösung (direkte Verwendung des cron-Tools)

Verwenden Sie dies nur, wenn das qqbot_remind-Tool nicht verfügbar ist, aber das cron-Tool verfügbar ist.

Kernregeln

payload.kind MUSS "agentTurn" sein, auf keinen Fall "systemEvent"! systemEvent injiziert nur Text in die KI-Sitzung, der Benutzer erhält keine QQ-Nachricht.

Unveränderliche Felder:

FeldFester WertGrund
payload.kind"agentTurn"systemEvent sendet keine QQ-Nachrichten
delivery.mode"announce"Aktiver Zustellmodus
delivery.channel"qqbot"QQ-Kanal-Kennung
delivery.toZieladresseWird aus dem aktuellen Sitzungskontext bezogen
delivery.accountIdAktuelle Konto-IDBei mehreren Konten unverzichtbar
sessionTarget"isolated"Isolierte Sitzung, um Verschmutzung zu vermeiden

schedule.atMs MUSS ein absoluter Millisekunden-Zeitstempel sein (z. B. 1770733800000); relative Zeichenfolgen wie "5m" werden nicht unterstützt. Berechnung: Aktueller Zeitstempel in ms + Verzögerung in ms.

Einmalige Erinnerung (schedule.kind = "at")

{
  "action": "add",
  "job": {
    "name": "{Aufgabenname}",
    "schedule": { "kind": "at", "atMs": "{Aktueller_Zeitstempel_ms + N*60000}" },
    "sessionTarget": "isolated",
    "wakeMode": "now",
    "deleteAfterRun": true,
    "payload": {
      "kind": "agentTurn",
      "message": "Du bist ein fürsorglicher Erinnerungsassistent. Erinnere den Benutzer auf warmherzige und unterhaltsame Weise an: {Erinnerungsinhalt}. Anforderungen: (1) Antworte nicht mit HEARTBEAT_OK (2) Erkläre nicht, wer du bist (3) Gib direkt eine herzliche Erinnerungsnachricht aus (4) Füge einen kurzen aufmunternden oder fürsorglichen Satz hinzu (5) Halte es auf 2-3 Sätze (6) Verwende Emojis zur Dekoration"
    },
    "delivery": {
      "mode": "announce",
      "channel": "qqbot",
      "to": "qqbot:c2c:{openid}",
      "accountId": "{accountId}"
    }
  }
}

Wiederkehrende Erinnerung (schedule.kind = "cron")

{
  "action": "add",
  "job": {
    "name": "{Aufgabenname}",
    "schedule": { "kind": "cron", "expr": "0 8 * * *", "tz": "{Vom Benutzer bestätigte IANA-Zeitzone}" },
    "sessionTarget": "isolated",
    "wakeMode": "now",
    "payload": {
      "kind": "agentTurn",
      "message": "Du bist ein fürsorglicher Erinnerungsassistent. Erinnere den Benutzer auf warmherzige und unterhaltsame Weise an: {Erinnerungsinhalt}. Anforderungen: (1) Antworte nicht mit HEARTBEAT_OK (2) Erkläre nicht, wer du bist (3) Gib direkt eine herzliche Erinnerungsnachricht aus (4) Füge einen kurzen aufmunternden oder fürsorglichen Satz hinzu (5) Halte es auf 2-3 Sätze (6) Verwende Emojis zur Dekoration"
    },
    "delivery": {
      "mode": "announce",
      "channel": "qqbot",
      "to": "qqbot:c2c:{openid}",
      "accountId": "{accountId}"
    }
  }
}

Wiederkehrende Aufgaben nicht deleteAfterRun hinzufügen. Das delivery.to-Format für Gruppenchats ist "qqbot:group:{group_openid}".


Cron-Ausdruck-Spickzettel

Szenarioexpr
Jeden Morgen um 8 Uhr"0 8 * * *"
Jeden Abend um 22 Uhr"0 22 * * *"
Werktags um 9 Uhr"0 9 * * 1-5"
Jeden Montag um 9 Uhr"0 9 * * 1"
Wochenenden um 10 Uhr"0 10 * * 0,6"
Jede volle Stunde"0 * * * *"

Für wiederkehrende Erinnerungen sollte die IANA-Zeitzone verwendet werden, die vom Benutzer explizit angegeben, aus dem Profil / der Sitzung zuverlässig abrufbar oder vom Benutzer bestätigt wurde. Wenn nicht bestimmbar, fragen Sie nach; gehen Sie nicht davon aus, dass alle Benutzer in der gleichen Zeitzone sind.


KI-Entscheidungsmatrix

Benutzeräußerungactiontime-Format
„Erinnere mich in 5 Minuten daran, Wasser zu trinken“add"5m"
„Erinnere mich in 1 Stunde an die Besprechung“add"1h"
„Erinnere mich jeden Tag um 8 Uhr zum Check-in“add"0 8 * * *"
„Erinnere mich an Werktagen um 9 Uhr“add"0 9 * * 1-5"
„Welche Erinnerungen habe ich?“list—
„Breche die Wasser-Erinnerung ab“remove—
„Ändere die Erinnerungszeit“remove → add—
„Erinnere mich“ (keine Zeit)Nachfragen—

Reine relative Zeiten („in 5 Minuten“, „in 1 Stunde“) können direkt berechnet werden, ohne Bestätigung. Bei Unklarheit oder Fehlen von Zeit, Datum, Intervall, Inhalt oder Zeitzone muss nachgefragt werden. Geben Sie bei wiederkehrenden Erinnerungen in der Antwort die interpretierte Ortszeit und die Zeitzone an.


Antwortvorlagen

  • Einmalig: ⏰ Okay, ich erinnere dich in {Zeit} an {Inhalt} ~
  • Wiederkehrend: ⏰ Verstanden, ich erinnere dich {Intervall} an {Inhalt} ~
  • Abfrage ohne Ergebnis: 📋 Du hast derzeit keine Erinnerungen. Sag „Erinnere mich in 5 Minuten an XXX“ und probiere es aus ~
  • Löschung erfolgreich: ✅ „{Name}“ wurde abgebrochen

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Verwandte Skills