F20

Daily English Studio

Fluent20

0all done
0this month
0streak
0series progress

Today's real English · 20 minutes

Loading lesson...

Step 01

Watch the clip

Listen once before reading

Write From the Prompts

根据中文提示写出你自己的英文。系统只检查你写出来的内容:拼写、语法、意思是否清楚,以及表达是否自然。

New Sentences

用你刚刚要求解释的这些词、词组或句子,写 3 个自己的新句子。

Final step

看完批改后,完成今天的练习

两部分作业都检查完成后,点击按钮自动打卡并保存今天的学习记录。

Review

Flash Cards

Tap the card to flip
0 cards

Project Manual

Fluent20 用户手册与需求说明

Fluent20 是一个本地英文学习工具。核心目标不是备考,而是用真实英文视频片段提升日常交流能力、词汇量、固定搭配和自然表达。每天练习应该控制在 20 分钟左右,流程越省力越好。

使用者画像

  • 英文水平:中等,可以进行基础日常对话,但表达能力和词汇量有限。
  • 学习目标:提升真实日常英文交流能力,不是准备任何口语考试。
  • 坚持条件:每天操作负担必须很低,不要让用户自己花时间找材料、判断材料、整理内容。

每日学习流程

  1. 打开工具后,首先看到今天的视频片段和日历打卡区。
  2. 先播放片段。看完后再决定点击 Start LearningNext Clip
  3. 点击 Next Clip 会换一个新片段。没有完成学习前,这个片段不应该被记录为已学。
  4. 点击 Start Learning 后才显示 transcript,并开始低调计时。
  5. 用户在 transcript 里点击单词,或框选词组、句子,再点击 Explain My Selections
  6. 工具针对用户选中的内容生成解释、例句、用法和常见误区。某个词生成失败时,只显示该词的失败状态和 Retry this word,不影响其他已生成内容。
  7. 理解后进入练习:先看中文意思默写英文原文,再用所选表达写新句子。
  8. 两部分作业都检查完成后,点击 完成今天练习并打卡,保存学习时长、已学片段、选中表达、作文原文、造句原文和问题列表。

素材规则

  • 素材应来自真实语境,不使用教材式、刻意放慢语速的英语学习材料。
  • 当前素材来源是 The Rest Is Science 的 YouTube 视频,优先使用已下载到本地的视频和字幕。
  • 片段应尽量从完整句子的开头开始,不能从半句话中间切入。
  • 片段长度必须适合 20 分钟深度学习,目前要求控制在 40 秒以内。
  • 用户确认完成学习的片段要保存到数据库,以后不要重复抽到同一个已学片段。
  • 如果用户觉得片段不合适,可以点击 Next Clip 换一个。

讲解规则

  • 讲解必须围绕用户自己选中的单词、词组、句子或表达,不要预设一大堆用户没选的内容。
  • 如果用户连续点击相邻单词,系统应尽量把它理解为词组,而不是逐个解释无意义的功能词。
  • 例如用户选中 “of sense” 这种明显属于短语上下文的片段时,不应只解释 “of”。要结合 transcript 判断真实要学的表达。
  • 解释语言以中文为主,英文例句保留英文,并给中文意思。
  • 每个生词或词组应尽量显示音标或简单发音提示,并提供点击发音。
  • 解释要实用,重点是日常表达、自然搭配、语气、使用场景和容易犯错的地方。
  • 每个解释区域应允许用户继续要求更多例句、更详细解释,或直接输入自己的问题。
  • AI 讲解失败时不要生成“基础解释”或临时卡片。只明确提示 AI 未生成,并允许用户单独重试这个词。

练习设计

  • 原文背诵/默写:系统先给中文意思,用户根据中文把英文原文默写出来,系统给反馈。
  • 新句子练习:只围绕用户刚刚要求解释的词、词组或句子来造句,系统检查自然度和用法。
  • 当前练习页不放 Voice Input 区块,避免打散主流程。
  • 作文和造句反馈都应逐句指出拼写、语法和自然度问题。页面上可以临时显示建议,但长期学习档案不保存完整改写版。

打卡与记录

  • 打卡日历放在顶部统计区的 Check-in 抽屉里,完成显示绿色,未完成或手动标记 miss 显示红色。
  • 顶部统计显示总完成数、本月完成数、连续天数和已学片段数。
  • 计时从 Start Learning 开始,放在不显眼的角落。
  • 完成按钮只在作文批改和造句批改都完成后可点击,点击后自动打卡并保存当天学习档案。
  • 长期学习档案保存日期、学习时长、视频片段、选中表达、作文原文、作文问题、造句原文、造句问题。不保存完整修改版,也不生成空泛学习报告。
  • Start Learning 不能把片段标记为已学,只有 完成今天练习并打卡 才能正式提交。

UI 原则

  • 主页面不要长篇介绍,用户每天只想快速开始 20 分钟练习。
  • 按钮要按实际行为顺序放置:先看视频,视频下方再出现 Start LearningNext Clip
  • 不需要 Learning profile 这种用户每天不会看的区域。
  • 不要让说明文字挤占主学习流程。说明可以放在本 Manual 页。
  • 界面要简洁、清晰、耐看,不要像临时 demo。

技术与文件

  • 项目目录:D:\Fluent20
  • 本地服务:python server.py,默认地址 http://localhost:8765
  • 后端:Python 标准库 HTTP server + SQLite。
  • 前端:static/index.htmlstatic/app.jsstatic/styles.css
  • 数据库:data/fluent20.sqlite3
  • 本地视频:data/videos;生成片段:data/clips
  • AI:默认按 AI_PROVIDER_ORDER=gemini,groq 调用。Gemini 失败、拥堵或额度不可用时,自动切到 Groq。
  • API key 写在 D:\Fluent20\.envGEMINI_API_KEY=...GROQ_API_KEY=...。Groq 默认模型是 llama-3.3-70b-versatile,可用 GROQ_MODEL=... 修改。
  • 换片段预览不应等待 AI,只有解释和作业反馈等需要 AI 的地方再调用。

给后续 AI 的修改原则

  • 不要把工具改回考试备考方向,它的目标是日常真实英文交流。
  • 不要把主流程做重。用户能少点一步就少点一步。
  • 不要默认生成教材式 lesson。核心是围绕真实视频片段和用户亲自选择的表达展开。
  • 不要在用户完成前把片段记录为已学。
  • 如果修改片段抽取,必须继续保证片段短、开头完整、已学不重复。
  • 如果修改 UI,优先保护每日学习路径:视频、开始学习、换片段、transcript、解释、练习、完成。