Town CLIPlugin

town tts

管理内置 tts plugin,并把文本生成语音文件

town tts

town tts 用于管理内置 tts plugin。

这页保留为命令入口。更完整的 Plugin 结构说明见 Plugin 总览Plugin 配置Plugin Actions

它负责什么

  • 启用或关闭 city 级 tts plugin
  • 配置默认语音模型 / 音色 / 输出格式
  • 执行一次文本转语音生成

常用示例

# 查看当前 tts 配置
town tts status

# 启用插件
town tts on

# 生成一个本地语音文件
town tts synthesize "hello from city"

# 指定格式 / 语言 / 音色 / 输出路径
town tts synthesize "你好,欢迎来到 Downcity" --format wav --language zh --voice default --output .downcity/out/welcome.wav

怎么使用

  1. 先启用 plugin:
town tts on
  1. 再检查当前模型和依赖是否可用:
town tts status
town tts doctor
  1. 生成语音文件:
town tts synthesize "这是一段测试语音"
  1. 如需覆盖本次参数,可追加这些选项:
  • --language <language>:覆盖语言提示,例如 zhen
  • --voice <voice>:覆盖音色
  • --format <format>:输出格式,当前支持 wav / flac
  • --speed <speed>:语速倍率
  • --output <path>:输出文件路径或输出目录

返回结果

  • 成功后会返回本地输出文件路径
  • 同时返回一个可复用的 <file type="audio">...</file> 标签,后续发送消息时可以直接复用
  • 如果 Python runner 打印了非致命的 stderr,命令仍然成功,并额外返回简短的 stderr 摘要

说明

  • TTS 默认不接入 chat hooks。
  • town tts ... 默认直接在当前项目里本地执行,不需要先运行 town agent start
  • 当 plugin 已启用且依赖可用时,agent 会在 system prompt 中感知这项能力,因此可以直接调用 town tts synthesize ... 来生成语音文件。
  • 它会生成一个本地音频文件,并返回可复用的 <file type="audio">...</file> 标签,后续发送阶段可直接复用。
  • 只要音频文件实际生成成功,非致命的 Python runner stderr 不再导致合成失败。
  • agent 侧的 TTS 参数会持久化到项目 downcity.jsonplugins.tts

相关页面