跳到主要内容

番茄钟

番茄工作法专注计时器

专注阶段待开始今日番茄 0

25:00

已完成 0 个番茄,完成第 4 个后进入长休

番茄工作法的节奏是:专注一段时间算一个番茄,之后短休一次,累计若干个番茄后安排一次长休。倒计时按「截止时间戳 减去 当前时间」推算,切后台或页面卡顿也不会跑偏;提示音由浏览器 Web Audio 实时合成,不联网、不加载任何音频文件。

番茄钟怎么用

番茄钟把工作切成可执行的专注块:设好时长点「开始」,倒计时自动走,时间到用蜂鸣提醒休息,随后自动切到休息阶段,休息结束再回专注。默认 25 分钟专注、5 分钟短休,每 4 个番茄安排一次 15 分钟长休,参数都可改。

计时中可随时暂停,回来点「继续」接着走。页面始终显示今天的番茄数,攒够一轮就有一段长休。

这个工具能做什么

  • 专注、短休、长休三段自动循环,无需手动切换
  • 三段时长与长休间隔均可自定义
  • 实时显示剩余时间、进度条与当前阶段
  • 支持暂停继续,被打断不丢已专注时间
  • 本地合成蜂鸣提示音,可一键开关

怎么使用(输入说明)

  1. 专注(分钟):一个番茄的长度,1 到 180,新手建议 15 分钟起步。
  2. 短休(分钟):每个番茄后的小憩,1 到 60,一般 3 到 5 分钟。
  3. 长休(分钟):攒够一轮后的大休息,1 到 60,常用 15 到 30 分钟。
  4. 几个番茄后长休:1 到 12,经典值 4,即第 4 个番茄后长休。
  5. 结束提示音:勾选后每段结束响三声,不便时可取消。

填错或留空时按钮禁用并给中文提示,例如「专注时长必须大于 0 分钟」。

背后的原理/公式

倒计时不用每秒减一的累减法,而是记住本阶段结束的绝对时间戳,刷新时用截止时间戳减当前时间戳算剩余毫秒。这样即使卡顿或后台被节流,剩余时间依然真实,不会越走越慢。

剩余毫秒换算成分秒时对秒数向上取整,所以最后稳稳停在 00:01,不会没走完就显示 00:00。

阶段流转逻辑:专注归零时番茄数加一,若能被长休间隔整除就进长休,否则进短休;休息归零一律回专注。写成一行:

下一阶段 = 番茄数能被长休间隔整除则长休,否则短休;休息结束回到专注

提示音不加载音频文件,由浏览器音频接口临时生成正弦波振荡器,配淡入淡出的音量包络,以 0.32 秒间隔响三声后释放。

计算实例

按默认 25、5、15 和间隔 4 走一上午:第 1 个番茄结束,番茄数为 1,不能被 4 整除,进入 5 分钟短休;连做 4 个需 4 段专注加 3 次短休共 115 分钟,第 4 个结束时可被整除,进入 15 分钟长休,这是一轮 130 分钟的完整循环。

改成 15 分钟专注、3 分钟短休、间隔 4:一轮为 4 段 15 分钟加 3 次短休加一次 15 分钟长休,合计 84 分钟。写代码常用另一种:50 分钟专注配 10 分钟短休、间隔 2,一轮 120 分钟。

常见问题 FAQ

Q:为什么第一次点开始没听到声音?

A:部分浏览器要求先有用户交互才允许发声,点「开始」已满足该条件,一般第二次响铃起就正常。若仍无声,检查标签页是否静音、系统音量是否打开,并确认提示音已勾选。

Q:中途被打断要不要把这个番茄算进去?

A:按番茄工作法约定,被打断的番茄不计入统计,应重走一个完整专注阶段。工具只在专注倒计时自然走完时加一,跳过或复位本段都不计数。

Q:切到后台计时会不会不准?

A:不会。工具按绝对截止时间戳算剩余量,即使后台定时器被降频,回到前台也会立刻校正。只是后台阶段结束时提示音可能被限制播放,重要场合建议保持在前台。

常见问题

番茄钟的提示音是怎么来的,可以关掉吗?
提示音由浏览器 Web Audio 接口现场合成的一段双频蜂鸣,不加载任何外部音频文件,所以打开页面就能用、也不占流量。部分浏览器要求先有一次用户交互才允许发声,点「开始」即满足这个条件。如果环境不便,可以把「结束提示音」开关关掉,阶段结束时就只剩画面上的提示。
专注时长和休息时长能自己改吗?
可以。默认是经典的 25 分钟专注、5 分钟短休、15 分钟长休、每 4 个番茄进入一次长休,但每项都能单独设置:专注 1 到 180 分钟,短休和长休 1 到 60 分钟,长休间隔 1 到 12 个番茄。新手建议先从 15 分钟专注起步,适应后再逐步加长,比一上来硬扛 25 分钟更容易坚持。
一个番茄没做完就中断了,还算不算数?
番茄工作法里被打断的番茄一般不计入成果,需要把当前这段作废重新开始,这也是刻意训练专注的意义所在。本工具统计的是「专注阶段完整走完」的次数,中途点复位不会增加番茄数,但已经过去的专注时间也不会补回来,建议打断后直接开始新一轮。