一键导入
character-dialogue-workflow
当 Agent 回复需要在屏幕和语音里都完整保持角色时使用。先把语音提交给 OumuQ 兼容的常驻 TTS worker,等待 queued 成功后再显示可见文本,并在屏幕语言和语音语言不同时保留角色语气。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
当 Agent 回复需要在屏幕和语音里都完整保持角色时使用。先把语音提交给 OumuQ 兼容的常驻 TTS worker,等待 queued 成功后再显示可见文本,并在屏幕语言和语音语言不同时保留角色语气。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
当需要运行或记录一个 OumuQ 兼容的阿里云百炼 / DashScope 云端 TTS worker 时使用。支持真正的 Qwen 声音设计、经授权的声音复刻、动态多角色和全局串行播放。
通过阿里云百炼 / DashScope 的 Qwen TTS API 生成语音,并让一个常驻 worker 按请求在多个角色与会话之间安全切换。支持 Qwen 声音设计、个人非商业用途的声音复刻、已有 voice_id 和 OumuQ 全局串行播放。
当需要规划 Qwen/DashScope 克隆声线注册、语言提示,或处理跨语言语音时使用,例如日语参考音频说中文。尤其适用于用户还没有明确想要的语音语言和口音取舍时。
当用户希望 Codex 聊天回复既保持选定角色风格、又通过 TTS 播放时使用。覆盖所有可见 Codex 输出、从 voice-references 选择角色人格/风格、先提交语音再显示文本、语音语言和屏幕语言不同的情况、支持时的情绪提示、工作区归属的缓存/输出,以及 UTF-8 中文路径。
从中文 Wiki、网页、本地资料、角色设定或参考音频中提取角色人格、语言风格和 TTS 参数,创建或更新 OumuQ 的 voice-references 角色条目。角色 TTS 或声音克隆任务应先把可用参考音频提取到本机私有目录,再按用户选择使用本地或千问克隆;skill、代码和脱敏模板可以发布,但真实 TTS 参考音频不得放到 GitHub 或公网地址。用户要求创建、添加、注册、提取或还原角色,制作中文角色提示词、语音角色、音色克隆配置或对话模式角色时使用。
当 Agent 需要从 voice-references 中选择 OumuQ 兼容的本地 TTS worker、语言、角色、固定声线、参考音频或播放行为时使用。
| name | character-dialogue-workflow |
| description | 当 Agent 回复需要在屏幕和语音里都完整保持角色时使用。先把语音提交给 OumuQ 兼容的常驻 TTS worker,等待 queued 成功后再显示可见文本,并在屏幕语言和语音语言不同时保留角色语气。 |
这个公开 skill 模板用于需要同时输出屏幕文本和语音的 Agent 回复。
屏幕文本也是表演的一部分。不要屏幕上写中性的 Codex/Agent 答案,只让音频像角色。
如果用户只用一个角色名调用这个 skill,就把它视为进入该角色对话模式的请求。
session_id,并从 voice-references/reference-index.json 解析该会话的 character_id。visible_language 写屏幕可见回复,并完整保持当前角色口吻。speech_language 写匹配的语音文本。如果两种语言不同,翻译含义而不是逐字翻译,并保留相同意图、情绪、关系姿态和角色语气。POST /api/speak 把语音文本提交给 OumuQ。queued 视为成功,然后再显示屏幕文本。对话模式下,不要为每句普通发言启动新的 shell 进程。保持 OumuQ 和一个兼容 worker 运行,然后提交轻量本地 HTTP 请求。只有 OumuQ 不可用或被明确绕过时,才 fallback 到直接 worker POST /speak。
OumuQ 是角色优先的 TTS 工作流,不是“中性助手回复 + 声音滤镜”。当对话模式启用时:
speech_language 和 visible_language 不同,翻译含义时要尽量保留角色语气、礼貌程度、句子节奏、温度、调侃感、正式程度和常用称呼。例如,语音是日语、可见文本是中文时,可见中文应是日语含义的角色化中文呈现,而不是对日语台词的平淡解释。
用用户提供的名字匹配这些注册字段:
idnamedisplay_namedisplay_name_zhstyle_summarystyle_summary_zh当注册表条目已经匹配时,不要开始大范围文件搜索。如果没有条目匹配,只问用户要使用哪个本地角色 id;不能从 worker status 猜测当前会话角色。
OumuQ 运行时,把它作为路由层。worker_url 是共享服务地址;每次请求由 character_id 决定声线。健康检查只确认 readiness,绝不能因为 status 显示另一个默认角色而重启共享 worker。
会话 A/B 各自持有 session_id 和 character_id,每次请求都显式发送。OumuQ 不保存全局当前角色。worker 静默生成;单一 OumuQ 进程内按提交序号 FIFO 播放,主机级互斥锁保证多个进程也不叠音。queued 表示生成已接受,不表示可以绕过本进程前面的播放序号或主机播放锁。
{
"text": "Speech-language text to submit to TTS.",
"play": true,
"session_id": "opaque-session-id",
"character_id": "cloud_zh_voice",
"language": "Chinese"
}
优先 endpoint:
POST http://127.0.0.1:8780/api/speak
可选预检 endpoint:
GET http://127.0.0.1:8780/api/config
GET http://127.0.0.1:8780/api/characters
GET http://127.0.0.1:8780/api/tts-model-capabilities
POST http://127.0.0.1:8780/api/infer-parameters
/api/infer-parameters 可以在 /api/speak 前推断高层 TTS 控制参数;它不会生成音频。
可选字段:
emotion_tagsemotion_vectoremotion_modeemotion_alphaemotion_textmatch_patternsref_textinstructionssend_instructionsspeech_ratepitch_ratevolume只有目标 provider 和声线已经验证过 provider-side instructions 时,才设置 send_instructions。对于云端 CosyVoice 克隆声线,由于不能保证原生支持逐请求 emotion vector,OumuQ/worker 可能会把高层情绪意图降级成 provider instructions 和韵律字段。
这个模板必须保持通用:
voice-references 副本里。