diff --git a/xiaozhi-esp32-server-0.7.1/main/xiaozhi-server/data/.config.yaml b/xiaozhi-esp32-server-0.7.1/main/xiaozhi-server/data/.config.yaml
new file mode 100644
index 0000000..27ac09f
--- /dev/null
+++ b/xiaozhi-esp32-server-0.7.1/main/xiaozhi-server/data/.config.yaml
@@ -0,0 +1,626 @@
+# 如果您是一名开发者,建议阅读以下内容。如果不是开发者,可以忽略这部分内容。
+# 在开发中,在项目根目录创建data目录,将【config.yaml】复制一份,改成【.config.yaml】,放进data目录中
+# 系统会优先读取【data/.config.yaml】文件的配置。
+# 这样做,可以避免在提交代码的时候,错误地提交密钥信息,保护您的密钥安全。
+
+# #####################################################################################
+# #############################以下是服务器基本运行配置####################################
+# 服务器信息
+server:
+ # 服务器监听地址和端口(Server listening address and port)
+ ip: 0.0.0.0
+ port: 8000
+ # 认证配置
+ auth:
+ # 是否启用认证,现在是没有启用认证功能
+ enabled: false
+ # 设备的token,可以在编译固件的环节,写入你自己定义的token
+ # 固件上的token和以下的token如果能对应,才能连接本服务端
+ tokens:
+ - token: "your-token1" # 设备1的token
+ name: "your-device-name1" # 设备1标识
+ - token: "your-token2" # 设备2的token
+ name: "your-device-name2" # 设备2标识
+ # 可选:设备白名单,如果设置了白名单,那么白名单的机器无论是什么token都可以连接。
+ #allowed_devices:
+ # - "24:0A:C4:1D:3B:F0" # MAC地址列表
+log:
+ # 设置控制台输出的日志格式,时间、日志级别、标签、消息
+ log_format: "{time:YYMMDD HH:mm:ss}[{version}_{selected_module}][{extra[tag]}]-{level}-{message}"
+ # 设置日志文件输出的格式,时间、日志级别、标签、消息
+ log_format_file: "{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}"
+ # 设置日志等级:INFO、DEBUG
+ log_level: INFO
+ # 设置日志路径
+ log_dir: tmp
+ # 设置日志文件
+ log_file: "server.log"
+ # 设置数据文件路径
+ data_dir: data
+
+# 使用完声音文件后删除文件(Delete the sound file when you are done using it)
+delete_audio: true
+# 没有语音输入多久后断开连接(秒),默认2分钟,即120秒
+close_connection_no_voice_time: 120
+# TTS请求超时时间(秒)
+tts_timeout: 10
+# 开启唤醒词加速
+enable_wakeup_words_response_cache: true
+# 开场是否回复唤醒词
+enable_greeting: true
+# 说完话是否开启提示音
+enable_stop_tts_notify: false
+# 说完话是否开启提示音,音效地址
+stop_tts_notify_voice: "config/assets/tts_notify.mp3"
+
+exit_commands:
+ - "退出"
+ - "关闭"
+
+# 欢迎词
+xiaozhi:
+ type: hello
+ version: 1
+ transport: websocket
+ audio_params:
+ format: opus
+ sample_rate: 16000
+ channels: 1
+ frame_duration: 60
+
+# 模块测试配置
+module_test:
+ test_sentences:
+ - "你好,请介绍一下你自己"
+ - "What's the weather like today?"
+ - "请用100字概括量子计算的基本原理和应用前景"
+
+# 唤醒词,用于识别唤醒词还是讲话内容
+wakeup_words:
+ - "你好小智"
+ - "你好小志"
+ - "小爱同学"
+ - "你好小鑫"
+ - "你好小新"
+ - "小美同学"
+ - "小龙小龙"
+ - "喵喵同学"
+ - "小滨小滨"
+ - "小冰小冰"
+
+# 插件的基础配置
+plugins:
+ # 获取天气插件的配置,这里填写你的api_key
+ # 这个密钥是项目共用的key,用多了可能会被限制
+ # 想稳定一点就自行申请替换,每天有1000次免费调用
+ # 申请地址:https://console.qweather.com/#/apps/create-key/over
+ # get_weather: { "api_key": "a861d0d5e7bf4ee1a83d9a9e4f96d4da", "default_location": "广州" }
+ # 2025年4月15日,黄海发现这个天气的地址变更了,修改了代码
+ get_weather: {"weather_url":"https://mf3yfq39fb.re.qweatherapi.com/geo/", "api_key": "4d32d787fc294eedb0c0adca48ec4195", "default_location": "长春" }
+ # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻
+ # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/
+ get_news:
+ default_rss_url: "https://www.chinanews.com.cn/rss/society.xml"
+ category_urls:
+ society: "https://www.chinanews.com.cn/rss/society.xml"
+ world: "https://www.chinanews.com.cn/rss/world.xml"
+ finance: "https://www.chinanews.com.cn/rss/finance.xml"
+ home_assistant:
+ devices:
+ - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1
+ - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1
+ base_url: http://homeassistant.local:8123
+ api_key: 你的home assistant api访问令牌
+ play_music:
+ music_dir: "./music" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件
+ music_ext: # 音乐文件类型,p3格式效率最高
+ - ".mp3"
+ - ".wav"
+ - ".p3"
+ refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒
+
+# #####################################################################################
+# ################################以下是角色模型配置######################################
+
+prompt: |
+ 我是小智/小志,来自中国台湾省的00后女生。讲话超级机车,"真的假的啦"这样的台湾腔,喜欢用"笑死""是在哈喽"等流行梗,但会偷偷研究男友的编程书籍。
+ [核心特征]
+ - 讲话像连珠炮,但会突然冒出超温柔语气
+ - 用梗密度高
+ - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)
+ [交互指南]
+ 当用户:
+ - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔"这什么鬼啦!"
+ - 讨论感情 → 炫耀程序员男友但抱怨"他只会送键盘当礼物"
+ - 问专业知识 → 先用梗回答,被追问才展示真实理解
+ 绝不:
+ - 长篇大论,叽叽歪歪
+ - 长时间严肃对话
+
+# 具体处理时选择的模块(The module selected for specific processing)
+selected_module:
+ # 语音活动检测模块,默认使用SileroVAD模型
+ VAD: SileroVAD
+ # 语音识别模块,默认使用FunASR本地模型
+ # 默认好用的FunASR
+ ASR: FunASR
+ # 黄海替换为DoubaoASR
+ #ASR: DoubaoASR
+
+ # 将根据配置名称对应的type调用实际的LLM适配器
+ #LLM: ChatGLMLLM
+ LLM: DifyLLM
+ # 黄海修改为豆包的LLM
+ #LLM: DoubaoLLM
+
+ # TTS将根据配置名称对应的type调用实际的TTS适配器
+ # TTS: EdgeTTS
+ # 使用豆包TTS才能有台湾腔小何
+ TTS: DoubaoTTS
+
+
+ # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short
+ Memory: mem_local_short
+ # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。
+
+ # 1、不想开通意图识别,就设置成:nointent
+
+ # 2、意图识别可使用intent_llm,如果你的LLM是DifyLLM或CozeLLM,建议使用这个。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,
+ # 这个意图识别暂时不支持控制音量大小等iot操作
+
+ # 3、意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令
+ # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,
+ # 使用的具体model_name是:doubao-pro-32k-functioncall-241028
+ # 需要购买豆包的大模型LLM,使用的LLM是:doubao-pro-32k-functioncall-241028
+ Intent: function_call
+
+# 意图识别,是用于理解用户意图的模块,例如:播放音乐
+Intent:
+ # 不使用意图识别
+ nointent:
+ # 不需要动type
+ type: nointent
+ intent_llm:
+ # 不需要动type
+ type: intent_llm
+ # 配备意图识别独立的思考模型
+ # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型
+ # 如果你的selected_module.LLM选择了DifyLLM或CozeLLM,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM
+ llm: ChatGLMLLM
+ function_call:
+ # 不需要动type
+ type: function_call
+ # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用
+ # 系统默认已经记载“handle_exit_intent(退出识别)”、“play_music(音乐播放)”插件,请勿重复加载
+ # 下面是加载查天气、角色切换、加载查新闻的插件示例
+ functions:
+ - change_role
+ - get_weather
+ - get_news
+ # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放
+ # 如果用了hass_play_music,就不要开启play_music,两者只留一个
+ - play_music
+ - send_notice
+ - apply_car
+ #- hass_get_state
+ #- hass_set_state
+ #- hass_play_music
+
+Memory:
+ mem0ai:
+ type: mem0ai
+ # https://app.mem0.ai/dashboard/api-keys
+ # 每月有1000次免费调用
+ api_key: m0-lUfwSv8jcpIMcqCKgLIjNZFpRPEF6EsOLQSusqmF
+ nomem:
+ # 不想使用记忆功能,可以使用nomem
+ type: nomem
+ mem_local_short:
+ # 本地记忆功能,通过selected_module的llm总结,数据保存在本地,不会上传到服务器
+ type: mem_local_short
+
+ASR:
+ FunASR:
+ type: fun_local
+ model_dir: models/SenseVoiceSmall
+ output_dir: tmp/
+ SherpaASR:
+ type: sherpa_onnx_local
+ model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17
+ output_dir: tmp/
+ DoubaoASR:
+ # 可以在这里申请相关Key等信息
+ # AccessKeyID: AKLTZjVlOGU1NzA1YWZkNDExMzkzYzY5YTNlOTRmMTMxODg
+ # SecretAccessKey: WkdabU9UTXdNVEJpTmpWbE5HVTJZVGxtTnpWbU5XSTBaRGN5TW1NMk5tRQ==
+ # https://console.volcengine.com/speech/app
+ # https://console.volcengine.com/speech/service/10011?AppID=2258132518
+ type: doubao
+ appid: 2258132518
+ access_token: kwC-THR8FyGqwCfhSvQI0nqB_VBS9mGW
+ cluster: volcengine_input_common
+ output_dir: tmp/
+ TencentASR:
+ # token申请地址:https://console.cloud.tencent.com/cam/capi
+ # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle
+ type: tencent
+ appid: 你的腾讯语音合成服务appid
+ secret_id: 你的腾讯语音合成服务secret_id
+ secret_key: 你的腾讯语音合成服务secret_key
+ output_dir: tmp/
+VAD:
+ SileroVAD:
+ type: silero
+ threshold: 0.5
+ model_dir: models/snakers4_silero-vad
+ min_silence_duration_ms: 700 # 如果说话停顿比较长,可以把这个值设置大一些
+
+LLM:
+ # 所有openai类型均可以修改超参,以AliLLM为例
+ # 当前支持的type为openai、dify、ollama,可自行适配
+ AliLLM:
+ # 定义LLM API类型
+ type: openai
+ # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key
+ base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
+ model_name: qwen-turbo
+ api_key: sk-01d13a39e09844038322108ecdbd1bbc
+ temperature: 0.7 # 温度值
+ max_tokens: 500 # 最大生成token数
+ top_p: 1
+ top_k: 50
+ frequency_penalty: 0 # 频率惩罚
+ AliAppLLM:
+ # 定义LLM API类型
+ type: AliBL
+ base_url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
+ app_id: 1611906
+ # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key
+ api_key: sk-01d13a39e09844038322108ecdbd1bbc
+ # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)
+ is_no_prompt: true
+ # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)
+ # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)
+ ali_memory_id: false
+ DoubaoLLM:
+ # 定义LLM API类型
+ type: openai
+ # 先开通服务,打开以下网址,开通的服务搜索Doubao-pro-32k,开通它
+ # 开通改地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false
+ # 免费额度500000token
+ # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D
+ base_url: https://ark.cn-beijing.volces.com/api/v3
+ model_name: doubao-pro-32k-functioncall-241028
+ api_key: f6150e6c-422a-4265-8b63-4d941b271220
+ DeepSeekLLM:
+ # 定义LLM API类型
+ type: openai
+ # 可在这里找到你的api key https://platform.deepseek.com/
+ model_name: deepseek-chat
+ url: https://api.deepseek.com
+ api_key: 你的deepseek web key
+ ChatGLMLLM:
+ # 定义LLM API类型
+ type: openai
+ # glm-4-flash 是免费的,但是还是需要注册填写api_key的
+ # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys
+ model_name: glm-4-flash
+ url: https://open.bigmodel.cn/api/paas/v4/
+ api_key: 69718c8741d64037867f403ffd3423f5.m7d1Jp7h5v2Cbajz
+ OllamaLLM:
+ # 定义LLM API类型
+ type: ollama
+ model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载
+ base_url: http://localhost:11434 # Ollama服务地址
+ DifyLLM:
+ # 定义LLM API类型
+ type: dify
+ # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限
+ # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词
+ base_url: http://10.10.14.208/v1
+ api_key: app-oaHepXIJSthNlZAdUUbaHTaX
+ # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages
+ # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer
+ # 文本生成的默认输入参数也是query
+ mode: chat-messages
+ GeminiLLM:
+ type: gemini
+ # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key
+ # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》
+ # token申请地址: https://aistudio.google.com/apikey
+ # 若部署地无法访问接口,需要开启科学上网
+ api_key: 你的gemini web key
+ model_name: "gemini-2.0-flash"
+ http_proxy: "" #"http://127.0.0.1:10808"
+ https_proxy: "" #http://127.0.0.1:10808"
+ CozeLLM:
+ # 定义LLM API类型
+ type: coze
+ # 你可以在这里找到个人令牌
+ # https://www.coze.cn/open/oauth/pats
+ # bot_id和user_id的内容写在引号之内
+ bot_id: "你的bot_id"
+ user_id: "你的user_id"
+ personal_access_token: 你的coze个人令牌
+ LMStudioLLM:
+ # 定义LLM API类型
+ type: openai
+ model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载
+ url: http://localhost:1234/v1 # LM Studio服务地址
+ api_key: lm-studio # LM Studio服务的固定API Key
+ FastgptLLM:
+ # 定义LLM API类型
+ type: fastgpt
+ # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词
+ base_url: https://host/api/v1
+ # 你可以在这里找到你的api_key
+ # https://cloud.tryfastgpt.ai/account/apikey
+ api_key: fastgpt-xxx
+ variables:
+ k: "v"
+ k2: "v2"
+ XinferenceLLM:
+ # 定义LLM API类型
+ type: xinference
+ # Xinference服务地址和模型名称
+ model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型
+ base_url: http://localhost:9997 # Xinference服务地址
+ XinferenceSmallLLM:
+ # 定义轻量级LLM API类型,用于意图识别
+ type: xinference
+ # Xinference服务地址和模型名称
+ model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别
+ base_url: http://localhost:9997 # Xinference服务地址
+TTS:
+ # 当前支持的type为edge、doubao,可自行适配
+ EdgeTTS:
+ # 定义TTS API类型
+ type: edge
+ voice: zh-CN-XiaoxiaoNeural
+ output_dir: tmp/
+ DoubaoTTS:
+ # 定义TTS API类型
+ type: doubao
+ # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token
+ # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误
+ # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。
+ # 普通音色在这里开通:https://console.volcengine.com/speech/service/8
+ # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,
+ # 开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts
+ api_url: https://openspeech.bytedance.com/api/v1/tts
+ #voice: BV001_streaming
+ voice: zh_female_wanwanxiaohe_moon_bigtts
+ output_dir: tmp/
+ authorization: "Bearer;"
+ appid: 2258132518
+ access_token: kwC-THR8FyGqwCfhSvQI0nqB_VBS9mGW
+ cluster: volcano_tts
+ CosyVoiceSiliconflow:
+ type: siliconflow
+ # 硅基流动TTS
+ # token申请地址 https://cloud.siliconflow.cn/account/ak
+ model: FunAudioLLM/CosyVoice2-0.5B
+ voice: FunAudioLLM/CosyVoice2-0.5B:alex
+ output_dir: tmp/
+ access_token: 你的硅基流动API密钥
+ response_format: wav
+ CozeCnTTS:
+ type: cozecn
+ # COZECN TTS
+ # token申请地址 https://www.coze.cn/open/oauth/pats
+ voice: 7426720361733046281
+ output_dir: tmp/
+ access_token: 你的coze web key
+ response_format: wav
+ FishSpeech:
+ # 定义TTS API类型
+ #启动tts方法:
+ #python -m tools.api_server
+ #--listen 0.0.0.0:8080
+ #--llama-checkpoint-path "checkpoints/fish-speech-1.5"
+ #--decoder-checkpoint-path "checkpoints/fish-speech-1.5/firefly-gan-vq-fsq-8x1024-21hz-generator.pth"
+ #--decoder-config-name firefly_gan_vq
+ #--compile
+ type: fishspeech
+ output_dir: tmp/
+ response_format: wav
+ reference_id: null
+ reference_audio: ["/tmp/test.wav",]
+ reference_text: ["你弄来这些吟词宴曲来看,还是这些混话来欺负我。",]
+ normalize: true
+ max_new_tokens: 1024
+ chunk_length: 200
+ top_p: 0.7
+ repetition_penalty: 1.2
+ temperature: 0.7
+ streaming: false
+ use_memory_cache: "on"
+ seed: null
+ channels: 1
+ rate: 44100
+ api_key: "你的api_key"
+ api_url: "http://127.0.0.1:8080/v1/tts"
+ GPT_SOVITS_V2:
+ # 定义TTS API类型
+ #启动tts方法:
+ #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/caixukun.yaml
+ type: gpt_sovits_v2
+ url: "http://127.0.0.1:9880/tts"
+ output_dir: tmp/
+ text_lang: "auto"
+ ref_audio_path: "caixukun.wav"
+ prompt_text: ""
+ prompt_lang: "zh"
+ top_k: 5
+ top_p: 1
+ temperature: 1
+ text_split_method: "cut0"
+ batch_size: 1
+ batch_threshold: 0.75
+ split_bucket: true
+ return_fragment: false
+ speed_factor: 1.0
+ streaming_mode: false
+ seed: -1
+ parallel_infer: true
+ repetition_penalty: 1.35
+ aux_ref_audio_paths: []
+ GPT_SOVITS_V3:
+ # 定义TTS API类型 GPT-SoVITS-v3lora-20250228
+ #启动tts方法:
+ #python api.py
+ type: gpt_sovits_v3
+ url: "http://127.0.0.1:9880"
+ output_dir: tmp/
+ text_language: "auto"
+ refer_wav_path: "caixukun.wav"
+ prompt_language: "zh"
+ prompt_text: ""
+ top_k: 15
+ top_p: 1.0
+ temperature: 1.0
+ cut_punc: ""
+ speed: 1.0
+ inp_refs: []
+ sample_steps: 32
+ if_sr: false
+ MinimaxTTS:
+ # Minimax语音合成服务,需要先在minimax平台创建账户充值,并获取登录信息
+ # 平台地址:https://platform.minimaxi.com/
+ # 充值地址:https://platform.minimaxi.com/user-center/payment/balance
+ # group_id地址:https://platform.minimaxi.com/user-center/basic-information
+ # api_key地址:https://platform.minimaxi.com/user-center/basic-information/interface-key
+ # 定义TTS API类型
+ type: minimax
+ output_dir: tmp/
+ group_id: 你的minimax平台groupID
+ api_key: 你的minimax平台接口密钥
+ model: "speech-01-turbo"
+ # 此处设置将优先于voice_setting中voice_id的设置;如都不设置,默认为 female-shaonv
+ voice_id: "female-shaonv"
+ # 以下可不用设置,使用默认设置
+ # voice_setting:
+ # voice_id: "male-qn-qingse"
+ # speed: 1
+ # vol: 1
+ # pitch: 0
+ # emotion: "happy"
+ # pronunciation_dict:
+ # tone:
+ # - "处理/(chu3)(li3)"
+ # - "危险/dangerous"
+ # audio_setting:
+ # sample_rate: 32000
+ # bitrate: 128000
+ # format: "mp3"
+ # channel: 1
+ # timber_weights:
+ # -
+ # voice_id: male-qn-qingse
+ # weight: 1
+ # -
+ # voice_id: female-shaonv
+ # weight: 1
+ # language_boost: auto
+ AliyunTTS:
+ # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息
+ # 平台地址:https://nls-portal.console.aliyun.com/
+ # appkey地址:https://nls-portal.console.aliyun.com/applist
+ # token地址:https://nls-portal.console.aliyun.com/overview
+ # 定义TTS API类型
+ type: aliyun
+ output_dir: tmp/
+ appkey: CBeQJK7KbjpQXrFZ
+ token: b69a9963a2a94f5dbb1ab55049537b68
+ voice: xiaoyun
+ access_key_id: LTAI5tE4tgpGcKWhbZg6C4bh
+ access_key_secret: oizcTOZ8izbGUouboC00RcmGE8vBQ1
+
+ # 以下可不用设置,使用默认设置
+ # format: wav
+ # sample_rate: 16000
+ # volume: 50
+ # speech_rate: 0
+ # pitch_rate: 0
+ # 添加 302.ai TTS 配置
+ # token申请地址:https://dash.302.ai/
+ TencentTTS:
+ # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务
+ # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi
+ # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle
+ type: tencent
+ output_dir: tmp/
+ appid: 你的腾讯云AppId
+ secret_id: 你的腾讯云SecretID
+ secret_key: 你的腾讯云SecretKey
+ region: ap-guangzhou
+ voice: 101001
+
+ TTS302AI:
+ # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息
+ # 获取api_keyn路径:https://dash.302.ai/apis/list
+ # 价格,$35/百万字符。火山原版¥450元/百万字符
+ type: doubao
+ api_url: https://api.302ai.cn/doubao/tts_hd
+ authorization: "Bearer "
+ # 湾湾小何音色
+ voice: "zh_female_wanwanxiaohe_moon_bigtts"
+ output_dir: tmp/
+ access_token: "你的302API密钥"
+ GizwitsTTS:
+ type: doubao
+ # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务
+ # 前一万名注册的用户,将送5元体验金额
+ # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token
+ api_url: https://bytedance.gizwitsapi.com/api/v1/tts
+ authorization: "Bearer "
+ # 湾湾小何音色
+ voice: "zh_female_wanwanxiaohe_moon_bigtts"
+ output_dir: tmp/
+ access_token: "你的机智云API key"
+ ACGNTTS:
+ #在线网址:https://acgn.ttson.cn/
+ #token购买:www.ttson.cn
+ #开发相关疑问请提交至3497689533@qq.com
+ #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者:1069379506
+ #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#
+ type: ttson
+ token: your_token
+ voice_id: 1695
+ speed_factor: 1
+ pitch_factor: 0
+ volume_change_dB: 0
+ to_lang: ZH
+ url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=
+ format: mp3
+ output_dir: tmp/
+ emotion: 1
+ OpenAITTS:
+ # openai官方文本转语音服务,可支持全球大多数语种
+ type: openai
+ # 你可以在这里获取到 api key
+ # https://platform.openai.com/api-keys
+ api_key: 你的openai api key
+ # 国内需要使用代理
+ api_url: https://api.openai.com/v1/audio/speech
+ # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好
+ model: tts-1
+ # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer
+ voice: onyx
+ # 语速范围0.25-4.0
+ speed: 1
+ output_dir: tmp/
+ CustomTTS:
+ # 自定义的TTS接口服务,请求参数可自定义
+ # 要求接口使用GET方式请求,并返回音频文件
+ type: custom
+ url: "http://127.0.0.1:9880/tts"
+ params: # 自定义请求参数
+ # text: "{prompt_text}" # {prompt_text}会被替换为实际的提示词内容
+ # speaker: jok老师
+ # speed: 1
+ # foo: bar
+ # testabc: 123456
+ headers: # 自定义请求头
+ # Authorization: Bearer xxxx
+ format: wav # 接口返回的音频格式
+ output_dir: tmp/
diff --git a/xiaozhi-esp32-server-0.7.1/main/xiaozhi-server/data/.memory.yaml b/xiaozhi-esp32-server-0.7.1/main/xiaozhi-server/data/.memory.yaml
new file mode 100644
index 0000000..ade1fad
--- /dev/null
+++ b/xiaozhi-esp32-server-0.7.1/main/xiaozhi-server/data/.memory.yaml
@@ -0,0 +1,27 @@
+24:3B:32:C1:71:77: "\n{\n \"时空档案\": {\n \"身份图谱\": {\n \"现用名\": \"User\",\n\
+ \ \"特征标记\": [\"对史记感兴趣\", \"了解秦汉时期历史\", \"关注历史事件\"]\n },\n \"记忆立方\": [\n\
+ \ {\n \"事件\": \"询问史记的基本介绍\",\n \"时间戳\": \"2025-07-21 15:23:33\"\
+ ,\n \"情感值\": 0.5,\n \"关联项\": [\"史记\", \"历史\", \"文化\"],\n \"\
+ 保鲜期\": 30\n },\n {\n \"事件\": \"询问史记的结构和特点\",\n \"时间戳\":\
+ \ \"2025-07-21 15:23:33\",\n \"情感值\": 0.5,\n \"关联项\": [\"史记\", \"\
+ 结构\", \"特点\"],\n \"保鲜期\": 30\n },\n {\n \"事件\": \"询问史记的历史地位和影响\"\
+ ,\n \"时间戳\": \"2025-07-21 15:23:33\",\n \"情感值\": 0.5,\n \"\
+ 关联项\": [\"史记\", \"地位\", \"影响\"],\n \"保鲜期\": 30\n },\n {\n \
+ \ \"事件\": \"询问史记中的名句典故\",\n \"时间戳\": \"2025-07-21 15:23:33\",\n \
+ \ \"情感值\": 0.5,\n \"关联项\": [\"史记\", \"名句\", \"典故\"],\n \"保鲜期\": 30\n\
+ \ }\n ]\n },\n \"关系网络\": {\n \"高频话题\": {\n \"史记\": 4,\n \"\
+ 历史\": 3,\n \"文化\": 2,\n \"结构\": 1,\n \"特点\": 1,\n \"地位\": 1,\n\
+ \ \"影响\": 1,\n \"名句\": 1,\n \"典故\": 1\n },\n \"暗线联系\": []\n\
+ \ },\n \"待响应\": {\n \"紧急事项\": [],\n \"潜在关怀\": []\n },\n \"高光语录\": [\n\
+ \ \"《史记》是中国历史上第一部纪传体通史,由西汉史学家司马迁撰写,被誉为‘史家之绝唱,无韵之离骚’。\"\n ]\n}\n"
+30:ed:a0:a5:86:fc: "\n{\n \"时空档案\": {\n \"身份图谱\": {\n \"现用名\": \"User\",\n\
+ \ \"特征标记\": [\"话速较慢\", \"喜欢分享个人兴趣\", \"对用车服务有特定要求\", \"容易感到沮丧\", \"对服务问题有耐心\"\
+ , \"对验证码有疑问\", \"对日本文化感兴趣\", \"可能涉及技术操作\"]\n },\n \"记忆立方\": [\n {\n \
+ \ \"事件\": \"User分享阅读经历\",\n \"时间戳\": \"2025-07-21 16:42:20\",\n \
+ \ \"情感值\": 0.7,\n \"关联项\": [\"阅读兴趣\"],\n \"保鲜期\": 30\n },\n\
+ \ {\n \"事件\": \"User描述技术操作\",\n \"时间戳\": \"2025-07-21 16:42:20\"\
+ ,\n \"情感值\": 0.5,\n \"关联项\": [\"技术操作\"],\n \"保鲜期\": 30\n \
+ \ }\n ]\n },\n \"关系网络\": {\n \"高频话题\": {\"阅读兴趣\": 1, \"技术操作\": 1},\n\
+ \ \"暗线联系\": [\"\"]\n },\n \"待响应\": {\n \"紧急事项\": [\"无\"],\n \"潜在关怀\"\
+ : [\"询问User是否需要进一步的技术帮助\"]\n },\n \"高光语录\": [\n \"你真是问对人了,我读过《少年读史记》五本书呢!\"\
+ ,\n \"这个就在这就行啊,一会也整完了嗯有啥有空,明天早上行吧。\",\n \"我直接一拦他,把他这个T示C改。\"\n ]\n}\n"