按住热键说话——OpenLess 核心工作流:录音 → 转写 → 润色 → 插入
核心流程一条线
按下全局快捷键
→ 屏幕边缘出现状态胶囊「录音中」
→ ASR 流式接收音频帧(边录边转写)
→ 松开快捷键
→ ASR 发送最后一帧 + 结束会话
→ 润色 LLM 接收转写文本 + 输出模式 prompt
→ 流式写入润色后的文字到光标(字符级)
→ 完成
第一次录音怎么走
1. 光标放到目标输入框
ChatGPT / Claude / Cursor / 邮件编辑器 / Slack / 微信 / VS Code / Notion / Obsidian / Figma 评论框——任何有光标的输入框都行。
2. 按住全局快捷键
默认快捷键因平台而异:
| 平台 | 默认键 |
|---|---|
| macOS | 右 Option 键 |
| Windows | 右 Control 键 |
| Linux | Ctrl + / |
按住不放,屏幕边缘会出现一个状态胶囊,显示「录音中」。这个胶囊会跟随你正在打字的显示器(多显示器场景自动切换)。
3. 开口说话
正常音量、正常语速——不用对着麦克风大吼,也不用一个字一个字蹦。ASR 是流式的,你边说它边转。
4. 松开快捷键
松开后 OpenLess 立即停止录音、发送最后一帧音频给 ASR,然后把完整转写文本交给润色模型。
5. 等待润色结果
这一步延迟取决于 ASR 和润色模型的响应速度。国内 ASR(火山引擎)通常在 1-2 秒内出转写,润色再加 1-5 秒。
6. 润色后的文字出现在光标
默认流式插入——字符一个接一个出现,和打字速度差不多。感知延迟很低。
失败兜底
| 节点失败 | 兜底行为 |
|---|---|
| 快捷键没反应 | 检查权限(辅助功能 / 监听器状态),见 快捷键没反应 |
| ASR 失败 | 录音中断,不执行润色和插入;历史里会看到失败提示 |
| 润色 LLM 失败 | 回退到「原文模式」直接插入纯转写结果 |
| 插入失败(目标 App 不支持模拟键盘) | 自动复制到剪贴板——手动 Ctrl+V / Cmd+V 粘贴即可,你说的话不会丢 |
| 润色卡住超时 | 按稿子长度自适应超时时间,长稿不卡死 |
关键设计:按住 vs 切换模式
默认是 按住模式(Push-to-Talk)——按住录音,松开停止。OpenLess 还支持切换模式——按一下开始录音,再按一下停止。两种模式可以在「设置 → 录音」里切换。