Skip to content

项目论纲

Mind Gym 建立在两个观察之上:

  1. 认知训练最容易发生在短暂、机会式的时间窗口里。
  2. 多数软件栈对这种窗口并不友好:它们往往要求账号、稳定网络或臃肿的应用壳。

因此,项目试图证明另一种产品形态也成立:一个可立即使用、技术上可审视、并且在静态托管下依然足够可靠的记忆训练系统。

阅读姿态

本页定义的是整个白皮书需要证明的论点:产品价值、架构纪律与运营克制不应彼此争夺注意力,而应相互加强。

核心论点

顺应 Web直接使用浏览器原语,让启动速度与系统可审视性同时成立。
认真架构小系统即便产品体量不大,也要认真对待状态、离线交付与复杂度边界。
让进展归属于玩家除非玩家主动导出,否则常规进展默认保留在本地设备上。

1. 训练产品应当顺应 Web,而不是对抗 Web

Mind Gym 不试图在浏览器里模拟一整套原生应用栈。它直接依赖浏览器原语:HTML、localStorage、Service Worker 缓存,以及无需打包器即可阅读的 JavaScript 模块布局。这种选择既让启动更快,也让系统更容易被审计。

2. 小系统同样值得认真做架构

应用体量不大,但绝非简单。多种游戏模式、持久化偏好、每日确定性、掌握度追踪、无障碍需求和双语体验都在竞争同一块代码面。之所以需要架构,不是为了显得复杂,而是为了在不引入框架重量的前提下保持可维护性。

3. 进展应当优先归属于玩家

Mind Gym 将常规进度保存在本地。最佳成绩、统计、成就、自适应评级和掌握度数据默认留在用户设备上,只有在用户主动导出时才离开本地。这既是隐私立场,也是一种运营简化。

项目服务谁

受众能从 Mind Gym 获得什么
只有碎片时间的玩家一个加载迅速、首次访问后可离线、且无需设置即可切换多种训练方式的产品。
技术好奇型读者一个展示浏览器原生 JavaScript 在严肃模块边界下能走多远的真实样本。
贡献者一个主要职责能从文件名看出来、并有 OpenSpec 支撑的仓库。
面试官与资深评审者一个足以暴露工程判断力的小型代码库:状态归属、离线策略、复杂度控制都可被具体讨论。

产品价值主张

快速进入

无需长链路引导即可开始训练,适合即时打开、即时游玩的使用方式。

模式多样

经典配对、倒计时、每日挑战、N-back 与延迟回忆服务不同认知节奏,但仍属于同一个产品壳。

长期信号

统计、成就、自适应评级与 FSRS 掌握度,让一次次短会话逐渐累积成可追踪的成长故事。

工程价值主张

工程选择带来的杠杆
零运行时依赖降低运行复杂度,并让运行时更容易被直接观察。
三层状态模型让持久设置、会话状态与模式专属逻辑拥有更清晰的边界。
深模块把匹配逻辑、模态框行为、胜利流程和 DOM 渲染等复杂热点局部化。
静态部署游戏与白皮书都可以由 GitHub Pages 承载,无需额外后端维护。
双语文档在不拆分架构叙事的前提下扩大贡献者与读者覆盖面。

Mind Gym 优先优化什么

  • 可预测启动,优先于框架抽象。
  • 本地可持续性,优先于跨设备同步。
  • 可读的文件边界,优先于过度间接层。
  • 离线韧性,优先于实时联机能力。
  • 聚焦、可维护的能力增长,优先于功能膨胀。

Mind Gym 不追求什么

项目在若干方向上刻意保持克制:

  • 不是宣称临床效果的研究平台。
  • 不是多人联机或云同步服务。
  • 不是为了展示新奇框架而构建的技术秀场。
  • 不是要替代专业间隔重复工具。这里的 FSRS 掌握度服务于游戏化复习,而不是完整课程管理。

演化说明

当前架构反映了一条重要的成熟路径:

  1. 最初的浏览器记忆游戏逐渐扩展为多种训练模式。
  2. 状态责任被更明确地拆分为 Settings、GameState 与 mode-specific state。
  3. 在复杂热点处引入深模块(game-managermodal-managerui/rendererwin-pipeline),把复杂度集中而不是摊平到 app.js 中。
  4. 文档外壳被提升为白皮书,以便仓库能向高要求技术读者解释自己的权衡。

为什么这对评审有意义

Mind Gym 之所以适合被严格评审,不是因为它使用了多少流行基础设施,而是因为它足够小,可以被完整读懂;又足够丰富,能暴露真实工程判断。真正的问题不是它是否“时髦”,而是它的约束是否自洽、架构是否诚实、实现选择是否带来了真正的杠杆。