From 659c470eba542383987aad227b7f918100f131fa Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期五, 11 九月 2026 15:09:05 +0800
Subject: [PATCH] 小智终端 5种 场景模式 OK
---
xiaozhi-esp32-server/main/xiaozhi-server/plugins_func/functions/start_repeater.py | 29 +++++++++++++++++++----------
1 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/xiaozhi-esp32-server/main/xiaozhi-server/plugins_func/functions/start_repeater.py b/xiaozhi-esp32-server/main/xiaozhi-server/plugins_func/functions/start_repeater.py
index 58d2a1d..7a1e0e6 100644
--- a/xiaozhi-esp32-server/main/xiaozhi-server/plugins_func/functions/start_repeater.py
+++ b/xiaozhi-esp32-server/main/xiaozhi-server/plugins_func/functions/start_repeater.py
@@ -9,24 +9,28 @@
"type": "function",
"function": {
"name": "start_repeater",
- "description": "鍦ㄨ澶� SD 鍗′笂澶嶈鎸囧畾 MP3銆俷ame 蹇呴』涓� self.mp3.get_list 杩斿洖鐨� files[].name 瀹屽叏涓�鑷淬�俽epeat 鏄暣棣栧惊鐜鏁般�備笉瑕佺敤 play_music銆�",
+ "description": "鎵撳紑澶嶈鏈猴紝鍦ㄨ澶� SD 鍗′笂寰幆鎾斁 MP3銆俷ame 涓� self.mp3.get_list 鐨� files[].name 涓�鑷达紱鐪佺暐 name 鏃惰澶囦細鎾斁涓婃闊抽鎴� SD 鍗$涓�棣栥�俽epeat 鏄暣棣栧惊鐜鏁般�俿peed 鏄挱鏀惧�嶇巼 0.5锝�2.0锛岄粯璁ょ敱闊抽鐔熸倝澶╂暟鍐冲畾銆備笉瑕佺敤 play_music銆傛挱鏀炬湡闂翠笉浼氳亰澶┿��",
"parameters": {
"type": "object",
"properties": {
"name": {
"type": "string",
- "description": "SD 鍗� MP3 鏂囦欢鍚嶏紝蹇呴』涓� get_list 鐨� files[].name 涓�鑷�",
+ "description": "鍙�夈�係D 鍗� MP3 鏂囦欢鍚嶏紝蹇呴』涓� get_list 鐨� files[].name 涓�鑷达紱鐪佺暐鍒欐挱涓婃鎴栫涓�棣�",
},
"repeat": {
"type": "integer",
- "description": "鏁撮寰幆娆℃暟锛岄粯璁� 1",
+ "description": "鏁撮寰幆娆℃暟锛岄粯璁� 1銆傚ぇ浜� 1 涓旈厤缃簡 repeat_speeds 鏃讹紝姣忎竴閬嶅彲浠ョ敤涓嶅悓鍊嶉��",
+ },
+ "speed": {
+ "type": "number",
+ "description": "鍙�夈�傛挱鏀惧�嶇巼 0.5锝�2.0锛岀渷鐣ュ垯鎸夌啛鎮夊ぉ鏁拌嚜鍔ㄩ�夋嫨",
},
"power_off_after": {
"type": "boolean",
"description": "鎾畬鍚庢槸鍚﹁蒋鍏虫満锛岄粯璁� false",
},
},
- "required": ["name"],
+ "required": [],
},
},
}
@@ -35,9 +39,10 @@
@register_function("start_repeater", start_repeater_function_desc, ToolType.SYSTEM_CTL)
async def start_repeater(
conn: "ConnectionHandler",
- name: str,
+ name: str = "",
repeat: int = 1,
power_off_after: bool = False,
+ speed: float = None,
):
from core.app_runtime.runtime import start_app_task
@@ -48,15 +53,19 @@
if repeat_n < 1:
repeat_n = 1
+ params = {
+ "name": name,
+ "repeat": repeat_n,
+ "power_off_after": bool(power_off_after),
+ }
+ if speed is not None and speed != "":
+ params["speed"] = speed
+
result = await start_app_task(
conn,
"english_learning",
"repeater",
- {
- "name": name,
- "repeat": repeat_n,
- "power_off_after": bool(power_off_after),
- },
+ params,
source="voice",
)
if result.action in (Action.ERROR, Action.RESPONSE):
--
Gitblit v1.9.1