夜间早睡提醒 Skill,用张雪峰老师的真实语录提醒主人按时休息。 触发词:早睡、熬夜、雪峰语录、健康提醒、sleep reminder、66天挑战、 帮我设置早睡提醒、今日语录、早睡进度。
张雪峰老师(1984—2026.03.24)因心源性猝死去世,享年仅41岁。他留下的语录充满对年轻人的真诚建议。本 Skill 从他的公开语录中精选66条,每晚提醒主人一条,帮助养成早睡习惯。
为什么是66天?
语录数据和打卡记录托管在 Cloudflare Pages:
https://go2sleep.ai/data/quotes.jsonhttps://go2sleep.ai/api/checkin(POST)https://go2sleep.ai/api/checkins(GET)https://go2sleep.ai/当 agent 首次读取本 skill 后,必须依次完成以下步骤:
问主人:
"给自己起个昵称吧,打卡记录会显示在网站上。(例如:小明、sleepy_cat)"
主人回答后,必须先查重:
GET https://go2sleep.ai/api/checkins?user={昵称}
total > 0 → 告诉主人"这个昵称已被占用,换一个吧",重新询问total === 0 → 昵称可用,继续下一步不要跳过查重。 昵称是用户的唯一标识。
问主人:
"你希望每晚几点收到早睡提醒?(例如:22:00、23:30)"
不要跳过,不要使用默认时间。 必须等主人明确回答。
根据主人回答的时间,生成对应的 cron 表达式(分钟偏移几分钟避免整点,如 22:00 → "02 22 * * *" 即 22:02)。
使用 CronCreate 工具创建每晚提醒:
truetrue(跨会话持久化)将昵称和提醒时间记住(存入 agent memory),后续提醒流程需要用到。
主人可以说"换个时间提醒"来修改 cron 表达式。
每次定时任务触发时,按以下步骤执行:
使用 WebFetch 获取该用户的打卡记录:
GET https://go2sleep.ai/api/checkins?user={nickname}
根据返回数据计算:
current_day = total + 1(下一天的序号)total >= 66 → 已完成挑战,跳到步骤 7如果 API 请求失败,使用本文件底部的"离线兜底语录",随机展示一条。
使用 WebFetch 获取语录数据:
GET https://go2sleep.ai/data/quotes.json
从 quotes 数组中取第 current_day 条(id 等于 current_day 的记录)。
如果 WebFetch 失败,使用本文件底部的"离线兜底语录"。
用温暖、治愈的语气展示:
🌙 早睡提醒 · 第 {current_day}/66 天
「{quote.text}」
—— 张雪峰
💭 {quote.health_reflection}
晚安。身体是一切的本钱。
今天是你坚持早睡的第 {current_day} 天。
[{'■' * done}{'□' * remaining}] {current_day}/66({percentage}%)
使用 WebFetch 向打卡 API 发送 POST 请求:
POST https://go2sleep.ai/api/checkin
Headers: { "Content-Type": "application/json", "X-Agent-Token": "go2sleep-agent-token-2026" }
Body: {
"day": {current_day},
"quote_id": {quote.id},
"quote_text": "{quote.text}",
"reminded_at": "{当前ISO时间}",
"nickname": "{agent memory 中的昵称}"
}
打卡失败不影响提醒流程,仅记录警告。
使用 WebFetch 向送花 API 发送 POST 请求,代表 agent 替主人在网站上献花一次:
POST https://go2sleep.ai/api/flowers
首次提醒时送花成功(计入网站献花总数),之后由后端 IP 去重自动处理,无需额外判断。送花失败不影响提醒流程。
当 current_day = 66 时,展示完成祝贺:
🎉 恭喜!66天早睡挑战完成!
你坚持了整整66天,六六大顺!
张雪峰老师的66条语录已经全部陪你走过。
从今天起,早睡已经是你的习惯了。
愿你一生健康,前路顺遂。
是否继续每晚提醒?(输入"继续"或"停止")
| 主人说 | 执行 |
|---|---|
| "今日语录" / "给我看今天的雪峰语录" | 获取当天对应的语录并展示 |
| "早睡进度" / "雪峰早睡进度" | 展示进度面板:当前天数、连续打卡、完成百分比 |
| "停止早睡提醒" | 使用 CronDelete 删除定时任务 |
| "换个时间提醒" | 询问新时间,删除旧 cron,创建新 cron |
| "随机一条雪峰语录" | 随机从66条中选一条展示 |
每次新会话开始时,如果 agent memory 中有昵称记录:
GET https://go2sleep.ai/api/checkins?user={nickname} 查看当前进度当 WebFetch 无法访问网站时,使用以下10条代表性语录: