Talk 模式有两种运行形态:
- 原生 Talk(macOS/iOS/Android):本地语音识别 + Gateway chat +
talk.speakTTS - 浏览器 Talk:通过
talk.client.create(WebRTC/provider-websocket)或talk.session.create(gateway-relay)
原生 Talk 循环(macOS)
- 监听语音
- 将转录发送到模型(通过活跃 session)
- 等待响应
- 通过配置的 Talk provider 播放(
talk.speak)
行为特性:
- 短暂停顿(静音窗口)后发送当前转录
- 回复写入 WebChat(与打字相同)
- 打断检测(默认开启):用户说话时停止播放
语音指令(回复前缀)
{ "voice": "<voice-id>", "once": true }- 仅第一个非空行有效
once: true:仅对当前回复生效- 不带
once:成为 Talk 模式的新默认声音
配置示例
{
talk: {
provider: "elevenlabs",
providers: {
elevenlabs: {
voiceId: "elevenlabs_voice_id",
modelId: "eleven_v3",
apiKey: "elevenlabs_api_key"
}
},
silenceTimeoutMs: 1500,
interruptOnSpeech: true,
realtime: {
provider: "openai",
providers: {
openai: { model: "gpt-realtime-2", voice: "cedar" }
},
brain: "agent-consult",
transport: "webrtc"
}
}
}关键配置项
| 配置项 | 默认值 | 说明 |
|---|---|---|
interruptOnSpeech | true | 用户说话时打断播放 |
silenceTimeoutMs | macOS/Android: 700ms, iOS: 900ms | 静音后发送转录的等待时间 |
provider | — | 活跃 TTS provider(elevenlabs/mlx/system) |
realtime.brain | — | agent-consult/direct-tools/none |
平台 UI
- macOS:菜单栏 Talk 切换,覆盖层显示 Listening/Thinking/Speaking 状态
- Android:Voice 标签页 Talk 切换,与手动 Mic 互斥
相关页面
- nodes-voicewake — 语音唤醒词
- nodes-audio — 音频与语音笔记
- nodes-media-understanding — 媒体理解