外面下着雨,门口河边,有一个钓鱼人,我心想,鱼淋雨也要来寻死也太像当代打工人,自己付费提升工作效率,属于牛马上班自带粮草。
唯一值得庆幸的是,这玩意我已经分不清是为提升工作效率,还是满足自身愉悦。
周末 B 站看到一个开发板项目,觉得很符合我现在 Vibe Coding 时总要去看剩余额度的需求。
我想只拿眼睛一瞟,心中自然明了。
于是,我桌上多了一块口香糖。
它能监测 Codex,Claude 剩余额度,DeepSeek 余额显示。还能代替手机语音输入。
废话不多说,先上视频。看完视频如果完全不是你的菜,就不用往下读文字浪费时间了。
先说说这块口香糖
M5Stack StickS3,一块 ESP32-S3 开发板,长度只有一指,算上运费 159 块钱。
麻雀虽小,五脏俱全。屏幕、麦克风、扬声器、陀螺仪、Wi-Fi、蓝牙、一块 250 mAh 的小电池,还有三颗按键。
以前的开发板买回来是一块光秃秃的电路板,你得自己接屏幕接喇叭,你光想到用电烙铁,就得打退堂鼓。
现在,全给你打包好,拆开包装就是一个成品。
至于怎么烧录程序,怎么做成我想要的那个样子?不必担心,如今任何一个 AI 编程工具都能完成这些工作。
VibeStick:给 AI 编程配一个副驾
我在 GitHub 上翻到 VibeStick。
开发者 Gary 把 StickS3 做成 AI 编程工具的桌面小终端。
它能显示 Codex 和 Claude 的运行状态,显示 5H 和 7D 两档额度,任务跑完响一声提醒你,出错也响一声。
长按蓝键说话,松开,你说的话就自动变成文字,粘贴进电脑当前输入框。

我不会写 C,那就让 Claude 来烧
ESP32 固件是 C 写的,我不会。
好在 VibeStick 的 README 写得很聪明。它直接说了:这些步骤你可以手动执行,也可以交给 Claude Code、Codex 这类 AI 编程工具。
其实购买 S3 前,我已经让 Claude 拷贝项目做前期准备工作。
这一点,我认为,很重要。
你首先得知道,自己买的硬件,即将烧录的程序是否兼容自己的电脑系统。有哪些硬性指标,网络如何连接等等。
我举个例子,如果项目必须使用蓝牙,而你的电脑主机没有蓝牙,怎么整?
Claude 会把项目,烧录软件,所有项目需要依赖提前下载,并且做一系列测试。直到它说前期准备就绪,项目满足硬件需求。
那么,剩下工作就是,等硬件到了以后,找一条数据线插上,然后告诉它,执行烧录,就这么简单。
人类在 AI 时代,主要负责按按钮。
它说插线,我插线;它说长按侧面电源键直到蓝灯双闪,我就攥着那块口香糖,默默数秒。
烧录成功,一切功能正常使用。

用着用着,问题就来了
先说屏幕。原版设计 5 秒没操作就熄屏,省电嘛,可以理解。
但我买它是为了低头瞄一眼额度,每次瞄之前还得先按一下,这就像一块需要按一下才显示时间的手表。
于是改成常亮,只有我手动按右侧键才熄屏。顺手把右侧键手势也重新排列组合:单击亮屏/息屏,双击在 Codex,Claude,DeepSeek 之间切换,连按三下竖屏横屏互换。
横屏时,它躺在显示器底下,像一块迷你仪表盘。
就这尺寸,就别苛求什么电量,但我仍然想要它的续航可以更久。我让 Claude 把电池数据记下来,每 15 秒记一条,存成表格。
把自动休眠程序写进去,在没有任何数据线下,手动点击息屏后,开始渐次执行省电模式,保持最低唤醒状态,如果 30 分钟都没有任何唤醒行为就关机。
这块电池只有 250 mAh,大约是手机电池的 5%。熄屏挂着 Wi-Fi,大概能撑 15 个小时。
更顺滑的本地语音识别加持
任务跑完会响一声,但原项目里的提示音难听,我换了一个。
当你语音输入时,会有这种体验,你按下去如果没有反馈,你不知道程序是否启动,要不要说话。
现在,当我确认按键有效时,滴一声提醒,然后再说话。注意,别抢拍子啊。
原项目语音识别使用硅基流动 API 音频上传识别再回传,即使网络正常,这一来一回,大概有几秒延迟,相当于你说完一句话,要等一个呼吸的时间,文字才能上屏。
我改进使用本地离线识别。用开源的 sherpa-onnx 跑 SenseVoice 模型,识别一段 5 秒录音只要 0.35 秒左右,音频不出电脑。
本地模型出了问题,就自动退回云端识别,不会让语音输入突然哑巴。
从松开按键到文字出现输入框里,一段两三秒的话,大约半秒。
这个速度,已经快到让我忘了中间还隔着一个 Wi-Fi。

其他陆续使用过程中的优化
既然有了 Codex 和 Claude 剩余额度显示,那是否可以加入 DeepSeek 余额显示呢?说到就做到,这种神说有光就有光的感觉,就是 Vibe Coding 让人上瘾的根本原因。
做好了,顺便优化横竖屏幕 UI 显示效果。
S3 裸机手感不是很好,于是使用 3D 打印机,打了一个外壳,现在不管竖放横摆都很稳当。
把项目重新整理上传 GitHub 分享,之后发现什么问题就优化。
当然我不会为 VibeStick 停留太久,因为我想到一个更好的使用它的场景。
尾声
StickS3 就像钓鱼佬的第一根鱼竿。
我想到一个非常契合我实际生活的应用场景。
当我突然想到一件事,想要快速记录下来,我摸出口袋里的口香糖,按住说话,然后重新放进口袋。
音频被上传到云端,我的电脑如果在线,自动拉取音频,将其转换文字。
同时我需要将识别的文字分别写入不同分类,这才是关键。
比如,明天我要去参加上海展会。这一条信息将自动录入到 FlowBoard 日历;
说任务,设计海报时加入 X 光效果,此条信息将进入 FlowBoard 看板;
小说应该增加一个新人物,她出现在主角探险团的第三场第二幕中…这是一个灵感内容,会被当成 note 加入到 FlowBoard 画布中。
只要我想到什么,随手从口袋里掏出 S3 按住蓝键,说话,完事。
音频会被自动处理识别文字并写入效率软件中的各个版块。
只要成功上传音频,S3 里的音频会被自动清除,避免容量过载。因此 WiFi 连接下几乎没有容量限制。只有在离线模式下,才使用内存暂存音频。
由于它的电量很小,如果我要长时间放在口袋当做灵感记录器使用,恐怕还需额外配一个胶囊充电宝🤣
鱼竿有了,接下来打窝。
参考链接
Mac 原版 VibeStick:https://github.com/GaryGaryyy/VibeStick
VibeStick Windows 改进版:https://github.com/leidichen/VibeStick-S3-Windows
Windows 快速上手:https://github.com/leidichen/VibeStick-S3-Windows/blob/main/docs/WINDOWS_QUICKSTART.zh-CN.md
3D 外壳打印机:https://makerworld.com.cn/zh/models/2125310-m5stack-stick-s3-wai-ke