基于 Nonebot2 开发,实现多平台适配和多Bot管理的,非常可爱的绪山真寻Bot
This report presents the forensic synthetic code analysis of zhenxun-org/zhenxun_bot, a Python project with 3,825 GitHub stars. SynthScan v2.0 examined 111,937 lines of code across 545 source files, recording 1805 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 16.4 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1805 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | zhenxun/cli.py | 274 | except Exception as e: | CODE |
| LOW | zhenxun/cli.py | 292 | except Exception as e: | CODE |
| LOW | zhenxun/cli.py | 342 | except Exception: | CODE |
| MEDIUM | zhenxun/cli.py | 148 | def _print_version() -> None: | CODE |
| LOW | zhenxun/builtin_plugins/withdraw.py | 69 | except Exception: | STRING |
| LOW | zhenxun/builtin_plugins/withdraw.py | 75 | except Exception: | STRING |
| LOW | zhenxun/builtin_plugins/__init__.py | 54 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/__init__.py | 116 | except Exception: | STRING |
| LOW | zhenxun/builtin_plugins/__init__.py | 125 | except Exception: | STRING |
| LOW | zhenxun/builtin_plugins/__init__.py | 145 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/__init__.py | 161 | except Exception as e: | CODE |
| MEDIUM | zhenxun/builtin_plugins/__init__.py | 90 | def _(): | CODE |
| LOW | zhenxun/builtin_plugins/plugin_store/data_source.py | 570 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/plugin_store/__init__.py | 97 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/plugin_store/__init__.py | 117 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/plugin_store/__init__.py | 130 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/plugin_store/__init__.py | 143 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/plugin_store/__init__.py | 165 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/plugin_store/__init__.py | 179 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/init/init_task.py | 137 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/init/init_config.py | 105 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/sign_in/__init__.py | 187 | except Exception as e: | STRING |
| MEDIUM | zhenxun/builtin_plugins/sign_in/__init__.py | 183 | def _(): | CODE |
| LOW | zhenxun/builtin_plugins/chat_history/chat_message.py | 96 | except Exception as e: | CODE |
| LOW | …uiltin_plugins/platform/qq/group_handle/data_source.py | 211 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/admin/group_update.py | 49 | except Exception: | STRING |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/__init__.py | 377 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/__init__.py | 446 | except Exception as e: | CODE |
| LOW | …ltin_plugins/admin/group_member_update/_data_source.py | 122 | except Exception as e: | CODE |
| LOW | …ltin_plugins/admin/group_member_update/_data_source.py | 165 | except Exception as e: | CODE |
| LOW | …/builtin_plugins/admin/group_member_update/__init__.py | 127 | except Exception as e: | STRING |
| LOW | …/builtin_plugins/admin/group_member_update/__init__.py | 135 | except Exception as e: | STRING |
| LOW | …/builtin_plugins/admin/group_member_update/__init__.py | 225 | except Exception as e: | STRING |
| LOW | …/builtin_plugins/admin/group_member_update/__init__.py | 231 | except Exception as e: | STRING |
| LOW | …n/builtin_plugins/admin/welcome_message/data_source.py | 50 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/scheduler/auto_backup.py | 54 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/scheduler/chat_check.py | 66 | except Exception: | CODE |
| LOW | zhenxun/builtin_plugins/scheduler/auto_update_group.py | 25 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/scheduler/auto_update_group.py | 45 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/superuser/ui_manager.py | 125 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/ui_manager.py | 144 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/exec_sql.py | 100 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/exec_sql.py | 122 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/clear_data.py | 76 | except Exception as e: | STRING |
| LOW | …xun/builtin_plugins/superuser/plugin_config_manager.py | 487 | except Exception as e: | CODE |
| LOW | …xun/builtin_plugins/superuser/plugin_config_manager.py | 558 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/superuser/request_manage.py | 165 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/update_fg_info.py | 69 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/update_fg_info.py | 95 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/group_manage.py | 208 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/fg_manage.py | 73 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/fg_manage.py | 91 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/broadcast/__init__.py | 202 | except Exception as e: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/broadcast/__init__.py | 238 | except Exception as e: | CODE |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 40 | except Exception: | CODE |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 299 | except Exception as e_extract: | CODE |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 364 | except Exception as e: | CODE |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 449 | except Exception as e: | CODE |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 546 | except Exception as e: | CODE |
| LOW | zhenxun/builtin_plugins/superuser/broadcast/utils.py | 145 | except Exception as e: | CODE |
| 483 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/auth_stage3_perf_summary.py | 1 | CODE | |
| LOW | zhenxun/cli.py | 9 | CODE | |
| LOW | zhenxun/ui/__init__.py | 22 | CODE | |
| LOW | zhenxun/ui/__init__.py | 22 | CODE | |
| LOW | zhenxun/ui/__init__.py | 22 | CODE | |
| LOW | zhenxun/ui/__init__.py | 22 | CODE | |
| LOW | zhenxun/ui/__init__.py | 36 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 1 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 1 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 5 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 5 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 5 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 5 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 5 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 39 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 39 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 39 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 39 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 39 | CODE | |
| LOW | zhenxun/ui/models/__init__.py | 39 | CODE | |
| LOW | zhenxun/ui/models/core/containers.py | 10 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 1 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 2 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 2 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 2 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 2 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 2 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 2 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 2 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 2 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 12 | CODE | |
| LOW | zhenxun/ui/models/core/__init__.py | 12 | CODE | |
| 486 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 26 | def pytest_collection_modifyitems(items: list[pytest.Item]): | CODE |
| LOW | …sts/builtin_plugins/plugin_store/test_remove_plugin.py | 66 | async def test_plugin_not_exist_remove( | CODE |
| LOW | …sts/builtin_plugins/plugin_store/test_remove_plugin.py | 99 | async def test_remove_plugin_not_install( | CODE |
| LOW | …sts/builtin_plugins/plugin_store/test_update_plugin.py | 17 | async def test_update_plugin_basic_need_update( | CODE |
| LOW | …sts/builtin_plugins/plugin_store/test_update_plugin.py | 68 | async def test_update_plugin_basic_is_new( | CODE |
| LOW | …sts/builtin_plugins/plugin_store/test_update_plugin.py | 118 | async def test_plugin_not_exist_update( | CODE |
| LOW | …sts/builtin_plugins/plugin_store/test_update_plugin.py | 157 | async def test_update_plugin_not_install( | CODE |
| LOW | …sts/builtin_plugins/plugin_store/test_search_plugin.py | 58 | async def test_search_plugin_author( | CODE |
| LOW | …sts/builtin_plugins/plugin_store/test_search_plugin.py | 100 | async def test_plugin_not_exist_search( | CODE |
| LOW | …builtin_plugins/plugin_store/test_update_all_plugin.py | 17 | async def test_update_all_plugin_basic_need_update( | CODE |
| LOW | …builtin_plugins/plugin_store/test_update_all_plugin.py | 68 | async def test_update_all_plugin_basic_is_new( | CODE |
| LOW | tests/builtin_plugins/plugin_store/test_add_plugin.py | 66 | async def test_add_plugin_basic_commit_version( | CODE |
| LOW | tests/builtin_plugins/plugin_store/test_add_plugin.py | 113 | async def test_add_plugin_basic_is_not_dir( | CODE |
| LOW | tests/builtin_plugins/plugin_store/test_add_plugin.py | 207 | async def test_plugin_not_exist_add( | CODE |
| LOW | tests/builtin_plugins/auto_update/test_check_update.py | 77 | def add_files_and_folders_to_zip( | CODE |
| LOW | tests/builtin_plugins/auto_update/test_check_update.py | 110 | def add_files_and_folders_to_tar( | CODE |
| LOW | tests/builtin_plugins/auto_update/test_check_update.py | 229 | async def test_check_update_release( | CODE |
| LOW | scripts/bot_check.py | 31 | def _collect_loaded_plugin_names() -> set[str]: | CODE |
| LOW | zhenxun/cli.py | 249 | def _get_worker_creationflags() -> int: | CODE |
| LOW | zhenxun/builtin_plugins/withdraw.py | 53 | def _resolve_delete_message_id(bot: Bot, reply_id: str | int): | STRING |
| LOW | zhenxun/builtin_plugins/statistics/statistics_hook.py | 111 | async def _flush_statistics_on_shutdown(): | CODE |
| LOW | zhenxun/builtin_plugins/plugin_store/data_source.py | 56 | def _resolve_local_plugin_path( | CODE |
| LOW | zhenxun/builtin_plugins/sign_in/utils.py | 68 | def _is_sign_card_cache_stale(card_file: Path) -> bool: | CODE |
| LOW | zhenxun/builtin_plugins/sign_in/utils.py | 141 | def get_level_and_next_impression(impression: float) -> tuple[int, int | float, int]: | CODE |
| LOW | zhenxun/builtin_plugins/chat_history/chat_message.py | 54 | async def _write_chat_history_batch(batch: list[ChatHistory], reason: str) -> None: | CODE |
| LOW | …uiltin_plugins/platform/qq/group_handle/data_source.py | 50 | async def _safe_get_group_member_info(bot: Bot, group_id: str, user_id: str) -> dict: | CODE |
| LOW | …uiltin_plugins/platform/qq/group_handle/data_source.py | 76 | async def _refresh_member_info_async( | CODE |
| LOW | …xun/builtin_plugins/admin/plugin_switch/data_source.py | 26 | async def _calculate_affected_groups( | CODE |
| LOW | …xun/builtin_plugins/admin/plugin_switch/data_source.py | 294 | async def batch_set_group_active_status( | CODE |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/ui.py | 221 | async def render_group_active_status(bot: Bot) -> bytes: | CODE |
| LOW | zhenxun/builtin_plugins/superuser/reload_setting.py | 61 | def _get_auto_reload_interval() -> int: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/reload_setting.py | 80 | def _reschedule_auto_reload_job() -> None: | STRING |
| LOW | zhenxun/builtin_plugins/superuser/reload_setting.py | 99 | async def _reload_plugin_limit_config() -> None: | STRING |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 70 | def get_last_broadcast_msg_ids(cls) -> dict[str, int]: | CODE |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 75 | def clear_last_broadcast_msg_ids(cls) -> None: | CODE |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 232 | async def _extract_message_id_from_result( | CODE |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 314 | async def _check_group_availability( | CODE |
| LOW | …iltin_plugins/superuser/broadcast/message_processor.py | 168 | async def _create_custom_node_from_data( | CODE |
| LOW | …iltin_plugins/superuser/broadcast/message_processor.py | 190 | async def _extract_broadcast_content( | CODE |
| LOW | …iltin_plugins/superuser/broadcast/message_processor.py | 446 | async def _extract_content_from_message( | CODE |
| LOW | …iltin_plugins/superuser/broadcast/message_processor.py | 527 | async def get_broadcast_target_groups( | CODE |
| LOW | …iltin_plugins/superuser/broadcast/message_processor.py | 623 | async def send_broadcast_and_notify( | CODE |
| LOW | zhenxun/builtin_plugins/llm_manager/data_source.py | 217 | async def add_mcp_servers_from_json(json_str: str) -> tuple[bool, str]: | CODE |
| LOW | zhenxun/builtin_plugins/llm_manager/presenters.py | 29 | async def format_model_list_as_image( | CODE |
| LOW | zhenxun/builtin_plugins/llm_manager/presenters.py | 67 | async def format_model_details_as_markdown_image(details: dict[str, Any]) -> bytes: | CODE |
| LOW | zhenxun/builtin_plugins/llm_manager/presenters.py | 111 | async def format_key_status_as_image( | CODE |
| LOW | zhenxun/builtin_plugins/mahiro_bank/data_source.py | 140 | async def complete_projected_revenue(cls, user_id: str) -> int: | CODE |
| LOW | zhenxun/builtin_plugins/hooks/limiter_hook.py | 8 | async def _concurrency_release_hook(matcher: Matcher): | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_hook.py | 50 | async def _start_auth_runtime_tasks(): | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_hook.py | 70 | async def _drop_message_before_cache_ready(event: Event): | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_legacy_fallback.py | 13 | async def legacy_pure_auth_fallback( | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_patch_guard.py | 39 | def validate_handle_event_patch() -> AuthPatchGuardResult: | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_profile.py | 54 | def build_plugin_auth_profile(plugin, *, has_limit: bool = False) -> PluginAuthProfile: | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_side_effect.py | 91 | def limit_should_auto_unblock(self) -> bool: | CODE |
| LOW⚡ | zhenxun/builtin_plugins/hooks/auth_runtime_config.py | 105 | def _default_passive_db_limit() -> int: | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_event_selector.py | 46 | def _matcher_deadline_for_lane(lane: str) -> float: | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_event_selector.py | 62 | async def _run_matcher_with_deadline( | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_event_selector.py | 107 | def _ensure_nonempty_qq_message(message: Any) -> None: | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_event_selector.py | 116 | def _normalize_qq_self_at_message(bot: Bot, event: Event) -> None: | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_event_selector.py | 315 | def install_handle_event_selector(deps: HandleEventSelectorDependencies) -> None: | CODE |
| 232 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | zhenxun/cli.py | 169 | CODE | |
| LOW | zhenxun/cli.py | 264 | CODE | |
| LOW | zhenxun/cli.py | 307 | CODE | |
| LOW | zhenxun/cli.py | 394 | CODE | |
| LOW | zhenxun/ui/models/charts.py | 133 | CODE | |
| LOW | zhenxun/ui/models/core/base.py | 15 | CODE | |
| LOW | zhenxun/builtin_plugins/withdraw.py | 62 | CODE | |
| LOW | zhenxun/builtin_plugins/__init__.py | 90 | CODE | |
| LOW | zhenxun/builtin_plugins/catchphrase.py | 19 | CODE | |
| LOW | zhenxun/builtin_plugins/plugin_store/data_source.py | 597 | CODE | |
| LOW | zhenxun/builtin_plugins/init/init_config.py | 59 | CODE | |
| LOW | zhenxun/builtin_plugins/init/manager.py | 74 | CODE | |
| LOW | zhenxun/builtin_plugins/init/manager.py | 204 | CODE | |
| LOW | zhenxun/builtin_plugins/init/manager.py | 215 | CODE | |
| LOW | zhenxun/builtin_plugins/init/manager.py | 226 | CODE | |
| LOW | zhenxun/builtin_plugins/init/manager.py | 315 | CODE | |
| LOW | …un/builtin_plugins/chat_history/chat_message_handle.py | 96 | CODE | |
| LOW | zhenxun/builtin_plugins/shop/_data_source.py | 248 | CODE | |
| LOW | …xun/builtin_plugins/admin/plugin_switch/data_source.py | 59 | CODE | |
| LOW | …xun/builtin_plugins/admin/plugin_switch/data_source.py | 188 | CODE | |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/ui.py | 122 | CODE | |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/ui.py | 283 | CODE | |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/__init__.py | 143 | CODE | |
| LOW | zhenxun/builtin_plugins/admin/ban/_data_source.py | 24 | CODE | |
| LOW | …ltin_plugins/admin/group_member_update/_data_source.py | 22 | CODE | |
| LOW | …/builtin_plugins/admin/group_member_update/__init__.py | 194 | CODE | |
| LOW | …n/builtin_plugins/admin/welcome_message/data_source.py | 96 | CODE | |
| LOW | zhenxun/builtin_plugins/scheduler/auto_backup.py | 34 | CODE | |
| LOW | zhenxun/builtin_plugins/scheduler/chat_check.py | 30 | CODE | |
| LOW | zhenxun/builtin_plugins/superuser/exec_sql.py | 73 | CODE | |
| LOW | zhenxun/builtin_plugins/superuser/clear_data.py | 59 | CODE | |
| LOW | …xun/builtin_plugins/superuser/plugin_config_manager.py | 198 | CODE | |
| LOW | …xun/builtin_plugins/superuser/plugin_config_manager.py | 382 | CODE | |
| LOW | …xun/builtin_plugins/superuser/plugin_config_manager.py | 522 | CODE | |
| LOW | zhenxun/builtin_plugins/superuser/request_manage.py | 188 | CODE | |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 232 | CODE | |
| LOW | …iltin_plugins/superuser/broadcast/broadcast_manager.py | 486 | CODE | |
| LOW | zhenxun/builtin_plugins/superuser/broadcast/utils.py | 11 | CODE | |
| LOW | zhenxun/builtin_plugins/superuser/broadcast/utils.py | 112 | CODE | |
| LOW | …iltin_plugins/superuser/broadcast/message_processor.py | 36 | CODE | |
| LOW | …iltin_plugins/superuser/broadcast/message_processor.py | 190 | CODE | |
| LOW | …iltin_plugins/superuser/broadcast/message_processor.py | 357 | CODE | |
| LOW | …iltin_plugins/superuser/broadcast/message_processor.py | 446 | CODE | |
| LOW | zhenxun/builtin_plugins/llm_manager/data_source.py | 173 | CODE | |
| LOW | zhenxun/builtin_plugins/llm_manager/presenters.py | 111 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_hook.py | 141 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_event_selector.py | 149 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/call_hook.py | 14 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_activation.py | 533 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_activation.py | 674 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_activation.py | 904 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_activation.py | 1046 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_activation.py | 1153 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_activation.py | 299 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_checker.py | 329 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_checker.py | 354 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_checker.py | 866 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_checker.py | 1002 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth_snapshot.py | 208 | CODE | |
| LOW | zhenxun/builtin_plugins/hooks/auth/auth_admin.py | 17 | CODE | |
| 220 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | zhenxun/ui/__init__.py | 425 | __all__ = [ | CODE |
| LOW | zhenxun/ui/models/__init__.py | 48 | __all__ = [ | CODE |
| LOW | zhenxun/ui/models/core/containers.py | 12 | __all__ = [ | CODE |
| LOW | zhenxun/ui/models/core/__init__.py | 40 | __all__ = [ | CODE |
| LOW | zhenxun/ui/models/core/content.py | 16 | __all__ = [ | CODE |
| LOW | zhenxun/ui/models/core/base.py | 12 | __all__ = ["ContainerComponent", "RenderableComponent"] | CODE |
| LOW | zhenxun/ui/models/components/feedback.py | 8 | __all__ = ["Alert", "Badge", "ProgressBar"] | CODE |
| LOW | zhenxun/ui/models/components/__init__.py | 5 | __all__ = [ | CODE |
| LOW | zhenxun/ui/models/components/display.py | 7 | __all__ = ["Avatar", "AvatarGroup", "Divider", "Rectangle", "UserInfoBlock"] | CODE |
| LOW | zhenxun/ui/models/components/data.py | 7 | __all__ = ["KpiCard", "Timeline", "TimelineItem"] | CODE |
| LOW | zhenxun/ui/models/presets/plugin_menu.py | 5 | __all__ = [ | CODE |
| LOW | zhenxun/ui/models/presets/plugin_help_page.py | 5 | __all__ = [ | CODE |
| LOW | zhenxun/ui/models/presets/__init__.py | 9 | __all__ = [ | CODE |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/strategy.py | 50 | async def set_default_status(self, entity: Any, status: bool) -> None: | CODE |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/strategy.py | 62 | async def set_all_default_status(self, status: bool) -> None: | CODE |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/strategy.py | 67 | async def set_all_global_status(self, status: bool) -> None: | CODE |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/strategy.py | 113 | async def set_default_status(self, entity: PluginInfo, status: bool) -> None: | CODE |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/strategy.py | 124 | async def set_all_default_status(self, status: bool) -> None: | CODE |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/strategy.py | 130 | async def set_all_global_status(self, status: bool) -> None: | CODE |
| LOW⚡ | zhenxun/builtin_plugins/admin/plugin_switch/strategy.py | 164 | async def set_default_status(self, entity: TaskInfo, status: bool) -> None: | CODE |
| LOW⚡ | zhenxun/builtin_plugins/admin/plugin_switch/strategy.py | 174 | async def set_all_default_status(self, status: bool) -> None: | CODE |
| LOW⚡ | zhenxun/builtin_plugins/admin/plugin_switch/strategy.py | 179 | async def set_all_global_status(self, status: bool) -> None: | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_policy.py | 262 | __all__ = [ | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_legacy_fallback.py | 54 | __all__ = ["legacy_pure_auth_fallback"] | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_profile.py | 122 | __all__ = [ | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_event_selector.py | 361 | __all__ = [ | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_types.py | 57 | __all__ = [ | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_activation.py | 1554 | __all__ = [ | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_trace.py | 37 | __all__ = ["HookTraceRecorder"] | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth_snapshot.py | 395 | __all__ = ["AuthSnapshot", "build_auth_snapshot", "get_or_build_auth_snapshot"] | CODE |
| LOW | zhenxun/builtin_plugins/hooks/auth/data_provider.py | 143 | __all__ = [ | CODE |
| LOW | zhenxun/builtin_plugins/scheduler_admin/__init__.py | 8 | __all__ = ["commands", "handlers"] | CODE |
| LOW | zhenxun/utils/pydantic_compat.py | 63 | __all__ = [ | CODE |
| LOW | zhenxun/utils/repo_utils/__init__.py | 34 | __all__ = [ | CODE |
| LOW | zhenxun/utils/github_utils/__init__.py | 7 | __all__ = [ | CODE |
| LOW | zhenxun/models/bot_console.py | 159 | async def set_bot_status(cls, status: bool, bot_id: str | None = None) -> None: | CODE |
| LOW | zhenxun/configs/config.py | 8 | __all__ = ["BotConfig", "Config"] | CODE |
| LOW | zhenxun/configs/utils/models.py | 10 | __all__ = [ | CODE |
| LOW | zhenxun/configs/utils/__init__.py | 526 | __all__ = [ | CODE |
| LOW | zhenxun/services/__init__.py | 35 | __all__ = [ | CODE |
| LOW | zhenxun/services/data_access.py | 58 | def set_null_result_ttl(cls, seconds: int) -> None: | CODE |
| LOW⚡ | zhenxun/services/runtime_bootstrap.py | 122 | async def _setup_runtime_concurrency() -> None: | CODE |
| LOW⚡ | zhenxun/services/renderer/theme.py | 401 | def _set_asset_resolution_cache(self, key: tuple[str, str], value: str) -> None: | CODE |
| LOW⚡ | zhenxun/services/renderer/theme.py | 409 | def _set_global_template_cache(self, key: str, value: str) -> None: | CODE |
| LOW | zhenxun/services/renderer/__init__.py | 22 | __all__ = ["RenderResult", "Renderable", "renderer_service"] | CODE |
| LOW⚡ | zhenxun/services/renderer/engine.py | 492 | def _update_rss_baseline_nolock(self, current_rss: int) -> None: | STRING |
| LOW | zhenxun/services/llm/__init__.py | 363 | __all__ = [ | CODE |
| LOW | zhenxun/services/db_context/__init__.py | 42 | __all__ = [ | CODE |
| LOW | zhenxun/services/cache/__init__.py | 75 | __all__ = [ | CODE |
| LOW | zhenxun/services/cache/runtime_cache.py | 926 | def set_plugin(cls, plugin) -> None: | CODE |
| LOW | zhenxun/services/cache/runtime_cache.py | 1110 | async def update_status(cls, bot_id: str | None, status: bool) -> None: | CODE |
| LOW | zhenxun/services/scheduler/__init__.py | 13 | __all__ = ["ExecutionPolicy", "ScheduleContext", "Trigger", "scheduler_manager"] | CODE |
| LOW | zhenxun/services/scheduler/targeting.py | 17 | __all__ = [ | CODE |
| LOW | zhenxun/services/tags/__init__.py | 11 | __all__ = ["tag_manager"] | CODE |
| LOW | zhenxun/services/ai/__init__.py | 7 | __all__ = [ | CODE |
| LOW | zhenxun/services/ai/tools/models.py | 368 | __all__ = [ | CODE |
| LOW | zhenxun/services/ai/tools/__init__.py | 23 | __all__ = [ | CODE |
| LOW | zhenxun/services/ai/tools/core/__init__.py | 13 | __all__ = [ | CODE |
| LOW | zhenxun/services/ai/tools/core/decorators.py | 414 | __all__ = [ | CODE |
| LOW | zhenxun/services/ai/tools/providers/mcp/provider.py | 216 | def _setup_toolkit(self, name: str, conf: MCPServerConfig) -> None: | CODE |
| 50 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | zhenxun/models/chat_history.py | 152 | "alter table chat_history alter group_id drop not null;", | CODE |
| HIGH⚡ | zhenxun/models/chat_history.py | 154 | "alter table chat_history alter text drop not null;", | CODE |
| HIGH⚡ | zhenxun/models/chat_history.py | 156 | "alter table chat_history alter plain_text drop not null;", | CODE |
| HIGH | zhenxun/services/renderer/engine.py | 792 | document.fonts && document.fonts.size > 0 | CODE |
| HIGH | zhenxun/services/ai/sandbox/runtimes.py | 278 | await self.session.run_process("pkill -9 -f jupyter-server || true") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | zhenxun/ui/models/core/content.py | 86 | CODE | |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/__init__.py | 143 | CODE | |
| LOW | zhenxun/builtin_plugins/admin/plugin_switch/__init__.py | 286 | CODE | |
| LOW | zhenxun/builtin_plugins/scheduler_admin/handlers.py | 61 | CODE | |
| LOW | zhenxun/utils/decorator/retry.py | 123 | CODE | |
| LOW | zhenxun/utils/decorator/shop.py | 186 | CODE | |
| LOW | zhenxun/services/llm/__init__.py | 335 | CODE | |
| LOW | zhenxun/services/scheduler/targeting.py | 35 | CODE | |
| LOW | zhenxun/services/scheduler/targeting.py | 46 | CODE | |
| LOW | zhenxun/services/scheduler/manager.py | 393 | CODE | |
| LOW | zhenxun/services/ai/tools/providers/mcp/toolkit.py | 263 | CODE | |
| LOW | zhenxun/services/ai/context/memory/capabilities.py | 32 | CODE | |
| LOW | zhenxun/services/ai/context/knowledge/vector.py | 61 | CODE | |
| LOW | zhenxun/services/ai/sandbox/runtimes.py | 557 | CODE | |
| LOW | zhenxun/services/ai/flow/agent/agent.py | 334 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | zhenxun/services/ai/config/manager.py | 21 | "api_key": "YOUR_API_KEY", | CODE |
| HIGH | zhenxun/services/ai/config/manager.py | 57 | "api_key": "YOUR_API_KEY", | CODE |
| HIGH | zhenxun/services/ai/config/manager.py | 93 | "api_key": "YOUR_API_KEY", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | zhenxun/builtin_plugins/plugin_store/data_source.py | 0 | 被动技能文本风格 参数: column: 表头 text: 文本内容 返回: rowstyle: rowstyle | STRING |
| HIGH | zhenxun/builtin_plugins/superuser/bot_manage/task.py | 0 | 被动技能文本风格 参数: column: 表头 text: 文本内容 返回: rowstyle: rowstyle | STRING |
| HIGH | zhenxun/builtin_plugins/superuser/bot_manage/plugin.py | 0 | 被动技能文本风格 参数: column: 表头 text: 文本内容 返回: rowstyle: rowstyle | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/codeql.yml | 1 | # For most projects, this workflow file will not need changing; you simply need | COMMENT |
| LOW | .github/workflows/codeql.yml | 61 | uses: github/codeql-action/init@v3 | COMMENT |
| LOW | zhenxun/builtin_plugins/init/init_plugin.py | 141 | # for limit in limit_list: | COMMENT |
| LOW | zhenxun/builtin_plugins/superuser/fg_manage.py | 41 | ) | COMMENT |
| LOW | zhenxun/builtin_plugins/mahiro_bank/__init__.py | 221 | COMMENT | |
| LOW | zhenxun/builtin_plugins/mahiro_bank/__init__.py | 241 | # ) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/codeql.yml | 53 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | zhenxun/models/level_user.py | 112 | CODE |