硬件交互赛道 ESP32 · E-PAPER macOS NATIVE LAN VOICE

VibeCoding Plus

VOICE × INK × AI CODING · 创意方案展示页

做一个语音墨水屏 AI 编程助手:长按实体按键说话,把意图送给 AI; 墨水屏常亮镜像状态,让编程回到「口述即指令」。

01 创意名称 + 创意介绍

CREATIVE BRIEF

创意名称

VibeCoding Plus(vibecoding-plus)—— 语音驱动的 AI 编程与待办助手。

想解决什么问题

开发者日常要把中英混杂的技术意图输入给 AI 编程工具时, 打字慢、还要反复切窗口; 待办又散落在手机和备忘录里,编程与任务管理割裂。

为什么会想到做这个

灵感来自「把输入和反馈从屏幕里搬出来」—— 如果有一块常亮、低功耗的实体终端, 长按说话就能指挥 AI,墨水屏再把状态镜像回来, 就能少打断心流、少看手机。

大概是什么产品

硬件 + 桌面系统: ESP32 S3 墨水屏实体设备(按键 / 录音 / 状态显示) + macOS 原生客户端(WebSocket 桥接、语音转写、文本注入 / AI CLI 驱动、待办同步)。

Hardware

ESP32 + 4.2" e-paper · BOOT / UP / DN 物理键 · 低功耗常亮 · 离线待办缓存

Software

Swift 原生客户端 · 内嵌 WS 服务 · 多 STT 引擎 · Codex / Claude CLI · 苹果提醒事项

02 目标用户及痛点

USERS & PAIN POINTS

面向哪些用户

  • 个人开发者 / 独立开发者
  • AI Coding 重度用户(Codex、Claude Code 等)
  • 需要「语音 + 实体按键」管理桌面待办的知识工作者

在什么场景下使用

编程模式

写代码时对着设备说话 → 转写注入当前输入框,或发给 AI CLI;多方案时用按键选择确认。

待办模式

碎片时间语音添加待办(「买牛奶」)→ 按键完成/删除 → 与苹果提醒事项双向同步。

离线场景

断网时设备端本地缓存待办操作,重连后自动同步收敛,数据不丢。

常驻桌面

墨水屏低功耗常亮,菜单栏常驻 Mac 客户端,不抢 Dock、不刷屏通知。

当前痛点(没有本产品时)

  • 只能盯着键盘打中英混杂长句,效率低
  • 手机语音助手无法直接驱动本地 AI 编程工具
  • 待办与编程状态不在同一入口,上下文割裂
  • 没有一块「永远在桌面上、不抢注意力」的状态镜

03 价值与意义

VALUE & IMPACT

效率提升

把「打字描述 → 切窗口 → 确认 → 再切回」压缩成 「一键说话 → 自动注入 / 驱动 AI → 墨水屏看状态」, 降低人机切换成本,让 AI 编程更接近「口述即指令」。

商业 / 产品价值

形成「专用硬件入口 + 桌面桥接 + AI 工具链」的差异化形态—— 不只是又一个 App,而是可感知、可按键、可离线的生产力外设; 多 STT 引擎与局域网自动发现,具备可落地的扩展基础。

04 产品形态与操作

PRODUCT SHAPE

WiFi · OK WS · ON
VIBE CODING_
> READY
> PTT LISTENING…
> STT: 0.8s
> INJECT → cursor
> CLI: idle
> TODO: 3 open
TEXT INJECT 16k PCM
UP
BOOT
DN

实体设备作为唯一语音入口:不看手机、不抢焦点, 桌面上常亮显示系统状态。Mac 客户端菜单栏常驻,负责转写、注入与 CLI 编排。

操作 结果
长按 BOOT 录音 → 识别 → 注入光标 / 驱动 AI
短按 BOOT 发送回车(提交输入)
连按两次 BOOT 清空当前输入框
UP / DN 翻页 / 选方案 / 浏览待办

05 交互链路

END-TO-END PIPELINE

01
长按 BOOT
02
PCM 上行
A
03
STT 转写
04
注入 / CLI
05
墨水屏回显

设备经 UDP 局域网发现 找到主机,建立 WebSocket 连接; 可选 HMAC-SHA256 鉴权。音频格式:16kHz 单声道 PCM16。 发送目标支持:文本注入(默认)/ Codex CLI / Claude Code CLI。

发送目标 说明
text_injector 转写文字注入当前光标所在输入框(默认)
codex_exec 发给 Codex CLI,解析 JSON 事件流,设备显示状态
claude_code 发给 Claude Code CLI,支持多方案设备端选择

06 系统架构

SYSTEM ARCHITECTURE

┌─────────────────┐     LAN Wi-Fi      ┌──────────────────────────┐
│  ESP32 Device   │◄──────────────────►│  macOS Native Client     │
│  · e-paper UI   │  UDP discover:8766 │  · Menu bar accessory    │
│  · PTT buttons  │  WebSocket :8765   │  · NativeServer (Swift)  │
│  · PCM capture  │  HMAC optional     │  · STT (Whisper/Volc…)   │
│  · offline todo │                    │  · TextInjector / CLI    │
└─────────────────┘                    │  · Todo + Reminders sync │
                                       └────────────┬─────────────┘
                                                    │
                          ┌─────────────────────────┼─────────────────────────┐
                          ▼                         ▼                         ▼
                   ┌────────────┐           ┌────────────┐            ┌────────────┐
                   │ Cursor /   │           │ Codex CLI  │            │ Claude CLI │
                   │ any input  │           │  session   │            │  session   │
                   └────────────┘           └────────────┘            └────────────┘

固件侧

心跳保活 · 指数退避重连 · 深度睡眠省电 · Wi-Fi AP 配网 · 离线待办队列

客户端侧

零依赖单 App · Network.framework 自实现 WS · 权限引导 · 全局快捷键 ⌘⇧V