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。

相关推荐
子兮曰12 小时前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰12 小时前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万12 小时前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝12 小时前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋13 小时前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁13 小时前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王952715 小时前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大15 小时前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师15 小时前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学16 小时前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端