语音
Paseo 对语音提供一流的支持,可用于口述输入,以及与编程环境进行语音模式对话。
设计理念
语音以本地优先。你可以完全在设备上运行语音功能,也可以为语音功能选择 OpenAI。对于语音推理和编排,Paseo 复用你机器上已安装并完成认证的 Agent Provider。
这让凭据和执行都留在你的环境中,也避免了引入一套独立的、只能在云端运行的语音系统。
架构
- 语音输入输出:每个功能各自的 STT 和 TTS Provider(
local或openai) - 本地语音运行时:默认在 CPU 上执行的 ONNX 模型
- 语音 LLM 编排:使用你配置的 Provider(
claude、codex或opencode)的隐藏 Agent 会话 - 工具路径:用于语音工具和 Agent 控制的 MCP stdio 桥
本地语音
本地语音默认使用模型 ID parakeet-tdt-0.6b-v2-int8(STT)和 kokoro-en-v0_19(TTS,speaker 0 / voice 00)。
缺失的模型会在 daemon 启动时下载到 $PASEO_HOME/models/local-speech。只会下载缺失的文件。
本地 STT 模型与语言支持
| 模型 ID | 语言 |
|---|---|
parakeet-tdt-0.6b-v2-int8 | 仅英语(默认)。包含标点和大小写。 |
parakeet-tdt-0.6b-v3-int8 | 25 种欧洲语言,自动检测:保加利亚语、克罗地亚语、捷克语、丹麦语、荷兰语、英语、爱沙尼亚语、芬兰语、法语、德语、希腊语、匈牙利语、意大利语、拉脱维亚语、立陶宛语、马耳他语、波兰语、葡萄牙语、罗马尼亚语、俄语、斯洛伐克语、斯洛文尼亚语、西班牙语、瑞典语、乌克兰语。 |
要使用英语以外的语言,请把本地 STT 模型切换为 parakeet-tdt-0.6b-v3-int8。 v3 会自动检测说话的语言,没有针对单个语言的设置。下面的 language 字段不会影响本地 Parakeet 模型(v2 仅支持英语,v3 自动检测);它只适用于 OpenAI STT Provider。
{
"version": 1,
"features": {
"dictation": {
"stt": { "provider": "local", "model": "parakeet-tdt-0.6b-v2-int8", "language": "en" }
},
"voiceMode": {
"llm": { "provider": "claude", "model": "haiku" },
"stt": { "provider": "local", "model": "parakeet-tdt-0.6b-v2-int8", "language": "en" },
"tts": { "provider": "local", "model": "kokoro-en-v0_19", "speakerId": 0 }
}
},
"providers": {
"local": {
"modelsDir": "~/.paseo/models/local-speech"
}
}
}
对于多语言的本地口述,请把模型设置为 v3。它会自动检测语言,因此不需要 language 字段:
{
"version": 1,
"features": {
"dictation": {
"stt": { "provider": "local", "model": "parakeet-tdt-0.6b-v3-int8" }
}
}
}
language 字段只适用于 OpenAI STT Provider:口述使用 features.dictation.stt.language,语音模式使用 features.voiceMode.stt.language。如果省略语音语言,Paseo 会先使用口述语言,再退回到 en。它对本地 Parakeet 模型没有任何作用。
OpenAI 语音选项
把 Provider 字段设置为 openai 并提供 OpenAI 凭据,即可把口述、语音 STT 和语音 TTS 切换到 OpenAI。
{
"version": 1,
"features": {
"dictation": { "stt": { "provider": "openai" } },
"voiceMode": {
"stt": { "provider": "openai" },
"tts": { "provider": "openai" }
}
},
"providers": {
"openai": {
"stt": {
"apiKey": "...",
"baseUrl": "https://api.openai.com/v1"
},
"tts": {
"apiKey": "...",
"baseUrl": "https://api.openai.com/v1"
}
}
}
}
providers.openai.stt 用于口述和语音模式的语音转文字,providers.openai.tts 用于语音模式的文字转语音。由于两者独立解析,你可以把 STT 和 TTS 指向不同的端点。未设置时,各自先退回到 providers.openai.apiKey/baseUrl,再退回到 OPENAI_API_KEY/OPENAI_BASE_URL。这些设置只配置 Paseo 的 OpenAI 语音流量,不会改变 Codex 或其他基于 OpenAI 的工具。
Paseo 在配置的 OpenAI base URL 下使用以下路径:
- 口述 STT:
/v1/audio/transcriptions - 语音模式 STT:
/v1/audio/transcriptions - 语音模式 TTS:
/v1/audio/speech
环境变量
PASEO_VOICE_LLM_PROVIDER:覆盖语音 Agent 的 ProviderPASEO_DICTATION_STT_PROVIDER、PASEO_VOICE_STT_PROVIDER、PASEO_VOICE_TTS_PROVIDER:选择语音 Provider(local或openai)OPENAI_STT_API_KEY、OPENAI_STT_BASE_URL:OpenAI 语音转文字端点(口述 + 语音模式 STT)OPENAI_TTS_API_KEY、OPENAI_TTS_BASE_URL:OpenAI 文字转语音端点(语音模式 TTS)PASEO_LOCAL_MODELS_DIR:本地模型存储目录PASEO_DICTATION_LOCAL_STT_MODEL:本地口述 STT 模型 IDPASEO_VOICE_LOCAL_STT_MODEL、PASEO_VOICE_LOCAL_TTS_MODEL:本地语音 STT/TTS 模型 IDPASEO_DICTATION_LANGUAGE:口述 STT 语言(仅限 OpenAI STT;本地 Parakeet 会忽略)PASEO_VOICE_LANGUAGE:语音模式 STT 语言;未设置时退回到PASEO_DICTATION_LANGUAGE(仅限 OpenAI STT;本地 Parakeet 会忽略)PASEO_VOICE_LOCAL_TTS_SPEAKER_ID、PASEO_VOICE_LOCAL_TTS_SPEED:可选的本地语音 TTS 调优
使用须知
语音模式可以启动和控制 Agent。请像对待直接的 Agent 指令一样谨慎对待语音提示词,尤其是在指定工作目录或执行破坏性操作时。
赞助商
Cloud coding agents
- 成为赞助商