Skip to content

Repository files navigation

CodeFuel — 程序员加油站

在 VibeCoding 的同时劳逸结合 — 一站式程序员健康助手

CodeFuel 是一款专为程序员设计的健康管理工具,帮助你在高强度编码时保持劳逸结合。集智能计时、健康看板、放松教程、AI 建议和炫酷黑科技于一体。

项目起源

本项目为 TRAE 创意大赛参赛作品,主题为「程序员加油站——在 VibeCoding 的同时劳逸结合」。

两种使用方式

方式一:单页应用(推荐体验)

打开 codefuel.html 即可使用全部功能,无需安装任何依赖。

# 直接用浏览器打开,或启动本地服务器
python -m http.server 8090
# 然后访问 http://localhost:8090/codefuel.html

方式二:浏览器插件(日常使用)

codefuel-extension/ 文件夹加载为 Chrome/Edge 插件,后台常驻运行。

# Chrome: 地址栏输入 chrome://extensions/
# Edge:   地址栏输入 edge://extensions/
# 1. 打开「开发者模式」
# 2. 点击「加载已解压的扩展程序」
# 3. 选择 codefuel-extension 文件夹

功能总览

核心模块

模块 功能 说明
智能计时器 番茄钟 25/5、52/17 法则、自由模式 三种工作节奏,圆环进度可视化,专注结束自动暂停等待确认
健康看板 编码时长、休息次数、疲劳指数、健康评分 实时统计今日数据,周图表趋势,饮水追踪(8 杯),连续打卡天数
放松教程 眼部放松、颈椎拉伸、正念呼吸、肩背活动、手部放松、腰部拉伸 6 套引导式放松课程,步骤式动画,呼吸引导圆
AI 建议 智能健康分析 根据编码时长、休息频率、饮水量动态生成个性化建议
设置 自定义时长、提醒开关、声音 番茄钟/52/17/自由模式切换,专注/休息时长滑块调节

黑科技实验室(11 项炫酷功能)

功能 标签 说明
颈椎瑜伽教练 原创 全屏沉浸式颈部运动引导,6 组动作完整课程,页面随动作缓慢倾斜,配合呼吸节奏和进度追踪
沉浸式休息空间 NEW 全屏星空/极光/深海三种场景,80 颗闪烁星星 + 星云动画,呼吸引导 + 倒计时
智能水滴提醒 COOL 屏幕顶部水滴下落动画提醒喝水,喝水后水波纹扩散效果,每 45 分钟自动触发
久坐脉冲警报 HOT 检测鼠标键盘活动,30 分钟无活动时屏幕边缘红色脉冲呼吸警告
番茄花园 NEW 每完成一轮专注种一棵树,连续 3 轮开花,10 棵解锁森林成就,看板页可视化花园
护眼色温模式 COOL 根据时间自动调节页面色温,18 点后暖黄滤镜,22 点后加深暖色,减少蓝光
疲劳渐变滤镜 NEW 编码越久页面越模糊变暖,1h 轻微、2h 明显、3h 红色危险警告
强制休息锁屏 COOL 休息时全屏沉浸式呼吸引导覆盖屏幕,10 秒倒计时后才能解锁
粒子庆祝效果 NEW 完成专注时 60 颗彩色粒子从屏幕中心爆炸扩散 + 闪光效果
3D 视差倾斜 COOL 页面跟随鼠标移动产生 3D 倾斜深度感,卡片分层浮动
粒子效果试玩 DEMO 一键触发粒子爆炸预览

计时器行为

专注中 (25:00 → 00:00)
  │
  ├─ 时间到 → 暂停计时器 → 弹出休息通知
  │              │
  │              ├─ 点击「开始休息」→ 恢复计时器 → 休息倒计时 (05:00 → 00:00)
  │              ├─ 点击「跳过」→ 直接进入下一轮专注
  │              └─ 点击「×」→ 关闭通知(计时器保持暂停)
  │
  └─ 休息结束 → 自动进入下一轮专注

快捷键

快捷键 功能
Space 开始 / 暂停计时器
R 重置计时器
Esc 关闭放松弹窗
Shift + T 运行单元测试

单元测试

内置 213 个自动化单元测试,覆盖所有模块:

测试模块 测试数 覆盖内容
计时器 Timer 21 初始化、启动/暂停/重置、tick 递减、force 跳过、模式切换、暂停验证
通知 Notification 17 显示/隐藏、accept/skip、防重复、timeout 管理、display 控制
看板 Dashboard 17 编码时长、疲劳指数、周图表、饮水追踪、健康评分、时间线
放松 Relax 15 弹窗开关、步骤导航、4 种程序验证
AI 建议 5 默认建议、疲劳预警、饮水提醒、正面反馈、分析数据
设置 Settings 10 保存/加载、开关状态、范围值
数据 Data 13 存储/读取、清空今日/全部、空数据安全
边缘案例 Edge Cases 32 快速连点、负数值、零除法、null 数据、极端值、视图切换
黑科技 Black Tech 83 颈椎瑜伽、休息空间、水滴提醒、久坐检测、番茄花园、护眼色温、倾斜、疲劳滤镜、锁屏、粒子、视差

运行测试

# 方式一:URL 参数自动运行
http://localhost:8090/codefuel.html?test=1

# 方式二:页面内按 Shift + T

测试结果以全屏报告展示,包含通过/失败统计、分类明细、失败详情,同时输出到浏览器控制台。

文件结构

CodeFuel/
├── codefuel.html              # 主应用(单文件,包含全部功能 + 单元测试)
├── index.html                 # 大赛展示页(第一版,含 inline SVG 插画)
├── codefuel-preview.html      # 浏览器插件视觉预览页
├── README.md                  # 项目说明(本文件)
├── codefuel-extension/        # Chrome/Edge 浏览器插件
│   ├── manifest.json          #   插件清单 (Manifest V3)
│   ├── background.js          #   后台服务 (计时器/通知/活动检测)
│   ├── popup/
│   │   ├── popup.html         #   弹窗界面
│   │   ├── popup.css          #   弹窗样式
│   │   └── popup.js           #   弹窗逻辑
│   ├── content/
│   │   └── content.js         #   内容脚本 (编码活动检测 + 内联提醒)
│   ├── options/
│   │   ├── options.html       #   设置页面
│   │   └── options.js         #   设置逻辑
│   ├── icons/
│   │   ├── icon16.png         #   16x16 图标
│   │   ├── icon48.png         #   48x48 图标
│   │   └── icon128.png        #   128x128 图标
│   └── README.md              #   插件安装说明
├── codefuel-vscode/           # VS Code 插件
│   ├── package.json           #   扩展清单 (commands, configuration)
│   ├── extension.js           #   扩展主逻辑 (状态栏计时器 + Webview 面板)
│   └── README.md              #   安装和使用说明
├── hero-bg.jpg                # 展示页素材(第一版,已合并为 SVG)
├── icon-timer.jpg             # 展示页素材
├── icon-health.jpg            # 展示页素材
├── icon-relax.jpg             # 展示页素材
└── icon-ai.jpg                # 展示页素材

技术栈

  • 纯原生:HTML + CSS + JavaScript,零依赖,零框架
  • 数据持久化:localStorage(单页应用)/ chrome.storage.local(插件)
  • 设计系统:CSS 变量驱动的暗色主题(霓虹绿 #00e68a / 青色 #00d4ff / 紫色 #a855f7)
  • 字体:Noto Sans SC(中文)+ JetBrains Mono(等宽数字)
  • 动画:CSS Transitions / Keyframes + Web Animations API(粒子效果)
  • 测试:自研轻量测试框架(TestRunner),无外部依赖

设计亮点

暗色赛博朋克 UI

深色背景 + 霓虹色调 + 毛玻璃效果 + 发光阴影,营造科技感编程氛围。

响应式布局

Grid + Flexbox 弹性布局,适配桌面和移动端。

无障碍交互

  • 键盘快捷键支持
  • 按钮有清晰焦点状态
  • 通知可通过 × 按钮关闭,不强制操作
  • 休息通知弹出时暂停计时器,等待用户决策

数据安全

  • 所有数据存储在本地,不上传任何服务器
  • 支持一键清空今日数据 / 全部数据
  • 日期自动滚动(跨天自动归零)

浏览器插件权限说明

权限 用途
storage 存储计时器和健康数据
alarms 后台计时器调度
notifications 休息/饮水提醒通知
tabs 向网页注入内联提醒
idle 检测用户空闲状态
scripting 内容脚本注入

适用人群

  • 长时间编码的程序员
  • VibeCoding / AI 辅助编程用户
  • 容易忘记休息的开发者
  • 关注颈椎/视力健康的码农
  • 喜欢炫酷工具的极客

开发计划

  • 亮色模式(设置页可切换暗色/亮色主题,自动保存偏好)
  • 数据导出 / 导入(JSON 格式,支持备份和恢复)
  • 疲劳模糊改为真实页面活跃时间驱动(不点计时器也会逐渐模糊)
  • 浏览器插件同步黑科技功能(popup 新增黑科技标签页,含水滴提醒/久坐警报/疲劳滤镜/护眼色温)
  • 更多放松课程(手部放松操 8 步 + 腰部拉伸 9 步)
  • 国际化(English)(i18n 系统,中英文一键切换,导航栏/计时器/设置等核心 UI 已翻译)
  • VS Code 插件版本(状态栏计时器 + Webview 面板 + 喝水/久坐提醒)

License

MIT

致谢

  • 灵感来源:TRAE 创意大赛
  • 颈椎瑜伽教练:原创设计,非照抄
  • 沉浸式休息空间:受 Calm / Headspace 启发
  • 番茄花园:受 Forest 启发

CodeFuel — Keep coding, keep healthy.

About

CodeFuel 程序员加油站 — 在 VibeCoding 的同时劳逸结合 | 智能计时器 + 健康看板 + 6套放松课程 + 11项黑科技 + 225单元测试 | Chrome插件 + VS Code插件

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages