Install
openclaw skills install @55zhang/sleep-optimizer基于循证睡眠医学和生活阶段的个性化睡眠改善计划生成器(Node.js 实现,含可视化图表)。用户输入 sleep-optimizer(或 /sleep-optimizer)主动调用,或询问任何睡眠相关问题(睡眠、失眠、入睡困难、作息调整、睡眠质量、熬夜恢复、期末/考研期间睡眠等)时自动触发:先按问题框架收集睡眠数据,再生成含可视化图表的个性化睡眠改善计划
openclaw skills install @55zhang/sleep-optimizer基于国内外高影响因子期刊的睡眠科学研究,结合个体生活阶段特征,分析睡眠模式并生成科学、可行的渐进式睡眠改善计划。
以下任一情况自动触发本技能(无需用户手动指定):
sleep-optimizer 或 /sleep-optimizer触发后立即执行【工作流程】:先按「数据收集」问题框架逐项询问用户(一次问完,等待用户回复),收集完整后再运行脚本生成报告。
freshman - 大一生活(适应新环境,建立节律)sophomore - 大二生活(学业加重,平衡活动)junior - 大三生活(专业深入,未来规划)senior - 大四生活(毕业设计,求职升学)postgraduate_prep - 考研备考(高强度学习,记忆巩固关键)civil_service_prep - 考公备考(逻辑思维,考试压力)skill_training_physical - 技能培养-体力型(运动/舞蹈/体育,恢复需求)skill_training_mental - 技能培养-脑力型(编程/语言/乐器,认知负荷)vacation - 假期阶段(放松恢复,保持节律)final_review - 期末复习周(短期高压,临时调整)exam_week - 考试周(保持状态,配合考试)internship_work - 实习/工作(职场适应,通勤压力)询问用户(问题框架,全部问完等用户一次回复):
- 昨晚几点上床准备睡觉?(闭上眼睛的时刻)
- 今早几点起床?
- 有午睡吗?如果有,几点开始几点结束?
- 白天会感到困倦吗?几次?大概什么时间?持续多久?
- 困倦时有没有小睡?小睡了多久?
- 你目前处于什么生活阶段?(从以下 12 项中选最符合的一项)
(大一/大二/大三/大四/考研备考/考公备考/技能培养-体力型/技能培养-脑力型/假期/期末复习周/考试周/实习工作)
生活阶段与代码对应关系(用于脚本参数):
| 中文 | 代码 |
|------|------|
| 大一 | freshman |
| 大二 | sophomore |
| 大三 | junior |
| 大四 | senior |
| 考研备考 | postgraduate_prep |
| 考公备考 | civil_service_prep |
| 技能培养-体力型 | skill_training_physical |
| 技能培养-脑力型 | skill_training_mental |
| 假期 | vacation |
| 期末复习周 | final_review |
| 考试周 | exam_week |
| 实习/工作 | internship_work |
根据选择的生活阶段,应用相应的睡眠参数:
| 生活阶段 | 推荐睡眠 | 午睡建议 | 特殊考虑 |
|---|---|---|---|
| 大一 | 7.5-8.5h | 15分钟 | 建立规律,避免社交时差 |
| 大二 | 7.0-8.0h | 15分钟 | 学业平衡,时间管理 |
| 大三 | 7.0-8.0h | 15分钟 | 专业深入,科研压力 |
| 大四 | 7.0-8.0h | 20分钟 | 毕业论文,求职面试 |
| 考研备考 | 7.0-7.5h | 20分钟 | 记忆巩固优先,避免<6h |
| 考公备考 | 7.0-7.5h | 15分钟 | 逻辑思维,模拟考试作息 |
| 技能-体力 | 8.0-9.0h | 30分钟 | 肌肉恢复,训练后小睡 |
| 技能-脑力 | 7.5-8.5h | 20分钟 | REM睡眠对程序记忆重要 |
| 假期 | 7.5-9.0h | 可选 | 保持节律,差异<2h |
| 期末复习 | 6.5-7.5h | 20分钟 | 短期调整,避免连续熬夜 |
| 考试周 | 7.0-8.0h | 15分钟 | 配合考试时间,保持警觉 |
| 实习/工作 | 7.0-8.0h | 15分钟 | 通勤适应,午休恢复 |
| 时间点 | 确定原则 |
|---|---|
| 夜间上床时间 | 基于生活阶段推荐时长和固定起床时间倒推;高压阶段提前15分钟放松;体力型取上限 |
| 夜间起床时间 | 固定优先;高压阶段建议不早于06:30;根据通勤调整 |
| 午睡开始时间 | 13:00-15:00窗口;体力型可延长至30分钟;备考期20分钟最佳 |
| 午睡结束时间 | 根据阶段需求:常规10-20分钟,体力型可达30分钟,避免睡眠惯性 |
基础框架:
生活阶段定制:
收集完用户数据后,将生活阶段代码与数据传入脚本执行:
node scripts/sleep_calculator.js \
--lifestyle <阶段代码> \
--bedtime HH:MM \
--wakeup HH:MM \
[--nap-start HH:MM] [--nap-end HH:MM] \
[--drowsiness '<json>' 或 @文件路径] \
[--output 报告.md]
提示:Windows 命令行传 JSON 引号容易转义出错,
--drowsiness支持@文件路径写法(如--drowsiness @drowsiness.json),推荐在 Windows 下使用。注意 JSON 文件需为 UTF-8 无 BOM(PowerShell 的Set-Content -Encoding UTF8会加 BOM 导致解析失败)。
将脚本输出的报告整理后呈现给用户;若用户需要,可另存为 Markdown 文件。
注:脚本为 Node.js 实现(零第三方依赖,仅需 Node.js 内置模块),不再依赖 Python。 使用
--output 报告.md时,会同时生成同名报告.chart.svg可视化图表文件(可直接用浏览器/图片查看器打开)。
生成包含以下内容的完整报告:
--output 时另附 SVG 图表文件)
sleep-optimizer/
SKILL.md # 技能主文件
scripts/
sleep_calculator.js # 睡眠计算核心脚本(Node.js,含生活阶段模块与可视化图表)
references/
sleep-science-references.md # 基础睡眠科学研究参考文献
lifestyle-sleep-references.md # 生活阶段睡眠研究参考文献
assets/
sleep-diary-template.md # 睡眠日记模板
用户:"我在准备考研,最近睡眠很差,帮我分析一下"
助手:
"我来帮你分析睡眠情况并制定改善计划。请告诉我:
1. 昨晚几点上床准备睡觉?
2. 今早几点起床?
3. 有午睡吗?
4. 白天会感到困倦吗?
5. 你目前处于考研备考阶段,对吗?"
[收集数据后,设置 lifestyle="postgraduate_prep",运行脚本生成报告]
用户:"马上期末复习周了,天天熬夜背不完,睡眠也乱,帮我看看"
助手:
"我来帮你制定期末复习周的睡眠方案。请告诉我:
1. 昨晚几点上床准备睡觉?
2. 今早几点起床?
3. 白天会困倦吗?几次?大概什么时间?
4. 有午睡吗?几点到几点?
5. 你目前处于期末复习周,对吗?"
[设置 lifestyle="final_review",运行:
node scripts/sleep_calculator.js --lifestyle final_review --bedtime 23:30 --wakeup 06:30 \
--nap-start 13:00 --nap-end 13:20,生成短期睡眠银行策略报告]
用户:"我是体育生,训练后总是睡不好"
助手:
"我来帮你优化训练期的睡眠。请提供:
1. 昨晚几点上床?
2. 今早几点起床?
3. 训练通常在什么时间?强度如何?
4. 有午睡吗?
5. 白天困倦情况?"
[设置 lifestyle="skill_training_physical",生成体力型恢复方案]
详见 references/sleep-science-references.md
详见 references/lifestyle-sleep-references.md
版本: 2.3.0 | 更新: 新增可视化图表(效率条/时长对比/睡眠窗口甘特图/执行节奏/睡眠结构参考图 + SVG 图表文件),全部附科学依据