本项目为xiaozhi-esp32提供后端服务,帮助您快速搭建ESP32设备控制服务器。Backend service for xiaozhi-esp32, helps you quickly build an ESP32 device control server.
This report summarizes scanner evidence for xinnan-tech/xiaozhi-esp32-server, a JavaScript project with 10,777 GitHub stars. SynthScan examined 256,283 lines of code across 1020 source files, recording 931 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 5.1 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 329 finding(s).
Are imports declared and package/API names verified? 146 finding(s).
Are wrappers, guards, and repeated structures necessary? 615 finding(s).
Which changes need focused human review? 931 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 931 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/index-stream-integration.md | 100 | except Exception as ex: | CODE |
| LOW | main/digital-human/start.py | 41 | except Exception as e: | CODE |
| LOW | main/digital-human/wakeword_runtime/core/detector.py | 81 | except Exception as exc: | CODE |
| LOW | main/digital-human/wakeword_runtime/core/detector.py | 146 | except Exception as exc: | CODE |
| LOW | main/digital-human/wakeword_runtime/core/detector.py | 152 | except Exception: | CODE |
| LOW | main/digital-human/wakeword_runtime/core/microphone.py | 90 | except Exception: | CODE |
| LOW | …/digital-human/wakeword_runtime/runtime/http_server.py | 160 | except Exception as exc: | CODE |
| LOW | …/digital-human/wakeword_runtime/runtime/http_server.py | 188 | except Exception as exc: | CODE |
| MEDIUM | …/digital-human/wakeword_runtime/runtime/http_server.py | 75 | def handle(self) -> None: | CODE |
| LOW | main/xiaozhi-server/core/auth.py | 71 | except Exception: | CODE |
| LOW | main/xiaozhi-server/core/websocket_server.py | 132 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/websocket_server.py | 145 | except Exception as close_error: | CODE |
| LOW | main/xiaozhi-server/core/websocket_server.py | 206 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/http_server.py | 87 | except Exception as e: | CODE |
| MEDIUM | main/xiaozhi-server/core/http_server.py | 35 | def start(self): | CODE |
| MEDIUM | main/xiaozhi-server/core/connection.py | 286 | def generate_title_task(): | CODE |
| MEDIUM | main/xiaozhi-server/core/connection.py | 306 | def save_memory_task(): | CODE |
| MEDIUM | main/xiaozhi-server/core/connection.py | 606 | def _initialize_components(self): | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 261 | except Exception as e: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 268 | except Exception as final_error: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 273 | except Exception as close_error: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 316 | except Exception as e: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 321 | except Exception: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 326 | except Exception as e: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 332 | except Exception as close_error: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 787 | except Exception as e: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 797 | except Exception as e: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 1519 | except Exception as e: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 1523 | except Exception as e: | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 1533 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 293 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 298 | except Exception: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 411 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 528 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 549 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 593 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 656 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 827 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 943 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1145 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1221 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1259 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1358 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1558 | except Exception: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1592 | except Exception as cleanup_error: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1616 | except Exception: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1634 | except Exception: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1637 | except Exception as ws_error: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1649 | except Exception as executor_error: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1655 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1717 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1739 | except Exception as close_error: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1746 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1768 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/handle/intentHandler.py | 77 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/handle/intentHandler.py | 127 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/handle/intentHandler.py | 179 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/handle/intentHandler.py | 202 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/handle/reportHandle.py | 55 | except Exception as e: | CODE |
| LOW | main/xiaozhi-server/core/handle/reportHandle.py | 100 | except Exception as e: | CODE |
| 298 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | main/digital-human/wakeword_runtime/core/detector.py | 79 | except queue.Empty: | CODE |
| HIGH | …/digital-human/wakeword_runtime/bridge/event_bridge.py | 105 | except queue.Full: | CODE |
| HIGH | …/digital-human/wakeword_runtime/runtime/http_server.py | 78 | except (BrokenPipeError, ConnectionResetError, ConnectionAbortedError): | CODE |
| HIGH | …/digital-human/wakeword_runtime/runtime/http_server.py | 144 | except socket.timeout: | CODE |
| HIGH | …/digital-human/wakeword_runtime/runtime/http_server.py | 146 | except (BrokenPipeError, ConnectionResetError, ConnectionAbortedError): | CODE |
| HIGH | main/xiaozhi-server/app.py | 36 | except KeyboardInterrupt: # Ctrl‑C | CODE |
| HIGH | main/xiaozhi-server/core/connection.py | 1783 | except (json.JSONDecodeError, TypeError): | CODE |
| HIGH | main/xiaozhi-server/core/connection.py | 1558 | except Exception: | CODE |
| HIGH | main/xiaozhi-server/core/connection.py | 1570 | except asyncio.CancelledError: | CODE |
| HIGH | main/xiaozhi-server/core/connection.py | 1579 | except asyncio.CancelledError: | CODE |
| HIGH | main/xiaozhi-server/core/connection.py | 1616 | except Exception: | CODE |
| HIGH | main/xiaozhi-server/core/connection.py | 298 | except Exception: | CODE |
| HIGH | main/xiaozhi-server/core/connection.py | 321 | except Exception: | CODE |
| HIGH | main/xiaozhi-server/core/connection.py | 1634 | except Exception: | CODE |
| HIGH | main/xiaozhi-server/core/handle/intentHandler.py | 28 | except (json.JSONDecodeError, TypeError): | CODE |
| HIGH | main/xiaozhi-server/core/handle/receiveAudioHandle.py | 64 | except (json.JSONDecodeError, KeyError): | CODE |
| HIGH | …hi-server/core/providers/tools/unified_tool_handler.py | 115 | except ImportError: | CODE |
| HIGH | …/providers/tools/mcp_endpoint/mcp_endpoint_executor.py | 46 | except Exception as e: | CODE |
| HIGH | …server/core/providers/tools/device_mcp/mcp_executor.py | 47 | except Exception as e: | CODE |
| HIGH | …core/providers/tools/server_plugins/plugin_executor.py | 155 | except (KeyError, TypeError): | CODE |
| HIGH | …re/providers/memory/mem_local_short/mem_local_short.py | 160 | except (json.JSONDecodeError, KeyError, TypeError): | CODE |
| HIGH | …ozhi-server/core/providers/memory/powermem/powermem.py | 244 | except (json.JSONDecodeError, KeyError): | CODE |
| HIGH | …ozhi-server/core/providers/memory/powermem/powermem.py | 179 | except (json.JSONDecodeError, KeyError, TypeError): | CODE |
| HIGH | …/xiaozhi-server/core/providers/memory/mem0ai/mem0ai.py | 87 | except (json.JSONDecodeError, KeyError): | CODE |
| HIGH | …/xiaozhi-server/core/providers/memory/mem0ai/mem0ai.py | 57 | except (json.JSONDecodeError, KeyError, TypeError): | CODE |
| HIGH | …n/xiaozhi-server/core/providers/asr/qwen3_asr_flash.py | 104 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/asr/doubao_stream.py | 427 | except asyncio.CancelledError: | CODE |
| HIGH | main/xiaozhi-server/core/providers/asr/xunfei_stream.py | 333 | except asyncio.CancelledError: | CODE |
| HIGH | …zhi-server/core/providers/tts/huoshan_double_stream.py | 271 | except: | CODE |
| HIGH | …zhi-server/core/providers/tts/huoshan_double_stream.py | 484 | except: | CODE |
| HIGH | …zhi-server/core/providers/tts/huoshan_double_stream.py | 735 | except asyncio.CancelledError: | CODE |
| HIGH | …zhi-server/core/providers/tts/huoshan_double_stream.py | 559 | except: | CODE |
| HIGH | …zhi-server/core/providers/tts/huoshan_double_stream.py | 229 | except: | CODE |
| HIGH | …zhi-server/core/providers/tts/huoshan_double_stream.py | 395 | except: | CODE |
| HIGH | …zhi-server/core/providers/tts/huoshan_double_stream.py | 829 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/aliyun_stream.py | 412 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/aliyun_stream.py | 508 | except asyncio.CancelledError: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/aliyun_stream.py | 476 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/aliyun_stream.py | 330 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/aliyun_stream.py | 640 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/fishspeech.py | 28 | except Exception as e: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/xunfei_stream.py | 331 | except asyncio.CancelledError: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/xunfei_stream.py | 340 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/xunfei_stream.py | 419 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/xunfei_stream.py | 268 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/xunfei_stream.py | 496 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/alibl_stream.py | 319 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/alibl_stream.py | 330 | except asyncio.CancelledError: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/alibl_stream.py | 399 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/alibl_stream.py | 227 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/tts/alibl_stream.py | 547 | except: | CODE |
| HIGH | main/xiaozhi-server/core/providers/vad/silero.py | 52 | except Exception: | CODE |
| HIGH | main/xiaozhi-server/core/utils/util.py | 421 | except Exception: | CODE |
| HIGH | main/xiaozhi-server/core/utils/dialogue.py | 145 | except: | CODE |
| HIGH | main/xiaozhi-server/core/utils/dialogue.py | 141 | except: | CODE |
| HIGH | main/xiaozhi-server/core/utils/gc_manager.py | 52 | except asyncio.CancelledError: | CODE |
| HIGH | main/xiaozhi-server/core/utils/gc_manager.py | 68 | except asyncio.TimeoutError: | CODE |
| HIGH | main/xiaozhi-server/core/api/ota_handler.py | 413 | except Exception: | CODE |
| HIGH | main/xiaozhi-server/config/manage_api_client.py | 188 | except Exception: | CODE |
| HIGH | main/xiaozhi-server/tests/conftest.py | 37 | except Exception: | CODE |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/context-provider-integration.md | 130 | class MockRequestHandler(http.server.SimpleHTTPRequestHandler): | CODE |
| LOW | main/digital-human/js/core/network/wakeword-bridge.js | 13 | export function startWakewordBridgeListener() { | CODE |
| LOW | main/digital-human/js/core/network/wakeword-bridge.js | 122 | export function stopWakewordBridgeListener() { | CODE |
| LOW | main/digital-human/js/core/network/wakeword-bridge.js | 139 | export function sendWakewordBridgeMessage(type, payload = {}, requestId = null) { | CODE |
| LOW | main/digital-human/js/core/network/wakeword-bridge.js | 191 | function parseWakewordBridgeMessage(rawData) { | CODE |
| LOW | main/digital-human/js/core/network/wakeword-bridge.js | 219 | function rejectAllWakewordRequests(errorMessage) { | CODE |
| LOW | main/digital-human/js/core/mcp/tools.js | 211 | function updatePropertyRangeVisibility() { | CODE |
| LOW | main/digital-human/js/core/audio/recorder.js | 344 | export async function checkMicrophoneAvailability() { | CODE |
| LOW | …digital-human/wakeword_runtime/config/config_loader.py | 138 | def _load_wake_words_from_keywords_file(model_dir: Path) -> list[str]: | CODE |
| LOW | …/digital-human/wakeword_runtime/runtime/http_server.py | 151 | def _build_wakeword_config_message(self, bridge: WakewordEventBridge) -> str: | CODE |
| LOW | …/digital-human/wakeword_runtime/runtime/http_server.py | 275 | def _receive_websocket_message(self) -> str | None: | CODE |
| LOW | main/digital-human/wakeword_runtime/runtime/app.py | 67 | def handle_wake_word_detected(self, wake_word: str, full_text: str) -> None: | CODE |
| LOW | main/manager-mobile/src/utils/index.ts | 18 | export function clearServerBaseUrlOverride() { | CODE |
| LOW | main/manager-mobile/src/pages/settings/index.vue | 207 | function clearAllCacheAfterUrlChange() { | CODE |
| LOW | main/manager-mobile/src/pages/agent/edit.vue | 186 | function buildCurrentEditableState() { | CODE |
| LOW | main/manager-mobile/src/pages/agent/edit.vue | 203 | function buildOriginalEditableState() { | CODE |
| LOW | main/manager-mobile/src/pages/agent/edit.vue | 315 | function openContextProviderDialog() { | CODE |
| LOW | main/manager-mobile/src/pages/agent/edit.vue | 358 | function applyPersistedAgentDetail(detail: AgentDetail, targetAgentId: string) { | CODE |
| LOW | main/manager-mobile/src/pages/agent/edit.vue | 383 | async function enhanceAgentDetailMetadata(detail: AgentDetail, targetAgentId: string, requestId: number) { | CODE |
| LOW | main/manager-mobile/src/pages/agent/edit.vue | 409 | function isActiveAgentDetailRequest(targetAgentId: string, requestId: number) { | CODE |
| LOW | main/manager-mobile/src/pages/agent/edit.vue | 413 | function invalidateTtsMetadataRequest() { | CODE |
| LOW | main/manager-mobile/src/pages/agent/edit.vue | 1135 | async function reloadAgentAfterSnapshotRestore(targetAgentId = agentId.value) { | CODE |
| LOW | …bile/src/pages/agent/components/AgentSnapshotPanel.vue | 335 | function invalidateSnapshotRequest() { | CODE |
| LOW | …bile/src/pages/agent/components/AgentSnapshotPanel.vue | 628 | async function requestRestoreConfirmation(options: Parameters<typeof message.confirm>[0]) { | CODE |
| LOW | …bile/src/pages/agent/components/AgentSnapshotPanel.vue | 919 | async function ensureCorrectWordMetadata(...snapshots: AgentSnapshotData[]) { | CODE |
| LOW | main/xiaozhi-server/performance_tester.py | 8 | def list_performance_tester_modules(): | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 337 | async def _discard_message_with_bind_prompt(self): | CODE |
| LOW⚡ | main/xiaozhi-server/core/connection.py | 800 | async def _initialize_private_config_async(self): | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 385 | async def _process_mqtt_audio_message(self, message): | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 673 | def _inject_tool_call_fewshot(self): | CODE |
| LOW | main/xiaozhi-server/core/connection.py | 1772 | def _extract_direct_answer_response(arguments_str): | CODE |
| LOW | …aozhi-server/core/handle/textMessageHandlerRegistry.py | 22 | def _register_default_handlers(self) -> None: | CODE |
| LOW | main/xiaozhi-server/core/handle/sendAudioHandle.py | 58 | async def _wait_for_audio_completion(conn: "ConnectionHandler"): | CODE |
| LOW | main/xiaozhi-server/core/handle/sendAudioHandle.py | 150 | def _get_or_create_rate_controller( | CODE |
| LOW | main/xiaozhi-server/core/handle/sendAudioHandle.py | 233 | async def _send_audio_with_rate_control( | CODE |
| LOW⚡ | …hi-server/core/providers/tools/unified_tool_handler.py | 109 | def _initialize_home_assistant(self): | CODE |
| LOW⚡ | …hi-server/core/providers/tools/unified_tool_handler.py | 124 | def current_support_functions(self) -> List[str]: | CODE |
| LOW | …hi-server/core/providers/tools/unified_tool_manager.py | 49 | def get_function_descriptions(self) -> List[Dict[str, Any]]: | CODE |
| LOW | …e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py | 58 | async def handle_mcp_endpoint_message(mcp_client: MCPEndpointClient, message: str): | CODE |
| LOW | …e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py | 224 | async def send_mcp_endpoint_initialize(mcp_client: MCPEndpointClient): | CODE |
| LOW | …e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py | 247 | async def send_mcp_endpoint_notification(mcp_client: MCPEndpointClient, method: str): | CODE |
| LOW | …e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py | 259 | async def send_mcp_endpoint_tools_list(mcp_client: MCPEndpointClient): | CODE |
| LOW | …e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py | 271 | async def send_mcp_endpoint_tools_list_continue( | CODE |
| LOW | …re/providers/tools/mcp_endpoint/mcp_endpoint_client.py | 74 | async def register_call_result_future(self, id: int, future: Future): | CODE |
| LOW | …-server/core/providers/tools/device_mcp/mcp_handler.py | 79 | async def register_call_result_future(self, id: int, future: Future): | CODE |
| LOW | …-server/core/providers/tools/device_mcp/mcp_handler.py | 238 | async def send_mcp_initialize_message(conn: "ConnectionHandler"): | CODE |
| LOW | …-server/core/providers/tools/device_mcp/mcp_handler.py | 273 | async def send_mcp_tools_list_request(conn: "ConnectionHandler"): | CODE |
| LOW | …-server/core/providers/tools/device_mcp/mcp_handler.py | 284 | async def send_mcp_tools_list_continue_request(conn: "ConnectionHandler", cursor: str): | CODE |
| LOW | …i-server/core/providers/tools/device_mcp/mcp_client.py | 72 | async def register_call_result_future(self, id: int, future: Future): | CODE |
| LOW | …core/providers/tools/server_plugins/plugin_executor.py | 141 | def _init_news_source_description(self, func_item, func_name): | CODE |
| LOW | main/xiaozhi-server/core/providers/llm/system_prompt.py | 1 | def get_system_prompt_for_function(functions: str) -> str: | CODE |
| LOW | main/xiaozhi-server/core/providers/asr/doubao_stream.py | 349 | def generate_audio_default_header(self): | CODE |
| LOW | main/xiaozhi-server/core/providers/asr/doubao_stream.py | 358 | def generate_last_audio_default_header(self): | CODE |
| LOW | main/xiaozhi-server/core/providers/tts/index_stream.py | 75 | def _process_remaining_text_stream(self, is_last=False): | CODE |
| LOW | main/xiaozhi-server/core/providers/tts/index_stream.py | 189 | def audio_to_opus_data_stream( | CODE |
| LOW | …zhi-server/core/providers/tts/huoshan_double_stream.py | 488 | async def _start_monitor_tts_response(self): | CODE |
| LOW | …zhi-server/core/providers/tts/huoshan_double_stream.py | 712 | def audio_to_opus_data_stream( | CODE |
| LOW | …zhi-server/core/providers/tts/huoshan_double_stream.py | 726 | def wav_to_opus_data_audio_raw_stream(self, raw_data_var, is_end=False, callback: Callable[[Any], Any]=None): | CODE |
| LOW | main/xiaozhi-server/core/providers/tts/aliyun_stream.py | 417 | async def _start_monitor_tts_response(self): | CODE |
| LOW | main/xiaozhi-server/core/providers/tts/aliyun_stream.py | 484 | def audio_to_opus_data_stream( | CODE |
| 96 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | main/digital-human/wakeword_runtime/core/__init__.py | 1 | CODE | |
| LOW | main/digital-human/wakeword_runtime/core/__init__.py | 1 | CODE | |
| LOW | main/digital-human/wakeword_runtime/core/__init__.py | 2 | CODE | |
| LOW | main/digital-human/wakeword_runtime/core/__init__.py | 3 | CODE | |
| LOW | main/digital-human/wakeword_runtime/config/__init__.py | 1 | CODE | |
| LOW | main/digital-human/wakeword_runtime/config/__init__.py | 1 | CODE | |
| LOW | main/digital-human/wakeword_runtime/config/__init__.py | 2 | CODE | |
| LOW | main/digital-human/wakeword_runtime/plugins/__init__.py | 1 | CODE | |
| LOW | main/digital-human/wakeword_runtime/plugins/__init__.py | 2 | CODE | |
| LOW | main/digital-human/wakeword_runtime/plugins/__init__.py | 3 | CODE | |
| LOW | main/digital-human/wakeword_runtime/plugins/__init__.py | 4 | CODE | |
| LOW | main/digital-human/wakeword_runtime/bridge/__init__.py | 1 | CODE | |
| LOW | main/digital-human/wakeword_runtime/runtime/__init__.py | 1 | CODE | |
| LOW | main/digital-human/wakeword_runtime/runtime/__init__.py | 2 | CODE | |
| LOW | main/xiaozhi-server/core/handle/helloHandle.py | 9 | CODE | |
| LOW | main/xiaozhi-server/core/handle/intentHandler.py | 7 | CODE | |
| LOW | main/xiaozhi-server/core/handle/sendAudioHandle.py | 8 | CODE | |
| LOW | main/xiaozhi-server/core/handle/abortHandle.py | 5 | CODE | |
| LOW | main/xiaozhi-server/core/handle/textHandle.py | 4 | CODE | |
| LOW | main/xiaozhi-server/core/handle/reportHandle.py | 18 | CODE | |
| LOW | main/xiaozhi-server/core/handle/receiveAudioHandle.py | 7 | CODE | |
| LOW | main/xiaozhi-server/core/handle/textMessageProcessor.py | 5 | CODE | |
| LOW | …hi-server/core/handle/textHandler/mcpMessageHandler.py | 5 | CODE | |
| LOW | …server/core/handle/textHandler/listenMessageHandler.py | 7 | CODE | |
| LOW | …hi-server/core/handle/textHandler/iotMessageHandler.py | 5 | CODE | |
| LOW | …-server/core/handle/textHandler/helloMessageHandler.py | 4 | CODE | |
| LOW | …server/core/handle/textHandler/serverMessageHandler.py | 1 | CODE | |
| LOW | …server/core/handle/textHandler/serverMessageHandler.py | 7 | CODE | |
| LOW | …i-server/core/providers/tools/mcp_endpoint/__init__.py | 3 | CODE | |
| LOW | …i-server/core/providers/tools/mcp_endpoint/__init__.py | 4 | CODE | |
| LOW | …i-server/core/providers/tools/mcp_endpoint/__init__.py | 5 | CODE | |
| LOW | …i-server/core/providers/tools/mcp_endpoint/__init__.py | 5 | CODE | |
| LOW | …i-server/core/providers/tools/mcp_endpoint/__init__.py | 5 | CODE | |
| LOW | …i-server/core/providers/tools/mcp_endpoint/__init__.py | 5 | CODE | |
| LOW | …i-server/core/providers/tools/mcp_endpoint/__init__.py | 5 | CODE | |
| LOW | …-server/core/providers/tools/device_iot/iot_handler.py | 9 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_iot/__init__.py | 3 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_iot/__init__.py | 4 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_iot/__init__.py | 4 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_iot/__init__.py | 5 | CODE | |
| LOW | …-server/core/providers/tools/device_mcp/mcp_handler.py | 13 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_mcp/__init__.py | 3 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_mcp/__init__.py | 4 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_mcp/__init__.py | 4 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_mcp/__init__.py | 4 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_mcp/__init__.py | 4 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_mcp/__init__.py | 4 | CODE | |
| LOW | …zhi-server/core/providers/tools/device_mcp/__init__.py | 11 | CODE | |
| LOW | …server/core/providers/tools/device_mcp/mcp_executor.py | 6 | CODE | |
| LOW | …zhi-server/core/providers/tools/server_mcp/__init__.py | 3 | CODE | |
| LOW | …zhi-server/core/providers/tools/server_mcp/__init__.py | 4 | CODE | |
| LOW | …zhi-server/core/providers/tools/server_mcp/__init__.py | 5 | CODE | |
| LOW | …i-server/core/providers/tools/server_mcp/mcp_client.py | 3 | CODE | |
| LOW | …server/core/providers/tools/server_plugins/__init__.py | 3 | CODE | |
| LOW | …core/providers/tools/server_plugins/plugin_executor.py | 7 | CODE | |
| LOW | …n/xiaozhi-server/core/providers/tools/base/__init__.py | 3 | CODE | |
| LOW | …n/xiaozhi-server/core/providers/tools/base/__init__.py | 3 | CODE | |
| LOW | …n/xiaozhi-server/core/providers/tools/base/__init__.py | 4 | CODE | |
| LOW | …xiaozhi-server/core/providers/tools/base/tool_types.py | 7 | CODE | |
| LOW | …rver/core/providers/llm/homeassistant/homeassistant.py | 2 | CODE | |
| 72 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | main/digital-human/wakeword_runtime/core/detector.py | 129 | CODE | |
| LOW | …/digital-human/wakeword_runtime/bridge/event_bridge.py | 36 | CODE | |
| LOW | …/digital-human/wakeword_runtime/runtime/http_server.py | 64 | CODE | |
| LOW | …/digital-human/wakeword_runtime/runtime/http_server.py | 101 | CODE | |
| LOW | main/xiaozhi-server/core/websocket_server.py | 85 | CODE | |
| LOW | main/xiaozhi-server/core/connection.py | 278 | CODE | |
| LOW | main/xiaozhi-server/core/connection.py | 348 | CODE | |
| LOW | main/xiaozhi-server/core/connection.py | 800 | CODE | |
| LOW | main/xiaozhi-server/core/connection.py | 1055 | CODE | |
| LOW | main/xiaozhi-server/core/connection.py | 1397 | CODE | |
| LOW | main/xiaozhi-server/core/connection.py | 1505 | CODE | |
| LOW | main/xiaozhi-server/core/connection.py | 1543 | CODE | |
| LOW | main/xiaozhi-server/core/connection.py | 1662 | CODE | |
| LOW | main/xiaozhi-server/core/connection.py | 1720 | CODE | |
| LOW | main/xiaozhi-server/core/connection.py | 1751 | CODE | |
| LOW | main/xiaozhi-server/core/handle/intentHandler.py | 83 | CODE | |
| LOW | main/xiaozhi-server/core/handle/intentHandler.py | 166 | CODE | |
| LOW | main/xiaozhi-server/core/handle/sendAudioHandle.py | 320 | CODE | |
| LOW | main/xiaozhi-server/core/handle/reportHandle.py | 25 | CODE | |
| LOW | main/xiaozhi-server/core/handle/reportHandle.py | 105 | CODE | |
| LOW | main/xiaozhi-server/core/handle/receiveAudioHandle.py | 43 | CODE | |
| LOW | …server/core/handle/textHandler/listenMessageHandler.py | 29 | CODE | |
| LOW | …hi-server/core/providers/tools/unified_tool_manager.py | 30 | CODE | |
| LOW | …e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py | 58 | CODE | |
| LOW | …e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py | 286 | CODE | |
| LOW | …-server/core/providers/tools/device_iot/iot_handler.py | 15 | CODE | |
| LOW | …-server/core/providers/tools/device_iot/iot_handler.py | 68 | CODE | |
| LOW | …server/core/providers/tools/device_iot/iot_executor.py | 17 | CODE | |
| LOW | …server/core/providers/tools/device_iot/iot_executor.py | 102 | CODE | |
| LOW | …server/core/providers/tools/device_iot/iot_executor.py | 111 | CODE | |
| LOW | …server/core/providers/tools/device_iot/iot_executor.py | 135 | CODE | |
| LOW | …rver/core/providers/tools/device_iot/iot_descriptor.py | 12 | CODE | |
| LOW | …-server/core/providers/tools/device_mcp/mcp_handler.py | 118 | CODE | |
| LOW | …-server/core/providers/tools/device_mcp/mcp_handler.py | 296 | CODE | |
| LOW | …i-server/core/providers/tools/server_mcp/mcp_client.py | 165 | CODE | |
| LOW | …-server/core/providers/tools/server_mcp/mcp_manager.py | 115 | CODE | |
| LOW | …core/providers/tools/server_plugins/plugin_executor.py | 19 | CODE | |
| LOW | …core/providers/tools/server_plugins/plugin_executor.py | 94 | CODE | |
| LOW | …n/xiaozhi-server/core/providers/llm/fastgpt/fastgpt.py | 21 | CODE | |
| LOW | main/xiaozhi-server/core/providers/llm/gemini/gemini.py | 128 | CODE | |
| LOW | …zhi-server/core/providers/llm/xinference/xinference.py | 33 | CODE | |
| LOW | …zhi-server/core/providers/llm/xinference/xinference.py | 61 | CODE | |
| LOW | main/xiaozhi-server/core/providers/llm/AliBL/AliBL.py | 23 | CODE | |
| LOW | main/xiaozhi-server/core/providers/llm/ollama/ollama.py | 27 | CODE | |
| LOW | main/xiaozhi-server/core/providers/llm/ollama/ollama.py | 94 | CODE | |
| LOW | main/xiaozhi-server/core/providers/llm/dify/dify.py | 22 | CODE | |
| LOW | main/xiaozhi-server/core/providers/llm/openai/openai.py | 92 | CODE | |
| LOW | main/xiaozhi-server/core/providers/llm/openai/openai.py | 138 | CODE | |
| LOW | …re/providers/memory/mem_local_short/mem_local_short.py | 135 | CODE | |
| LOW | …ozhi-server/core/providers/memory/powermem/powermem.py | 40 | CODE | |
| LOW | …ozhi-server/core/providers/memory/powermem/powermem.py | 150 | CODE | |
| LOW | …ozhi-server/core/providers/memory/powermem/powermem.py | 218 | CODE | |
| LOW | …/xiaozhi-server/core/providers/memory/mem0ai/mem0ai.py | 33 | CODE | |
| LOW | …/xiaozhi-server/core/providers/memory/mem0ai/mem0ai.py | 72 | CODE | |
| LOW | …-server/core/providers/intent/intent_llm/intent_llm.py | 142 | CODE | |
| LOW | …xiaozhi-server/core/providers/asr/sherpa_onnx_local.py | 38 | CODE | |
| LOW | main/xiaozhi-server/core/providers/asr/doubao_stream.py | 69 | CODE | |
| LOW | main/xiaozhi-server/core/providers/asr/doubao_stream.py | 159 | CODE | |
| LOW | …n/xiaozhi-server/core/providers/asr/aliyunbl_stream.py | 157 | CODE | |
| LOW | main/xiaozhi-server/core/providers/asr/aliyun_stream.py | 196 | CODE | |
| 71 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | main/xiaozhi-server/tests/conftest.py | 45 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | main/xiaozhi-server/tests/conftest.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | main/xiaozhi-server/tests/conftest.py | 123 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | main/xiaozhi-server/tests/conftest.py | 128 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | main/xiaozhi-server/tests/conftest.py | 204 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | main/xiaozhi-server/tests/conftest.py | 206 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | main/xiaozhi-server/tests/conftest.py | 62 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | main/xiaozhi-server/tests/conftest.py | 64 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | main/xiaozhi-server/tests/conftest.py | 152 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | main/xiaozhi-server/tests/conftest.py | 154 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | main/xiaozhi-server/tests/conftest.py | 363 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | main/xiaozhi-server/tests/conftest.py | 365 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | main/xiaozhi-server/tests/conftest.py | 426 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | main/xiaozhi-server/tests/conftest.py | 428 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | main/manager-mobile/vite.config.ts | 21 | import AutoImport from 'unplugin-auto-import/vite' | COMMENT |
| LOW | main/manager-mobile/src/pages/agent/edit.vue | 701 | ttsOptionsLoading.value = false | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 1 | # 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 21 | # 视觉分析接口地址 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 241 | VLLM: ChatGLMVLLM | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 301 | # 费用说明:PowerMem本身免费,实际费用取决于所选LLM和数据库 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 341 | # port: 2881 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 461 | # 平台地址:https://nls-portal.console.aliyun.com/ | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 501 | # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 521 | # 2.创建api-key https://console.groq.com/keys | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 561 | # 讯飞流式语音识别服务 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 801 | # 在页面底部获取appid和access_token | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 821 | # 高级文本处理配置(additions)- 用户可自定义添加火山引擎支持的任何高级参数 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 881 | # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 981 | # pitch: 0 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 1001 | # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 1021 | # 阿里云CosyVoice大模型流式文本语音合成 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 1041 | # speech_rate: 0 # 语速:-500到500 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 1061 | # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息 | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 1141 | type: alibl_stream | COMMENT |
| LOW | main/xiaozhi-server/config.yaml | 1161 | app_id: 你的app_id | COMMENT |
| LOW | main/xiaozhi-server/config_from_api.yaml | 1 | # 如果你只想轻量化安装xiaozhi-server,只使用本地的配置文件,不需要理会这个文件,不需要改动本文件任何东西 | COMMENT |
| LOW | main/xiaozhi-server/config_from_api.yaml | 21 | # 你的manager-api的地址,最好使用局域网ip | COMMENT |
| LOW | main/manager-web/src/views/ModelConfig.vue | 741 | // padding: 16px 0; | COMMENT |
| LOW | main/manager-web/src/views/ModelConfig.vue | 761 | // border: none; | COMMENT |
| LOW | main/manager-web/src/views/ModelConfig.vue | 781 | // .batch-actions .el-button--danger { | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …/manager-web/public/generator/assets/index-Guo1hQ-y.js | 69 | Check: https://github.com/renzhezhilu/gifsicle-wasm-browser`},testType(A){return A instanceof Element?"element":Object. | CODE |
| CRITICAL | …modules/model/service/impl/ModelConfigServiceImpl.java | 260 | // com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator(UUID.replace("-","")) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …zhi-server/core/providers/tts/huoshan_double_stream.py | 0 | 重写父类方法:使用独立的临时编码器处理音频文件,避免与tts流式编码器并发冲突。 双流式tts中,monitor任务在event loop线程接收tts音频并使用self.opus_encoder编码, 同时tts_text_priorit | STRING |
| HIGH | main/xiaozhi-server/core/providers/tts/aliyun_stream.py | 0 | 重写父类方法:使用独立的临时编码器处理音频文件,避免与tts流式编码器并发冲突。 双流式tts中,monitor任务在event loop线程接收tts音频并使用self.opus_encoder编码, 同时tts_text_priorit | STRING |
| HIGH | main/xiaozhi-server/core/providers/tts/xunfei_stream.py | 0 | 重写父类方法:使用独立的临时编码器处理音频文件,避免与tts流式编码器并发冲突。 双流式tts中,monitor任务在event loop线程接收tts音频并使用self.opus_encoder编码, 同时tts_text_priorit | STRING |
| HIGH | main/xiaozhi-server/core/providers/tts/alibl_stream.py | 0 | 重写父类方法:使用独立的临时编码器处理音频文件,避免与tts流式编码器并发冲突。 双流式tts中,monitor任务在event loop线程接收tts音频并使用self.opus_encoder编码, 同时tts_text_priorit | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | main/digital-human/wakeword_runtime/core/detector.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | main/digital-human/wakeword_runtime/core/microphone.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | …in/digital-human/wakeword_runtime/plugins/wake_word.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | main/digital-human/wakeword_runtime/plugins/audio.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/digital-human/wakeword_runtime/bridge/event_bridge.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/digital-human/wakeword_runtime/runtime/http_server.py | 42 | def set_restart_handler(self, handler: Callable[[], None]) -> None: | CODE |
| LOW | main/digital-human/wakeword_runtime/runtime/app.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | …i-server/core/providers/tools/mcp_endpoint/__init__.py | 13 | __all__ = [ | CODE |
| LOW | …zhi-server/core/providers/tools/device_iot/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …zhi-server/core/providers/tools/device_mcp/__init__.py | 13 | __all__ = [ | CODE |
| LOW | …zhi-server/core/providers/tools/server_mcp/__init__.py | 7 | __all__ = ["ServerMCPManager", "ServerMCPExecutor", "ServerMCPClient"] | CODE |
| LOW | …server/core/providers/tools/server_plugins/__init__.py | 5 | __all__ = ["ServerPluginExecutor"] | CODE |
| LOW | …n/xiaozhi-server/core/providers/tools/base/__init__.py | 6 | __all__ = ["ToolType", "ToolDefinition", "ToolExecutor"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/readme/README_pt_BR.md | 333 | ### RAG Geração Aumentada por Recuperação | COMMENT |
| MEDIUM | main/xiaozhi-server/core/connection.py | 690 | # === few-shot 示例(is_temporary)=== | COMMENT |
| MEDIUM | main/xiaozhi-server/core/utils/dialogue.py | 150 | # 第二段:few-shot 示例(会话内不变) | COMMENT |
| MEDIUM | main/xiaozhi-server/core/utils/dialogue.py | 157 | # 第三段:实际对话历史(不含 few-shot) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | main/xiaozhi-server/tests/conftest.py | 198 | if s.startswith("你的") or "placeholder" in s: | CODE |
| LOW | main/xiaozhi-server/tests/conftest.py | 187 | 占位符判定:空 / "你的..." / 包含 "placeholder" / 字面 "none"。 | STRING |
| LOW | main/xiaozhi-server/tests/test_llm.py | 15 | - placeholder 检测("你的" / "placeholder" / "xxx" / "sk-xxx") | STRING |
| LOW | …hi-server/performance_tester/performance_tester_asr.py | 97 | and str(config[field]).lower() in ["你的", "placeholder", "none", "null", ""] | CODE |
| LOW | …hi-server/performance_tester/performance_tester_asr.py | 322 | and str(config[field]).lower() in ["你的", "placeholder", "none", "null", ""] | CODE |
| LOW | …hi-server/performance_tester/performance_tester_tts.py | 39 | and any(x in config[field] for x in ["你的", "placeholder"]) | CODE |
| LOW | …hi-server/performance_tester/performance_tester_llm.py | 254 | x in config["api_key"] for x in ["你的", "placeholder", "sk-xxx"] | CODE |
| LOW | …hi-server/performance_tester/performance_tester_llm.py | 471 | x in config["api_key"] for x in ["你的", "placeholder", "sk-xxx"] | CODE |
| LOW | …i-server/performance_tester/performance_tester_vllm.py | 38 | x in config["api_key"] for x in ["你的", "placeholder", "sk-xxx"] | CODE |
| LOW | …i-server/performance_tester/performance_tester_vllm.py | 161 | x in config["api_key"] for x in ["你的", "placeholder", "sk-xxx"] | CODE |
| LOW | …/manager-web/public/generator/assets/index-Guo1hQ-y.js | 55 | Vui lòng tải lại hình ảnh biểu tượng cảm xúc tùy chỉnh.`,incompatibleEmojiData:"Phát hiện dữ liệu biểu tượng cảm xúc khô | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …n/manager-mobile/src/pages/login/user-agreement-en.vue | 374 | 8.1 AI-Generated Content: The Service relies on third-party AI models to provide intelligent interaction cap | CODE |
| HIGH | main/manager-web/public/user-agreement-en.html | 233 | interaction capabilities. The content generated by AI may be inaccurate, incomplete, or inappropriate. The | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …i-server/core/providers/tools/server_mcp/mcp_client.py | 116 | 调用指定工具 Args: name: 工具名称 arguments: 工具参数 read_timeout_seconds: p | STRING |
| HIGH | main/xiaozhi-server/core/providers/asr/utils.py | 29 | 解析 FunASR 识别结果,按顺序提取标签和纯文本内容 Args: text: ASR 识别的原始文本,可能包含多种标签 Returns: dict: {"language": | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …re/providers/tools/mcp_endpoint/mcp_endpoint_client.py | 30 | # Check if the cache is valid | COMMENT |
| LOW | …-server/core/providers/tools/device_mcp/mcp_handler.py | 35 | # Check if the cache is valid | COMMENT |
| LOW | …i-server/core/providers/tools/device_mcp/mcp_client.py | 28 | # Check if the cache is valid | COMMENT |
| LOW | main/xiaozhi-server/core/providers/tts/fishspeech.py | 25 | ): # Check if audio is a string (Base64) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | main/xiaozhi-server/core/providers/tts/fishspeech.py | 95 | self.api_key = config.get("api_key", "YOUR_API_KEY") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | main/xiaozhi-server/core/connection.py | 1824 | CODE | |
| LOW | …models/snakers4_silero-vad/src/silero_vad/utils_vad.py | 191 | CODE | |
| LOW | …models/snakers4_silero-vad/src/silero_vad/utils_vad.py | 91 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | main/xiaozhi-server/core/providers/llm/base.py | 31 | # For providers that don't support functions, just return regular response | COMMENT |