From aba7172a0390376f7a98d01c8ab62f1ef7271281 Mon Sep 17 00:00:00 2001 From: 3030332422 <3030332422@qq.com> Date: Mon, 8 Dec 2025 14:25:11 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E4=BF=AE=E6=94=B9=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=96=87=E6=BA=90=E7=9A=84device=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/context-provider-integration.md | 6 +++--- main/xiaozhi-server/config.yaml | 3 ++- main/xiaozhi-server/core/utils/context_provider.py | 2 +- main/xiaozhi-server/core/utils/prompt_manager.py | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/context-provider-integration.md b/docs/context-provider-integration.md index c0dbdcb4..d8a9049c 100644 --- a/docs/context-provider-integration.md +++ b/docs/context-provider-integration.md @@ -27,7 +27,7 @@ 为了让小智正确解析数据,您的 API 需要满足以下规范: - **请求方式**:`GET` -- **请求头**:系统会自动添加 `device_id` 字段到 Request Header。 +- **请求头**:系统会自动添加 `device-id` 字段到 Request Header。 - **响应格式**:必须返回 JSON 格式,且包含 `code` 和 `data` 字段。 ### 响应示例 @@ -143,7 +143,7 @@ class MockRequestHandler(http.server.SimpleHTTPRequestHandler): # 路径参数风格: /health # device_id 从 Header 获取 if path == "/health": - device_id = self.headers.get("device_id", "unknown_device") + device_id = self.headers.get("device-id", "unknown_device") print(f"device_id: {device_id}") response_data = { "code": 0, @@ -182,7 +182,7 @@ class MockRequestHandler(http.server.SimpleHTTPRequestHandler): # 参数风格: /device/info # device_id 从 Header 获取 elif path == "/device/info": - device_id = self.headers.get("device_id", "unknown_device") + device_id = self.headers.get("device-id", "unknown_device") response_data = { "code": 0, "msg": "success", diff --git a/main/xiaozhi-server/config.yaml b/main/xiaozhi-server/config.yaml index 13d9fcb3..2c005356 100644 --- a/main/xiaozhi-server/config.yaml +++ b/main/xiaozhi-server/config.yaml @@ -114,8 +114,9 @@ wakeup_words: # 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md mcp_endpoint: 你的接入点 websocket地址 -# 数据上下文填充配置 +# 上下文源配置 # 用于在系统提示词中注入动态数据,如健康数据、股票信息等 +# 可以添加多个上下文源 context_providers: - url: "" headers: diff --git a/main/xiaozhi-server/core/utils/context_provider.py b/main/xiaozhi-server/core/utils/context_provider.py index 5f317540..14943d98 100644 --- a/main/xiaozhi-server/core/utils/context_provider.py +++ b/main/xiaozhi-server/core/utils/context_provider.py @@ -29,7 +29,7 @@ class ContextDataProvider: try: headers = headers.copy() if isinstance(headers, dict) else {} # 将 device_id 添加到请求头 - headers["device_id"] = device_id + headers["device-id"] = device_id # 发送请求 response = httpx.get(url, headers=headers, timeout=3) diff --git a/main/xiaozhi-server/core/utils/prompt_manager.py b/main/xiaozhi-server/core/utils/prompt_manager.py index 4d8d56af..78c63483 100644 --- a/main/xiaozhi-server/core/utils/prompt_manager.py +++ b/main/xiaozhi-server/core/utils/prompt_manager.py @@ -60,7 +60,7 @@ class PromptManager: self.cache_manager = cache_manager self.CacheType = CacheType - # 初始化数据上下文填充 + # 初始化上下文源 from core.utils.context_provider import ContextDataProvider self.context_provider = ContextDataProvider(config, self.logger) self.context_data = {}