xiaozhi-sdk 0.2.8__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {xiaozhi_sdk-0.2.8/xiaozhi_sdk.egg-info → xiaozhi_sdk-0.3.1}/PKG-INFO +5 -5
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/README.md +4 -4
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/pyproject.toml +5 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/__init__.py +1 -1
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/cli.py +3 -4
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/mcp.py +1 -1
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1/xiaozhi_sdk.egg-info}/PKG-INFO +5 -5
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk.egg-info/SOURCES.txt +1 -0
- xiaozhi_sdk-0.3.1/xiaozhi_sdk.egg-info/entry_points.txt +4 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/LICENSE +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/MANIFEST.in +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/audio/16k_greet.wav +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/audio/16k_play_music.wav +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/audio/16k_say_hello.wav +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/audio/16k_take_photo.wav +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/audio/test_16k.wav +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/audio/test_24k.wav +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/audio/test_48k.wav +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/image/leijun.jpg +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/opus/linux-arm64-libopus.so +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/opus/linux-x64-libopus.so +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/opus/macos-arm64-libopus.dylib +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/opus/macos-x64-libopus.dylib +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/file/opus/windows-opus.dll +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/setup.cfg +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/tests/test_iot.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/tests/test_pic.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/tests/test_wake_word.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/tests/test_xiaozhi.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/tests/test_xiaozhi_opus.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/__main__.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/config.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/core.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/iot.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/opus.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/utils/__init__.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/utils/mcp_tool.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk/utils/tool_func.py +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk.egg-info/dependency_links.txt +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk.egg-info/requires.txt +0 -0
- {xiaozhi_sdk-0.2.8 → xiaozhi_sdk-0.3.1}/xiaozhi_sdk.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xiaozhi-sdk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: 一个用于连接和控制小智智能设备的Python SDK,支持实时音频通信、MCP工具集成和设备管理功能。
|
|
5
5
|
Author-email: dairoot <623815825@qq.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -58,22 +58,22 @@ uv pip install xiaozhi-sdk -U
|
|
|
58
58
|
#### 查看帮助信息
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
|
|
61
|
+
xiaozhi --help
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
#### 连接设备
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
67
|
# 默认本机 mac 地址
|
|
68
|
-
|
|
68
|
+
xiaozhi
|
|
69
69
|
|
|
70
70
|
# 指定 mac 地址
|
|
71
|
-
|
|
71
|
+
xiaozhi 00:22:44:66:88:00
|
|
72
72
|
|
|
73
73
|
# 更多常用操作
|
|
74
74
|
## --url 指定服务端 websocket 地址
|
|
75
75
|
## --wake_word 指定唤醒词
|
|
76
|
-
|
|
76
|
+
xiaozhi 00:22:44:66:88:00 \
|
|
77
77
|
--url ws://127.0.0.1:8180 \
|
|
78
78
|
--wake_word="你好啊"
|
|
79
79
|
```
|
|
@@ -31,22 +31,22 @@ uv pip install xiaozhi-sdk -U
|
|
|
31
31
|
#### 查看帮助信息
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
|
|
34
|
+
xiaozhi --help
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
#### 连接设备
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
# 默认本机 mac 地址
|
|
41
|
-
|
|
41
|
+
xiaozhi
|
|
42
42
|
|
|
43
43
|
# 指定 mac 地址
|
|
44
|
-
|
|
44
|
+
xiaozhi 00:22:44:66:88:00
|
|
45
45
|
|
|
46
46
|
# 更多常用操作
|
|
47
47
|
## --url 指定服务端 websocket 地址
|
|
48
48
|
## --wake_word 指定唤醒词
|
|
49
|
-
|
|
49
|
+
xiaozhi 00:22:44:66:88:00 \
|
|
50
50
|
--url ws://127.0.0.1:8180 \
|
|
51
51
|
--wake_word="你好啊"
|
|
52
52
|
```
|
|
@@ -33,6 +33,11 @@ classifiers = [
|
|
|
33
33
|
[project.urls]
|
|
34
34
|
Homepage = "https://github.com/dairoot/xiaozhi-sdk"
|
|
35
35
|
|
|
36
|
+
[project.scripts]
|
|
37
|
+
xiaozhi = "xiaozhi_sdk.cli:main"
|
|
38
|
+
xiaozhi-sdk = "xiaozhi_sdk.cli:main"
|
|
39
|
+
xiaozhisdk = "xiaozhi_sdk.cli:main"
|
|
40
|
+
|
|
36
41
|
[tool.setuptools.dynamic]
|
|
37
42
|
version = {attr = "xiaozhi_sdk.__version__"}
|
|
38
43
|
|
|
@@ -4,7 +4,6 @@ import logging
|
|
|
4
4
|
import time
|
|
5
5
|
import uuid
|
|
6
6
|
from collections import deque
|
|
7
|
-
from tkinter import NO
|
|
8
7
|
from typing import Optional
|
|
9
8
|
|
|
10
9
|
import click
|
|
@@ -117,14 +116,13 @@ async def handle_message(message):
|
|
|
117
116
|
"""处理接收到的消息"""
|
|
118
117
|
global is_end
|
|
119
118
|
if message["type"] == "tts" and message["state"] == "start": # start
|
|
120
|
-
|
|
119
|
+
device_stauts = "speak" # 防止打断
|
|
121
120
|
|
|
122
121
|
elif message["type"] == "stt": # 人类语音
|
|
123
122
|
human_speak_time = time.time()
|
|
124
123
|
logger.info1("human: %s", message["text"])
|
|
125
124
|
|
|
126
125
|
elif message["type"] == "tts" and message["state"] == "sentence_start": # AI语音
|
|
127
|
-
device_stauts = "speak" # 防止打断
|
|
128
126
|
logger.info2("AI: %s", message["text"])
|
|
129
127
|
|
|
130
128
|
elif message["type"] == "tts" and message["state"] == "stop":
|
|
@@ -163,7 +161,8 @@ async def play_assistant_audio(audio_queue: deque[bytes], enable_audio, audio_sa
|
|
|
163
161
|
if not audio_queue:
|
|
164
162
|
# 空音频 超过 2s ,将device_stauts 设置为listen,代表聆听中
|
|
165
163
|
if device_stauts == "speak" and last_audio_time and time.time() - last_audio_time > 2:
|
|
166
|
-
|
|
164
|
+
pass
|
|
165
|
+
# device_stauts = "listen"
|
|
167
166
|
|
|
168
167
|
await asyncio.sleep(0.01)
|
|
169
168
|
continue
|
|
@@ -156,7 +156,7 @@ class McpTool(object):
|
|
|
156
156
|
self.mcp_tools_payload["id"] = payload["id"]
|
|
157
157
|
self.mcp_tools_payload["result"]["tools"] = mcp_tool_list
|
|
158
158
|
await self.websocket.send(self.get_mcp_json(self.mcp_tools_payload))
|
|
159
|
-
logger.debug("[MCP]
|
|
159
|
+
logger.debug("[MCP] 加载成功,设备端可用工具列表为:%s", tool_name_list)
|
|
160
160
|
|
|
161
161
|
elif method == "tools/call":
|
|
162
162
|
tool_name = payload["params"]["name"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xiaozhi-sdk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: 一个用于连接和控制小智智能设备的Python SDK,支持实时音频通信、MCP工具集成和设备管理功能。
|
|
5
5
|
Author-email: dairoot <623815825@qq.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -58,22 +58,22 @@ uv pip install xiaozhi-sdk -U
|
|
|
58
58
|
#### 查看帮助信息
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
|
|
61
|
+
xiaozhi --help
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
#### 连接设备
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
67
|
# 默认本机 mac 地址
|
|
68
|
-
|
|
68
|
+
xiaozhi
|
|
69
69
|
|
|
70
70
|
# 指定 mac 地址
|
|
71
|
-
|
|
71
|
+
xiaozhi 00:22:44:66:88:00
|
|
72
72
|
|
|
73
73
|
# 更多常用操作
|
|
74
74
|
## --url 指定服务端 websocket 地址
|
|
75
75
|
## --wake_word 指定唤醒词
|
|
76
|
-
|
|
76
|
+
xiaozhi 00:22:44:66:88:00 \
|
|
77
77
|
--url ws://127.0.0.1:8180 \
|
|
78
78
|
--wake_word="你好啊"
|
|
79
79
|
```
|
|
@@ -31,6 +31,7 @@ xiaozhi_sdk/opus.py
|
|
|
31
31
|
xiaozhi_sdk.egg-info/PKG-INFO
|
|
32
32
|
xiaozhi_sdk.egg-info/SOURCES.txt
|
|
33
33
|
xiaozhi_sdk.egg-info/dependency_links.txt
|
|
34
|
+
xiaozhi_sdk.egg-info/entry_points.txt
|
|
34
35
|
xiaozhi_sdk.egg-info/requires.txt
|
|
35
36
|
xiaozhi_sdk.egg-info/top_level.txt
|
|
36
37
|
xiaozhi_sdk/../file/audio/16k_greet.wav
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|