跳到主要内容

文字转语音包

内置 text-to-speech packages 会从 assistant replies 生成音频。每个 provider 都会安装一个 output slot,并且可以选择安装一个 authored text_to_speech tool,用于按需生成。

除非你有意让多个音频 providers 在每次 assistant response 后运行,否则每个 core 只安装一个 TTS output package。

Provider能力
tts_minimaxMiniMaxnetwork.fetch, agents.run:tts_summarizer
tts_openaiOpenAInetwork.fetch, agents.run:tts_summarizer
tts_geminiGemininetwork.fetch, agents.run:tts_summarizer
tts_xaixAInetwork.fetch, agents.run:tts_summarizer

安装

使用交互式 manager:

uv run demiurge package

或者用 subcommands 预览并安装:

uv run demiurge package install tts_minimax --core assistant --preview
uv run demiurge package install tts_minimax --core assistant

安装 summary mode:

uv run demiurge package install tts_minimax \
--core assistant \
--option mode=summary

安装 on-demand tool:

uv run demiurge package install tts_minimax \
--core assistant \
--option enable_tool=true

共享选项

所有内置 TTS packages 都支持:

选项默认值说明
modedirectdirect 原样朗读 assistant reply。summary 安装 shared tts_summarizer child core,并朗读它的 summary。可选值:directsummary
enable_toolfalse安装 authored text_to_speech tool 和 provider-specific TTS skill。
api_keyunset可选 direct provider API key。留空则使用环境变量。

summary mode 下,package 会安装或复用名为 tts_summarizer 的 package-owned child core。

凭证环境变量

环境变量
tts_minimaxDEMIURGE_MINIMAX_API_KEY; optional DEMIURGE_MINIMAX_GROUP_ID
tts_openaiDEMIURGE_OPENAI_API_KEY or OPENAI_API_KEY
tts_geminiDEMIURGE_GEMINI_API_KEY, GEMINI_API_KEY, or GOOGLE_API_KEY
tts_xaiDEMIURGE_XAI_API_KEY or XAI_API_KEY

运行时行为

已安装 output slot 会在 model response 可用后,在 parallel output pipeline 中运行。在 direct mode 下,它会从 assistant reply 中去除常见 Markdown,将文本截断到已配置 provider limit,发送给 provider,并发出 audio artifact。

summary mode 下,它会先调用 tts_summarizer child core,然后合成返回的 summary。

生成的音频写入 workspace 下:

.demiurge-tts/

支持音频的 channels 可以把 audio artifact 转发给用户。

工具

enable_tool=true 时,package 会安装:

agent/tools/text_to_speech/

Model 可以使用该 tool 按需生成特定 audio clip,而不是通过 output slot 朗读每次 assistant response。

因为所有 provider packages 都 target agent/tools/text_to_speech,同一个 core 中一次只安装一个启用 tool 的 TTS provider。

验证

列出已安装 packages:

uv run demiurge package list --core assistant

运行一个 turn,并检查 workspace:

.demiurge-tts/

如果 enable_tool=true,在 TUI 中检查 tool registry:

/tools

卸载

uv run demiurge package uninstall tts_minimax --core assistant --preview
uv run demiurge package uninstall tts_minimax --core assistant

Uninstall 会移除 package-owned output slots、provider libs、optional tool 和 skill files,以及 package-owned pipeline entries。它不会移除 .demiurge-tts/ 下生成的音频。