
最近用AI 基于go开发设计了一个waitword小工具,代码已开源到https://github.com/lukyFun/waitword,3步轻松安装。方便大家在AI coding、在写脚本查问题、日常terminal工作都能无时无刻学一点英语。
程序员的工作方式在过去两年发生了一个安静的变化:我们从"敲代码的人"变成了"等 AI 敲代码的人"。用 Claude Code、Codex、Qwen Code ,workBuddy,openclaw这些 AI CLI 干活,一个任务跑几十秒到几分钟是常态;再加上跑测试、跑构建、等部署,一天里盯着终端干等的碎片时间,加起来远比想象的多。
我一直想背单词,也装过不少工具——它们都有一个共同的失败模式:需要我主动打开它。最近用AI实现了个小工具,让英语单词自己送到我的眼前,不断重复出现在我本来就在看的地方,不要求我做任何操作,于是有了 waitword。而且一天工作12个小时,他们就重复的出现12小时,单词再也不会忘记了!
比如我工作的时候,发出指令后,盯着终端等 AI——那就让单词出现在终端的状态栏里。

一句话:一张挂在终端状态栏里的单词卡,每 15 秒自动换下一个词。非常轻量,没有后台进程。
在 Claude Code 里等 AI 干活时,底部状态栏长这样:

不用 AI CLI 的场景也覆盖了:tmux 状态栏可以常驻自动轮换;zsh/bash 则是每敲完一条命令,提示符上方出现一张卡:

内置七套词库共 28,000+ 词:四级(默认)、六级、高考、考研、雅思、托福、程序员英语,一条命令切换。想主动检验的时候,waitword quiz 对当天的词做一轮拼写测试,答错的词第二天自动回来找你。
三条命令跑起来:
go install github.com/lukyFun/waitword@latest
waitword now # 验证:输出一张单词卡
waitword adapter claude-code # 接入你的终端,回车确认即可支持 Claude Code、Qwen Code、tmux、starship、zsh / bash、WezTerm、PowerShell。
项目地址:https://github.com/lukyFun/waitword
做这类工具最自然的思路是:维护一个"当前进度"——现在背到第几个词了,用户看完一个就推进一格。这意味着要有状态存储,要有进程去更新状态,多个界面之间还要同步状态。
waitword 选了另一条路:显示哪个词,是墙上时钟时间的纯函数。
index = (自纪元天数 × 每日批量 + (unix秒 ÷ 间隔) % 每日批量) % 词库大小 任何时刻调用 waitword now,它用当前时间算出该显示哪个词,打印,退出。整个过程没有读写任何进度状态。15 秒后再调一次,时间变了,算出来的自然是下一个词。
这一行公式直接消灭了三样东西:进度数据库(不存在)、后台守护进程(不需要,状态栏每几秒拉起一次进程即可,进程活不过 10 毫秒)、状态同步逻辑(没有状态,无需同步)。
纯函数设计有个附赠的性质:所有界面天然显示同一个词。Claude Code 的状态栏、tmux 的状态条、zsh 的提示符,各自独立调用 waitword now,但因为输入(时间)相同,输出必然相同。
waitword 设置了每日批次:公式里的"自纪元天数"把每天锚定到固定的 30 个词上,这 30 个词全天循环滚动,约 7 分钟一轮。一个工作日下来,每个词能在你眼前出现几十次。第二天,公式里的天数加一,批次自动前移 30 个词。
只看不想,记忆效率有限,所以每第 4 个词做成挖空:先显示 r_______t adj. 有弹性的,几秒后揭晓答案。

被动看终究不如主动写。新增waitword quiz 命令,输入后,可以对当天批次做拼写测试:给释义和首尾字母,你敲出完整单词,答错的词记下来,第二天自动插进批次最前面。
宿主环境给了一个不可协商的约束:状态栏每 5~15 秒就要拉起一次这个进程。这意味着冷启动时间就是用户体验本身——Node.js 起一次 50~100 毫秒还要求用户装运行时,Python 类似;Go 编译出的原生二进制冷启动在毫秒级,且单文件分发,用户拿到一个文件就是全部。
另一个刻意的选择是零第三方依赖,只用标准库。对一个功能边界清晰的小工具,每引入一个依赖都是在给未来的构建失败和供应链风险买期权。整个项目目前约 1500 行,标准库完全够用。
七套词库(约 5MB 文本)直接编译进了二进制,而不是运行时联网下载:
优势 | 代价 |
|---|---|
装完即用:无首次下载、无网络依赖、离线可用、不依赖任何词库服务器的存活 | 二进制从 2.5MB 涨到约 8MB |
接入终端意味着要往用户的 ~/.zshrc、~/.claude/settings.json 这类文件里写配置。自动改用户的配置文件是件需要分寸感的事,waitword 的规则是:
--remove 只删标记块内的部分;return config 结尾,往后追加代码是语法错误;PowerShell 的 profile 路径因版本而异——这两家只打印片段让用户自己贴。waitword uninstall 则把这些全部倒放一遍:清数据、清配置、最后删掉二进制自己。能一条命令装上的东西,就该一条命令干净地离开。
go install github.com/lukyFun/waitword@latest
waitword adapter claude-code # 或 tmux / zsh / qwen-code / ...项目开源在 GitHub:https://github.com/lukyFun/waitword
(中英文文档,预编译二进制覆盖 macOS / Linux / Windows)。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。