FIND YOUR RHYTHM. ONE LETTER AT A TIME.

让指尖,跟上你的想法。

先打准确,再慢慢提速。给自己一段专注练习的时间。

01 — 03

中文 · 英文 · 代码
看见每一次进步

无需安装 / 无账号

A LITTLE FOCUS

清晨的一点光

有效用时00:00
有效速度 / 字符·分钟—WPM —
累计输入准确率—尚无已提交输入
当前位置错误0已匹配 0 字符
输入进度0 / 00%
正确 错位 当前位置
尚未开始

逐位置匹配,区分空格、标点与大小写。可退格改错;练习区禁止粘贴 / 拖入。代码内 Tab 输入 4 个空格。

YOUR PRACTICE LOG

练过的每一遍,都有记录

完成一次练习后,记录会出现在这里。

仅本页会话内保留最近 30 次;不会自动写入设备或同步账号。刷新 / 关闭会丢失,可主动下载摘要。

01 / ACCURACY打准每个字符,再向前一点

看见错位,也给自己改正的机会。

02 / RHYTHM中文、英文、代码,各有节奏

原创篇目或自定义,练习常用的文字。

03 / PROGRESS和上一次的自己,比一比

清楚的统计口径,一份自己的练习记录。

打字练习

开始、暂停与结束

先选篇目,再点击开始;首次输入或中文输入法组合开始时计时。全文练习输入达到目标字符数即结束,即使还有错字;限时练习到时或先达到全文长度时结束,不循环原文。可提前“结束并记录”,空白未输入不写入历史。完成后可重练本篇,未结束练习切换篇目 / 模式 / 应用文本会重置,不自动记录。

焦点离开输入框、窗口失焦、页面隐藏、打开说明或 Esc(输入法候选中除外)会暂停。暂停时长不计入,点击继续才恢复;计时使用 performance.now,不保证设备休眠、浏览器冻结后的精密计时。全文练习有效时间最多 30 分钟。计时结束时尚未确认的输入法候选不计,暂停会舍弃未提交候选,保留此前输入。

字符、输入法与改错

优先按 Intl.Segmenter 的 Unicode 字素簇计一个字符单位(如组合音符、常见表情组合);不支持时回退 Unicode 码点并标记。原文和输入均统一 NFC、CRLF / CR 换行为 LF、Tab 转 4 空格;不去掉原有空格,严格按位置、大小写、全半角和标点匹配,不计算编辑距离,因此漏字会让后续文字错位。中文组合输入确认前的拼音不计错字。

可正常退格、选中替换,输入框保留真实文本;超过目标长度或无效控制字符会拒绝并保留上次提交。代码内 Tab / Shift+Tab 均插入 4 空格(需要离开可用 Esc),其他篇目的 Tab 正常移动焦点并暂停;Enter 输入换行。关闭拼写检查和自动大写请求不保证能完全阻止手机输入法的联想 / 自动纠正。

练习区阻止粘贴、拖入和浏览器报告的自动替换,目的是练习输入;不作为考试、防作弊或物理按键监测。辅助输入或浏览器未标记的批量输入仍可能被接受,统计的是提交文字而非硬件击键。

统计口径

有效速度 CPM = 当前输入中与原文同位置匹配的字符数 ÷ 有效计时分钟,包含空格和换行;WPM = CPM / 5,只是传统五字符换算,不代表中文词数。首次显示至少经历 1 秒后才展示速度,结束时按实际有效用时记录;极短练习可能很高。

累计输入准确率 =(累计新增字符尝试 − 当时错位字符)÷ 累计新增字符尝试。替换区间用共同前后缀计算新增字符,删除不增加尝试,也不消除已发生错误;因此改正后当前位置全对,累计准确率仍可能低于 100%。复杂选中替换 / 撤销会按文本差异重新计入,不等同每键准确率。结束时匹配率 = 当前位置匹配字符 ÷ 当前输入字符;未输入部分不列错位,单列剩余。没有输入时准确率为“—”。

曲线约每个有效秒采样一次,展示截至该时刻的累计有效速度,不是瞬时击键速率。最近 30 次历史只含摘要,详细 JSON 含原文 / 输入 / 当前错位、统计定义和本次采样。修改电脑时间不改变 performance 计时,但历史日期仍取设备时钟。

文本与隐私

内置中文 / 英文 / 三种代码篇目为本站原创,代码仅作输入文本,不执行。自定义文本 1–2000 字符单位,最多 12000 UTF-16 单位;UTF-8 TXT 最大 48 KiB。文本不应含密码等敏感资料。

全部在当前浏览器内存中,无上传、账号、外部 CDN、追踪或自动存储;完整加载后可离线练习和导出。只有已结束且有提交输入的练习写入本页历史,最多 30 条,刷新 / 关闭丢失;清空历史不移除本次详情。原创实现与 API 参考 ↗