等 AI 写代码的两分钟,我做了一个练英语的 macOS 小工具

等 AI 写代码的两分钟,我做了一个练英语的 macOS 小工具-cover.webp 我经常遇到一个很尴尬的空档:AI 正在生成代码,测试还没跑完,手头有两三分钟,但又不值得开始一项新任务。

以前我通常会点开一部短剧,或者顺手刷几个短视频。本来只想打发等待的两分钟,结果短剧一集接一集,视频一条接一条,很快就把这段时间浪费掉了。

更麻烦的是,看短剧和刷视频会把注意力完全拉走。同事的消息错过了,AI 的代码早就生成完了,测试也已经跑完,我却常常过了好一会儿才想起来:我刚才明明只是想等两分钟。

所以我做了一个 macOS App,叫 BestLearn。

它解决的不是“没有时间学英语”,而是“两分钟的空档,不值得为学习付出一整套启动成本”。

它平时藏在桌面边缘。按一个快捷键,屏幕下方会浮出一条很窄的英语练习栏。编辑器、AI 的生成进度和测试日志都还在上面,我随时能看到任务跑到哪了。

练几句,按 Esc 把它收起来,继续刚才的工作。不需要切换窗口,也不会因为刷视频忘了时间。

BestLearn 深色设计稿:抄写、默写、填空与答题反馈

实际怎么练

BestLearn 会把同一组句子拆成三个环节:

  1. 抄写:看着原句输入,先熟悉表达和拼写。
  2. 默写:只听音频,不提前显示答案。
  3. 填空:保留上下文,只输入缺失的内容。

输入正确的部分会变绿,错误字符会标红。答错后,App 会显示正确答案,然后继续下一句。

我没有设计成“答错必须重打三遍”。等代码时的练习本来就很短,我不想让它卡在同一句上。

三个环节也不用每次全部练完。在办公室不方便播放声音,我就只做抄写或填空。戴上耳机后,再单独练默写。

BestLearn 深色设计稿:环节开始、星级结算与课程选择

我平时基本不用鼠标,所以几个常用操作都配了快捷键。

操作默认按键
呼出或隐藏学习条Shift + Alt + B
快速隐藏并停止音频Shift + Alt + H
在面板内隐藏Esc
打开课程选择Command + K
跳过 / 重播 / 结束⌘1 / ⌘2 / ⌘3

课程选择、环节开始和结算页会直接标出数字选项。答题时改用 ⌘+数字,避免把句子里的数字当成命令。

快捷键可以自己修改。学习条也能拖到习惯的位置,App 会记住它。

我怎么用 AI 生成课程

我最开始想练的,是 code review 和会议里经常用到的句子。所以 BestLearn 支持导入 CSV,可以把自己的句子做成本地课程。

自定义课程没有录音时,默写会调用 macOS 系统语音。课程、句子和成绩都存在本机的 SQLite 数据库里。

一个 CSV 文件只放一本书。设置页可以直接下载模板,修改后保存为 UTF-8 CSV,再导入 BestLearn。重新导入相同的 book_id 会更新内容,已经存在的课次会保留成绩。

2615-QuickDash-在编码间隙练英语-1784822400113.webp

刚开始时,我还会自己在表格里填字段、排顺序、检查 ID。做过几次后,我就把这部分交给 AI 了。

我会把 CSV 模板和想练的句子一起发给 AI,让它分课、生成 ID,再按模板输出 CSV。我只需要检查一遍英文句子和中文释义。

下面是我现在用的 Prompt。把书名、场景和素材换掉就行。

你是 BestLearn 自定义课程助手。请把我提供的内容整理成可直接导入 BestLearn 的 UTF-8 CSV。

<course>
书名:[例如:程序员会议英语]
学习场景:[例如:stand-up meeting 和 code review]
希望分成几课:[例如:3 课]

我已经整理的句子或素材:
[把你想练的英文句子、中文意思或场景要求粘贴在这里。如果只有主题,请补充自然、实用、适合口语的句子。]
</course>

CSV 字段必须严格使用下面这一行,不得增删或改名:
schema_version,book_id,book_title,lesson_id,lesson_title,topic,sentence_order,sentence_id,english,chinese

生成规则:
1. schema_version 固定填写 1。
2. 一个 CSV 只包含一本书。
3. book_id、lesson_id 和 sentence_id 只使用小写英文、数字和连字符,并保证唯一。
4. 每课的 sentence_order 从 1 开始连续编号。
5. 优先保留我提供的英文句子;只在句子不自然或有明显错误时修正。
6. 每句英文都要提供自然的中文释义。
7. 字段内含逗号、引号或换行时,按标准 CSV 规则正确转义。
8. 只输出完整的 CSV 内容,不要解释,不要在 CSV 前后添加其他文字。

AI 生成后,把内容保存为 .csv 文件,就可以导入 BestLearn。

想试的话,怎么开始

  1. 启动 BestLearn,从菜单栏打开设置。
  2. 选好主题、学习条大小和透明度。
  3. 设置自己顺手的呼出键和快速隐藏键。
  4. 选择 BestLearn 内置课程,或者导入自己的 CSV。
  5. 按快捷键呼出学习条,选一课开始输入。

使用 BestLearn 内置课程时,需要先在网站创建 API Key。这个 Key 可以随时撤销。创建后,把它粘贴到“设置 → 账户与同步”。桌面 App 不会保存你的账号密码。

自定义 CSV 课程不会上传。断网时,已经缓存的课程仍然可以继续练。成绩会先写入本机,网络恢复后再同步。

BestLearn 浅色主题完整状态设计稿

我现在怎么用它

我不会拿 BestLearn 学一套完全陌生的内容。我更常放进去的,是那些已经见过,但总是记不住的表达。

等 AI 生成代码、跑测试或者导出文件时,我就呼出学习条,打几句英语。有时只练两分钟,有时任务跑得慢,就多练几句。

对我来说,这已经够了。至少我不会再因为“只看两分钟”点开短视频,然后把正事忘在后面。

如果让你给自己做一本英语课程,你最想先练哪个场景?