openclaw - ✅(Solved) Fix [Feature]: Per-agent TTS voice/voiceId configuration [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#61858Fetched 2026-04-08 02:53:27
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Participants
Timeline (top)
labeled ×1subscribed ×1

TTS 配置目前是全局的(messages.tts),所有 agent 共用同一个音色。在多 agent 架构中,每个 agent 有各自的人设和音色,共享音色会削弱身份辨识度。

Root Cause

TTS 配置目前是全局的(messages.tts),所有 agent 共用同一个音色。在多 agent 架构中,每个 agent 有各自的人设和音色,共享音色会削弱身份辨识度。

PR fix notes

PR #66049: feat(agents): add per-agent TTS voice configuration

Description (problem / solution / changelog)

Summary

  • Add optional tts config block to per-agent schema for voice identity overrides
  • Enables multi-agent setups where each agent has a distinct TTS voice

Addresses #61858 #56701 #11483

Changes

FileChange
src/config/zod-schema.agent-runtime.tsAdd tts object schema to AgentEntrySchema (voiceId, modelId, languageCode, speed, providers)
src/config/types.agents.tsAdd tts type to AgentConfig
src/agents/agent-scope.tsAdd tts to ResolvedAgentConfig + resolveAgentConfig()

Usage

{
  "agents": {
    "list": [
      {
        "id": "hoca",
        "tts": {
          "voiceId": "QluOTmSA0nUxoJCQLoTX",
          "modelId": "eleven_multilingual_v2",
          "languageCode": "tr",
          "speed": 0.92
        }
      }
    ]
  }
}

Agent-level tts overrides the global messages.tts config. Omitting any field falls back to the global default.

Test plan

  • 50 config schema tests pass
  • pnpm build succeeds
  • Schema backwards compatible (field is optional, .strict())

🤖 Generated with Claude Code

Changed files

  • src/agents/agent-scope.ts (modified, +2/-0)
  • src/config/types.agents.ts (modified, +10/-0)
  • src/config/zod-schema.agent-runtime.ts (modified, +11/-0)
RAW_BUFFERClick to expand / collapse

Summary

TTS 配置目前是全局的(messages.tts),所有 agent 共用同一个音色。在多 agent 架构中,每个 agent 有各自的人设和音色,共享音色会削弱身份辨识度。

Problem to solve

enhances-personality / multi-agent-voice

Proposed solution

支持在 agent 配置中覆盖 TTS 参数:

"agents": {
  "list": [
    { "id": "main", "tts": { "providers": { "minimax": { "voiceId": "Chinese (Mandarin)_Steady_Boy" }}}},
    { "id": "works", "tts": { "providers": { "minimax": { "voiceId": "Chinese (Mandarin)_Gentle_Boy" }}}}
  ]
}
agent 级配置优先于全局 messages.tts,未设置则回退到全局。

### Alternatives considered

_No response_

### Impact

Affected:
Core TTS Engine
macOS/iOS/Android 语音通话
Voice Override
Model-driven TTS Override

### Evidence/examples

_No response_

### Additional information

_No response_

extent analysis

TL;DR

To enhance personality and support multi-agent voices, override TTS parameters at the agent level by adding a tts configuration to each agent in the agents list.

Guidance

  • Add a tts object to each agent's configuration to specify a unique voice ID, as shown in the proposed solution.
  • Ensure that the tts configuration at the agent level takes priority over the global messages.tts configuration.
  • If an agent does not have a tts configuration, it will default to the global messages.tts settings.
  • Review the affected components, including the Core TTS Engine and voice override features, to ensure compatibility with the new agent-level TTS configuration.

Example

"agents": {
  "list": [
    { 
      "id": "main", 
      "tts": { 
        "providers": { 
          "minimax": { 
            "voiceId": "Chinese (Mandarin)_Steady_Boy" 
          } 
        } 
      } 
    },
    { 
      "id": "works", 
      "tts": { 
        "providers": { 
          "minimax": { 
            "voiceId": "Chinese (Mandarin)_Gentle_Boy" 
          } 
        } 
      } 
    }
  ]
}

Notes

This solution assumes that the TTS engine and other affected components support agent-level configuration overrides. It is essential to test the implementation thoroughly to ensure that the new configuration works as expected.

Recommendation

Apply the proposed solution to override TTS parameters at the agent level, as it provides a flexible and scalable way to support multi-agent voices and enhance personality.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING