背景

为什么做这个

我日常办公用的是一台 Linux 和一台 Mac mini。Linux 上的语音输入法支持不好,Mac mini 也没有内置麦克风,得额外接一个语音输入设备。我不想为此专门买麦克风,蓝牙耳机也不稳定。

但我的手机有很好的麦克风,降噪效果也很好。而且我每天都在手机上用豆包输入法的语音键盘。问题是:怎么把手机语音键盘识别出来的文字,输入到电脑上正在使用的应用里?

Airvoice 就是解决这个问题的。它是一个桥接工具。

工作原理

手机(Android 或 iPhone,语音键盘) → 局域网 WebSocket → 桌面端(粘贴到光标位置)
  1. 桌面端: Go CLI 在局域网启动 WebSocket 服务器,打印一个二维码。
  2. 手机端: Android 或 iOS 应用扫描二维码连接。应用里有一个文本框,你可以用任何语音键盘(豆包输入法、微信输入法等)在这里口述。
  3. 收起键盘时(或文本空闲 1.5 秒后),文字通过局域网发送,粘贴到桌面光标位置。

没有云端。没有账号。数据不出局域网。语音识别完全由手机上的语音键盘完成 — Airvoice 不包含自己的语音识别引擎。

什么时候该用 Airvoice

Airvoice 是一个非常小众的工具,只适合以下场景:

  • 你的 Mac mini 等桌面设备没有内置麦克风,需要额外接语音输入设备
  • 你想用手机口述,把文字输入到电脑上的任意应用(编辑器、终端、浏览器、聊天工具)
  • 你在意隐私,希望只在局域网内通信,不经过云端
  • 你在 Linux 上,大多数商业语音输入工具都不好用

如果这些不是你的需求,你大概率不需要 Airvoice。

更好的替代方案

对大多数人来说,这些工具更合适:

工具简介适合谁
TypeLessAI 驱动的 Mac 语音转文字工具Mac 用户,想要开箱即用的语音打字体验
豆包输入法字节跳动的语音键盘,中英文识别效果很好移动端语音输入,单独使用就很好
微信输入法微信生态的语音键盘微信重度用户
讯飞输入法老牌语音输入法,中文识别很强中文语音输入重度用户
Whisper 系工具开源本地语音识别(如 whisper.cpp)想要完全本地、自托管语音识别的用户

设计决策

项目决策
产品名称Airvoice
移动端Android(Kotlin/Compose)+ iOS(SwiftUI, iOS 17+)
桌面端Go CLI (airvoice)
配对QR 码 + 持久 token(可刷新)
发送模式键盘消失或文本空闲 1.5 秒时自动发送
多行原样粘贴,保留 \n
Linux支持 X11 + Wayland
语音识别仅第三方输入法 — 我们不做语音识别