开发者近日在 V2EX 发布开源项目 Setem,这是一款 macOS 菜单栏语音输入法,采用 MIT 协议免费开源,代码托管在 GitHub。项目支持四种语音识别渠道:豆包、微信、千问三个云端服务,以及可运行在 Apple 芯片上的本机离线模型,断网环境下仍可使用。使用方式上,用户按住右 Option 键(可自定义)说话,松开后在浮窗中查看识别定稿,确认后一次性输入到光标位置;也可点按开始、再点按结束,适合长段内容的语音录入。技术实现方面,Setem 采用 Swift 原生开发,无 Electron 依赖,安装包仅 6.1MB,常驻内存占用较小。项目基于 VoiceKey 的 fork 改造而成,云端识别通过 WebSocket 加 protobuf 实现流式传输,音频以 20ms 一帧进行 Opus 编码上传,全局快捷键通过 CGEventTap 监听实现。开发者提到,开发过程中的主要难点在于各家输入法的协议均不公开,需要自行逆向客户端协议,且接口随时可能变更,项目 README 中已对此作出声明。安装包在 GitHub Releases 提供,采用 ad-hoc 签名,首次运行需手动移除隔离属性。开发者正征集用户反馈,希望了解同类工具的使用痛点以确定优先修复方向。
事件分析
从技术角度看,Setem 的核心亮点在于逆向了豆包、微信、千问三家厂商未公开的客户端语音识别协议,这需要大量抓包分析与协议还原工作。这种协议拼装模式让用户能直接调用大厂云端 ASR 的识别能力,但也埋下隐患:一旦厂商调整接口或加强鉴权,功能随时可能失效,长期维护成本较高。产业层面,语音输入正在成为 AI 时代效率场景的重要交互方式,Wispr Flow 等海外产品已验证这一需求。国内开发者将豆包、通义千问等国产模型的语音能力与 macOS 原生体验结合,反映出云端大模型能力外溢到第三方客户端工具的趋势。离线模型依赖 Apple 芯片运行,也体现了端侧推理可用性的提升。后续走向上,若厂商开放官方 API 或推出计费方案,此类工具可能转向正规授权模式;反之则将持续面临协议变更与合规性的双重考验。
核心观点:逆向封闭协议调用大厂语音能力虽是取巧,却印证了语音输入正在成为 AI 时代人机交互的新入口。
原文链接:V2EX 分享发现