From 3b7a4998f9ff76bb66d91167e3503a7ba30d5065 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Tue, 22 Jul 2025 07:23:04 +0800 Subject: [PATCH] 'commit' --- .../main/xiaozhi-server/data/.config.yaml | 626 ++++++++++++++++++ .../main/xiaozhi-server/data/.memory.yaml | 27 + 2 files changed, 653 insertions(+) create mode 100644 xiaozhi-esp32-server-0.7.1/main/xiaozhi-server/data/.config.yaml create mode 100644 xiaozhi-esp32-server-0.7.1/main/xiaozhi-server/data/.memory.yaml 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"