type
Post
status
Published
date
Jul 15, 2026
slug
01-from-eye-training-to-focus-classics-53bfa92d-cda9-40f4-a91a-0d7314ddbd52
summary
从三分钟护眼流程到五卷二十四景,复盘方寸专注如何找到真正适合儿童的产品形态。
tags
产品设计
儿童专注力
Cloudflare Pages
category
技术分享
icon
password
这是“方寸专注”开发复盘的第一篇。下一篇:用纯函数状态机撑住一座本地优先的儿童冒险
这个项目开始于一个很短的想法:做一个锻炼眼睛和专注力的小项目,放到 Cloudflare 上,打开网页就能用。
我第一次理解错了。
最早的版本是一套三分钟训练流程:远眺提醒、平滑追踪、周边视野,配上计时器、暂停和减少动态效果。工程上没有大问题,页面也能正常部署,但它本质上还是一件成人工具。孩子不会因为一个倒计时做得准确,就主动再玩一遍。
这次返工留下了一个比计时精度更具体的问题:孩子为什么愿意开始,什么又会让他下一次还愿意打开。

三次产品形态

回头看,“方寸专注”经历了三次明显的转向。
阶段
产品形态
当时解决的问题
很快暴露的问题
初版
三分钟成人式护眼流程
先把计时、暂停、声音和响应式跑通
有训练感,没有游戏动机
第一轮重做
“萤火虫森林”四款小游戏
让 6-9 岁孩子可以自由选择、获得星星
像一个小游戏菜单,玩过几次就见底
第二轮重做
国学画卷冒险
用场景恢复、故事和角色把练习串起来
早期的每日限制和三阶段进度反而挡住连续游玩
当前版本
五卷二十四景、七种玩法、确定性故事
让练习、叙事、收集和自由回游互相支撑
进入长期内容维护阶段
第一轮重做已经有了四款实际可玩的游戏:数字舒尔特、成语寻踪、诗句归位和目光追踪。它也建立了本地记录、自适应难度和统一结算。问题在于,这四件事彼此是平行的。首页可以换主题,卡片可以加贴纸,底层仍然是“选一个游戏,玩完,再回来选另一个”。
继续堆卡片解决不了这个问题,首页需要承载一段连续的旅程。

从游戏大厅到一幅会醒来的画卷

第二轮重做把产品主题定成了“国学画卷冒险”,名字也收束为“方寸专注”。“方寸”既指屏幕中的小空间,也对应孩子在一小段时间里把注意力安放下来的状态。
最终内容分成五卷:
  1. 山林诗路
  1. 五境行旅
  1. 大地风物
  1. 人间灯火
  1. 星河神游
五卷一共 24 景。孩子跟着纸鸢小使前进,每完成一程,修复一处场景,并找回方向、呼吸、脉动、造物与归还五颗“卷心”。成语和古诗没有被单独做成题库外壳,它们进入路线、场景和故事,成为世界的一部分。
方寸专注桌面端冒险首页
方寸专注桌面端冒险首页
这里有一个我很坚持的取舍:画卷进度与成绩无关。
点错会影响准确率和星数,也会让系统给出更适合的后续难度,但不会把孩子挡在故事外。没有生命值、体力、金币、连续签到惩罚,也没有“今天只能推进一次”。自由练习从一开始就全部开放,冒险只是给练习增加上下文,而不是拿内容当诱饵。

一次真实试玩推翻了“每日留存”

早期冒险版有七个场景,每景分线稿、着色、苏醒三阶段,总共 21 个推进单位。每天第一次完整冒险才推进画卷。同日重玩只记成绩。
这个设计在文档里很像常见的留存机制,实际玩起来却很糟。完成第一节后,孩子明明还想继续,系统却让下一次游玩停留在原地。更严重的是,进度的“天”“阶段”和“场景”混在一起,旧存档也很难解释当前数字到底代表什么。
我最后把规则改成了最朴素的一句:完成一景,立即解锁下一景。
新模型只有 24 个进度单位。已完成场景是二元状态,不再保留 `1/3`、`2/3` 的导航语义。同一天可以连续完成多景;重玩旧场景、重复提交相同 run ID、全卷完成后的自由回游都不会重复推进。
这个改动需要一次明确的数据迁移。旧存档的三阶段计数会换算成场景数,并写入 `progressionVersion: 2`。如果旧存档里还有一程未完成的冒险,迁移会保留它,让用户先把这一程走完,而不是为了数据整洁把现场清空。
从那以后,PRD 里明确写下“不加 daily gate”。孩子还想继续时,系统不再替他踩刹车。

最终的信息架构

现在的顶层导航只有三项:冒险、练习册、记录。设置独立放在右上角。
  • “冒险”负责五卷地图、当前场景、主线、事件、伴灵和奖励。
  • “练习册”直接开放七种玩法与三个难度,不要求先过剧情。
  • “记录”保存每次练习、分项掌握度和系统建议。
  • “设置”管理年级起点、背景音乐音量、减少动态效果和可选试炼。
它们共享同一份本地进度。孩子在练习册完成成语题,掌握度会影响之后的推荐;冒险里的每个小游戏也会产出同样格式的训练记录。产品表面上有几个入口,数据没有分裂成几套互不相认的系统。

我给这个产品划的四条边界

做儿童产品时,功能列表很容易不断膨胀。我最后用四条边界控制范围。
第一,不使用摄像头。目光追踪是让孩子用眼睛跟随屏幕目标,不采集眼动视频,也不暗示医疗效果。
第二,不接后端。档案、记录和冒险进度都保存在浏览器本地,不登录,不收集儿童个人信息。
第三,失败不阻塞内容。试炼模式可以更难,但它不能改写主线结局,也不能拿走已经完成的场景。
第四,选择可以被记住,但不能制造“选错了”的焦虑。故事选择会改变一两次后续台词或规则,然后自然汇合,不锁场景、奖励、结局和收藏。
这些边界看起来像少做了很多东西,实际上它们让后面的架构简单了不少。没有账号和服务器,就不需要先解决身份、同步、权限与家长端数据合规;没有货币和体力,就不需要维护一套与训练目标无关的经济系统。

移动端不是缩小版桌面

主要使用场景是平板和手机,所以地图在窄屏上会重新组织,而不是把桌面画卷等比缩小。五卷标签允许横向浏览,标题、进度、纸鸢角色和当前节点重新排布,主要按钮始终落在拇指容易触达的位置。
方寸专注手机端冒险首页
方寸专注手机端冒险首页
这一版最终覆盖 6-12 岁,包含 5 卷、24 景、7 种游戏、120 个成语和 90 首古诗。它仍然是一个纯前端小项目,但已经不再像一个把计时器包进漂亮皮肤的练习页。
下一篇我会拆开它的内部结构:为什么没有引入路由、状态库和后端,为什么冒险必须是一台纯函数状态机,以及本地存档如何在多次产品重做后仍然能继续使用。
方寸专注(二):用纯函数状态机撑住一座本地优先的儿童冒险龙虾(OpenClaw)API 调用与 Cloudflare 代理避坑指南
Loading...