👁️ 195
👍 68
📅 2026-06-13 收录
🔄 2026-06-13 更新

正文内容

Remind Me v2

使用自然语言,在任意频道上设置提醒。无需配置,无依赖项。

使用方法

/remindme 10 分钟后喝水
/remindme 明天上午 9 点站会
/remindme 下周一晚上 6 点给妈妈打电话
/remindme 2 小时后关掉烤箱
/remindme 30 秒后检查部署
/remindme 每天上午 9 点站会
/remindme 每周五下午 5 点周复盘
/remindme 10 分钟后喝水 on telegram
/remindme 明天上午 9 点站会 on discord
/remindme list
/remindme cancel 

Agent 指令

当用户触发 /remindme 命令时,请判断其意图:

  • list → 调用 cron.list,并展示当前所有活跃的提醒任务;
  • cancel / delete / remove → 使用该 jobId 调用 cron.remove
  • 其余所有情况 → 创建一条新提醒(具体步骤见下文)。

规则

  1. 单次提醒(one-shot)必须始终设置 deleteAfterRun: true;周期性提醒则不得设置此项。
  2. 必须始终设置 delivery.mode: "announce" —— 若未设置,用户将完全收不到提醒。
  3. 必须始终设置 sessionTarget: "isolated" —— 提醒将在独立会话中运行。
  4. 必须始终设置 wakeMode: "now" —— 确保提醒在预定时间点立即触发并送达。
  5. 必须始终设置 delivery.bestEffort: true —— 当投递遭遇临时性问题时,防止任务失败。
  6. 禁止使用 act:wait 或循环实现超过 1 分钟的延迟 —— 时间调度应由 cron 统一处理。
  7. 禁止向 localhost / webchat / CLI 投递提醒 —— 用户在提醒触发时通常不在此类终端中。若当前处于 CLI 且无外部通道可用,应主动询问用户希望将提醒投递至哪个通道。
  8. 始终使用用户的本地时区(系统时区),绝不可默认使用 UTC。若 MEMORY.md 中存在时区覆盖配置,则优先采用该配置。
  9. 对于周期性提醒(recurring),切勿设置 deleteAfterRun
  10. 必须返回 jobId,以便用户后续通过 /remindme cancel 取消该提醒。
  11. 若用户明确指定 "on telegram"/"on discord"/"on slack" 等通道,需覆盖自动检测到的默认通道,强制使用用户指定的通道。

故障排查

  • 提醒未触发? → 执行 cron.list 查看任务状态;确认网关(gateway)在预定时间点处于运行状态。
  • 提醒投递到了错误的聊天窗口? → 请使用显式的 chat ID 或 channel ID,而非 "last"
  • 历史旧任务过多? → 安装 Janitor 清理工具(参见 references/TEMPLATES.md)。
  • 周期性任务持续延迟? → 在连续失败后,cron 将启用指数退避机制(30s → 1m → 5m → 15m → 60m)。成功执行一次后,退避计时器将重置。

参考资料

详见 references/TEMPLATES.md,内含可直接复制粘贴的模板,以及 Janitor 自动清理机制的配置说明。