惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
Blog — PlanetScale
Blog — PlanetScale
V
Visual Studio Blog
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
博客园 - Franky
IT之家
IT之家
博客园 - 叶小钗
Engineering at Meta
Engineering at Meta
The GitHub Blog
The GitHub Blog
雷峰网
雷峰网
腾讯CDC
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
人人都是产品经理
人人都是产品经理
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
博客园_首页
G
Google Developers Blog

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
docs: document OpenAI realtime voices · openclaw/openclaw...
steipete · 2026-05-08 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -1184,7 +1184,10 @@ Auto-join example:

11841184

reconnectGraceMs: 15000,

11851185

tts: {

11861186

provider: "openai",

1187-

openai: { voice: "onyx" },

1187+

openai: {

1188+

model: "gpt-4o-mini-tts",

1189+

voice: "cedar",

1190+

},

11881191

},

11891192

},

11901193

},

@@ -1195,8 +1198,9 @@ Auto-join example:

11951198

Notes:

11961199
11971200

- `voice.tts` overrides `messages.tts` for voice playback only.

1198-

- `voice.model` overrides the LLM used for Discord voice channel responses only. Leave it unset to inherit the routed agent model.

1201+

- `voice.model` overrides the LLM used for Discord voice channel responses only. Leave it unset to inherit the routed agent model. Do not set this to `gpt-realtime-2`; Discord voice channels use STT plus TTS playback, not the OpenAI Realtime session transport.

11991202

- STT uses `tools.media.audio`; `voice.model` does not affect transcription.

1203+

- For an OpenAI voice on Discord playback, set `voice.tts.provider: "openai"` and choose a Text-to-speech voice under `voice.tts.openai.voice` or `voice.tts.providers.openai.voice`. `cedar` is a good masculine-sounding choice on the current OpenAI TTS model.

12001204

- Per-channel Discord `systemPrompt` overrides apply to voice transcript turns for that voice channel.

12011205

- Voice transcript turns derive owner status from Discord `allowFrom` (or `dm.allowFrom`); non-owner speakers cannot access owner-only tools (for example `gateway` and `cron`).

12021206

- Discord voice is opt-in for text-only configs; set `channels.discord.voice.enabled=true` (or keep an existing `channels.discord.voice` block) to enable `/vc` commands, the voice runtime, and the `GuildVoiceStates` gateway intent.

Original file line numberDiff line numberDiff line change

@@ -1389,7 +1389,7 @@ Defaults for Talk mode (macOS/iOS/Android).

13891389

providers: {

13901390

openai: {

13911391

model: "gpt-realtime-2",

1392-

voice: "alloy",

1392+

voice: "cedar",

13931393

},

13941394

},

13951395

mode: "realtime",

Original file line numberDiff line numberDiff line change

@@ -82,7 +82,7 @@ Supported keys:

8282

openai: {

8383

apiKey: "openai_api_key",

8484

model: "gpt-realtime-2",

85-

voice: "alloy",

85+

voice: "cedar",

8686

},

8787

},

8888

mode: "realtime",

@@ -104,6 +104,7 @@ Defaults:

104104

- `providers.elevenlabs.apiKey`: falls back to `ELEVENLABS_API_KEY` (or gateway shell profile if available).

105105

- `realtime.provider`: selects the active browser/server realtime voice provider. Use `openai` for WebRTC, `google` for provider WebSocket, or a bridge-only provider through Gateway relay.

106106

- `realtime.providers.<provider>` stores provider-owned realtime config. The browser receives only ephemeral or constrained session credentials, never a standard API key.

107+

- `realtime.providers.openai.voice`: built-in OpenAI Realtime voice id. Current `gpt-realtime-2` voices are `alloy`, `ash`, `ballad`, `coral`, `echo`, `sage`, `shimmer`, `verse`, `marin`, and `cedar`; `marin` and `cedar` are recommended for best quality.

107108

- `realtime.brain`: `agent-consult` routes realtime tool calls through Gateway policy; `direct-tools` is owner-only compatibility behavior; `none` is for transcription or external orchestration.

108109

- `talk.catalog` exposes each provider's valid modes, transports, brain strategies, realtime audio formats, and capability flags so first-party Talk clients can avoid unsupported combinations.

109110

- Streaming transcription providers are discovered through `talk.catalog.transcription`. The current Gateway relay uses the Voice Call streaming provider config until the dedicated Talk transcription config surface is added.

Original file line numberDiff line numberDiff line change

@@ -648,10 +648,23 @@ Legacy `plugins.entries.openai.config.personality` is still read as a compatibil

648648

| Silence duration | `...openai.silenceDurationMs` | `500` |

649649

| API key | `...openai.apiKey` | Falls back to `OPENAI_API_KEY` |

650650
651+

Available built-in Realtime voices for `gpt-realtime-2`: `alloy`, `ash`,

652+

`ballad`, `coral`, `echo`, `sage`, `shimmer`, `verse`, `marin`, `cedar`.

653+

OpenAI recommends `marin` and `cedar` for the best Realtime quality. This

654+

is a separate set from the Text-to-speech voices above; do not assume a TTS

655+

voice such as `fable`, `nova`, or `onyx` is valid for Realtime sessions.

656+
651657

<Note>

652658

Backend OpenAI realtime bridges use the GA Realtime WebSocket session shape, which does not accept `session.temperature`. Azure OpenAI deployments remain available via `azureEndpoint` and `azureDeployment` and keep the deployment-compatible session shape. Supports bidirectional tool calling and G.711 u-law audio.

653659

</Note>

654660
661+

<Note>

662+

Realtime voice is selected when the session is created. OpenAI allows most

663+

session fields to change later, but the voice cannot be changed after the

664+

model has emitted audio in that session. OpenClaw currently exposes the

665+

built-in Realtime voice ids as strings.

666+

</Note>

667+
655668

<Note>

656669

Control UI Talk uses OpenAI browser realtime sessions with a Gateway-minted

657670

ephemeral client secret and a direct browser WebRTC SDP exchange against the