desk-health-web-community-post

我做了一个给长期盯屏人群用的开源健康助手

写代码、写文档或做设计时,人很容易连续盯屏很久,忘记休息,也忘记眨眼。于是我做了一个开源的网页端工位健康助手:Desk Health Web

护眼与工作节奏

项目支持 20-20-20 护眼、番茄钟、深度工作和久坐活动等节奏,专注间隔与休息时长可以自定义。

提醒出现后,用户可以选择休息 1 分钟、按设置时长休息、稍后继续或跳过。

高自由度的提醒设置

提醒不是固定的一种模式,而是可以按自己的工作习惯组合:

  • 可选系统强提醒,让后台网页也能发送浏览器系统通知;
  • 休息开始提示音可以单独开关;
  • 休息结束后的"该工作了"语音可以单独开关;
  • 可以设置勿扰时段,只保留页面提醒、不播放声音;
  • 未处理的休息提醒会继续追提醒,每隔 20 秒更换搞怪文案、语音和通知;
  • 点击休息、稍后继续或跳过后,追提醒立即停止。

追提醒不是强制流程,而是对"容易忽略提醒"的一种可选增强。当前内置的文案包括:

你的眼睛发来一封辞职信。
检测到椅子正在绑架你。
屏幕不会趁你休息时逃跑,它连腿都没有。

系统通知的具体表现会受到浏览器权限和操作系统通知设置影响;网页本身无法绕过系统的"请勿打扰"或权限限制。

浏览器本地眨眼监测

项目使用 MediaPipe Face Landmarker 在浏览器本地统计眨眼次数,展示:

  • 本次眨眼次数;
  • 最近 60 秒眨眼频率;
  • 当前闭眼评分;
  • 低于设定阈值时的主动眨眼提醒。

低眨眼提醒只显示 1 秒,然后恢复之前的计时状态,尽量减少打断。

干眼护理与语音提醒

干眼护理模式可以帮助记录医生已经给出的护理安排:

  • 每日热敷提醒与热敷倒计时;
  • 自定义用药名称和时间;
  • 今日热敷、用药完成记录;
  • 稍后提醒和今日跳过。

提醒语音使用 Web Speech API,提示音使用 Web Audio API,内置 12 种原创风格。休息开始和结束语音可以分别关闭,设置会保存在当前浏览器中。

这里需要特别说明:它不是医疗软件,不做诊断,不提供治疗方案或用药剂量建议,只帮助用户提醒和记录既有安排。

隐私优先的纯前端方案

  • 没有后端服务,不需要注册账号;
  • 摄像头画面只在当前浏览器中交给 MediaPipe 处理;
  • 不上传视频、图片或眨眼统计;
  • 设置和今日记录只保存在 LocalStorage;
  • 不开摄像头也能使用计时、提醒和干眼护理;
  • 可以直接部署到 GitHub Pages 或自己的静态服务器。

技术栈与后续计划

项目使用 HTML、CSS、JavaScript、MediaPipe Face Landmarker、WebRTC、Notification API、Web Speech API、Web Audio API 和 LocalStorage,没有后端,也没有复杂构建流程。

后续计划:

  • 支持自定义追提醒间隔和文案;
  • 支持导出本地统计;
  • 增加 PWA 桌面安装;
  • 支持自托管 MediaPipe 模型;
  • 继续优化移动端和浏览器兼容性。

欢迎体验和反馈

我想了解:

  1. 你通常需要哪种提醒:声音、系统通知,还是页面弹窗?
  2. 你会如何组合专注、休息、眨眼和干眼护理设置?
  3. 你更希望下一步增加自定义文案、统计导出,还是 PWA 安装?

欢迎在评论区或 GitHub issue 中反馈。如果这个项目对你有帮助,也欢迎点一个 Star。

相关推荐
To_OC7 小时前
别再瞎写 React Router!7 个高频踩坑点一次性讲透
前端·javascript·react.js
岭南灯火9 小时前
前端通用交互式几何编辑器的开发经验
前端·设计模式·架构
岭南灯火9 小时前
前端通用交互式几何编辑器的设计法则 7 - 设计模式与原则
前端·设计模式·架构
岭南灯火9 小时前
前端通用交互式几何编辑器的设计法则 4 - 绘制、悬停与编辑
前端·设计模式·架构
岭南灯火9 小时前
前端通用交互式几何编辑器的设计法则 3 - 数据对象的设计
前端·javascript·架构
Jackson__9 小时前
从 LLM 到 Agent:一篇文章搞懂 AI 圈热词!
前端·agent·ai编程
岭南灯火9 小时前
前端通用交互式几何编辑器的设计法则 2 - 交互事件流
前端·javascript·架构
岭南灯火9 小时前
前端通用交互式几何编辑器的设计法则 6 - 配套设施与工程化
前端·设计模式·架构
岭南灯火9 小时前
前端通用交互式几何编辑器的设计法则 5 - 辅助元素的设计
前端·设计模式·架构
岭南灯火9 小时前
前端通用交互式几何编辑器的设计法则 1 - 入口的对象及其成员
前端·javascript·架构