open-typeless 是什么?
open-typeless 是一个基于 Trellis 框架构建的 macOS 桌面应用,作为框架的展示项目。它提供按住说话工作流,从麦克风录制语音,使用 Volcano Engine 的 ASR 服务进行流式语音转文本,并将识别文本插入当前聚焦的文本光标位置。
该项目适用于希望在任意应用中直接听写而无需切换窗口的用户。它还包含一个浮动毛玻璃风格的覆盖层,显示当前监听状态和实时转写文本(按住热键时)。
主要特性
- 按住说话热键:按住 右 Option 键开始录音;松开键结束录音并自动插入文本。
- 实时流式转写:使用 Volcano Engine ASR,流式传输部分结果,覆盖层随识别进度更新。
- 状态和转写浮动覆盖层:显示“Listening…”状态及转写文本,采用磨砂玻璃外观。
- 无需切换窗口的光标插入:自动将识别文本插入当前光标位置,继续在当前应用中输入。
- 不抢夺焦点:浮动窗口设计为不中断用户在当前应用中的工作流。
如何使用 open-typeless
- 安装依赖:运行
pnpm install。 - 配置环境变量:复制
.env.example到.env,填写 Volcano Engine 凭证。VOLCENGINE_APP_IDVOLCENGINE_ACCESS_TOKENVOLCENGINE_RESOURCE_ID(仓库示例:volc.bigasr.sauc为 1.0 模型,volc.seedasr.sauc为 2.0 模型,标记为推荐)
- 启动应用:运行
pnpm start。 - 首次启动授权 macOS 权限:
- 麦克风权限(用于录音)
- 辅助功能权限(用于全局热键处理和文本插入) 授权后,让应用在后台运行。
- 听写:在任意带文本框的应用中,按住 右 Option 说话,然后松开。应用将识别文本插入光标。
使用场景
- 任意编辑器中听写消息:按住右 Option 在聊天、邮件编辑器或文档字段中听写;识别文本直接出现在光标,无需手动粘贴。
- 带实时反馈的表单填写:使用浮动覆盖层监控系统识别内容,说完后松开提交文本。
- 跨应用快速笔记:用按住键快速启动/停止语音,焦点保持在活动窗口。
- 热键/文本插入问题排查:若热键无响应或文本未插入,检查应用是否启用辅助功能权限,且光标位于输入区域。
常见问题
-
为什么热键不起作用? 确保应用在 系统设置 → 隐私与安全性 → 辅助功能 中获得 辅助功能权限,并已添加到允许应用列表。
-
为什么应用无法插入文本? 目标应用必须支持文本输入,光标应位于文本输入区域。同时验证 辅助功能 权限是否正确授权。
-
语音识别有启动延迟吗? 首次连接 Volcano Engine 服务会建立 WebSocket 连接,可能需 1–2 秒;后续使用可能更快。
-
可以更改热键吗? 仓库说明热键当前固定为 右 Option 键,自定义需修改
src/main/services/keyboard/keyboard.service.ts(具体为triggerKey)。
替代方案
- macOS 内置听写/语音输入:适合偏好无需外部 ASR 提供商凭证的系统级语音转文本。工作流不同,由 macOS 处理集成和插入。
- 通用语音转文本工具(手动复制粘贴):提供转写但通常需手动粘贴到目标应用,不同于本项目的光标插入方式。
- 文本扩展和热键听写应用:通过快捷键插入文本的工具;有些专注编辑宏或转写管道,而非带磨砂覆盖层和按住说话的流式 ASR。
- 其他开发者向け语音转文本集成:若构建自定义工作流,可用 ASR API 和全局热键/剪贴板或辅助功能 API;不同于现成应用需更多实现。
替代品
Speech to Text Converter Online
一个免费的在线工具,可将音频和视频文件转换为45种以上语言的准确文本记录。它支持多种文件格式,无需下载或注册。
Dictato
Dictato 是 macOS 离线语音转文字应用:支持 Whisper、Parakeet 与 Apple 引擎,不走云端并无超时,将文字插入任意输入框。
Memo AI
由人工智能驱动的转录服务,将音频和视频文件转换为文本。
Sanota
Sanota 把你的声音转成清晰优美的文字,轻松记录回忆与灵感,把想法整理成可阅读内容,支持免费开始。
OpenAI Realtime API
使用 OpenAI Realtime API 构建低延迟、多模态语音与实时音频体验,支持浏览器语音代理与 WebSocket 实时转录。
Pewbeam
Pewbeam 实时聆听讲道并自动识别圣经经文,瞬间投屏显示,帮助牧师与投影团队无需输入即可保持流程顺畅。