Skip to content

zzyyww66/rhythmwake

Repository files navigation

RhythmWake / 眠律

一个不靠传感器、不联网、不耗电监测的智能闹钟。

眠律主视觉:睡眠周期机会点与轻唤醒时间线

RhythmWake(中文名:眠律)不是睡眠监测 App,也不是把“90 分钟周期”机械套到每个人身上的普通计算器。它参考十余篇睡眠周期、睡眠惯性、个体差异和唤醒声音相关研究与综述,做一个更轻量的选择:睡前打开,选择一个周期机会点,再保留一个强提醒兜底。

它不需要麦克风、运动传感器、相机、定位、账号或云服务。所有计算和学习都在手机本地完成。

目标很简单:少一点被强闹钟硬拽醒的痛苦,多一次温和起床的机会,同时不牺牲可靠性。

睡前只需要两步:

选一个轻唤醒机会点 -> 设置最晚强提醒

为什么做它

市面上很多“智能唤醒”产品很重:

  • 需要整夜运行传感器。
  • 需要麦克风、体动、可穿戴设备或联网服务。
  • 更耗电,也更容易让人担心隐私。
  • 有些产品会暗示自己能精准判断浅睡眠,但手机无传感器条件下很难支撑这种结论。

RhythmWake 选择另一条路:

  • 不监测你:不录音、不看体动、不联网。
  • 只做周期计算:把研究中的睡眠周期分布、个体差异和不确定性变成本地算法。
  • 越用越贴近你:根据轻唤醒响应、强提醒是否兜底、早晨反馈和入睡速度,慢慢更新个人节律模型。
  • 始终有强提醒兜底:轻唤醒可以失败,强提醒不能失败。

核心理念

睡眠周期不是固定 90 分钟。

研究显示,人类睡眠周期有很大的个体差异和夜间波动;常见周期中心接近 90-100 分钟,但分布很宽,前后周期也不完全相同。RhythmWake 不把某一个时间说成“检测到浅睡眠”,而是给出更诚实的表达:

周期机会点。

也就是:根据当前预计入睡时间、研究先验和你的历史反馈,这个时间更像是一次值得轻轻尝试唤醒的机会。

它怎么工作

睡前打开 App
-> App 估计入睡时间
-> 生成预计入睡后 4-9 小时内的周期机会点
-> 你选择一个轻唤醒点
-> 再设置一个最晚强提醒
-> 轻唤醒先温和尝试
-> 如果没有确认起床,强提醒按时兜底
-> 早晨反馈帮助模型慢慢变准

眠律工作流程:从上床时间到早晨反馈

轻唤醒不是普通闹钟:

  • 声音从 0 渐强到较低音量。
  • 10 秒内没有点击“我已起床”就自动停止。
  • 自动停止不会取消强提醒。
  • 正常响铃时不震动;只有静音、震动模式或闹钟音量为 0 时才震动。

强提醒负责可靠:

  • 声音同样渐强。
  • 没有自动超时。
  • 必须由用户停止。

主要功能

  • 周期机会点时间轴
  • 推荐轻唤醒与备选轻唤醒
  • 强提醒兜底
  • 锁屏全屏闹钟
  • 轻唤醒 10 秒自动停止
  • 晨间反馈
  • 本地个人睡眠周期模型
  • 历史页:日历概览、趋势图、夜晚明细
  • 手动 JSON 导入导出,方便换手机迁移数据
  • 权限诊断:精确闹钟、通知、全屏提醒、电池优化

眠律历史页:日历概览与上床起床趋势

研究启发

RhythmWake 的算法不是玄学规则,也不是简单的“睡 6 小时/7.5 小时/9 小时”。它吸收了十余篇睡眠周期、睡眠动态、睡眠惯性和唤醒声音研究/综述中的可落地结论:

  • 睡眠周期不是严格固定 90 分钟。
  • 周期长度有明显个体差异,同一个人的多夜规律也有一定稳定性。
  • 前半夜与后半夜睡眠结构不同,过早轻唤醒要更保守。
  • 睡眠不足、昼夜节律和醒来时的睡眠状态都会影响睡眠惯性。
  • 声音和唤醒方式会影响醒后体验,但不能承诺某种声音对所有人都有效。
  • 没有 EEG/PSG 等传感器时,不应声称检测到 REM、NREM、深睡或浅睡。

因此,RhythmWake 把论文结论放在它能承受的位置:作为周期先验、安全边界、学习规则和产品文案约束,而不是伪装成实验室睡眠分期仪。

核心参考文献

方向 文献 DOI / 链接 在 RhythmWake 中的作用
睡眠周期长度与变异 Cajochen et al. Ultradian sleep cycles: Frequency, duration, and associations with individual and environmental factors. Sleep Health, 2024. 10.1016/j.sleh.2023.09.002 冷启动周期先验、拒绝固定 90 分钟、前半夜保护边界。
多夜个体差异与可预测性 Leguia et al. Variability and predictability in human sleep. Brain Communications, 2025. 10.1093/braincomms/fcaf469 支持“同一人的多夜节律有可学习成分”,但拒绝把 sqEEG 预测能力迁移成手机无传感器检测。
睡眠动态结构的个体表型 Kishi & Van Dongen. Phenotypic Interindividual Differences in the Dynamic Structure of Sleep in Healthy Young Adults. Nature and Science of Sleep, 2023. 10.2147/NSS.S392038 支持慢学习个人节律,而不是只依赖群体均值。
连续睡眠动态与分形周期 Rosenblum et al. Fractal cycles of sleep, a new aperiodic activity-based definition of sleep cycles. eLife, 2024. 10.7554/eLife.96784 支持“不画伪睡眠阶段图”,把睡眠当作连续动态过程处理。
睡眠惯性综述 Hilditch & McHill. Sleep inertia: current insights. Nature and Science of Sleep, 2019. 10.2147/NSS.S188911 强提醒可靠优先;短睡、昼夜节律和醒来状态都会影响醒后迟钝。
睡眠阶段、睡眠长度与醒后注意 Matchock & Mordkoff. Effects of sleep stage and sleep episode length on the alerting, orienting, and conflict components of attention. Experimental Brain Research, 2014. 10.1007/s00221-013-3790-z 早晨反馈只问主观体验,不把“做梦”直接标记为 REM。
唤醒声音与睡眠惯性 McFarlane et al. Alarm Tones, Voice Warnings, and Musical Treatments: A Systematic Review of Auditory Countermeasures for Sleep Inertia in Abrupt and Casual Awakenings. Clocks & Sleep, 2020. 10.3390/clockssleep2040031 轻唤醒采用渐强、低刺激;同时不承诺某种声音对所有人都有效。

更详细的算法说明见:

隐私与轻量

眠律隐私与轻量:无麦克风、无传感器、无云端上传

RhythmWake 当前版本不声明以下权限:

  • INTERNET
  • 麦克风
  • 相机
  • 位置
  • 身体传感器
  • 运动识别
  • 账号

核心数据只保存在本地 Room 数据库中。你可以手动导出 JSON 文件,并在新手机上导入。这个文件由你自己保存和传输,App 不会上传。

下载与安装

从 GitHub Releases 下载正式 APK:

app-release.apk

安装后建议检查:

  • 通知权限
  • 精确闹钟权限
  • 全屏提醒权限
  • 电池优化设置

Android 不同厂商对后台和闹钟限制不同,如果你依赖它叫醒,请务必先在自己的手机上做一次真机测试。

构建

本仓库使用项目内本地工具链:

source scripts/env.sh
./gradlew :app:assembleDebug

Debug APK:

app/build/outputs/apk/debug/app-debug.apk

Release APK:

app/build/outputs/apk/release/app-release.apk

发布说明见 INSTALL.mddocs/06_测试与发布说明.md

科学边界

RhythmWake 不诊断、不监测、不治疗睡眠障碍。

它不会告诉你:

  • “检测到浅睡眠”
  • “检测到 REM 结束”
  • “你现在处于深睡”
  • “这个时间一定醒来更清醒”

它只做一件更诚实的事:

在不使用传感器的前提下,根据研究先验和你的历史反馈,给出更可能适合作为轻唤醒尝试的周期机会点,并始终保留强提醒兜底。

About

轻量离线的 Android 睡眠周期闹钟:无传感器、无联网、本地学习,提供轻唤醒机会点与强提醒兜底。

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors