返回顶部
s

sleep-snooze睡眠静音

Snooze incoming notifications during your sleep window and receive a morning digest when you wake up. Supports Telegram, WhatsApp, and any provider OpenClaw is connected to.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.2
安全检测
已通过
370
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

sleep-snooze

睡眠免打扰

你拥有一个睡眠通知免打扰系统。当用户处于睡眠时段时,收到的消息应被静默排队,而非立即送达。在唤醒时间,系统会自动发送一份晨间摘要,汇总所有排队消息。

睡眠时间表

用户的睡眠时间表通过环境变量配置:

  • - SLEEPSTART — 开始免打扰的时间(24小时制,例如 22:00)
  • WAKETIME — 发送摘要并恢复正常通知的时间(例如 06:00)
  • TIMEZONE — IANA时区(例如 Asia/Kolkata、America/New_York、Europe/London)

斜杠命令

用户可以直接在聊天中调用以下斜杠命令:

  • - /sleep — 立即手动激活睡眠模式(覆盖时间表)
  • /wake — 立即手动停用睡眠模式并触发晨间摘要
  • /snooze-status — 显示睡眠模式是否激活、有多少条消息在排队,以及摘要将在何时发送
  • /snooze-setup — 交互式配置睡眠开始时间、唤醒时间和时区
  • /snooze-history — 显示最近7天的摘要汇总

睡眠时段行为

在向用户发送任何消息之前——包括主动通知、摘要、心跳、周报、股票提醒、备份确认或任何其他自动报告——请先检查睡眠状态:

bash
node ~/.openclaw/skills/sleep-snooze/scripts/status.js

如果 isSleeping 为 true,则不要发送。改为将其排队(见下文)。这既适用于来自他人的传入消息,也适用于你即将主动发送的外发消息。

睡眠期间的传入消息

当睡眠时段内收到消息或通知时:

  1. 1. 不要发送推送通知或立即回复。
  2. 调用 node ~/.openclaw/skills/sleep-snooze/scripts/queue-message.js,将消息负载存储到本地队列中。
  3. 静默确认——在睡眠时段内不要向发送者发送任何回复,除非消息被标记为紧急(见下方紧急规则)。

睡眠期间你生成的外发消息

当你(或任何代理)即将发送主动消息——状态更新、摘要、报告、心跳——时,请使用 gate.js 而非直接发送。它会自动处理睡眠检查和排队:

bash
node ~/.openclaw/skills/sleep-snooze/scripts/gate.js \
--provider \
--sender-id \
--sender-name \
--message <完整消息文本>

退出码:

  • - 0 — 正在睡眠,消息已排队——不要发送
  • 2 — 正在睡眠但紧急——发送时添加 🚨 前缀
  • 3 — 已唤醒——正常发送

对所有外发消息使用 gate.js。它会根据实际当前时间与时间表进行比对,因此即使睡眠模式的定时任务未运行也能正常工作。

紧急规则

某些消息会绕过免打扰,无论是否在睡眠时段都会立即送达。如果满足以下任一条件,消息将被视为紧急:

  • - 发送者在用户的VIP联系人列表中(存储在 ~/.openclaw/skills/sleep-snooze/data/vip-contacts.json)
  • 消息包含以下任一关键词(不区分大小写):urgent、emergency、critical、911、help me
  • 消息被发送系统明确标记为优先级

对于紧急消息:正常送达,并在通知前添加 🚨 [紧急 - 睡眠期间收到]。

晨间摘要

每天在 WAKE_TIME 时间,自动执行:

  1. 1. 调用 node ~/.openclaw/skills/sleep-snooze/scripts/digest.js 生成并发送摘要。
  2. 摘要按发送者分组消息,显示数量,并包含每个对话线程的简要总结。
  3. 发送后,队列被清空。

摘要格式(每个提供商发送为一条消息):

🌅 早上好!以下是您睡觉时收到的消息:

📬 来自 Alex 的 3 条消息
• 嘿,你明天有空吗?
• 还想分享这篇文章...
• 算了,回头聊!

📬 来自 GitHub 通知的 1 条消息
• PR #42 已合并到主分支

📬 来自服务器监控机器人的 2 条消息
• 03:14 CPU 峰值——已解决
• 磁盘使用率 78%——有空时检查

回复任何发送者的姓名即可回复他们的消息。

设置说明

当用户首次运行 /snooze-setup 时:

  1. 1. 询问他们的睡眠开始时间(例如您通常几点睡觉?)
  2. 询问他们的唤醒时间(例如您通常几点起床?)
  3. 询问他们的时区(提供使用 date +%Z 自动检测的选项)
  4. 运行 node ~/.openclaw/skills/sleep-snooze/scripts/sleep-init.js 写入配置并注册定时任务
  5. 向用户确认时间表:睡眠免打扰已设置:🌙 晚上10:00 → ☀️ 早上6:00(IST)。我会在夜间排队通知,并在早上6:00发送您的摘要。

状态管理

睡眠模式状态存储在 ~/.openclaw/skills/sleep-snooze/data/state.json:
json
{
sleepStart: 22:00,
wakeTime: 06:00,
timezone: Asia/Kolkata,
manualOverride: false,
isSleeping: false,
lastDigestAt: 2025-01-15T06:00:00.000Z
}

消息队列存储在 SQLite 数据库中,路径为 ~/.openclaw/skills/sleep-snooze/data/queue.db。

重要说明

  • - 睡眠免打扰同时适用于所有已连接的提供商(Telegram、WhatsApp、Discord、Slack、Signal)。
  • 如果用户在睡眠时段询问我错过了什么吗?或类似问题,请检查队列大小并回复:您有X条消息在排队。我将在[唤醒时间]发送您的摘要。
  • 如果用户自己在睡眠时段发送消息,表示他们已醒来——暂时暂停睡眠模式30分钟。
  • 切勿丢弃消息。如果发送失败,请在下一个摘要周期重试。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 sleep-snooze-1776287459 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 sleep-snooze-1776287459 技能

通过命令行安装

skillhub install sleep-snooze-1776287459

下载

⬇ 下载 sleep-snooze v1.0.2(免费)

文件大小: 18.24 KB | 发布时间: 2026-4-16 17:49

v1.0.2 最新 2026-4-16 17:49
Fix: time-based sleep check (no longer depends on cron flipping isSleeping); gate.js wrapper for all outgoing sends; dm-guard hook auto-replies to DM senders during sleep

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部