首页 文章 精选 留言 我的

精选列表

搜索[thinking],共613篇文章
优秀的个人博客,低调大师

用AI写了个小工具waitword | AI Thinking(写代码的时候) 顺便学英语背个单词

> 最近用AI 基于go开发设计了一个waitword小工具,代码已开源到[**https://github.com/lukyFun/waitword](https://github.com/lukyFun/waitword),3步轻松安装。方便大家在AI coding、在写脚本查问题、日常terminal工作都能无时无刻学一点英语。** --- ## **一、每天 8 小时盯着终端,大部分时间在等 --- 时间不能浪费!** 程序员的工作方式在过去两年发生了一个安静的变化:我们从"敲代码的人"变成了"等 AI 敲代码的人"。用 Claude Code、Codex、Qwen Code ,workBuddy,openclaw这些 AI CLI 干活,一个任务跑几十秒到几分钟是常态;再加上跑测试、跑构建、等部署,一天里盯着终端干等的碎片时间,加起来远比想象的多。 我一直想背单词,也装过不少工具——它们都有一个共同的失败模式:**需要我主动打开它**。最近用AI实现了个小工具,让英语单词**自己送到我的眼前**,不断重复出现在我本来就在看的地方,不要求我做任何操作,于是有了 waitword。而且一天工作12个小时,他们就重复的出现12小时,单词再也不会忘记了! 比如我工作的时候,发出指令后,盯着终端等 AI——那就让单词出现在终端的状态栏里。 ![](https://developer.qcloudimg.com/http-save/yehe-11244761/6fd2d31375f5dc3726aec74e2c53d161.png) ## **二、waitword:它是什么** 一句话:**一张挂在终端状态栏里的单词卡,每 15 秒自动换下一个词**。非常轻量,没有后台进程。 在 Claude Code 里等 AI 干活时,底部状态栏长这样: ![](https://developer.qcloudimg.com/http-save/yehe-11244761/47684bf56fe7ed8b7c94d482341904b5.png) 不用 AI CLI 的场景也覆盖了:tmux 状态栏可以常驻自动轮换;zsh/bash 则是每敲完一条命令,提示符上方出现一张卡: ![](https://developer.qcloudimg.com/http-save/yehe-11244761/364aff191b34d7b34bb18552d0e9d9cc.png) 内置七套词库共 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](https://github.com/lukyFun/waitword)** ## **三、核心设计:时间即状态** ### **3.1 一行公式,消灭所有状态** 做这类工具最自然的思路是:维护一个"当前进度"——现在背到第几个词了,用户看完一个就推进一格。这意味着要有状态存储,要有进程去更新状态,多个界面之间还要同步状态。 waitword 选了另一条路:**显示哪个词,是墙上时钟时间的纯函数**。 ``` index = (自纪元天数 × 每日批量 + (unix秒 ÷ 间隔) % 每日批量) % 词库大小 ``` 任何时刻调用 `waitword now`,它用当前时间算出该显示哪个词,打印,退出。整个过程没有读写任何进度状态。15 秒后再调一次,时间变了,算出来的自然是下一个词。 这一行公式直接消灭了三样东西:进度数据库(不存在)、后台守护进程(不需要,状态栏每几秒拉起一次进程即可,进程活不过 10 毫秒)、状态同步逻辑(没有状态,无需同步)。 ### **3.2 多端天然同步** 纯函数设计有个附赠的性质:**所有界面天然显示同一个词**。Claude Code 的状态栏、tmux 的状态条、zsh 的提示符,各自独立调用 `waitword now`,但因为输入(时间)相同,输出必然相同。 ### **3.3 每日批次:重复次数才是记忆的硬通货** waitword 设置了**每日批次**:公式里的"自纪元天数"把每天锚定到固定的 30 个词上,这 30 个词全天循环滚动,约 7 分钟一轮。一个工作日下来,**每个词能在你眼前出现几十次**。第二天,公式里的天数加一,批次自动前移 30 个词。 ### **3.4 cloze 挖空:无状态也能做"动画"** 只看不想,记忆效率有限,所以每第 4 个词做成挖空:先显示 `r_______t adj. 有弹性的`,几秒后揭晓答案。 ![](https://developer.qcloudimg.com/http-save/yehe-11244761/711a034ef5ee59a99e01d40507fe6d73.png) ### **3.5 quiz 与全项目唯一的状态文件** 被动看终究不如主动写。新增`waitword quiz` 命令,输入后,可以对当天批次做拼写测试:给释义和首尾字母,你敲出完整单词,答错的词记下来,**第二天自动插进批次最前面**。 ## **四、工程取舍** ### **4.1 为什么是 Go:statusline 给的硬约束** 宿主环境给了一个不可协商的约束:**状态栏每 5~15 秒就要拉起一次这个进程**。这意味着冷启动时间就是用户体验本身——Node.js 起一次 50~100 毫秒还要求用户装运行时,Python 类似;Go 编译出的原生二进制冷启动在毫秒级,且单文件分发,用户拿到一个文件就是全部。 另一个刻意的选择是**零第三方依赖**,只用标准库。对一个功能边界清晰的小工具,每引入一个依赖都是在给未来的构建失败和供应链风险买期权。整个项目目前约 1500 行,标准库完全够用。 ### **4.2 词库编译进二进制:8MB 换零依赖** 七套词库(约 5MB 文本)直接编译进了二进制,而不是运行时联网下载: |优势|代价| | --- | --- | |装完即用:无首次下载、无网络依赖、离线可用、不依赖任何词库服务器的存活|二进制从 2.5MB 涨到约 8MB| ### **4.3 改用户配置文件的分寸感** 接入终端意味着要往用户的 `~/.zshrc`、`~/.claude/settings.json` 这类文件里写配置。自动改用户的配置文件是件需要分寸感的事,waitword 的规则是: - 写入前先备份原文件; - 自己写的内容用标记块包裹,重复执行不会写第二份,`--remove` 只删标记块内的部分; - JSON 配置做按键合并,用户原有配置一个键都不动;卸载时如果发现配置不是 waitword 写的,拒绝删除; - 两个例外坚决不自动改:WezTerm 的 Lua 配置以 `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](https://github.com/lukyFun/waitword)** (中英文文档,预编译二进制覆盖 macOS / Linux / Windows)。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册