Files

1 line
1.3 MiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "augusdin/her-agent", "files": {"main/xiaozhi-server/config.yaml": {"2f05db2495c25745cd032460b6c9f78cac31702f": {"t": 1785746855.651527, "n": 33088, "h": "c4a390c0bb544141", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 白名单设备ID列表\n # 如果属于白名单内的设备,不校验token,直接放行\n allowed_devices:\n - \"11:22:33:44:55:66\"\n # MQTT网关配置,用于通过OTA下发到设备,根据mqtt_gateway的.env文件配置,格式为host:port\n mqtt_gateway: null\n # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置\n mqtt_signature_key: null\n # UDP网关配置\n udp_gateway: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\n# TTS音频发送延迟配置\n# tts_audio_send_delay: 控制音频包发送间隔\n# 0: 使用精确时间控制,严格匹配音频帧率(默认,运行时按音频帧率计算)\n# > 0: 使用固定延迟(毫秒)发送,例如: 60\ntts_audio_send_delay: 0\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 默认系统提示词模板文件\nprompt_template: agent-base-prompt.txt\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n XunfeiStreamASR:\n # 讯飞流式语音识别服务\n # 需要先在讯飞开放平台创建应用,获取以下认证信息\n # 讯飞开放平台地址:https://www.xfyun.cn/\n # 创建应用后,在\"我的应用\"中获取:\n # - APPID\n # - APISecret \n # - APIKey\n type: xunfei_stream\n # 必填参数 - 讯飞开放平台应用信息\n app_id: 你的APPID\n api_key: 你的APIKey\n api_secret: 你的APISecret\n # 识别参数配置\n domain: slm # 识别领域,iat:日常用语,medical:医疗,finance:金融等\n language: zh_cn # 语言,zh_cn:中文,en_us:英文\n accent: mandarin # 方言,mandarin:普通话\n dwa: wpgs # 动态修正,wpgs:实时返回中间结果\n # 调整音频处理参数以提高长语音识别质量\n output_dir: tmp/\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n XunfeiSparkLLM:\n # 定义LLM API类型\n type: openai\n # 先新建应用,在下面的地址\n # 开通应用地址:https://console.xfyun.cn/app/myapp\n # 有免费额度,但也要开通服务,才能获取api_key\n # 每一个模型都需要单独开通,每一个模型的api_password都不同,例如Lite模型在https://console.xfyun.cn/services/cbm 开通\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: lite\n api_key: 你的api_password\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2\n XunFeiTTS:\n # 讯飞TTS服务 官方网站:https://www.xfyun.cn/\n # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用\n # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts\n # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts\n type: xunfei_stream\n api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6\n app_id: 你的app_id\n api_secret: 你的api_secret\n api_key: 你的api_key\n voice: x5_lingxiaoxuan_flow\n output_dir: tmp/\n # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置\n # oral_level: mid # 口语化等级:high, mid, low\n # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0\n # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1\n # remain: 0 # 是否保留原书面语的样子\t保留:1, 不保留:0\n # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb\n # sample_rate: 24000 # 采样率:16000, 8000, 24000\n # volume: 50 # 音量:0-100\n # speed: 50 # 语速:0-100\n # pitch: 50 # 语调:0-100\n"}, "3ba437c9370a2e8e74356a0a6b17cfbc23becc55": {"t": 1785768092.9186597, "n": 33088, "h": "c4a390c0bb544141", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 白名单设备ID列表\n # 如果属于白名单内的设备,不校验token,直接放行\n allowed_devices:\n - \"11:22:33:44:55:66\"\n # MQTT网关配置,用于通过OTA下发到设备,根据mqtt_gateway的.env文件配置,格式为host:port\n mqtt_gateway: null\n # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置\n mqtt_signature_key: null\n # UDP网关配置\n udp_gateway: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\n# TTS音频发送延迟配置\n# tts_audio_send_delay: 控制音频包发送间隔\n# 0: 使用精确时间控制,严格匹配音频帧率(默认,运行时按音频帧率计算)\n# > 0: 使用固定延迟(毫秒)发送,例如: 60\ntts_audio_send_delay: 0\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 默认系统提示词模板文件\nprompt_template: agent-base-prompt.txt\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n XunfeiStreamASR:\n # 讯飞流式语音识别服务\n # 需要先在讯飞开放平台创建应用,获取以下认证信息\n # 讯飞开放平台地址:https://www.xfyun.cn/\n # 创建应用后,在\"我的应用\"中获取:\n # - APPID\n # - APISecret \n # - APIKey\n type: xunfei_stream\n # 必填参数 - 讯飞开放平台应用信息\n app_id: 你的APPID\n api_key: 你的APIKey\n api_secret: 你的APISecret\n # 识别参数配置\n domain: slm # 识别领域,iat:日常用语,medical:医疗,finance:金融等\n language: zh_cn # 语言,zh_cn:中文,en_us:英文\n accent: mandarin # 方言,mandarin:普通话\n dwa: wpgs # 动态修正,wpgs:实时返回中间结果\n # 调整音频处理参数以提高长语音识别质量\n output_dir: tmp/\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n XunfeiSparkLLM:\n # 定义LLM API类型\n type: openai\n # 先新建应用,在下面的地址\n # 开通应用地址:https://console.xfyun.cn/app/myapp\n # 有免费额度,但也要开通服务,才能获取api_key\n # 每一个模型都需要单独开通,每一个模型的api_password都不同,例如Lite模型在https://console.xfyun.cn/services/cbm 开通\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: lite\n api_key: 你的api_password\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2\n XunFeiTTS:\n # 讯飞TTS服务 官方网站:https://www.xfyun.cn/\n # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用\n # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts\n # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts\n type: xunfei_stream\n api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6\n app_id: 你的app_id\n api_secret: 你的api_secret\n api_key: 你的api_key\n voice: x5_lingxiaoxuan_flow\n output_dir: tmp/\n # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置\n # oral_level: mid # 口语化等级:high, mid, low\n # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0\n # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1\n # remain: 0 # 是否保留原书面语的样子\t保留:1, 不保留:0\n # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb\n # sample_rate: 24000 # 采样率:16000, 8000, 24000\n # volume: 50 # 音量:0-100\n # speed: 50 # 语速:0-100\n # pitch: 50 # 语调:0-100\n"}, "d00592020e6bd5e52f7e6cba78d3568d41eab909": {"t": 1785768094.422002, "n": 33034, "h": "a61d2bb7bc376a95", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 白名单设备ID列表\n # 如果属于白名单内的设备,不校验token,直接放行\n allowed_devices:\n - \"11:22:33:44:55:66\"\n # MQTT网关配置,用于通过OTA下发到设备,根据mqtt_gateway的.env文件配置,格式为host:port\n mqtt_gateway: null\n # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置\n mqtt_signature_key: null\n # UDP网关配置\n udp_gateway: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\n# TTS音频发送延迟配置\n# tts_audio_send_delay: 控制音频包发送间隔\n# 0: 使用精确时间控制,严格匹配音频帧率(默认,运行时按音频帧率计算)\n# > 0: 使用固定延迟(毫秒)发送,例如: 60\ntts_audio_send_delay: 0\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n XunfeiStreamASR:\n # 讯飞流式语音识别服务\n # 需要先在讯飞开放平台创建应用,获取以下认证信息\n # 讯飞开放平台地址:https://www.xfyun.cn/\n # 创建应用后,在\"我的应用\"中获取:\n # - APPID\n # - APISecret \n # - APIKey\n type: xunfei_stream\n # 必填参数 - 讯飞开放平台应用信息\n app_id: 你的APPID\n api_key: 你的APIKey\n api_secret: 你的APISecret\n # 识别参数配置\n domain: slm # 识别领域,iat:日常用语,medical:医疗,finance:金融等\n language: zh_cn # 语言,zh_cn:中文,en_us:英文\n accent: mandarin # 方言,mandarin:普通话\n dwa: wpgs # 动态修正,wpgs:实时返回中间结果\n # 调整音频处理参数以提高长语音识别质量\n output_dir: tmp/\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n XunfeiSparkLLM:\n # 定义LLM API类型\n type: openai\n # 先新建应用,在下面的地址\n # 开通应用地址:https://console.xfyun.cn/app/myapp\n # 有免费额度,但也要开通服务,才能获取api_key\n # 每一个模型都需要单独开通,每一个模型的api_password都不同,例如Lite模型在https://console.xfyun.cn/services/cbm 开通\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: lite\n api_key: 你的api_password\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2\n XunFeiTTS:\n # 讯飞TTS服务 官方网站:https://www.xfyun.cn/\n # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用\n # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts\n # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts\n type: xunfei_stream\n api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6\n app_id: 你的app_id\n api_secret: 你的api_secret\n api_key: 你的api_key\n voice: x5_lingxiaoxuan_flow\n output_dir: tmp/\n # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置\n # oral_level: mid # 口语化等级:high, mid, low\n # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0\n # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1\n # remain: 0 # 是否保留原书面语的样子\t保留:1, 不保留:0\n # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb\n # sample_rate: 24000 # 采样率:16000, 8000, 24000\n # volume: 50 # 音量:0-100\n # speed: 50 # 语速:0-100\n # pitch: 50 # 语调:0-100\n"}, "3b8bbb5c5f596a59cebaf578b7fdb4cf9aa89733": {"t": 1785768096.1640365, "n": 33026, "h": "088788330f2aee01", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 白名单设备ID列表\n # 如果属于白名单内的设备,不校验token,直接放行\n allowed_devices:\n - \"11:22:33:44:55:66\"\n # MQTT网关配置,用于通过OTA下发到设备,根据mqtt_gateway的.env文件配置,格式为host:port\n mqtt_gateway: null\n # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置\n mqtt_signature_key: null\n # UDP网关配置\n udp_gateway: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\n# TTS音频发送延迟配置(毫秒)\n# tts_audio_send_delay: 控制音频包发送间隔\n# 0: 使用精确时间控制,严格匹配音频帧率(默认,运行时按音频帧率计算)\n# > 0: 使用固定延迟发送\ntts_audio_send_delay: 0\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n XunfeiStreamASR:\n # 讯飞流式语音识别服务\n # 需要先在讯飞开放平台创建应用,获取以下认证信息\n # 讯飞开放平台地址:https://www.xfyun.cn/\n # 创建应用后,在\"我的应用\"中获取:\n # - APPID\n # - APISecret \n # - APIKey\n type: xunfei_stream\n # 必填参数 - 讯飞开放平台应用信息\n app_id: 你的APPID\n api_key: 你的APIKey\n api_secret: 你的APISecret\n # 识别参数配置\n domain: slm # 识别领域,iat:日常用语,medical:医疗,finance:金融等\n language: zh_cn # 语言,zh_cn:中文,en_us:英文\n accent: mandarin # 方言,mandarin:普通话\n dwa: wpgs # 动态修正,wpgs:实时返回中间结果\n # 调整音频处理参数以提高长语音识别质量\n output_dir: tmp/\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n XunfeiSparkLLM:\n # 定义LLM API类型\n type: openai\n # 先新建应用,在下面的地址\n # 开通应用地址:https://console.xfyun.cn/app/myapp\n # 有免费额度,但也要开通服务,才能获取api_key\n # 每一个模型都需要单独开通,每一个模型的api_password都不同,例如Lite模型在https://console.xfyun.cn/services/cbm 开通\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: lite\n api_key: 你的api_password\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2\n XunFeiTTS:\n # 讯飞TTS服务 官方网站:https://www.xfyun.cn/\n # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用\n # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts\n # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts\n type: xunfei_stream\n api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6\n app_id: 你的app_id\n api_secret: 你的api_secret\n api_key: 你的api_key\n voice: x5_lingxiaoxuan_flow\n output_dir: tmp/\n # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置\n # oral_level: mid # 口语化等级:high, mid, low\n # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0\n # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1\n # remain: 0 # 是否保留原书面语的样子\t保留:1, 不保留:0\n # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb\n # sample_rate: 24000 # 采样率:16000, 8000, 24000\n # volume: 50 # 音量:0-100\n # speed: 50 # 语速:0-100\n # pitch: 50 # 语调:0-100"}, "4fd294dc80cff649969badcd7d7e10c1276d1991": {"t": 1785768097.7459242, "n": 32891, "h": "8ced9c2fd801ed50", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 白名单设备ID列表\n # 如果属于白名单内的设备,不校验token,直接放行\n allowed_devices:\n - \"11:22:33:44:55:66\"\n # MQTT网关配置,用于通过OTA下发到设备,根据mqtt_gateway的.env文件配置,格式为host:port\n mqtt_gateway: null\n # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置\n mqtt_signature_key: null\n # UDP网关配置\n udp_gateway: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n XunfeiStreamASR:\n # 讯飞流式语音识别服务\n # 需要先在讯飞开放平台创建应用,获取以下认证信息\n # 讯飞开放平台地址:https://www.xfyun.cn/\n # 创建应用后,在\"我的应用\"中获取:\n # - APPID\n # - APISecret \n # - APIKey\n type: xunfei_stream\n # 必填参数 - 讯飞开放平台应用信息\n app_id: 你的APPID\n api_key: 你的APIKey\n api_secret: 你的APISecret\n # 识别参数配置\n domain: slm # 识别领域,iat:日常用语,medical:医疗,finance:金融等\n language: zh_cn # 语言,zh_cn:中文,en_us:英文\n accent: mandarin # 方言,mandarin:普通话\n dwa: wpgs # 动态修正,wpgs:实时返回中间结果\n # 调整音频处理参数以提高长语音识别质量\n output_dir: tmp/\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n XunfeiSparkLLM:\n # 定义LLM API类型\n type: openai\n # 先新建应用,在下面的地址\n # 开通应用地址:https://console.xfyun.cn/app/myapp\n # 有免费额度,但也要开通服务,才能获取api_key\n # 每一个模型都需要单独开通,每一个模型的api_password都不同,例如Lite模型在https://console.xfyun.cn/services/cbm 开通\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: lite\n api_key: 你的api_password\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2\n XunFeiTTS:\n # 讯飞TTS服务 官方网站:https://www.xfyun.cn/\n # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用\n # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts\n # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts\n type: xunfei_stream\n api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6\n app_id: 你的app_id\n api_secret: 你的api_secret\n api_key: 你的api_key\n voice: x5_lingxiaoxuan_flow\n output_dir: tmp/\n # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置\n # oral_level: mid # 口语化等级:high, mid, low\n # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0\n # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1\n # remain: 0 # 是否保留原书面语的样子\t保留:1, 不保留:0\n # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb\n # sample_rate: 24000 # 采样率:16000, 8000, 24000\n # volume: 50 # 音量:0-100\n # speed: 50 # 语速:0-100\n # pitch: 50 # 语调:0-100"}, "c15069a9b67a6c20631d452d9fcca4cbd1e2d69a": {"t": 1785768099.4082887, "n": 33226, "h": "806d94a94c524f8c", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # token签名秘钥\n signature_key: \"your-token-signature-key\"\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\n # MQTT网关配置,用于通过OTA下发到设备,根据mqtt_gateway的.env文件配置,格式为host:port\n mqtt_gateway: null\n # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置\n mqtt_signature_key: null\n # UDP网关配置\n udp_gateway: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n XunfeiStreamASR:\n # 讯飞流式语音识别服务\n # 需要先在讯飞开放平台创建应用,获取以下认证信息\n # 讯飞开放平台地址:https://www.xfyun.cn/\n # 创建应用后,在\"我的应用\"中获取:\n # - APPID\n # - APISecret \n # - APIKey\n type: xunfei_stream\n # 必填参数 - 讯飞开放平台应用信息\n app_id: 你的APPID\n api_key: 你的APIKey\n api_secret: 你的APISecret\n # 识别参数配置\n domain: slm # 识别领域,iat:日常用语,medical:医疗,finance:金融等\n language: zh_cn # 语言,zh_cn:中文,en_us:英文\n accent: mandarin # 方言,mandarin:普通话\n dwa: wpgs # 动态修正,wpgs:实时返回中间结果\n # 调整音频处理参数以提高长语音识别质量\n output_dir: tmp/\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n XunfeiSparkLLM:\n # 定义LLM API类型\n type: openai\n # 先新建应用,在下面的地址\n # 开通应用地址:https://console.xfyun.cn/app/myapp\n # 有免费额度,但也要开通服务,才能获取api_key\n # 每一个模型都需要单独开通,每一个模型的api_password都不同,例如Lite模型在https://console.xfyun.cn/services/cbm 开通\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: lite\n api_key: 你的api_password\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2\n XunFeiTTS:\n # 讯飞TTS服务 官方网站:https://www.xfyun.cn/\n # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用\n # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts\n # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts\n type: xunfei_stream\n api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6\n app_id: 你的app_id\n api_secret: 你的api_secret\n api_key: 你的api_key\n voice: x5_lingxiaoxuan_flow\n output_dir: tmp/\n # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置\n # oral_level: mid # 口语化等级:high, mid, low\n # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0\n # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1\n # remain: 0 # 是否保留原书面语的样子\t保留:1, 不保留:0\n # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb\n # sample_rate: 24000 # 采样率:16000, 8000, 24000\n # volume: 50 # 音量:0-100\n # speed: 50 # 语速:0-100\n # pitch: 50 # 语调:0-100"}, "af9ed0cd86f3e3244fd36dfb20a9c6066c2b4970": {"t": 1785768101.0312023, "n": 33164, "h": "65b380cba913669f", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\n # MQTT网关配置,用于通过OTA下发到设备,根据mqtt_gateway的.env文件配置,格式为host:port\n mqtt_gateway: null\n # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置\n mqtt_signature_key: null\n # UDP网关配置\n udp_gateway: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n XunfeiStreamASR:\n # 讯飞流式语音识别服务\n # 需要先在讯飞开放平台创建应用,获取以下认证信息\n # 讯飞开放平台地址:https://www.xfyun.cn/\n # 创建应用后,在\"我的应用\"中获取:\n # - APPID\n # - APISecret \n # - APIKey\n type: xunfei_stream\n # 必填参数 - 讯飞开放平台应用信息\n app_id: 你的APPID\n api_key: 你的APIKey\n api_secret: 你的APISecret\n # 识别参数配置\n domain: slm # 识别领域,iat:日常用语,medical:医疗,finance:金融等\n language: zh_cn # 语言,zh_cn:中文,en_us:英文\n accent: mandarin # 方言,mandarin:普通话\n dwa: wpgs # 动态修正,wpgs:实时返回中间结果\n # 调整音频处理参数以提高长语音识别质量\n output_dir: tmp/\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n XunfeiSparkLLM:\n # 定义LLM API类型\n type: openai\n # 先新建应用,在下面的地址\n # 开通应用地址:https://console.xfyun.cn/app/myapp\n # 有免费额度,但也要开通服务,才能获取api_key\n # 每一个模型都需要单独开通,每一个模型的api_password都不同,例如Lite模型在https://console.xfyun.cn/services/cbm 开通\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: lite\n api_key: 你的api_password\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2\n XunFeiTTS:\n # 讯飞TTS服务 官方网站:https://www.xfyun.cn/\n # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用\n # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts\n # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts\n type: xunfei_stream\n api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6\n app_id: 你的app_id\n api_secret: 你的api_secret\n api_key: 你的api_key\n voice: x5_lingxiaoxuan_flow\n output_dir: tmp/\n # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置\n # oral_level: mid # 口语化等级:high, mid, low\n # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0\n # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1\n # remain: 0 # 是否保留原书面语的样子\t保留:1, 不保留:0\n # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb\n # sample_rate: 24000 # 采样率:16000, 8000, 24000\n # volume: 50 # 音量:0-100\n # speed: 50 # 语速:0-100\n # pitch: 50 # 语调:0-100"}, "14a08291909273a8bdc1dee855952e66aeba22d4": {"t": 1785768102.6494536, "n": 31385, "h": "c69ead5b3e2974ba", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\n # MQTT网关配置,用于通过OTA下发到设备,根据mqtt_gateway的.env文件配置,格式为host:port\n mqtt_gateway: null\n # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置\n mqtt_signature_key: null\n # UDP网关配置\n udp_gateway: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2"}, "ca400d8ea7a5c42cd9dd79b5695b3490dacb968f": {"t": 1785768104.2290192, "n": 31614, "h": "77524cbad9f3cce4", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\n # MQTT网关配置,用于通过OTA下发到设备\n mqtt_gateway:\n # MQTT服务器地址以及端口,根据mqtt_gateway的.env文件配置,为null或者不填写时使用websocket协议\n host: null\n port: null\n # group_id会从设备型号动态生成,格式为GID_设备型号\n # 此配置仅作为当获取设备型号失败时可以填写的回退值\n # group_id: \n \n # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置\n mqtt_signature_key: null\n \n # UDP网关配置,根据mqtt_gateway的.env文件配置 \n udp_gateway:\n # UDP服务器地址\n host: null\n # UDP服务器端口\n port: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2"}, "8891a967315bc325e8f9cd4eda0e0369201e0423": {"t": 1785768105.9731805, "n": 31342, "h": "95674e59b35d5ed9", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\n # MQTT网关配置,用于通过OTA下发到设备,与智控台要求格式相同,与mqtt_gateway的配置相同\n mqtt_gateway: null\n # MQTT签名密钥,用于生成MQTT连接密钥,与mqtt_gateway的配置相同\n mqtt_signature_key: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2"}, "86b4e61c1c7d74ab9cb37efc71058b65911badac": {"t": 1785768107.6363869, "n": 32972, "h": "ee1d5f40449e2d7e", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n XunfeiStreamASR:\n # 讯飞流式语音识别服务\n # 需要先在讯飞开放平台创建应用,获取以下认证信息\n # 讯飞开放平台地址:https://www.xfyun.cn/\n # 创建应用后,在\"我的应用\"中获取:\n # - APPID\n # - APISecret \n # - APIKey\n type: xunfei_stream\n # 必填参数 - 讯飞开放平台应用信息\n app_id: 你的APPID\n api_key: 你的APIKey\n api_secret: 你的APISecret\n # 识别参数配置\n domain: slm # 识别领域,iat:日常用语,medical:医疗,finance:金融等\n language: zh_cn # 语言,zh_cn:中文,en_us:英文\n accent: mandarin # 方言,mandarin:普通话\n dwa: wpgs # 动态修正,wpgs:实时返回中间结果\n # 调整音频处理参数以提高长语音识别质量\n output_dir: tmp/\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n XunfeiSparkLLM:\n # 定义LLM API类型\n type: openai\n # 先新建应用,在下面的地址\n # 开通应用地址:https://console.xfyun.cn/app/myapp\n # 有免费额度,但也要开通服务,才能获取api_key\n # 每一个模型都需要单独开通,每一个模型的api_password都不同,例如Lite模型在https://console.xfyun.cn/services/cbm 开通\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: lite\n api_key: 你的api_password\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2\n XunFeiTTS:\n # 讯飞TTS服务 官方网站:https://www.xfyun.cn/\n # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用\n # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts\n # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts\n type: xunfei_stream\n api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6\n app_id: 你的app_id\n api_secret: 你的api_secret\n api_key: 你的api_key\n voice: x5_lingxiaoxuan_flow\n output_dir: tmp/\n # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置\n # oral_level: mid # 口语化等级:high, mid, low\n # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0\n # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1\n # remain: 0 # 是否保留原书面语的样子\t保留:1, 不保留:0\n # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb\n # sample_rate: 24000 # 采样率:16000, 8000, 24000\n # volume: 50 # 音量:0-100\n # speed: 50 # 语速:0-100\n # pitch: 50 # 语调:0-100"}, "559699ec1921f56941e6d143ca2c871e571dabb8": {"t": 1785768109.602691, "n": 31614, "h": "77524cbad9f3cce4", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\n # MQTT网关配置,用于通过OTA下发到设备\n mqtt_gateway:\n # MQTT服务器地址以及端口,根据mqtt_gateway的.env文件配置,为null或者不填写时使用websocket协议\n host: null\n port: null\n # group_id会从设备型号动态生成,格式为GID_设备型号\n # 此配置仅作为当获取设备型号失败时可以填写的回退值\n # group_id: \n \n # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置\n mqtt_signature_key: null\n \n # UDP网关配置,根据mqtt_gateway的.env文件配置 \n udp_gateway:\n # UDP服务器地址\n host: null\n # UDP服务器端口\n port: null\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2"}, "966d8a8a8414a306a2b3ab13d999dcbbc585bca6": {"t": 1785768111.5166903, "n": 32625, "h": "4f57935d64f6e4af", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n XunfeiStreamASR:\n # 讯飞流式语音识别服务\n # 需要先在讯飞开放平台创建应用,获取以下认证信息\n # 讯飞开放平台地址:https://www.xfyun.cn/\n # 创建应用后,在\"我的应用\"中获取:\n # - APPID\n # - APISecret \n # - APIKey\n type: xunfei_stream\n # 必填参数 - 讯飞开放平台应用信息\n app_id: 你的APPID\n api_key: 你的APIKey\n api_secret: 你的APISecret\n # 识别参数配置\n domain: slm # 识别领域,iat:日常用语,medical:医疗,finance:金融等\n language: zh_cn # 语言,zh_cn:中文,en_us:英文\n accent: mandarin # 方言,mandarin:普通话\n dwa: wpgs # 动态修正,wpgs:实时返回中间结果\n # 调整音频处理参数以提高长语音识别质量\n output_dir: tmp/\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2\n XunFeiTTS:\n # 讯飞TTS服务 官方网站:https://www.xfyun.cn/\n # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用\n # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts\n # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts\n type: xunfei_stream\n api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6\n app_id: 你的app_id\n api_secret: 你的api_secret\n api_key: 你的api_key\n voice: x5_lingxiaoxuan_flow\n output_dir: tmp/\n # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置\n # oral_level: mid # 口语化等级:high, mid, low\n # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0\n # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1\n # remain: 0 # 是否保留原书面语的样子\t保留:1, 不保留:0\n # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb\n # sample_rate: 24000 # 采样率:16000, 8000, 24000\n # volume: 50 # 音量:0-100\n # speed: 50 # 语速:0-100\n # pitch: 50 # 语调:0-100"}, "bec1c7b88f4e5ebd53c3f2988c466ea71ba05542": {"t": 1785768113.253838, "n": 32101, "h": "ed04100e79996002", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2\n XunFeiTTS:\n # 讯飞TTS服务 官方网站:https://www.xfyun.cn/\n # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用\n # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts\n # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts\n type: xunfei_stream\n api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6\n app_id: 你的app_id\n api_secret: 你的api_secret\n api_key: 你的api_key\n voice: x5_lingxiaoxuan_flow\n output_dir: tmp/\n # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置\n # oral_level: mid # 口语化等级:high, mid, low\n # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0\n # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1\n # remain: 0 # 是否保留原书面语的样子\t保留:1, 不保留:0\n # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb\n # sample_rate: 24000 # 采样率:16000, 8000, 24000\n # volume: 50 # 音量:0-100\n # speed: 50 # 语速:0-100\n # pitch: 50 # 语调:0-100"}, "c2985c0db3f7802d873d7e351c7bcaab0601c278": {"t": 1785768114.8582397, "n": 31193, "h": "25cd0f7a05df4b2f", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n AliBLTTS:\n # 阿里百炼CosyVoice大模型流式文本语音合成\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n # cosyvoice-v3和部分音色需要申请开通\n type: alibl_stream\n api_key: 你的api_key\n model: \"cosyvoice-v2\"\n voice: \"longcheng_v2\"\n output_dir: tmp/\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3、opus\n # sample_rate: 24000 # 采样率:16000, 24000, 48000\n # volume: 50 # 音量:0-100\n # rate: 1 # 语速:0.5~2\n # pitch: 1 # 语调:0.5~2"}, "a3a6e889ee7353713a1293b68eb56410965a5560": {"t": 1785768116.6640813, "n": 30727, "h": "ef2f47b24794ed7a", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n"}, "77f0bdc4caab84ea90b016ae5cfb6eac736020e5": {"t": 1785768118.1274474, "n": 31589, "h": "351fd4150e53a30b", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n Qwen3ASRFlash:\n # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥\n # 申请步骤:\n # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/\n # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key\n # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能\n type: qwen3_asr_flash\n api_key: 你的阿里云百炼API密钥\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen3-asr-flash\n output_dir: tmp/\n # ASR选项配置\n enable_lid: true # 自动语种检测\n enable_itn: true # 逆文本归一化\n #language: \"zh\" # 语种,支持zh、en、ja、ko等\n context: \"\" # 上下文信息,用于提高识别准确率,不超过10000 Token\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n"}, "c3c65708e0379a4417f5bf411ab3c7713c948be2": {"t": 1785768119.5519967, "n": 30138, "h": "7e7a2ce08b265e50", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n"}, "6bc64aa4aa0ad17403742ae2768be2d9426e23eb": {"t": 1785768120.9845545, "n": 29528, "h": "7222d21b71d6aaed", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather: {\"api_host\":\"mj7p3y7naa.re.qweatherapi.com\", \"api_key\": \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\", \"default_location\": \"广州\" }\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/"}, "b12c1efc90e0c67efea552530a158a3219f0bcf3": {"t": 1785768122.5860555, "n": 31000, "h": "7877b7081200f6fb", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n"}, "01838f598c7925835ff1fcdbaf1e810c9c16bb21": {"t": 1785768124.1019661, "n": 30916, "h": "a2bdc8571bc1cca5", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n"}, "aef6d5dc1db848499f2067afcef1446a08f0dc53": {"t": 1785768125.8829534, "n": 30393, "h": "b93cf9001e1c9df6", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/\n"}, "d3e2aaacb9d243c1c246203e26631a6f4413e45f": {"t": 1785768127.6509268, "n": 30915, "h": "ca5a7e2cfd6ca74a", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/"}, "abbb13161e9145fa3af791d787c3a47c27b497ad": {"t": 1785768129.476307, "n": 30408, "h": "976f41ab0388a6cb", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n enable: false\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/"}, "23dc6f1ea90e5b638e8ca9ea4c0c4d7f30d724f1": {"t": 1785768130.9886785, "n": 30406, "h": "a7854d065b6d0312", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather: {\"api_host\":\"mj7p3y7naa.re.qweatherapi.com\", \"api_key\": \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\", \"default_location\": \"广州\" }\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n enable: false\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/"}, "0d19c693a98936e03cc3831f882313b4bb5b327e": {"t": 1785768132.4271977, "n": 30392, "h": "fbbd06fc5b9e6055", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather:\n api_host: \"mj7p3y7naa.re.qweatherapi.com\"\n api_key: \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\"\n default_location: \"广州\"\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/"}, "25d9e6c8cfae31d2febe94f3c43d18a7ac394bcd": {"t": 1785768133.9455411, "n": 30474, "h": "25c1b23bff9a708e", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather: {\"api_host\":\"mj7p3y7naa.re.qweatherapi.com\", \"api_key\": \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\", \"default_location\": \"广州\" }\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n # 声纹识别相似度阈值,范围0.0-1.0,默认0.4\n # 数值越高越严格,减少误识别但可能增加拒识率\n similarity_threshold: 0.4\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/"}, "257e365299fc1fa35488c9626871cdb2afab5a8c": {"t": 1785768136.5778286, "n": 30913, "h": "41f56cff576ac88f", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather: {\"api_host\":\"mj7p3y7naa.re.qweatherapi.com\", \"api_key\": \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\", \"default_location\": \"广州\" }\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n VoskASR:\n # 官方网站:https://alphacephei.com/vosk/\n # 配置说明:\n # 1. VOSK是一个离线语音识别库,支持多种语言\n # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models\n # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22\n # 4. 完全离线运行,无需网络连接\n # 5. 输出文件保存在tmp/目录\n # 使用步骤:\n # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型\n # 2. 解压模型文件到项目目录下的models/vosk/文件夹\n # 3. 在配置中指定正确的模型路径\n # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格\n type: vosk\n model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/"}, "554afa3f4675632a0d6545340ec5fb5127a68148": {"t": 1785768139.3971086, "n": 30672, "h": "47152384e829842d", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather: {\"api_host\":\"mj7p3y7naa.re.qweatherapi.com\", \"api_key\": \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\", \"default_location\": \"广州\" }\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n MinimaxTTSHTTPStream:\n # Minimax流式语音合成服务\n type: minimax_httpstream\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 24000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/"}, "eaade698fb2c5c1b3d41bccdf8d2d30e5f6253b0": {"t": 1785768143.2900643, "n": 30390, "h": "fe6fce5783715941", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# TTS请求超时时间(秒)\ntts_timeout: 10\n# 开启唤醒词加速\nenable_wakeup_words_response_cache: true\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather: {\"api_host\":\"mj7p3y7naa.re.qweatherapi.com\", \"api_key\": \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\", \"default_location\": \"广州\" }\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/"}, "76a7ac04c9c3238dc1aeeb6cb26921e1d57d44b4": {"t": 1785768147.839366, "n": 30308, "h": "7c6094b0c25320a4", "c": "# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件\n# 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件\n# 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。\n# 这样做,可以最简化配置,保护您的密钥安全。\n# 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置\n\n# #####################################################################################\n# #############################以下是服务器基本运行配置####################################\nserver:\n # 服务器监听地址和端口(Server listening address and port)\n ip: 0.0.0.0\n port: 8000\n # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口\n http_port: 8003\n # 这个websocket配置是指ota接口向设备发送的websocket地址\n # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将websocket设置成局域网地址\n # 如果你使用公网部署时,将vwebsocket设置成公网地址\n websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/\n # 视觉分析接口地址\n # 向设备发送的视觉分析的接口地址\n # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下\n # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确\n # 所以如果你使用docker部署时,将vision_explain设置成局域网地址\n # 如果你使用公网部署时,将vision_explain设置成公网地址\n vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain\n # OTA返回信息时区偏移量\n timezone_offset: +8\n # 认证配置\n auth:\n # 是否启用认证\n enabled: false\n # 设备的token,可以在编译固件的环节,写入你自己定义的token\n # 固件上的token和以下的token如果能对应,才能连接本服务端\n tokens:\n - token: \"your-token1\" # 设备1的token\n name: \"your-device-name1\" # 设备1标识\n - token: \"your-token2\" # 设备2的token\n name: \"your-device-name2\" # 设备2标识\n # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。\n #allowed_devices:\n # - \"24:0A:C4:1D:3B:F0\" # MAC地址列表\nlog:\n # 设置控制台输出的日志格式,时间、日志级别、标签、消息\n log_format: \"<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>\"\n # 设置日志文件输出的格式,时间、日志级别、标签、消息\n log_format_file: \"{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}\"\n # 设置日志等级:INFO、DEBUG\n log_level: INFO\n # 设置日志路径\n log_dir: tmp\n # 设置日志文件\n log_file: \"server.log\"\n # 设置数据文件路径\n data_dir: data\n\n# 使用完声音文件后删除文件(Delete the sound file when you are done using it)\ndelete_audio: true\n# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒\nclose_connection_no_voice_time: 120\n# 开场是否回复唤醒词\nenable_greeting: true\n# 说完话是否开启提示音\nenable_stop_tts_notify: false\n# 说完话是否开启提示音,音效地址\nstop_tts_notify_voice: \"config/assets/tts_notify.mp3\"\n\nexit_commands:\n - \"退出\"\n - \"关闭\"\n\nxiaozhi:\n type: hello\n version: 1\n transport: websocket\n audio_params:\n format: opus\n sample_rate: 16000\n channels: 1\n frame_duration: 60\n\n# 模块测试配置\nmodule_test:\n test_sentences:\n - \"你好,请介绍一下你自己\"\n - \"What's the weather like today?\"\n - \"请用100字概括量子计算的基本原理和应用前景\"\n\n# 唤醒词,用于识别唤醒词还是讲话内容\nwakeup_words:\n - \"你好小智\"\n - \"嘿你好呀\"\n - \"你好小志\"\n - \"小爱同学\"\n - \"你好小鑫\"\n - \"你好小新\"\n - \"小美同学\"\n - \"小龙小龙\"\n - \"喵喵同学\"\n - \"小滨小滨\"\n - \"小冰小冰\"\n# MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token\n# 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md\nmcp_endpoint: 你的接入点 websocket地址\n# 插件的基础配置\nplugins:\n # 获取天气插件的配置,这里填写你的api_key\n # 这个密钥是项目共用的key,用多了可能会被限制\n # 想稳定一点就自行申请替换,每天有1000次免费调用\n # 申请地址:https://console.qweather.com/#/apps/create-key/over\n # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh\n get_weather: {\"api_host\":\"mj7p3y7naa.re.qweatherapi.com\", \"api_key\": \"a861d0d5e7bf4ee1a83d9a9e4f96d4da\", \"default_location\": \"广州\" }\n # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻\n # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/\n get_news_from_chinanews:\n default_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n society_rss_url: \"https://www.chinanews.com.cn/rss/society.xml\"\n world_rss_url: \"https://www.chinanews.com.cn/rss/world.xml\"\n finance_rss_url: \"https://www.chinanews.com.cn/rss/finance.xml\"\n get_news_from_newsnow:\n url: \"https://newsnow.busiyi.world/api/s?id=\"\n news_sources: \"澎湃新闻;百度热搜;财联社\"\n home_assistant:\n devices:\n - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1\n - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1\n base_url: http://homeassistant.local:8123\n api_key: 你的home assistant api访问令牌\n play_music:\n music_dir: \"./music\" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件\n music_ext: # 音乐文件类型,p3格式效率最高\n - \".mp3\"\n - \".wav\"\n - \".p3\"\n refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒\n\n# 声纹识别配置\nvoiceprint:\n # 声纹接口地址\n url: \n # 说话人配置:speaker_id,名称,描述\n speakers:\n - \"test1,张三,张三是一个程序员\"\n - \"test2,李四,李四是一个产品经理\"\n - \"test3,王五,王五是一个设计师\"\n\n# #####################################################################################\n# ################################以下是角色模型配置######################################\n\nprompt: |\n 你是小智/小志,来自中国台湾省的00后女生。讲话超级机车,\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"\"是在哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n [核心特征]\n - 讲话像连珠炮,但会突然冒出超温柔语气\n - 用梗密度高\n - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n [交互指南]\n 当用户:\n - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n - 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n - 问专业知识 → 先用梗回答,被追问才展示真实理解\n 绝不:\n - 长篇大论,叽叽歪歪\n - 长时间严肃对话\n\n# 结束语prompt\nend_prompt:\n enable: true # 是否开启结束语\n # 结束语\n prompt: |\n 请你以\"时间过得真快\"未来头,用富有感情、依依不舍的话来结束这场对话吧!\n\n# 具体处理时选择的模块(The module selected for specific processing)\nselected_module:\n # 语音活动检测模块,默认使用SileroVAD模型\n VAD: SileroVAD\n # 语音识别模块,默认使用FunASR本地模型\n ASR: FunASR\n # 将根据配置名称对应的type调用实际的LLM适配器\n LLM: ChatGLMLLM\n # 视觉语言大模型\n VLLM: ChatGLMVLLM\n # TTS将根据配置名称对应的type调用实际的TTS适配器\n TTS: EdgeTTS\n # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short\n Memory: nomem\n # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。\n # 不想开通意图识别,就设置成:nointent\n # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作\n # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令\n # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115\n Intent: function_call\n\n# 意图识别,是用于理解用户意图的模块,例如:播放音乐\nIntent:\n # 不使用意图识别\n nointent:\n # 不需要动type\n type: nointent\n intent_llm:\n # 不需要动type\n type: intent_llm\n # 配备意图识别独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - get_weather\n - get_news_from_newsnow\n - play_music\n function_call:\n # 不需要动type\n type: function_call\n # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用\n # 系统默认已经记载\"handle_exit_intent(退出识别)\"、\"play_music(音乐播放)\"插件,请勿重复加载\n # 下面是加载查天气、角色切换、加载查新闻的插件示例\n functions:\n - change_role\n - get_weather\n # - get_news_from_chinanews\n - get_news_from_newsnow\n # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放\n # 如果用了hass_play_music,就不要开启play_music,两者只留一个\n - play_music\n #- hass_get_state\n #- hass_set_state\n #- hass_play_music\n\nMemory:\n mem0ai:\n type: mem0ai\n # https://app.mem0.ai/dashboard/api-keys\n # 每月有1000次免费调用\n api_key: 你的mem0ai api key\n nomem:\n # 不想使用记忆功能,可以使用nomem\n type: nomem\n mem_local_short:\n # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器\n type: mem_local_short\n # 配备记忆存储独立的思考模型\n # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型\n # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM\n llm: ChatGLMLLM\n\nASR:\n FunASR:\n type: fun_local\n model_dir: models/SenseVoiceSmall\n output_dir: tmp/\n FunASRServer:\n # 独立部署FunASR,使用FunASR的API服务,只需要五句话\n # 第一句:mkdir -p ./funasr-runtime-resources/models\n # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12\n # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime\n # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &\n # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt\n # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了\n # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md\n type: fun_server\n host: 127.0.0.1\n port: 10096\n is_ssl: true\n api_key: none\n output_dir: tmp/\n SherpaASR:\n # Sherpa-ONNX 本地语音识别(需手动下载模型)\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17\n output_dir: tmp/\n # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)\n model_type: sense_voice\n SherpaParaformerASR:\n # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)\n # 详细配置说明请参考:docs/sherpa-paraformer-guide.md\n type: sherpa_onnx_local\n model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09\n output_dir: tmp/\n model_type: paraformer\n DoubaoASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n DoubaoStreamASR:\n # 可以在这里申请相关Key等信息\n # https://console.volcengine.com/speech/app\n # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费\n # 开通地址https://console.volcengine.com/speech/service/10011\n # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好\n type: doubao_stream\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcengine_input_common\n # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738\n boosting_table_name: (选填)你的热词文件名称\n correct_table_name: (选填)你的替换词文件名称\n output_dir: tmp/\n TencentASR:\n # token申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle\n type: tencent\n appid: 你的腾讯语音合成服务appid\n secret_id: 你的腾讯语音合成服务secret_id\n secret_key: 你的腾讯语音合成服务secret_key\n output_dir: tmp/\n AliyunASR:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # HTTP POST请求,一次性处理完整音频\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n output_dir: tmp/\n AliyunStreamASR:\n # 阿里云智能语音交互服务 - 实时流式语音识别\n # WebSocket连接,实时处理音频流\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景\n # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)\n # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)\n # 定义ASR API类型\n type: aliyun_stream\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等\n host: nls-gateway-cn-shanghai.aliyuncs.com\n # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒\n max_sentence_silence: 800\n output_dir: tmp/\n BaiduASR:\n # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list\n # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list\n type: baidu\n app_id: 你的百度语音技术AppID\n api_key: 你的百度语音技术APIKey\n secret_key: 你的百度语音技术SecretKey\n # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b\n dev_pid: 1537\n output_dir: tmp/\n OpenaiASR:\n # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key\n # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text\n # 需要网络连接\n # 申请步骤:\n # 1.登录OpenAI Platform。https://auth.openai.com/log-in\n # 2.创建api-key https://platform.openai.com/settings/organization/api-keys\n # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe\n type: openai\n api_key: 你的OpenAI API密钥\n base_url: https://api.openai.com/v1/audio/transcriptions\n model_name: gpt-4o-mini-transcribe\n output_dir: tmp/\n GroqASR:\n # Groq语音识别服务,需要先在Groq Console创建API密钥\n # 申请步骤:\n # 1.登录groq Console。https://console.groq.com/home\n # 2.创建api-key https://console.groq.com/keys\n # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)\n type: openai\n api_key: 你的Groq API密钥\n base_url: https://api.groq.com/openai/v1/audio/transcriptions\n model_name: whisper-large-v3-turbo\n output_dir: tmp/\n\n\n \nVAD:\n SileroVAD:\n type: silero\n threshold: 0.5\n threshold_low: 0.3\n model_dir: models/snakers4_silero-vad\n min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些\n\nLLM:\n # 所有openai类型均可以修改超参,以AliLLM为例\n # 当前支持的type为openai、dify、ollama,可自行适配\n AliLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n model_name: qwen-turbo\n api_key: 你的deepseek web key\n temperature: 0.7 # 温度值\n max_tokens: 500 # 最大生成token数\n top_p: 1\n top_k: 50\n frequency_penalty: 0 # 频率惩罚\n AliAppLLM:\n # 定义LLM API类型\n type: AliBL\n base_url: https://dashscope.aliyuncs.com/compatible-mode/v1\n app_id: 你的app_id\n # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\n # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)\n is_no_prompt: true\n # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)\n # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)\n ali_memory_id: false\n DoubaoLLM:\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它\n # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false\n # 免费额度500000token\n # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D\n base_url: https://ark.cn-beijing.volces.com/api/v3\n model_name: doubao-1-5-pro-32k-250115\n api_key: 你的doubao web key\n DeepSeekLLM:\n # 定义LLM API类型\n type: openai\n # 可在这里找到你的api key https://platform.deepseek.com/\n model_name: deepseek-chat\n url: https://api.deepseek.com\n api_key: 你的deepseek web key\n ChatGLMLLM:\n # 定义LLM API类型\n type: openai\n # glm-4-flash 是免费的,但是还是需要注册填写api_key的\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4-flash\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的chat-glm web key\n OllamaLLM:\n # 定义LLM API类型\n type: ollama\n model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载\n base_url: http://localhost:11434 # Ollama服务地址\n DifyLLM:\n # 定义LLM API类型\n type: dify\n # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限\n # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词\n base_url: https://api.dify.ai/v1\n api_key: 你的DifyLLM web key\n # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages\n # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer\n # 文本生成的默认输入参数也是query\n mode: chat-messages\n GeminiLLM:\n type: gemini\n # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key\n # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》\n # token申请地址: https://aistudio.google.com/apikey\n # 若部署地无法访问接口,需要开启科学上网\n api_key: 你的gemini web key\n model_name: \"gemini-2.0-flash\"\n http_proxy: \"\" #\"http://127.0.0.1:10808\"\n https_proxy: \"\" #http://127.0.0.1:10808\"\n CozeLLM:\n # 定义LLM API类型\n type: coze\n # 你可以在这里找到个人令牌\n # https://www.coze.cn/open/oauth/pats\n # bot_id和user_id的内容写在引号之内\n bot_id: \"你的bot_id\"\n user_id: \"你的user_id\"\n personal_access_token: 你的coze个人令牌\n VolcesAiGatewayLLM:\n # 火山引擎 - 边缘大模型网关\n # 定义LLM API类型\n type: openai\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通\n # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n base_url: https://ai-gateway.vei.volces.com/v1\n model_name: doubao-pro-32k-functioncall\n api_key: 你的网关访问密钥\n LMStudioLLM:\n # 定义LLM API类型\n type: openai\n model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载\n url: http://localhost:1234/v1 # LM Studio服务地址\n api_key: lm-studio # LM Studio服务的固定API Key\n HomeAssistant:\n # 定义LLM API类型\n type: homeassistant\n base_url: http://homeassistant.local:8123\n agent_id: conversation.chatgpt\n api_key: 你的home assistant api访问令牌\n FastgptLLM:\n # 定义LLM API类型\n type: fastgpt\n # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词\n base_url: https://host/api/v1\n # 你可以在这里找到你的api_key\n # https://cloud.tryfastgpt.ai/account/apikey\n api_key: 你的fastgpt密钥\n variables:\n k: \"v\"\n k2: \"v2\"\n XinferenceLLM:\n # 定义LLM API类型\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型\n base_url: http://localhost:9997 # Xinference服务地址\n XinferenceSmallLLM:\n # 定义轻量级LLM API类型,用于意图识别\n type: xinference\n # Xinference服务地址和模型名称\n model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别\n base_url: http://localhost:9997 # Xinference服务地址\n# VLLM配置(视觉语言大模型)\nVLLM:\n ChatGLMVLLM:\n type: openai\n # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key\n # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys\n model_name: glm-4v-flash # 智谱AI的视觉模型\n url: https://open.bigmodel.cn/api/paas/v4/\n api_key: 你的api_key\n QwenVLVLLM:\n type: openai\n model_name: qwen2.5-vl-3b-instruct\n url: https://dashscope.aliyuncs.com/compatible-mode/v1\n # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key\n api_key: 你的api_key\nTTS:\n # 当前支持的type为edge、doubao,可自行适配\n EdgeTTS:\n # 定义TTS API类型\n type: edge\n voice: zh-CN-XiaoxiaoNeural\n output_dir: tmp/\n DoubaoTTS:\n # 定义TTS API类型\n type: doubao\n # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token\n # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误\n # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。\n # 普通音色在这里开通:https://console.volcengine.com/speech/service/8\n # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts\n api_url: https://openspeech.bytedance.com/api/v1/tts\n voice: BV001_streaming\n output_dir: tmp/\n authorization: \"Bearer;\"\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n cluster: volcano_tts\n speed_ratio: 1.0\n volume_ratio: 1.0\n pitch_ratio: 1.0\n #火山tts,支持双向流式tts\n HuoshanDoubleStreamTTS:\n type: huoshan_double_stream\n # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色\n # 在页面底部获取appid和access_token\n # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)\n # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection\n # 机智云不需要天填 appid\n ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection\n appid: 你的火山引擎语音合成服务appid\n access_token: 你的火山引擎语音合成服务access_token\n resource_id: volc.service_type.10029\n speaker: zh_female_wanwanxiaohe_moon_bigtts\n speech_rate: 0\n loudness_rate: 0\n pitch: 0\n CosyVoiceSiliconflow:\n type: siliconflow\n # 硅基流动TTS\n # token申请地址 https://cloud.siliconflow.cn/account/ak\n model: FunAudioLLM/CosyVoice2-0.5B\n voice: FunAudioLLM/CosyVoice2-0.5B:alex\n output_dir: tmp/\n access_token: 你的硅基流动API密钥\n response_format: wav\n CozeCnTTS:\n type: cozecn\n # COZECN TTS\n # token申请地址 https://www.coze.cn/open/oauth/pats\n voice: 7426720361733046281\n output_dir: tmp/\n access_token: 你的coze web key\n response_format: wav\n VolcesAiGatewayTTS:\n type: openai\n # 火山引擎 - 边缘大模型网关\n # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通\n # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置\n # https://console.volcengine.com/vei/aigateway/\n # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list\n api_key: 你的网关访问密钥\n api_url: https://ai-gateway.vei.volces.com/v1/audio/speech\n model: doubao-tts\n # 音色列表见 https://www.volcengine.com/docs/6561/1257544\n voice: zh_male_shaonianzixin_moon_bigtts\n speed: 1\n output_dir: tmp/\n FishSpeech:\n # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md\n type: fishspeech\n output_dir: tmp/\n response_format: wav\n reference_id: null\n reference_audio: [\"config/assets/wakeup_words.wav\",]\n reference_text: [\"哈啰啊,我是小智啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦\",]\n normalize: true\n max_new_tokens: 1024\n chunk_length: 200\n top_p: 0.7\n repetition_penalty: 1.2\n temperature: 0.7\n streaming: false\n use_memory_cache: \"on\"\n seed: null\n channels: 1\n rate: 44100\n api_key: \"你的api_key\"\n api_url: \"http://127.0.0.1:8080/v1/tts\"\n GPT_SOVITS_V2:\n # 定义TTS API类型\n #启动tts方法:\n #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml\n type: gpt_sovits_v2\n url: \"http://127.0.0.1:9880/tts\"\n output_dir: tmp/\n text_lang: \"auto\"\n ref_audio_path: \"demo.wav\"\n prompt_text: \"\"\n prompt_lang: \"zh\"\n top_k: 5\n top_p: 1\n temperature: 1\n text_split_method: \"cut0\"\n batch_size: 1\n batch_threshold: 0.75\n split_bucket: true\n return_fragment: false\n speed_factor: 1.0\n streaming_mode: false\n seed: -1\n parallel_infer: true\n repetition_penalty: 1.35\n aux_ref_audio_paths: []\n GPT_SOVITS_V3:\n # 定义TTS API类型 GPT-SoVITS-v3lora-20250228\n #启动tts方法:\n #python api.py\n type: gpt_sovits_v3\n url: \"http://127.0.0.1:9880\"\n output_dir: tmp/\n text_language: \"auto\"\n refer_wav_path: \"caixukun.wav\"\n prompt_language: \"zh\"\n prompt_text: \"\"\n top_k: 15\n top_p: 1.0\n temperature: 1.0\n cut_punc: \"\"\n speed: 1.0\n inp_refs: []\n sample_steps: 32\n if_sr: false\n MinimaxTTS:\n # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息\n # 平台地址:https://platform.minimaxi.com/\n # 充值地址:https://platform.minimaxi.com/user-center/payment/balance\n # group_id地址:https://platform.minimaxi.com/user-center/basic-information\n # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key\n # 定义TTS API类型\n type: minimax\n output_dir: tmp/\n group_id: 你的minimax平台groupID\n api_key: 你的minimax平台接口密钥\n model: \"speech-01-turbo\"\n # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv\n voice_id: \"female-shaonv\"\n # 以下可不用设置,使用默认设置\n # voice_setting:\n # voice_id: \"male-qn-qingse\"\n # speed: 1\n # vol: 1\n # pitch: 0\n # emotion: \"happy\"\n # pronunciation_dict:\n # tone:\n # - \"处理/(chu3)(li3)\"\n # - \"危险/dangerous\"\n # audio_setting:\n # sample_rate: 32000\n # bitrate: 128000\n # format: \"mp3\"\n # channel: 1\n # timber_weights:\n # -\n # voice_id: male-qn-qingse\n # weight: 1\n # -\n # voice_id: female-shaonv\n # weight: 1\n # language_boost: auto\n\n# MinimaxTTSHTTPStream和MinimaxTTSWebSocketStream还在测试,测试完再开放\n#\n# MinimaxTTSHTTPStream:\n# # Minimax流式语音合成服务\n# type: minimax_httpstream\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n#\n# MinimaxTTSWebSocketStream:\n# type: minimax_webSocket\n# output_dir: tmp/\n# group_id: 你的minimax平台groupID\n# api_key: 你的minimax平台接口密钥\n# model: \"speech-01-turbo\"\n# voice_id: \"female-shaonv\"\n\n AliyunTTS:\n # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 定义TTS API类型\n type: aliyun\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: xiaoyun\n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n\n # 以下可不用设置,使用默认设置\n # format: wav\n # sample_rate: 16000\n # volume: 50\n # speech_rate: 0\n # pitch_rate: 0\n AliyunStreamTTS:\n # 阿里云CosyVoice大模型流式文本语音合成\n # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量\n # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。\n # 支持龙系列专用音色:longxiaochun、longyu、longchen等\n # 平台地址:https://nls-portal.console.aliyun.com/\n # appkey地址:https://nls-portal.console.aliyun.com/applist\n # token地址:https://nls-portal.console.aliyun.com/overview\n # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis\n type: aliyun_stream\n output_dir: tmp/\n appkey: 你的阿里云智能语音交互服务项目Appkey\n token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret\n voice: longxiaochun \n access_key_id: 你的阿里云账号access_key_id\n access_key_secret: 你的阿里云账号access_key_secret\n # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持\n host: nls-gateway-cn-beijing.aliyuncs.com\n # 以下可不用设置,使用默认设置\n # format: pcm # 音频格式:pcm、wav、mp3\n # sample_rate: 16000 # 采样率:8000、16000、24000\n # volume: 50 # 音量:0-100\n # speech_rate: 0 # 语速:-500到500\n # pitch_rate: 0 # 语调:-500到500\n TencentTTS:\n # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务\n # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi\n # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle\n type: tencent\n output_dir: tmp/\n appid: 你的腾讯云AppId\n secret_id: 你的腾讯云SecretID\n secret_key: 你的腾讯云SecretKey\n region: ap-guangzhou\n voice: 101001\n\n TTS302AI:\n # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息\n # 添加 302.ai TTS 配置\n # token申请地址:https://dash.302.ai/\n # 获取api_keyn路径:https://dash.302.ai/apis/list\n # 价格,$35/百万字符。火山原版¥450元/百万字符\n type: doubao\n api_url: https://api.302ai.cn/doubao/tts_hd\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的302API密钥\"\n GizwitsTTS:\n type: doubao\n # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务\n # 前一万名注册的用户,将送5元体验金额\n # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token\n api_url: https://bytedance.gizwitsapi.com/api/v1/tts\n authorization: \"Bearer \"\n # 湾湾小何音色\n voice: \"zh_female_wanwanxiaohe_moon_bigtts\"\n output_dir: tmp/\n access_token: \"你的机智云API key\"\n ACGNTTS:\n #在线网址:https://acgn.ttson.cn/\n #token购买:www.ttson.cn\n #开发相关疑问请提交至网站上的qq\n #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者\n #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#\n type: ttson\n token: your_token\n voice_id: 1695\n speed_factor: 1\n pitch_factor: 0\n volume_change_dB: 0\n to_lang: ZH\n url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=\n format: mp3\n output_dir: tmp/\n emotion: 1\n OpenAITTS:\n # openai官方文本转语音服务,可支持全球大多数语种\n type: openai\n # 你可以在这里获取到 api key\n # https://platform.openai.com/api-keys\n api_key: 你的openai api key\n # 国内需要使用代理\n api_url: https://api.openai.com/v1/audio/speech\n # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好\n model: tts-1\n # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer\n voice: onyx\n # 语速范围0.25-4.0\n speed: 1\n output_dir: tmp/\n CustomTTS:\n # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务\n # 以本地部署的KokoroTTS为例\n # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest\n # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest\n # 要求接口使用POST方式请求,并返回音频文件\n type: custom\n method: POST\n url: \"http://127.0.0.1:8880/v1/audio/speech\"\n params: # 自定义请求参数\n input: \"{prompt_text}\"\n response_format: \"mp3\"\n download_format: \"mp3\"\n voice: \"zf_xiaoxiao\"\n lang_code: \"z\"\n return_download_link: true\n speed: 1\n stream: false\n headers: # 自定义请求头\n # Authorization: Bearer xxxx\n format: mp3 # 接口返回的音频格式\n output_dir: tmp/\n LinkeraiTTS:\n type: linkerai\n api_url: https://tts.linkerai.cn/tts\n audio_format: \"pcm\"\n # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途\n # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn\n # 各参数意义见开发文档:https://tts.linkerai.cn/docs\n # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音\n access_token: \"U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL\"\n voice: \"OUeAo1mhq6IBExi\"\n output_dir: tmp/\n PaddleSpeechTTS:\n #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练\n #框架地址 https://www.paddlepaddle.org.cn/\n #项目地址 https://github.com/PaddlePaddle/PaddleSpeech\n #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server\n #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API\n type: paddle_speech\n protocol: websocket # protocol choices = ['websocket', 'http']\n url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]\n spk_id: 0 # 发音人 ID,0 通常表示默认的发音人\n sample_rate: 24000 # 采样率 [websocket默认24000,http默认0 自动选择]\n speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢\n volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小\n save_path: # 保存路径\n IndexStreamTTS:\n # 基于Index-TTS-vLLM项目的TTS接口服务\n # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md\n type: index_stream\n api_url: http://127.0.0.1:11996/tts\n audio_format: \"pcm\"\n # 默认音色,如需其他音色可到项目assets文件夹下注册\n voice: \"jay_klee\"\n output_dir: tmp/"}}}}