用途:为已有应用添加 Grok 实时语音(Speech to Speech),在用户运行 /add-voice、输入 Voice Mode 或明确要求添加 Grok 语音时触发。目标是打通双向通路:应用麦克风输入、音频输出,连接 wss://api.x.ai/v1/realtime?model=grok-voice-latest,并保证鉴权安全。Cursor 本身没有原生麦克风,需接入应用或示例客户端,而非 IDE。
主要能力:以语言无关的事件循环为先,默认提供 TypeScript 示例,仅在客户端 API 不同处(如 ws 与 websockets)给出简短 Python 版本。可识别应用现有栈(无、OpenAI Realtime、STT→LLM→TTS 级联、仅 TTS/STT),若存在级联或 OpenAI Realtime 则替换为单一双向循环,保留独立 /v1/stt 或 /v1/tts 仅在产品仍需一次性听/说时。支持工具调用:web_search、x_search、file_search、mcp、自定义函数。
使用方式:服务端用 Bearer XAI_API_KEY;浏览器/移动端由后端 POST https://api.x.ai/v1/realtime/client_secrets 获取临时令牌,客户端用 Bearer 或 sec-websocket-protocol: xai-client-secret.<token>。连接后发送 session.update 设置 voice(默认 eve)、instructions、turn_detection(server_vad 或 null 用于按键说话)、PCM 24 kHz。需设置 audio.input.transcription.model 为 grok-transcribe,否则无用户转写。音频侧每会话一个 AudioContext,在用户手势内创建;麦克风经 AudioWorklet 约 100 ms 分块发送 input_audio_buffer.append;播放 response.output_audio.delta 时预留约 150 ms 提前量,speech_started 时停止队列实现打断。
适用场景:需要为 Web、Node、iOS、Android 或服务端应用加入实时语音对话,或替换现有语音级联。
限制:不覆盖仅语音转文字(/add-dictation)、文本朗读(/add-read-aloud)、图像生成与纯文本推理;不得编造端点、事件或 CLI 标志。定价仅引用文档:约 $0.08/分钟 STS 加 $0.004/文本项,单会话最长 120 分钟。首次人工测试前建议运行 /debug-voice 安装开发日志。用扬声器会产生回声,非循环缺陷。