提醒引擎:自然语言 AI 调度 - Openclaw Skills

作者:互联网

2026-03-30

AI教程

什么是 提醒引擎?

提醒引擎是一款强大的工具,旨在弥合人类意图与自动化调度之间的鸿沟。通过利用 Openclaw Skills,该智能体可以解析如“20分钟后提醒我”或“每个工作日 10:30”之类的自然语言命令,并将其转化为可靠的 cron 任务。它通过处理时区转换并在创建任何任务前要求明确确认,来确保高度准确性。

对于需要在不离开聊天或开发环境的情况下管理时间的用户来说,这项技能至关重要。无论是检查构建的一次性提示,还是每日站会的循环提醒,提醒引擎都提供了一种无缝、安全且高度可配置的方式,让您在 Openclaw Skills 生态系统中掌控各项任务。

下载入口:https://github.com/openclaw/skills/tree/main/skills/martok9803/martok9803-reminder-engine

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install martok9803-reminder-engine

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 martok9803-reminder-engine。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

提醒引擎 应用场景

  • 为即时任务(如伸展身体或检查部署情况)设置一次性警报。
  • 为会议和例行维护安排每日或每周的重复通知。
  • 通过列出、取消或推迟现有提醒来管理活跃日程。
  • 自动化系统事件通知,以在设定时间触发特定的工作流。
提醒引擎 工作原理
  1. 解析用户的自然语言意图,将提醒分类为一次性、循环或管理请求。
  2. 提取关键元数据,包括提醒消息、传递渠道和本地时区。
  3. 向用户展示确认摘要,详细说明计算出的时间表和消息,以防止出错。
  4. 执行 cron 工具,在 Openclaw Skills 框架内使用适当的调度类型(at 或 cron)注册任务。
  5. 通过列表、取消和推迟功能监控并管理任务生命周期。

提醒引擎 配置指南

要启用提醒引擎,请确保您的环境配置为支持 Openclaw Skills cron 工具。将该技能添加到您的智能体配置中:

openclaw install reminder-engine

验证您的环境变量中是否正确设置了本地时区,以确保计划任务在预定时间触发。

提醒引擎 数据架构与分类体系

提醒引擎为每个 cron 任务利用结构化有效负载,以确保一致性和可读性。

字段 类型 描述
jobId 字符串 计划任务的唯一标识符。
schedule.kind 字符串 一次性任务定义为 "at",循环任务定义为 "cron"。
payload.kind 字符串 标准通知设置为 "systemEvent"。
payload.text 字符串 人类可读的消息,前缀为 "Reminder:"。
tz 字符串 循环计划的 IANA 时区字符串。
name: reminder-engine
description: "Create, list, cancel, and snooze reminders using OpenClaw cron jobs (one-shot or recurring). Use when a user asks things like: 'remind me in 20 minutes', 'remind me tomorrow at 9', 'every weekday at 10:30', 'list my reminders', 'cancel reminder', or 'snooze this'. This skill focuses on safe scheduling (timezone-correct), confirmation before creating jobs, and clean reminder text that will read well when it fires."

Reminder Engine

Turn natural-language reminders into OpenClaw cron jobs.

Workflow

1) Parse intent

Classify the request:

  • One-shot: “in 20 minutes”, “tomorrow at 9”, “on March 1st at 10:00”
  • Recurring: “every day at 9”, “every weekday at 10:30”, “every Monday”, “every 2 hours”
  • Management: “list reminders”, “cancel X”, “disable/enable”, “snooze X”

Extract:

  • reminder text (what should be said when it fires)
  • delivery channel context (current chat unless user specifies otherwise)
  • timezone (default to the runtime timezone unless user specifies)

2) Confirm schedule (always)

Before creating/updating/removing jobs, echo back:

  • the computed schedule in human form (and timezone)
  • whether it’s one-shot or recurring
  • the exact reminder message text

If the user’s wording is ambiguous (“next Friday”, “in the morning”), ask a single clarifying question.

3) Create the cron job (reminders)

Use the cron tool.

Rules:

  • Prefer schedule.kind="at" for one-shots.
  • Prefer schedule.kind="cron" for recurring reminders (use tz when possible).
  • Use sessionTarget="main" and payload.kind="systemEvent".
  • Write payload text like a reminder: start with “Reminder:” (especially if the reminder is set far in advance).
  • Include light context if it helps (“Reminder: submit the invoice (you said you need this for the client call)”).

4) List / cancel / snooze

  • List: use cron.list, show jobId + next run + name/summary.
  • Cancel: cron.remove(jobId) (prefer cancelling by exact jobId; if user provides text, search list and confirm).
  • Snooze: implement as cancel+recreate (one-shot) or a one-shot override reminder.

Reminder text quality

  • Keep it short and action-oriented.
  • Avoid secrets.
  • If the reminder is for a public channel, warn the user.

Safety

  • Never create spammy recurring reminders without explicit confirmation.
  • Never “broadcast” reminders to multiple targets unless explicitly requested.
  • Never include access keys/tokens in reminder payloads.

Examples (what good looks like)

User: “remind me in 20 minutes to stretch”

  • Create one-shot at job.
  • Payload text: Reminder: stretch.

User: “every weekday at 10:30 remind me to stand up”

  • Create recurring cron job in local timezone.
  • Payload text: Reminder: stand up (weekday standup alarm).

User: “list my reminders”

  • List jobs; show ids so the user can say “cancel ”.

User: “cancel the stand up reminder”

  • List matching jobs, ask which one if multiple, then remove.