AI Slop Code RIsk Monitor

xinnan-tech/xiaozhi-esp32-server

本项目为xiaozhi-esp32提供后端服务,帮助您快速搭建ESP32设备控制服务器。Backend service for xiaozhi-esp32, helps you quickly build an ESP32 device control server.

5.1 Moderate pattern signal View on GitHub

Maintenance and Governance Review

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.

5.1
Adjusted Signal
5.1
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
10.8K
Stars
JavaScript
Language
256.3K
Lines of Code
1.0K
Files
931
Pattern Hits
2026-10-12
Scan Date
0.08
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 6.8/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 329 finding(s).

Hallucinated Dependency & Supply Chain Risk 3.3/100 · LOW

Are imports declared and package/API names verified? 146 finding(s).

Agent Over-Engineering Ratio 17.1/100 · LOW

Are wrappers, guards, and repeated structures necessary? 615 finding(s).

PR Review Velocity Impact 23.9/100 · LOW

Which changes need focused human review? 931 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 2HIGH 76MEDIUM 35LOW 818

Directory Score Breakdown

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.

Pattern Findings

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.

Excessive Try-Catch Wrapping358 hits · 365 pts
SeverityFileLineSnippetContext
LOWdocs/index-stream-integration.md100 except Exception as ex:CODE
LOWmain/digital-human/start.py41 except Exception as e:CODE
LOWmain/digital-human/wakeword_runtime/core/detector.py81 except Exception as exc:CODE
LOWmain/digital-human/wakeword_runtime/core/detector.py146 except Exception as exc:CODE
LOWmain/digital-human/wakeword_runtime/core/detector.py152 except Exception:CODE
LOWmain/digital-human/wakeword_runtime/core/microphone.py90 except Exception:CODE
LOW…/digital-human/wakeword_runtime/runtime/http_server.py160 except Exception as exc:CODE
LOW…/digital-human/wakeword_runtime/runtime/http_server.py188 except Exception as exc:CODE
MEDIUM…/digital-human/wakeword_runtime/runtime/http_server.py75def handle(self) -> None:CODE
LOWmain/xiaozhi-server/core/auth.py71 except Exception:CODE
LOWmain/xiaozhi-server/core/websocket_server.py132 except Exception as e:CODE
LOWmain/xiaozhi-server/core/websocket_server.py145 except Exception as close_error:CODE
LOWmain/xiaozhi-server/core/websocket_server.py206 except Exception as e:CODE
LOWmain/xiaozhi-server/core/http_server.py87 except Exception as e:CODE
MEDIUMmain/xiaozhi-server/core/http_server.py35def start(self):CODE
MEDIUMmain/xiaozhi-server/core/connection.py286def generate_title_task():CODE
MEDIUMmain/xiaozhi-server/core/connection.py306def save_memory_task():CODE
MEDIUMmain/xiaozhi-server/core/connection.py606def _initialize_components(self):CODE
LOW⚡main/xiaozhi-server/core/connection.py261 except Exception as e:CODE
LOW⚡main/xiaozhi-server/core/connection.py268 except Exception as final_error:CODE
LOW⚡main/xiaozhi-server/core/connection.py273 except Exception as close_error:CODE
LOW⚡main/xiaozhi-server/core/connection.py316 except Exception as e:CODE
LOW⚡main/xiaozhi-server/core/connection.py321 except Exception:CODE
LOW⚡main/xiaozhi-server/core/connection.py326 except Exception as e:CODE
LOW⚡main/xiaozhi-server/core/connection.py332 except Exception as close_error:CODE
LOW⚡main/xiaozhi-server/core/connection.py787 except Exception as e:CODE
LOW⚡main/xiaozhi-server/core/connection.py797 except Exception as e:CODE
LOW⚡main/xiaozhi-server/core/connection.py1519 except Exception as e:CODE
LOW⚡main/xiaozhi-server/core/connection.py1523 except Exception as e:CODE
LOW⚡main/xiaozhi-server/core/connection.py1533 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py293 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py298 except Exception:CODE
LOWmain/xiaozhi-server/core/connection.py411 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py528 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py549 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py593 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py656 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py827 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py943 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py1145 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py1221 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py1259 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py1358 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py1558 except Exception:CODE
LOWmain/xiaozhi-server/core/connection.py1592 except Exception as cleanup_error:CODE
LOWmain/xiaozhi-server/core/connection.py1616 except Exception:CODE
LOWmain/xiaozhi-server/core/connection.py1634 except Exception:CODE
LOWmain/xiaozhi-server/core/connection.py1637 except Exception as ws_error:CODE
LOWmain/xiaozhi-server/core/connection.py1649 except Exception as executor_error:CODE
LOWmain/xiaozhi-server/core/connection.py1655 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py1717 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py1739 except Exception as close_error:CODE
LOWmain/xiaozhi-server/core/connection.py1746 except Exception as e:CODE
LOWmain/xiaozhi-server/core/connection.py1768 except Exception as e:CODE
LOWmain/xiaozhi-server/core/handle/intentHandler.py77 except Exception as e:CODE
LOWmain/xiaozhi-server/core/handle/intentHandler.py127 except Exception as e:CODE
LOWmain/xiaozhi-server/core/handle/intentHandler.py179 except Exception as e:CODE
LOWmain/xiaozhi-server/core/handle/intentHandler.py202 except Exception as e:CODE
LOWmain/xiaozhi-server/core/handle/reportHandle.py55 except Exception as e:CODE
LOWmain/xiaozhi-server/core/handle/reportHandle.py100 except Exception as e:CODE
298 more matches not shown…
Empty Error Handlers67 hits · 335 pts
SeverityFileLineSnippetContext
HIGHmain/digital-human/wakeword_runtime/core/detector.py79except queue.Empty:CODE
HIGH…/digital-human/wakeword_runtime/bridge/event_bridge.py105except queue.Full:CODE
HIGH…/digital-human/wakeword_runtime/runtime/http_server.py78except (BrokenPipeError, ConnectionResetError, ConnectionAbortedError):CODE
HIGH…/digital-human/wakeword_runtime/runtime/http_server.py144except socket.timeout:CODE
HIGH…/digital-human/wakeword_runtime/runtime/http_server.py146except (BrokenPipeError, ConnectionResetError, ConnectionAbortedError):CODE
HIGHmain/xiaozhi-server/app.py36except KeyboardInterrupt: # Ctrl‑CCODE
HIGHmain/xiaozhi-server/core/connection.py1783except (json.JSONDecodeError, TypeError):CODE
HIGHmain/xiaozhi-server/core/connection.py1558except Exception:CODE
HIGHmain/xiaozhi-server/core/connection.py1570except asyncio.CancelledError:CODE
HIGHmain/xiaozhi-server/core/connection.py1579except asyncio.CancelledError:CODE
HIGHmain/xiaozhi-server/core/connection.py1616except Exception:CODE
HIGHmain/xiaozhi-server/core/connection.py298except Exception:CODE
HIGHmain/xiaozhi-server/core/connection.py321except Exception:CODE
HIGHmain/xiaozhi-server/core/connection.py1634except Exception:CODE
HIGHmain/xiaozhi-server/core/handle/intentHandler.py28except (json.JSONDecodeError, TypeError):CODE
HIGHmain/xiaozhi-server/core/handle/receiveAudioHandle.py64except (json.JSONDecodeError, KeyError):CODE
HIGH…hi-server/core/providers/tools/unified_tool_handler.py115except ImportError:CODE
HIGH…/providers/tools/mcp_endpoint/mcp_endpoint_executor.py46except Exception as e:CODE
HIGH…server/core/providers/tools/device_mcp/mcp_executor.py47except Exception as e:CODE
HIGH…core/providers/tools/server_plugins/plugin_executor.py155except (KeyError, TypeError):CODE
HIGH…re/providers/memory/mem_local_short/mem_local_short.py160except (json.JSONDecodeError, KeyError, TypeError):CODE
HIGH…ozhi-server/core/providers/memory/powermem/powermem.py244except (json.JSONDecodeError, KeyError):CODE
HIGH…ozhi-server/core/providers/memory/powermem/powermem.py179except (json.JSONDecodeError, KeyError, TypeError):CODE
HIGH…/xiaozhi-server/core/providers/memory/mem0ai/mem0ai.py87except (json.JSONDecodeError, KeyError):CODE
HIGH…/xiaozhi-server/core/providers/memory/mem0ai/mem0ai.py57except (json.JSONDecodeError, KeyError, TypeError):CODE
HIGH…n/xiaozhi-server/core/providers/asr/qwen3_asr_flash.py104except:CODE
HIGHmain/xiaozhi-server/core/providers/asr/doubao_stream.py427except asyncio.CancelledError:CODE
HIGHmain/xiaozhi-server/core/providers/asr/xunfei_stream.py333except asyncio.CancelledError:CODE
HIGH…zhi-server/core/providers/tts/huoshan_double_stream.py271except:CODE
HIGH…zhi-server/core/providers/tts/huoshan_double_stream.py484except:CODE
HIGH…zhi-server/core/providers/tts/huoshan_double_stream.py735except asyncio.CancelledError:CODE
HIGH…zhi-server/core/providers/tts/huoshan_double_stream.py559except:CODE
HIGH…zhi-server/core/providers/tts/huoshan_double_stream.py229except:CODE
HIGH…zhi-server/core/providers/tts/huoshan_double_stream.py395except:CODE
HIGH…zhi-server/core/providers/tts/huoshan_double_stream.py829except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/aliyun_stream.py412except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/aliyun_stream.py508except asyncio.CancelledError:CODE
HIGHmain/xiaozhi-server/core/providers/tts/aliyun_stream.py476except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/aliyun_stream.py330except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/aliyun_stream.py640except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/fishspeech.py28except Exception as e:CODE
HIGHmain/xiaozhi-server/core/providers/tts/xunfei_stream.py331except asyncio.CancelledError:CODE
HIGHmain/xiaozhi-server/core/providers/tts/xunfei_stream.py340except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/xunfei_stream.py419except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/xunfei_stream.py268except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/xunfei_stream.py496except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/alibl_stream.py319except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/alibl_stream.py330except asyncio.CancelledError:CODE
HIGHmain/xiaozhi-server/core/providers/tts/alibl_stream.py399except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/alibl_stream.py227except:CODE
HIGHmain/xiaozhi-server/core/providers/tts/alibl_stream.py547except:CODE
HIGHmain/xiaozhi-server/core/providers/vad/silero.py52except Exception:CODE
HIGHmain/xiaozhi-server/core/utils/util.py421except Exception:CODE
HIGHmain/xiaozhi-server/core/utils/dialogue.py145except:CODE
HIGHmain/xiaozhi-server/core/utils/dialogue.py141except:CODE
HIGHmain/xiaozhi-server/core/utils/gc_manager.py52except asyncio.CancelledError:CODE
HIGHmain/xiaozhi-server/core/utils/gc_manager.py68except asyncio.TimeoutError:CODE
HIGHmain/xiaozhi-server/core/api/ota_handler.py413except Exception:CODE
HIGHmain/xiaozhi-server/config/manage_api_client.py188except Exception:CODE
HIGHmain/xiaozhi-server/tests/conftest.py37except Exception:CODE
7 more matches not shown…
Hyper-Verbose Identifiers156 hits · 176 pts
SeverityFileLineSnippetContext
LOWdocs/context-provider-integration.md130class MockRequestHandler(http.server.SimpleHTTPRequestHandler):CODE
LOWmain/digital-human/js/core/network/wakeword-bridge.js13export function startWakewordBridgeListener() {CODE
LOWmain/digital-human/js/core/network/wakeword-bridge.js122export function stopWakewordBridgeListener() {CODE
LOWmain/digital-human/js/core/network/wakeword-bridge.js139export function sendWakewordBridgeMessage(type, payload = {}, requestId = null) {CODE
LOWmain/digital-human/js/core/network/wakeword-bridge.js191function parseWakewordBridgeMessage(rawData) {CODE
LOWmain/digital-human/js/core/network/wakeword-bridge.js219function rejectAllWakewordRequests(errorMessage) {CODE
LOWmain/digital-human/js/core/mcp/tools.js211function updatePropertyRangeVisibility() {CODE
LOWmain/digital-human/js/core/audio/recorder.js344export async function checkMicrophoneAvailability() {CODE
LOW…digital-human/wakeword_runtime/config/config_loader.py138def _load_wake_words_from_keywords_file(model_dir: Path) -> list[str]:CODE
LOW…/digital-human/wakeword_runtime/runtime/http_server.py151 def _build_wakeword_config_message(self, bridge: WakewordEventBridge) -> str:CODE
LOW…/digital-human/wakeword_runtime/runtime/http_server.py275 def _receive_websocket_message(self) -> str | None:CODE
LOWmain/digital-human/wakeword_runtime/runtime/app.py67 def handle_wake_word_detected(self, wake_word: str, full_text: str) -> None:CODE
LOWmain/manager-mobile/src/utils/index.ts18export function clearServerBaseUrlOverride() {CODE
LOWmain/manager-mobile/src/pages/settings/index.vue207function clearAllCacheAfterUrlChange() {CODE
LOWmain/manager-mobile/src/pages/agent/edit.vue186function buildCurrentEditableState() {CODE
LOWmain/manager-mobile/src/pages/agent/edit.vue203function buildOriginalEditableState() {CODE
LOWmain/manager-mobile/src/pages/agent/edit.vue315function openContextProviderDialog() {CODE
LOWmain/manager-mobile/src/pages/agent/edit.vue358function applyPersistedAgentDetail(detail: AgentDetail, targetAgentId: string) {CODE
LOWmain/manager-mobile/src/pages/agent/edit.vue383async function enhanceAgentDetailMetadata(detail: AgentDetail, targetAgentId: string, requestId: number) {CODE
LOWmain/manager-mobile/src/pages/agent/edit.vue409function isActiveAgentDetailRequest(targetAgentId: string, requestId: number) {CODE
LOWmain/manager-mobile/src/pages/agent/edit.vue413function invalidateTtsMetadataRequest() {CODE
LOWmain/manager-mobile/src/pages/agent/edit.vue1135async function reloadAgentAfterSnapshotRestore(targetAgentId = agentId.value) {CODE
LOW…bile/src/pages/agent/components/AgentSnapshotPanel.vue335function invalidateSnapshotRequest() {CODE
LOW…bile/src/pages/agent/components/AgentSnapshotPanel.vue628async function requestRestoreConfirmation(options: Parameters<typeof message.confirm>[0]) {CODE
LOW…bile/src/pages/agent/components/AgentSnapshotPanel.vue919async function ensureCorrectWordMetadata(...snapshots: AgentSnapshotData[]) {CODE
LOWmain/xiaozhi-server/performance_tester.py8def list_performance_tester_modules():CODE
LOW⚡main/xiaozhi-server/core/connection.py337 async def _discard_message_with_bind_prompt(self):CODE
LOW⚡main/xiaozhi-server/core/connection.py800 async def _initialize_private_config_async(self):CODE
LOWmain/xiaozhi-server/core/connection.py385 async def _process_mqtt_audio_message(self, message):CODE
LOWmain/xiaozhi-server/core/connection.py673 def _inject_tool_call_fewshot(self):CODE
LOWmain/xiaozhi-server/core/connection.py1772 def _extract_direct_answer_response(arguments_str):CODE
LOW…aozhi-server/core/handle/textMessageHandlerRegistry.py22 def _register_default_handlers(self) -> None:CODE
LOWmain/xiaozhi-server/core/handle/sendAudioHandle.py58async def _wait_for_audio_completion(conn: "ConnectionHandler"):CODE
LOWmain/xiaozhi-server/core/handle/sendAudioHandle.py150def _get_or_create_rate_controller(CODE
LOWmain/xiaozhi-server/core/handle/sendAudioHandle.py233async def _send_audio_with_rate_control(CODE
LOW⚡…hi-server/core/providers/tools/unified_tool_handler.py109 def _initialize_home_assistant(self):CODE
LOW⚡…hi-server/core/providers/tools/unified_tool_handler.py124 def current_support_functions(self) -> List[str]:CODE
LOW…hi-server/core/providers/tools/unified_tool_manager.py49 def get_function_descriptions(self) -> List[Dict[str, Any]]:CODE
LOW…e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py58async def handle_mcp_endpoint_message(mcp_client: MCPEndpointClient, message: str):CODE
LOW…e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py224async def send_mcp_endpoint_initialize(mcp_client: MCPEndpointClient):CODE
LOW…e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py247async def send_mcp_endpoint_notification(mcp_client: MCPEndpointClient, method: str):CODE
LOW…e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py259async def send_mcp_endpoint_tools_list(mcp_client: MCPEndpointClient):CODE
LOW…e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py271async def send_mcp_endpoint_tools_list_continue(CODE
LOW…re/providers/tools/mcp_endpoint/mcp_endpoint_client.py74 async def register_call_result_future(self, id: int, future: Future):CODE
LOW…-server/core/providers/tools/device_mcp/mcp_handler.py79 async def register_call_result_future(self, id: int, future: Future):CODE
LOW…-server/core/providers/tools/device_mcp/mcp_handler.py238async def send_mcp_initialize_message(conn: "ConnectionHandler"):CODE
LOW…-server/core/providers/tools/device_mcp/mcp_handler.py273async def send_mcp_tools_list_request(conn: "ConnectionHandler"):CODE
LOW…-server/core/providers/tools/device_mcp/mcp_handler.py284async def send_mcp_tools_list_continue_request(conn: "ConnectionHandler", cursor: str):CODE
LOW…i-server/core/providers/tools/device_mcp/mcp_client.py72 async def register_call_result_future(self, id: int, future: Future):CODE
LOW…core/providers/tools/server_plugins/plugin_executor.py141 def _init_news_source_description(self, func_item, func_name):CODE
LOWmain/xiaozhi-server/core/providers/llm/system_prompt.py1def get_system_prompt_for_function(functions: str) -> str:CODE
LOWmain/xiaozhi-server/core/providers/asr/doubao_stream.py349 def generate_audio_default_header(self):CODE
LOWmain/xiaozhi-server/core/providers/asr/doubao_stream.py358 def generate_last_audio_default_header(self):CODE
LOWmain/xiaozhi-server/core/providers/tts/index_stream.py75 def _process_remaining_text_stream(self, is_last=False):CODE
LOWmain/xiaozhi-server/core/providers/tts/index_stream.py189 def audio_to_opus_data_stream(CODE
LOW…zhi-server/core/providers/tts/huoshan_double_stream.py488 async def _start_monitor_tts_response(self):CODE
LOW…zhi-server/core/providers/tts/huoshan_double_stream.py712 def audio_to_opus_data_stream(CODE
LOW…zhi-server/core/providers/tts/huoshan_double_stream.py726 def wav_to_opus_data_audio_raw_stream(self, raw_data_var, is_end=False, callback: Callable[[Any], Any]=None):CODE
LOWmain/xiaozhi-server/core/providers/tts/aliyun_stream.py417 async def _start_monitor_tts_response(self):CODE
LOWmain/xiaozhi-server/core/providers/tts/aliyun_stream.py484 def audio_to_opus_data_stream(CODE
96 more matches not shown…
Unused Imports132 hits · 130 pts
SeverityFileLineSnippetContext
LOWmain/digital-human/wakeword_runtime/core/__init__.py1CODE
LOWmain/digital-human/wakeword_runtime/core/__init__.py1CODE
LOWmain/digital-human/wakeword_runtime/core/__init__.py2CODE
LOWmain/digital-human/wakeword_runtime/core/__init__.py3CODE
LOWmain/digital-human/wakeword_runtime/config/__init__.py1CODE
LOWmain/digital-human/wakeword_runtime/config/__init__.py1CODE
LOWmain/digital-human/wakeword_runtime/config/__init__.py2CODE
LOWmain/digital-human/wakeword_runtime/plugins/__init__.py1CODE
LOWmain/digital-human/wakeword_runtime/plugins/__init__.py2CODE
LOWmain/digital-human/wakeword_runtime/plugins/__init__.py3CODE
LOWmain/digital-human/wakeword_runtime/plugins/__init__.py4CODE
LOWmain/digital-human/wakeword_runtime/bridge/__init__.py1CODE
LOWmain/digital-human/wakeword_runtime/runtime/__init__.py1CODE
LOWmain/digital-human/wakeword_runtime/runtime/__init__.py2CODE
LOWmain/xiaozhi-server/core/handle/helloHandle.py9CODE
LOWmain/xiaozhi-server/core/handle/intentHandler.py7CODE
LOWmain/xiaozhi-server/core/handle/sendAudioHandle.py8CODE
LOWmain/xiaozhi-server/core/handle/abortHandle.py5CODE
LOWmain/xiaozhi-server/core/handle/textHandle.py4CODE
LOWmain/xiaozhi-server/core/handle/reportHandle.py18CODE
LOWmain/xiaozhi-server/core/handle/receiveAudioHandle.py7CODE
LOWmain/xiaozhi-server/core/handle/textMessageProcessor.py5CODE
LOW…hi-server/core/handle/textHandler/mcpMessageHandler.py5CODE
LOW…server/core/handle/textHandler/listenMessageHandler.py7CODE
LOW…hi-server/core/handle/textHandler/iotMessageHandler.py5CODE
LOW…-server/core/handle/textHandler/helloMessageHandler.py4CODE
LOW…server/core/handle/textHandler/serverMessageHandler.py1CODE
LOW…server/core/handle/textHandler/serverMessageHandler.py7CODE
LOW…i-server/core/providers/tools/mcp_endpoint/__init__.py3CODE
LOW…i-server/core/providers/tools/mcp_endpoint/__init__.py4CODE
LOW…i-server/core/providers/tools/mcp_endpoint/__init__.py5CODE
LOW…i-server/core/providers/tools/mcp_endpoint/__init__.py5CODE
LOW…i-server/core/providers/tools/mcp_endpoint/__init__.py5CODE
LOW…i-server/core/providers/tools/mcp_endpoint/__init__.py5CODE
LOW…i-server/core/providers/tools/mcp_endpoint/__init__.py5CODE
LOW…-server/core/providers/tools/device_iot/iot_handler.py9CODE
LOW…zhi-server/core/providers/tools/device_iot/__init__.py3CODE
LOW…zhi-server/core/providers/tools/device_iot/__init__.py4CODE
LOW…zhi-server/core/providers/tools/device_iot/__init__.py4CODE
LOW…zhi-server/core/providers/tools/device_iot/__init__.py5CODE
LOW…-server/core/providers/tools/device_mcp/mcp_handler.py13CODE
LOW…zhi-server/core/providers/tools/device_mcp/__init__.py3CODE
LOW…zhi-server/core/providers/tools/device_mcp/__init__.py4CODE
LOW…zhi-server/core/providers/tools/device_mcp/__init__.py4CODE
LOW…zhi-server/core/providers/tools/device_mcp/__init__.py4CODE
LOW…zhi-server/core/providers/tools/device_mcp/__init__.py4CODE
LOW…zhi-server/core/providers/tools/device_mcp/__init__.py4CODE
LOW…zhi-server/core/providers/tools/device_mcp/__init__.py11CODE
LOW…server/core/providers/tools/device_mcp/mcp_executor.py6CODE
LOW…zhi-server/core/providers/tools/server_mcp/__init__.py3CODE
LOW…zhi-server/core/providers/tools/server_mcp/__init__.py4CODE
LOW…zhi-server/core/providers/tools/server_mcp/__init__.py5CODE
LOW…i-server/core/providers/tools/server_mcp/mcp_client.py3CODE
LOW…server/core/providers/tools/server_plugins/__init__.py3CODE
LOW…core/providers/tools/server_plugins/plugin_executor.py7CODE
LOW…n/xiaozhi-server/core/providers/tools/base/__init__.py3CODE
LOW…n/xiaozhi-server/core/providers/tools/base/__init__.py3CODE
LOW…n/xiaozhi-server/core/providers/tools/base/__init__.py4CODE
LOW…xiaozhi-server/core/providers/tools/base/tool_types.py7CODE
LOW…rver/core/providers/llm/homeassistant/homeassistant.py2CODE
72 more matches not shown…
Deep Nesting131 hits · 115 pts
SeverityFileLineSnippetContext
LOWmain/digital-human/wakeword_runtime/core/detector.py129CODE
LOW…/digital-human/wakeword_runtime/bridge/event_bridge.py36CODE
LOW…/digital-human/wakeword_runtime/runtime/http_server.py64CODE
LOW…/digital-human/wakeword_runtime/runtime/http_server.py101CODE
LOWmain/xiaozhi-server/core/websocket_server.py85CODE
LOWmain/xiaozhi-server/core/connection.py278CODE
LOWmain/xiaozhi-server/core/connection.py348CODE
LOWmain/xiaozhi-server/core/connection.py800CODE
LOWmain/xiaozhi-server/core/connection.py1055CODE
LOWmain/xiaozhi-server/core/connection.py1397CODE
LOWmain/xiaozhi-server/core/connection.py1505CODE
LOWmain/xiaozhi-server/core/connection.py1543CODE
LOWmain/xiaozhi-server/core/connection.py1662CODE
LOWmain/xiaozhi-server/core/connection.py1720CODE
LOWmain/xiaozhi-server/core/connection.py1751CODE
LOWmain/xiaozhi-server/core/handle/intentHandler.py83CODE
LOWmain/xiaozhi-server/core/handle/intentHandler.py166CODE
LOWmain/xiaozhi-server/core/handle/sendAudioHandle.py320CODE
LOWmain/xiaozhi-server/core/handle/reportHandle.py25CODE
LOWmain/xiaozhi-server/core/handle/reportHandle.py105CODE
LOWmain/xiaozhi-server/core/handle/receiveAudioHandle.py43CODE
LOW…server/core/handle/textHandler/listenMessageHandler.py29CODE
LOW…hi-server/core/providers/tools/unified_tool_manager.py30CODE
LOW…e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py58CODE
LOW…e/providers/tools/mcp_endpoint/mcp_endpoint_handler.py286CODE
LOW…-server/core/providers/tools/device_iot/iot_handler.py15CODE
LOW…-server/core/providers/tools/device_iot/iot_handler.py68CODE
LOW…server/core/providers/tools/device_iot/iot_executor.py17CODE
LOW…server/core/providers/tools/device_iot/iot_executor.py102CODE
LOW…server/core/providers/tools/device_iot/iot_executor.py111CODE
LOW…server/core/providers/tools/device_iot/iot_executor.py135CODE
LOW…rver/core/providers/tools/device_iot/iot_descriptor.py12CODE
LOW…-server/core/providers/tools/device_mcp/mcp_handler.py118CODE
LOW…-server/core/providers/tools/device_mcp/mcp_handler.py296CODE
LOW…i-server/core/providers/tools/server_mcp/mcp_client.py165CODE
LOW…-server/core/providers/tools/server_mcp/mcp_manager.py115CODE
LOW…core/providers/tools/server_plugins/plugin_executor.py19CODE
LOW…core/providers/tools/server_plugins/plugin_executor.py94CODE
LOW…n/xiaozhi-server/core/providers/llm/fastgpt/fastgpt.py21CODE
LOWmain/xiaozhi-server/core/providers/llm/gemini/gemini.py128CODE
LOW…zhi-server/core/providers/llm/xinference/xinference.py33CODE
LOW…zhi-server/core/providers/llm/xinference/xinference.py61CODE
LOWmain/xiaozhi-server/core/providers/llm/AliBL/AliBL.py23CODE
LOWmain/xiaozhi-server/core/providers/llm/ollama/ollama.py27CODE
LOWmain/xiaozhi-server/core/providers/llm/ollama/ollama.py94CODE
LOWmain/xiaozhi-server/core/providers/llm/dify/dify.py22CODE
LOWmain/xiaozhi-server/core/providers/llm/openai/openai.py92CODE
LOWmain/xiaozhi-server/core/providers/llm/openai/openai.py138CODE
LOW…re/providers/memory/mem_local_short/mem_local_short.py135CODE
LOW…ozhi-server/core/providers/memory/powermem/powermem.py40CODE
LOW…ozhi-server/core/providers/memory/powermem/powermem.py150CODE
LOW…ozhi-server/core/providers/memory/powermem/powermem.py218CODE
LOW…/xiaozhi-server/core/providers/memory/mem0ai/mem0ai.py33CODE
LOW…/xiaozhi-server/core/providers/memory/mem0ai/mem0ai.py72CODE
LOW…-server/core/providers/intent/intent_llm/intent_llm.py142CODE
LOW…xiaozhi-server/core/providers/asr/sherpa_onnx_local.py38CODE
LOWmain/xiaozhi-server/core/providers/asr/doubao_stream.py69CODE
LOWmain/xiaozhi-server/core/providers/asr/doubao_stream.py159CODE
LOW…n/xiaozhi-server/core/providers/asr/aliyunbl_stream.py157CODE
LOWmain/xiaozhi-server/core/providers/asr/aliyun_stream.py196CODE
71 more matches not shown…
Decorative Section Separators14 hits · 51 pts
SeverityFileLineSnippetContext
MEDIUM⚡main/xiaozhi-server/tests/conftest.py45# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡main/xiaozhi-server/tests/conftest.py47# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡main/xiaozhi-server/tests/conftest.py123# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡main/xiaozhi-server/tests/conftest.py128# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡main/xiaozhi-server/tests/conftest.py204# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡main/xiaozhi-server/tests/conftest.py206# ---------------------------------------------------------------------------COMMENT
MEDIUMmain/xiaozhi-server/tests/conftest.py62# ---------------------------------------------------------------------------COMMENT
MEDIUMmain/xiaozhi-server/tests/conftest.py64# ---------------------------------------------------------------------------COMMENT
MEDIUMmain/xiaozhi-server/tests/conftest.py152# ---------------------------------------------------------------------------COMMENT
MEDIUMmain/xiaozhi-server/tests/conftest.py154# ---------------------------------------------------------------------------COMMENT
MEDIUMmain/xiaozhi-server/tests/conftest.py363# ---------------------------------------------------------------------------COMMENT
MEDIUMmain/xiaozhi-server/tests/conftest.py365# ---------------------------------------------------------------------------COMMENT
MEDIUMmain/xiaozhi-server/tests/conftest.py426# ---------------------------------------------------------------------------COMMENT
MEDIUMmain/xiaozhi-server/tests/conftest.py428# ---------------------------------------------------------------------------COMMENT
Over-Commented Block26 hits · 26 pts
SeverityFileLineSnippetContext
LOWmain/manager-mobile/vite.config.ts21import AutoImport from 'unplugin-auto-import/vite'COMMENT
LOWmain/manager-mobile/src/pages/agent/edit.vue701 ttsOptionsLoading.value = falseCOMMENT
LOWmain/xiaozhi-server/config.yaml1# 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件COMMENT
LOWmain/xiaozhi-server/config.yaml21 # 视觉分析接口地址COMMENT
LOWmain/xiaozhi-server/config.yaml241 VLLM: ChatGLMVLLMCOMMENT
LOWmain/xiaozhi-server/config.yaml301 # 费用说明:PowerMem本身免费,实际费用取决于所选LLM和数据库COMMENT
LOWmain/xiaozhi-server/config.yaml341 # port: 2881COMMENT
LOWmain/xiaozhi-server/config.yaml461 # 平台地址:https://nls-portal.console.aliyun.com/COMMENT
LOWmain/xiaozhi-server/config.yaml501 # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9bCOMMENT
LOWmain/xiaozhi-server/config.yaml521 # 2.创建api-key https://console.groq.com/keysCOMMENT
LOWmain/xiaozhi-server/config.yaml561 # 讯飞流式语音识别服务COMMENT
LOWmain/xiaozhi-server/config.yaml801 # 在页面底部获取appid和access_tokenCOMMENT
LOWmain/xiaozhi-server/config.yaml821 # 高级文本处理配置(additions)- 用户可自定义添加火山引擎支持的任何高级参数COMMENT
LOWmain/xiaozhi-server/config.yaml881 # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文COMMENT
LOWmain/xiaozhi-server/config.yaml981 # pitch: 0COMMENT
LOWmain/xiaozhi-server/config.yaml1001 # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息COMMENT
LOWmain/xiaozhi-server/config.yaml1021 # 阿里云CosyVoice大模型流式文本语音合成COMMENT
LOWmain/xiaozhi-server/config.yaml1041 # speech_rate: 0 # 语速:-500到500COMMENT
LOWmain/xiaozhi-server/config.yaml1061 # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息COMMENT
LOWmain/xiaozhi-server/config.yaml1141 type: alibl_streamCOMMENT
LOWmain/xiaozhi-server/config.yaml1161 app_id: 你的app_idCOMMENT
LOWmain/xiaozhi-server/config_from_api.yaml1# 如果你只想轻量化安装xiaozhi-server,只使用本地的配置文件,不需要理会这个文件,不需要改动本文件任何东西COMMENT
LOWmain/xiaozhi-server/config_from_api.yaml21 # 你的manager-api的地址,最好使用局域网ipCOMMENT
LOWmain/manager-web/src/views/ModelConfig.vue741 // padding: 16px 0;COMMENT
LOWmain/manager-web/src/views/ModelConfig.vue761// border: none;COMMENT
LOWmain/manager-web/src/views/ModelConfig.vue781// .batch-actions .el-button--danger {COMMENT
Hallucination Indicators2 hits · 25 pts
SeverityFileLineSnippetContext
CRITICAL…/manager-web/public/generator/assets/index-Guo1hQ-y.js69 Check: https://github.com/renzhezhilu/gifsicle-wasm-browser`},testType(A){return A instanceof Element?"element":Object.CODE
CRITICAL…modules/model/service/impl/ModelConfigServiceImpl.java260 // com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator(UUID.replace("-",""))COMMENT
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippetContext
HIGH…zhi-server/core/providers/tts/huoshan_double_stream.py0重写父类方法:使用独立的临时编码器处理音频文件,避免与tts流式编码器并发冲突。 双流式tts中,monitor任务在event loop线程接收tts音频并使用self.opus_encoder编码, 同时tts_text_prioritSTRING
HIGHmain/xiaozhi-server/core/providers/tts/aliyun_stream.py0重写父类方法:使用独立的临时编码器处理音频文件,避免与tts流式编码器并发冲突。 双流式tts中,monitor任务在event loop线程接收tts音频并使用self.opus_encoder编码, 同时tts_text_prioritSTRING
HIGHmain/xiaozhi-server/core/providers/tts/xunfei_stream.py0重写父类方法:使用独立的临时编码器处理音频文件,避免与tts流式编码器并发冲突。 双流式tts中,monitor任务在event loop线程接收tts音频并使用self.opus_encoder编码, 同时tts_text_prioritSTRING
HIGHmain/xiaozhi-server/core/providers/tts/alibl_stream.py0重写父类方法:使用独立的临时编码器处理音频文件,避免与tts流式编码器并发冲突。 双流式tts中,monitor任务在event loop线程接收tts音频并使用self.opus_encoder编码, 同时tts_text_prioritSTRING
Modern Structural Boilerplate13 hits · 13 pts
SeverityFileLineSnippetContext
LOWmain/digital-human/wakeword_runtime/core/detector.py12logger = logging.getLogger(__name__)CODE
LOWmain/digital-human/wakeword_runtime/core/microphone.py8logger = logging.getLogger(__name__)CODE
LOW…in/digital-human/wakeword_runtime/plugins/wake_word.py7logger = logging.getLogger(__name__)CODE
LOWmain/digital-human/wakeword_runtime/plugins/audio.py7logger = logging.getLogger(__name__)CODE
LOW…/digital-human/wakeword_runtime/bridge/event_bridge.py8logger = logging.getLogger(__name__)CODE
LOW…/digital-human/wakeword_runtime/runtime/http_server.py42 def set_restart_handler(self, handler: Callable[[], None]) -> None:CODE
LOWmain/digital-human/wakeword_runtime/runtime/app.py7logger = logging.getLogger(__name__)CODE
LOW…i-server/core/providers/tools/mcp_endpoint/__init__.py13__all__ = [CODE
LOW…zhi-server/core/providers/tools/device_iot/__init__.py7__all__ = [CODE
LOW…zhi-server/core/providers/tools/device_mcp/__init__.py13__all__ = [CODE
LOW…zhi-server/core/providers/tools/server_mcp/__init__.py7__all__ = ["ServerMCPManager", "ServerMCPExecutor", "ServerMCPClient"]CODE
LOW…server/core/providers/tools/server_plugins/__init__.py5__all__ = ["ServerPluginExecutor"]CODE
LOW…n/xiaozhi-server/core/providers/tools/base/__init__.py6__all__ = ["ToolType", "ToolDefinition", "ToolExecutor"]CODE
Modern AI Meta-Vocabulary4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMdocs/readme/README_pt_BR.md333### RAG Geração Aumentada por RecuperaçãoCOMMENT
MEDIUMmain/xiaozhi-server/core/connection.py690 # === few-shot 示例(is_temporary)===COMMENT
MEDIUMmain/xiaozhi-server/core/utils/dialogue.py150 # 第二段:few-shot 示例(会话内不变)COMMENT
MEDIUMmain/xiaozhi-server/core/utils/dialogue.py157 # 第三段:实际对话历史(不含 few-shot)COMMENT
Fake / Example Data11 hits · 10 pts
SeverityFileLineSnippetContext
LOW⚡main/xiaozhi-server/tests/conftest.py198 if s.startswith("你的") or "placeholder" in s:CODE
LOWmain/xiaozhi-server/tests/conftest.py187 占位符判定:空 / "你的..." / 包含 "placeholder" / 字面 "none"。STRING
LOWmain/xiaozhi-server/tests/test_llm.py15- placeholder 检测("你的" / "placeholder" / "xxx" / "sk-xxx")STRING
LOW…hi-server/performance_tester/performance_tester_asr.py97 and str(config[field]).lower() in ["你的", "placeholder", "none", "null", ""]CODE
LOW…hi-server/performance_tester/performance_tester_asr.py322 and str(config[field]).lower() in ["你的", "placeholder", "none", "null", ""]CODE
LOW…hi-server/performance_tester/performance_tester_tts.py39 and any(x in config[field] for x in ["你的", "placeholder"])CODE
LOW…hi-server/performance_tester/performance_tester_llm.py254 x in config["api_key"] for x in ["你的", "placeholder", "sk-xxx"]CODE
LOW…hi-server/performance_tester/performance_tester_llm.py471 x in config["api_key"] for x in ["你的", "placeholder", "sk-xxx"]CODE
LOW…i-server/performance_tester/performance_tester_vllm.py38 x in config["api_key"] for x in ["你的", "placeholder", "sk-xxx"]CODE
LOW…i-server/performance_tester/performance_tester_vllm.py161 x in config["api_key"] for x in ["你的", "placeholder", "sk-xxx"]CODE
LOW…/manager-web/public/generator/assets/index-Guo1hQ-y.js55Vui 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
Synthetic Comment Markers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH…n/manager-mobile/src/pages/login/user-agreement-en.vue374 8.1 AI-Generated Content: The Service relies on third-party AI models to provide intelligent interaction capCODE
HIGHmain/manager-web/public/user-agreement-en.html233 interaction capabilities. The content generated by AI may be inaccurate, incomplete, or inappropriate. TheCODE
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH…i-server/core/providers/tools/server_mcp/mcp_client.py116调用指定工具 Args: name: 工具名称 arguments: 工具参数 read_timeout_seconds: pSTRING
HIGHmain/xiaozhi-server/core/providers/asr/utils.py29 解析 FunASR 识别结果,按顺序提取标签和纯文本内容 Args: text: ASR 识别的原始文本,可能包含多种标签 Returns: dict: {"language":STRING
Redundant / Tautological Comments4 hits · 6 pts
SeverityFileLineSnippetContext
LOW…re/providers/tools/mcp_endpoint/mcp_endpoint_client.py30 # Check if the cache is validCOMMENT
LOW…-server/core/providers/tools/device_mcp/mcp_handler.py35 # Check if the cache is validCOMMENT
LOW…i-server/core/providers/tools/device_mcp/mcp_client.py28 # Check if the cache is validCOMMENT
LOWmain/xiaozhi-server/core/providers/tts/fishspeech.py25 ): # Check if audio is a string (Base64)CODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHmain/xiaozhi-server/core/providers/tts/fishspeech.py95 self.api_key = config.get("api_key", "YOUR_API_KEY")CODE
AI Structural Patterns3 hits · 2 pts
SeverityFileLineSnippetContext
LOWmain/xiaozhi-server/core/connection.py1824CODE
LOW…models/snakers4_silero-vad/src/silero_vad/utils_vad.py191CODE
LOW…models/snakers4_silero-vad/src/silero_vad/utils_vad.py91CODE
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
LOWmain/xiaozhi-server/core/providers/llm/base.py31 # For providers that don't support functions, just return regular responseCOMMENT