Repository Analysis

Mai-with-u/MaiBot

MaiSaka, an LLM-based intelligent agent, is a digital lifeform devoted to understanding you and interacting in the style of a real human. She does not pursue perfection, nor does she seek efficiency; instead, she values warmth, authenticity, and genuine connection.

13.6 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of Mai-with-u/MaiBot, a Python project with 5,840 GitHub stars. SynthScan v2.0 examined 535,290 lines of code across 1394 source files, recording 7241 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 13.6 places this repository in the Low 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).

13.6
Adjusted Score
13.6
Raw Score
100%
Time Factor
2026-08-28
Last Push
5.8K
Stars
Python
Language
535.3K
Lines of Code
1.4K
Files
7.2K
Pattern Hits
2026-08-29
Scan Date
0.09
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

Severity Breakdown

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.

CRITICAL 1HIGH 118MEDIUM 121LOW 7001

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 7241 distinct pattern matches across 15 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.

Hyper-Verbose Identifiers4672 hits · 4261 pts
SeverityFileLineSnippetContext
LOWbot.py49def _print_interrupt_exit_notice() -> None:CODE
LOWbot.py55def _mark_shutdown_and_interrupt(_signum: int, _frame: object) -> None:CODE
LOWbot.py71def _cancel_active_main_task_from_signal() -> None:CODE
LOWbot.py302def _is_windows_proactor_cancel_race(error: BaseException) -> bool:CODE
LOWbot.py378def _prompt_user_confirmation(eula_hash: str, privacy_hash: str) -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py86def test_observation_window_uses_thirty_minutes_or_fifteen_messages() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py111def test_judge_prompt_has_total_limit_and_keeps_required_ids() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py149def test_judge_prompt_keeps_only_conversation_context_and_removes_internal_fields() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py187def test_judge_prompt_never_truncates_followup_ids_when_candidates_are_crowded() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py203def test_reply_effect_context_snapshot_separates_sender_metadata_from_text() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py240async def test_transport_timeout_does_not_trigger_json_validation_retry() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py256async def test_invalid_json_still_retries_once() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py269async def test_evaluation_is_scheduled_only_once() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py297async def test_evaluation_concurrency_is_limited_to_two() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py331async def test_evaluation_total_timeout_covers_json_retry(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py352async def test_provider_timeout_is_not_reported_as_total_timeout() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py371async def test_start_restores_ready_pending_record() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py388async def test_incomplete_observation_is_not_scored() -> None:CODE
LOWtests/maisaka/reply_effect/test_execution_v2.py414async def test_reply_effect_judge_uses_isolated_utils_json_request() -> None:CODE
LOWtests/maisaka/reply_effect/test_statistics.py30def test_welch_comparison_detects_clear_mean_difference() -> None:CODE
LOWtests/maisaka/reply_effect/test_statistics.py45def test_welch_comparison_handles_identical_constant_samples() -> None:CODE
LOWtests/maisaka/reply_effect/test_statistics.py55def test_welch_comparison_requires_two_samples_in_each_group() -> None:CODE
LOWtests/maisaka/reply_effect/test_statistics.py64def test_aggregate_excludes_no_information_records_from_confidence() -> None:CODE
LOWtests/maisaka/reply_effect/test_statistics.py82def test_aggregate_counts_reception_categories_without_numeric_score() -> None:CODE
LOWtests/maisaka/reply_effect/test_statistics.py102def test_incomplete_historical_record_has_no_scores() -> None:CODE
LOWtests/maisaka/reply_effect/test_statistics.py125def test_version_aggregate_exposes_evaluation_version() -> None:CODE
LOWtests/maisaka/reply_effect/test_statistics.py140def test_score_distribution_returns_raw_samples_for_scatter_plot() -> None:CODE
LOWtests/maisaka/reply_effect/test_statistics.py151def test_comparison_selection_does_not_mix_evaluation_versions() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py71def test_topic_negative_does_not_reduce_reception_and_advances_chat() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py88def test_factual_correction_reduces_reception_but_is_constructive() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py106def test_bot_attack_is_wrong_push() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py123def test_reception_preserves_category_counts() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py149def test_no_associations_have_no_reception_or_confidence() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py157def test_response_score_does_not_depend_on_latency() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py185def test_low_confidence_emotion_keeps_category_and_reduces_confidence() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py204def test_semantic_multi_candidate_association_reduces_confidence() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py232def test_record_restores_evaluation_version() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py240def test_parser_rejects_missing_locked_quote() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py275def test_parser_rejects_candidate_unavailable_when_followup_was_received() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py317def test_parser_accepts_empty_associations_for_unrelated_message() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py343def test_parser_reports_missing_followup_ids() -> None:CODE
LOWtests/maisaka/reply_effect/test_scoring_v2.py369def test_parser_rejects_unrelated_as_an_association_label() -> None:CODE
LOWtests/maisaka/reply_effect/test_versioning.py32def test_prompt_version_fingerprint_ignores_dynamic_request_content() -> None:CODE
LOWtests/maisaka/reply_effect/test_versioning.py46def test_prompt_version_fingerprint_changes_with_system_prompt() -> None:CODE
LOWtests/platform_io/test_adapter_policy.py8def test_remove_chat_overrides_clears_matching_route_only(tmp_path: Path) -> None:CODE
LOWtests/platform_io/test_adapter_policy.py52def test_remove_chat_overrides_prunes_empty_policy(tmp_path: Path) -> None:CODE
LOWtests/platform_io/test_manager.py8async def test_send_pipeline_always_registers_webui_driver(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/webui/utils/test_toml_utils.py6def test_save_toml_with_format_serializes_nested_inline_table(tmp_path) -> None:CODE
LOWdashboard/src/components/theme-provider.tsx25function dashboardStyleToConfigValue(style: DashboardStyle): 0 | 1 {CODE
LOWdashboard/src/components/theme-provider.tsx29function configValueToDashboardStyle(value: unknown): DashboardStyle {CODE
LOWdashboard/src/components/theme-provider.tsx33function shouldSyncRemoteWebUIStyle(): boolean {CODE
LOW…shboard/src/components/background-effects-controls.tsx75export function BackgroundEffectsControls({CODE
LOWdashboard/src/components/CodeEditorImpl.tsx33function createDiffDecorationExtension(CODE
LOWdashboard/src/components/local-cache-image-utils.ts18export function formatLocalCacheCleanupDescription(result: {CODE
LOW…hboard/src/components/version-compatibility-dialog.tsx29export function VersionCompatibilityDialog() {CODE
LOWdashboard/src/components/ui/chart.tsx343function getPayloadConfigFromPayload(CODE
LOW…shboard/src/components/memory/MemoryEpisodeManager.tsx75function getEpisodeActionDescription(payload: MemoryEpisodeActionPayload): string {CODE
LOW…/src/components/__tests__/expression-reviewer.test.tsx93function getListToolbarIconButtons() {CODE
LOW…oard/src/components/dynamic-form/DynamicConfigForm.tsx190function NestedDynamicConfigSection({CODE
LOWdashboard/src/lib/keyboard.ts52export function getPlatformModifierAriaLabel(): string {CODE
4612 more matches not shown…
Excessive Try-Catch Wrapping1277 hits · 1185 pts
SeverityFileLineSnippetContext
LOWbot.py220 except Exception as e:CODE
LOWbot.py266 except Exception as e:CODE
LOWbot.py271 except Exception as e:CODE
LOWbot.py285 except Exception as exc:CODE
LOWbot.py342 except Exception as ge:CODE
LOWbot.py522 except Exception as e:CODE
LOWbot.py544 except Exception as e:CODE
LOWplugins/hello_world_plugin/plugin.py162 except Exception as e:CODE
LOWscripts/mmipkg_tool.py113 except Exception as e:CODE
LOWscripts/mmipkg_tool.py153 except Exception as e:CODE
LOWscripts/mmipkg_tool.py231 except Exception as e:CODE
LOWscripts/mmipkg_tool.py314 except Exception as e:CODE
LOWscripts/mmipkg_tool.py427 except Exception as e:CODE
LOWscripts/mmipkg_tool.py526 except Exception as e:CODE
LOWscripts/mmipkg_tool.py533 except Exception as e2:CODE
LOWscripts/mmipkg_tool.py568 except Exception as e:CODE
LOWscripts/mmipkg_tool.py696 except Exception as e:CODE
LOWscripts/mmipkg_tool.py711 except Exception as e:CODE
LOWscripts/mmipkg_tool.py846 except Exception as e:CODE
LOWscripts/mmipkg_tool.py1098 except Exception as e:CODE
LOWscripts/mmipkg_tool.py1114 except Exception as e:CODE
LOWscripts/i18n_validate.py247 except Exception as exc:CODE
LOWscripts/i18n_validate.py297 except Exception as exc:CODE
LOWscripts/build_io_pairs.py68 except Exception as e: # noqa: BLE001CODE
LOWscripts/build_io_pairs.py337 except Exception:CODE
LOWscripts/build_io_pairs.py349 except Exception as e: # noqa: BLE001CODE
LOWscripts/jargon_learn_from_message_segments.py334 except Exception as exc:CODE
LOWscripts/jargon_learn_from_planner_logs.py455 except Exception as exc:CODE
LOWscripts/jargon_learn_from_planner_logs.py524 except Exception as exc:CODE
LOWscripts/evaluate_bot_phrase_regex_capture.py762 except Exception as exc:CODE
LOWscripts/cleanup_behavior_generic_tags.py426 except Exception:CODE
LOWscripts/expression_selection/llm_judge.py209 except Exception:CODE
LOWscripts/expression_selection/offline_runner.py244 except Exception:CODE
LOWscripts/make_scripts/generate_requirements.py35 except Exception as e:CODE
MEDIUMscripts/make_scripts/generate_requirements.py4def generate_requirements(pyproject_path="pyproject.toml", output_path="requiremCODE
LOWpytests/test_bot_account_service.py33 except Exception:CODE
LOW…emorix_test/test_chat_summary_writeback_integration.py142 except Exception:CODE
LOW…emorix_test/test_chat_summary_writeback_integration.py382 except Exception:CODE
LOWpytests/A_memorix_test/test_maibot_migration_script.py38 except Exception:CODE
LOWpytests/A_memorix_test/test_maibot_migration_script.py77 except Exception:CODE
LOWpytests/A_memorix_test/test_maibot_migration_script.py306 except Exception:CODE
LOWpytests/A_memorix_test/test_maibot_migration_script.py310 except Exception:CODE
LOWpytests/A_memorix_test/test_maibot_migration_script.py314 except Exception:CODE
LOWpytests/A_memorix_test/test_maibot_migration_script.py318 except Exception:CODE
LOWpytests/A_memorix_test/test_maibot_migration_script.py327 except Exception:CODE
LOWpytests/A_memorix_test/test_maibot_migration_script.py385 except Exception:CODE
MEDIUMpytests/A_memorix_test/test_maibot_migration_script.py303def _close_runner(runner) -> None:CODE
LOWpytests/image_sys_test/image_manager_test.py221 except Exception:CODE
LOWsrc/main.py100 except Exception as e:CODE
LOWsrc/main.py112 except Exception:CODE
LOWsrc/main.py153 except Exception:CODE
LOWsrc/main.py206 except Exception as e:CODE
LOWsrc/person_info/person_info.py64 except Exception as e:CODE
LOWsrc/person_info/person_info.py450 except Exception as e:CODE
LOWsrc/person_info/person_info.py505 except Exception as e:CODE
LOWsrc/person_info/person_info.py597 except Exception as e:CODE
MEDIUMsrc/maisaka/reasoning_engine.py505def build_heuristic_memory_message() -> str:CODE
MEDIUMsrc/maisaka/reasoning_engine.py514def build_profile_messages() -> list[str]:CODE
LOWsrc/maisaka/reasoning_engine.py510 except Exception as exc:CODE
LOWsrc/maisaka/reasoning_engine.py520 except Exception as exc:CODE
1217 more matches not shown…
Docstring Block Structure101 hits · 505 pts
SeverityFileLineSnippetContext
HIGHsrc/person_info/person_info.py23将数据库中的群名片 JSON 转换为 `Person` 内部使用的结构。 Args: group_cardname_json: 数据库存储的群名片 JSON 字符串。 Returns: lSTRING
HIGHsrc/chat/message_receive/chat_manager.py105获取会话,如果不存在则创建一个新会话;一个封装方法。 Args: platform: 平台 user_id: 用户ID group_id: 群ID(如STRING
HIGHsrc/chat/image_system/image_manager.py87 获取图片描述的封装方法 如果图片已存在于数据库中,则直接返回描述 如果不存在,则**保存图片**并**生成描述**后返回 Args: imageSTRING
HIGHsrc/chat/image_system/image_manager.py396 保存图片并生成描述 Args: image_bytes (bytes): 图片的字节数据 Returns: return (MaiImageSTRING
HIGHsrc/A_memorix/core/storage/graph_store.py356 添加节点 Args: nodes: 节点名称列表 attributes: 节点属性字典 {node_name: {attr: value}} STRING
HIGHsrc/emoji_system/emoji_manager.py308 根据表情包哈希获取表情包描述和情感列表的封装方法 Args: emoji_bytes (Optional[bytes]): 表情包的字节数据,如果提供了字节数据但数据库中没有找到对STRING
HIGHsrc/platform_io/dedupe.py62标记一条去重键已经出现过。 Args: dedupe_key: 能稳定标识一条外部入站消息的去重键。 Returns: bool: 若该键在当前 TTL 窗STRING
HIGHsrc/platform_io/outbound_tracker.py120开始跟踪一次出站投递。 Args: internal_message_id: 正在投递的内部消息 ID。 route_key: 这次出站投递选择的路由键。 STRING
HIGHsrc/platform_io/route_key_factory.py70从消息字典中提取 ``RouteKey``。 Args: message_dict: Host 与插件之间传输的消息字典。 Returns: RouteKeSTRING
HIGHsrc/platform_io/manager.py146从运行中的 Broker 停止并移除一个驱动。 如果 Broker 尚未启动,则该方法等价于 ``unregister_driver()``。 Args: driver_id: 要STRING
HIGHsrc/platform_io/manager.py256从 Broker 注销一个驱动。 Args: driver_id: 要移除的驱动 ID。 Returns: Optional[PlatformIODriveSTRING
HIGHsrc/platform_io/manager.py581构造用于入站抑制的去重键。 Args: envelope: 当前正在处理的入站封装。 Returns: Optional[str]: 若可以构造稳定去重键则STRING
HIGHsrc/common/data_models/person_info_data_model.py35解析数据库中的群名片 JSON 字段。 Args: group_cardname_json: 数据库存储的群名片 JSON 字符串。 Returns: Optional[List[GrouSTRING
HIGHsrc/common/database/database.py159 获取数据库会话的上下文管理器 (推荐使用,自动提交)。 Examples: ---- .. code-block:: python # 方式1: 自动提交 (推荐 - 默认行为) STRING
HIGHsrc/common/utils/utils_image.py79 将GIF图片水平拼接为静态图像,跳过相似帧 Args: gif_bytes (bytes): 输入的GIF图片字节数据 similarity_threshoSTRING
HIGHsrc/common/utils/utils_image.py217 将图片字节数据转换为Base64编码字符串 Args: image_bytes (bytes): 输入的图片字节数据 Returns: stSTRING
HIGHsrc/common/utils/utils_session.py16计算session_id Args: platform: 平台名称 user_id: 用户ID(如果是私聊) group_id: 群ID(如果是群聊)STRING
HIGHsrc/plugin_runtime/local_sdk.py20解析并校验环境变量指定的本地 SDK 路径。 Args: environ: 环境变量映射;留空时读取 ``os.environ``。 project_root: 相对路径解析基准;留空时使用当前工作STRING
HIGHsrc/plugin_runtime/integration.py1145请求运行时按插件自身配置模型校验配置。 Args: plugin_id: 目标插件 ID。 config_data: 待校验的配置内容。 Returns: STRING
HIGHsrc/plugin_runtime/integration.py1188请求运行时解析插件配置元数据。 Args: plugin_id: 目标插件 ID。 config_data: 可选的配置内容。 use_provideSTRING
HIGHsrc/plugin_runtime/hook_payloads.py33从 Hook 载荷恢复会话消息。 Args: raw_message: Hook 返回的消息字典。 Returns: SessionMessage: 恢复后的会话消息对象。 RaSTRING
HIGHsrc/plugin_runtime/hook_payloads.py77从 Hook 载荷恢复工具调用列表。 Args: raw_tool_calls: Hook 返回的工具调用列表。 Returns: List[ToolCall]: 恢复后的工具调用列表。 STRING
HIGHsrc/plugin_runtime/hook_payloads.py143从 Hook 载荷恢复 Items;未修改的 Item 保留原 replay,修改项仅自身失效。 Args: raw_items: Hook 返回的 Item 列表。 item_schema_verSTRING
HIGHsrc/plugin_runtime/host/message_gateway.py28将标准消息字典转换为 ``SessionMessage``。 Args: external_message: 外部消息的字典格式数据。 Returns: SSTRING
HIGHsrc/plugin_runtime/host/component_registry.py283规范化 Hook 异常处理策略。 Args: raw_value: 原始异常处理策略值。 Returns: str: 规范化后的异常处理策略。 STRING
HIGHsrc/plugin_runtime/host/component_registry.py303规范化命名 Hook 名称。 Args: raw_value: 原始 Hook 名称。 Returns: str: 去空白后的 Hook 名称。 STRING
HIGHsrc/plugin_runtime/host/component_registry.py322规范化 Hook 处理模式。 Args: raw_value: 原始模式值。 Returns: str: 规范化后的模式。 Raises:STRING
HIGHsrc/plugin_runtime/host/component_registry.py342规范化 Hook 顺序槽位。 Args: raw_value: 原始顺序值。 Returns: str: 规范化后的顺序槽位。 RaiseSTRING
HIGHsrc/plugin_runtime/host/component_registry.py362规范化 Hook 超时配置。 Args: raw_value: 原始超时值。 Returns: int: 规范化后的超时毫秒数。 RaisSTRING
HIGHsrc/plugin_runtime/host/component_registry.py416规范化消息网关路由类型。 Args: raw_value: 原始路由类型值。 Returns: str: 规范化后的路由类型。 RaiseSTRING
HIGHsrc/plugin_runtime/host/component_registry.py563规范化组件类型输入。 Args: component_type: 原始组件类型字符串。 Returns: ComponentTypes: 规范化后的组件类型STRING
HIGHsrc/plugin_runtime/host/component_registry.py655根据声明构造组件条目。 Args: name: 组件名称。 component_type: 组件类型。 plugin_id: 插件 ID。 STRING
HIGHsrc/plugin_runtime/host/component_registry.py798注册单个组件。 Args: name: 组件名称(不含插件 ID 前缀)。 component_type: 组件类型(如 ``ACTION``、``COMMAND`` 等)。STRING
HIGHsrc/plugin_runtime/host/component_registry.py825批量替换一个插件的组件集合。 该方法会先完整校验所有组件声明,只有全部通过后才会替换旧组件, 从而避免插件进入半注册状态。 Args: plugin_id: 插件 STRING
HIGHsrc/plugin_runtime/host/supervisor.py867请求 Runner 使用插件自身配置模型校验配置。 Args: plugin_id: 目标插件 ID。 config_data: 待校验的配置内容。 RetSTRING
HIGHsrc/plugin_runtime/host/supervisor.py907请求 Runner 解析插件配置元数据。 Args: plugin_id: 目标插件 ID。 config_data: 可选的配置内容。 use_prSTRING
HIGHsrc/plugin_runtime/host/supervisor.py991等待 Runner 完成启动初始化。 Args: timeout_sec: 超时时间,单位秒。 Returns: RunnerReadyPayload: RSTRING
HIGHsrc/plugin_runtime/host/supervisor.py1400根据消息网关运行时状态构造路由键。 Args: gateway_entry: 消息网关组件条目。 payload: 网关上报的运行时状态。 Returns:STRING
HIGHsrc/plugin_runtime/host/hook_dispatcher.py375规范化命名 Hook 名称。 Args: hook_name: 原始 Hook 名称。 Returns: str: 规范化后的 Hook 名称。 STRING
HIGHsrc/plugin_runtime/host/hook_spec_registry.py45规范化 Hook 名称。 Args: hook_name: 原始 Hook 名称。 Returns: str: 规范化后的 Hook 名称。 STRING
HIGHsrc/plugin_runtime/host/hook_spec_registry.py64规范化 Hook 参数模型。 Args: raw_schema: 原始参数模型。 Returns: Dict[str, Any]: 规范化后的对象级 JSOSTRING
HIGHsrc/plugin_runtime/host/rpc_server.py186向 Runner 发送 RPC 请求并等待响应 Args: method: RPC 方法名 plugin_id: 目标插件 ID payload: 请STRING
HIGHsrc/plugin_runtime/capabilities/core.py39校验并规范化插件传入的提示参数。 Args: prompt: 原始提示参数。 Returns: str | List[Dict[str, Any]]: 规范化后的提示输入。 RaSTRING
HIGHsrc/plugin_runtime/runner/runner_main.py275提取插件配置中的版本号。 Args: config_data: 插件配置字典。 Returns: str: ``plugin.config_version`` 的规范化字符串值。 STRING
HIGHsrc/plugin_runtime/runner/runner_main.py979基于配置版本决定是否需要重建插件配置。 Args: raw_config: 当前磁盘上的插件配置。 default_config: 插件最新默认配置。 ReSTRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py211校验作者名称。 Args: value: 原始作者名称。 Returns: str: 规范化后的作者名称。 Raises: STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py229校验作者主页地址。 Args: value: 原始主页地址。 Returns: str: 规范化后的主页地址。 Raises: STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py258校验仓库地址。 Args: value: 原始仓库地址。 Returns: str: 规范化后的仓库地址。 Raises: STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py278校验可选链接字段。 Args: value: 原始链接值。 Returns: Optional[str]: 合法的链接值。 Raises:STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py307校验版本号格式。 Args: value: 原始版本号。 Returns: str: 合法的版本号。 Raises: STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py347校验默认语言。 Args: value: 原始默认语言。 Returns: str: 规范化后的默认语言。 Raises: STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py365校验语言资源目录。 Args: value: 原始语言资源目录。 Returns: Optional[str]: 合法的目录值。 RaisSTRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py385校验支持语言列表。 Args: value: 原始语言列表。 Returns: List[str]: 去重后的语言列表。 Raises: STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py430校验依赖插件 ID。 Args: value: 原始依赖插件 ID。 Returns: str: 合法的依赖插件 ID。 Raises: STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py448校验插件依赖版本约束。 Args: value: 原始版本约束表达式。 Returns: str: 合法的版本约束表达式。 Raises:STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py478校验 Python 包名。 Args: value: 原始包名。 Returns: str: 合法的包名。 Raises: STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py496校验 Python 包版本约束。 Args: value: 原始版本约束表达式。 Returns: str: 合法的版本约束表达式。 RaSTRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py531校验客户端类型标识。 Args: value: 原始客户端类型标识。 Returns: str: 合法的客户端类型标识。 Raises: STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py652校验插件版本号格式。 Args: value: 原始插件版本号。 Returns: str: 合法的插件版本号。 Raises: STRING
HIGHsrc/plugin_runtime/runner/manifest_validator.py670校验必填字符串字段。 Args: value: 原始字段值。 info: Pydantic 字段上下文。 Returns: str:STRING
41 more matches not shown…
Unused Imports509 hits · 454 pts
SeverityFileLineSnippetContext
LOWscripts/i18n_validate.py1CODE
LOWscripts/analyze_tool_usage_by_chat.py1CODE
LOWscripts/evaluate_bot_phrase_regex_capture.py1CODE
LOWscripts/i18n_extract_candidates.py1CODE
LOWscripts/run_a_memorix_webui_backend.py1CODE
LOWscripts/analyze_maisaka_prompt_sections.py1CODE
LOWscripts/expression_selection/vector_index_tools.py9CODE
LOWscripts/expression_selection/cluster_count_benchmark.py8CODE
LOWscripts/expression_selection/llm_judge.py7CODE
LOWscripts/expression_selection/offline_runner.py9CODE
LOW.github/scripts/update_dashboard_dependency.py1CODE
LOW.github/scripts/update_dashboard_stable_dependency.py1CODE
LOW…s/A_memorix_test/test_dual_pool_compatibility_edges.py1CODE
LOW…emorix_test/test_chat_summary_writeback_integration.py1CODE
LOW…ests/A_memorix_test/test_dual_vector_pool_retrieval.py1CODE
LOW…s/A_memorix_test/test_migration_runtime_integration.py1CODE
LOW…ests/A_memorix_test/test_real_storage_delete_outbox.py1CODE
LOW…sts/A_memorix_test/test_embedding_dimension_control.py1CODE
LOW…tests/A_memorix_test/test_algorithm_mechanism_fixes.py1CODE
LOWpytests/A_memorix_test/test_admin_contracts.py1CODE
LOW…ests/A_memorix_test/test_memory_graph_search_kernel.py1CODE
LOWpytests/A_memorix_test/test_format_migration.py1CODE
LOWpytests/A_memorix_test/test_graph_store_persistence.py1CODE
LOWpytests/A_memorix_test/test_vector_recovery_runtime.py1CODE
LOWpytests/A_memorix_test/test_maibot_migration_script.py1CODE
LOW…/A_memorix_test/test_format_migration_large_dataset.py1CODE
LOWpytests/A_memorix_test/test_vector_store_consistency.py1CODE
LOWpytests/A_memorix_test/test_vector_rebuild_runtime.py1CODE
LOWpytests/prompt_test/test_prompt_i18n.py1CODE
LOWpytests/i18n_test/test_i18n_validate.py1CODE
LOWpytests/i18n_test/test_i18n.py1CODE
LOWpytests/webui/test_memory_routes_integration.py1CODE
LOWsrc/__init__.py1CODE
LOWsrc/maisaka/reasoning_engine.py97CODE
LOWsrc/maisaka/reasoning_engine.py98CODE
LOWsrc/maisaka/idle_backoff.py11CODE
LOWsrc/maisaka/turn_gates.py18CODE
LOWsrc/maisaka/turn_scheduler.py12CODE
LOWsrc/maisaka/reply_effect/scoring.py3CODE
LOWsrc/maisaka/reply_effect/judge.py3CODE
LOWsrc/maisaka/reply_effect/tracker.py3CODE
LOWsrc/maisaka/context/history.py19CODE
LOWsrc/maisaka/memory/heuristic_injector.py3CODE
LOWsrc/maisaka/memory/person_profile.py3CODE
LOWsrc/maisaka/utils/tool_record_payload.py3CODE
LOWsrc/maisaka/utils/tool_post_execution.py3CODE
LOWsrc/maisaka/focus/__init__.py3CODE
LOWsrc/maisaka/focus/__init__.py3CODE
LOWsrc/maisaka/focus/__init__.py4CODE
LOWsrc/maisaka/focus/manager.py3CODE
LOWsrc/maisaka/display/preview_path_utils.py3CODE
LOWsrc/maisaka/display/prompt_cli_renderer.py3CODE
LOWsrc/maisaka/display/__init__.py3CODE
LOWsrc/maisaka/display/__init__.py3CODE
LOWsrc/maisaka/display/__init__.py3CODE
LOWsrc/maisaka/display/__init__.py3CODE
LOWsrc/maisaka/display/__init__.py9CODE
LOWsrc/maisaka/display/__init__.py10CODE
LOWsrc/maisaka/display/__init__.py11CODE
LOWsrc/maisaka/display/__init__.py11CODE
449 more matches not shown…
Deep Nesting346 hits · 258 pts
SeverityFileLineSnippetContext
LOWbot.py79CODE
LOWbot.py211CODE
LOWscripts/mmipkg_tool.py118CODE
LOWscripts/mmipkg_tool.py736CODE
LOWscripts/mmipkg_tool.py766CODE
LOWscripts/mmipkg_tool.py789CODE
LOWscripts/mmipkg_tool.py947CODE
LOWscripts/mmipkg_tool.py1076CODE
LOWscripts/mmipkg_tool.py176CODE
LOWscripts/mmipkg_tool.py324CODE
LOWscripts/mmipkg_tool.py441CODE
LOWscripts/mmipkg_tool.py578CODE
LOWscripts/replay_llm_request.py133CODE
LOWscripts/evaluate_bot_phrase_regex_capture.py256CODE
LOWscripts/evaluate_bot_phrase_regex_capture.py439CODE
LOWscripts/evaluate_bot_phrase_regex_capture.py459CODE
LOWscripts/cleanup_behavior_generic_tags.py219CODE
LOW.github/scripts/update_dashboard_dependency.py92CODE
LOW.github/scripts/update_dashboard_stable_dependency.py120CODE
LOWpytests/A_memorix_test/test_maibot_migration_script.py332CODE
LOWsrc/person_info/person_info.py99CODE
LOWsrc/person_info/person_info.py404CODE
LOWsrc/maisaka/reasoning_engine.py449CODE
LOWsrc/maisaka/reasoning_engine.py874CODE
LOWsrc/maisaka/reasoning_engine.py999CODE
LOWsrc/maisaka/runtime.py1527CODE
LOWsrc/maisaka/reply_necessity.py136CODE
LOWsrc/maisaka/reply_effect/tracker.py115CODE
LOWsrc/maisaka/reply_effect/tracker.py409CODE
LOWsrc/maisaka/monitor/events.py49CODE
LOWsrc/maisaka/context/post_processor.py328CODE
LOWsrc/maisaka/context/messages.py163CODE
LOWsrc/maisaka/memory/heuristic_injector.py324CODE
LOWsrc/maisaka/memory/person_profile.py146CODE
LOWsrc/maisaka/visual/chat_history_refresher.py222CODE
LOWsrc/maisaka/visual/chat_history_refresher.py267CODE
LOWsrc/maisaka/visual/chat_history_refresher.py287CODE
LOWsrc/maisaka/display/prompt_cli_renderer.py192CODE
LOWsrc/maisaka/display/prompt_cli_renderer.py378CODE
LOWsrc/maisaka/display/prompt_preview_logger.py20CODE
LOWsrc/core/config_types.py79CODE
LOWsrc/core/types.py238CODE
LOWsrc/core/types.py291CODE
LOWsrc/core/tooling.py363CODE
LOWsrc/chat/event_helpers.py48CODE
LOWsrc/chat/utils/typo_generator.py46CODE
LOWsrc/chat/utils/typo_generator.py231CODE
LOWsrc/chat/utils/typo_generator.py288CODE
LOWsrc/chat/utils/utils.py145CODE
LOWsrc/chat/utils/utils.py279CODE
LOWsrc/chat/utils/utils.py526CODE
LOWsrc/chat/utils/utils.py567CODE
LOWsrc/chat/utils/utils.py813CODE
LOWsrc/chat/utils/utils.py849CODE
LOWsrc/chat/utils/utils.py180CODE
LOWsrc/chat/utils/statistic.py244CODE
LOWsrc/chat/utils/statistic.py658CODE
LOWsrc/chat/utils/statistic.py842CODE
LOWsrc/chat/utils/statistic.py882CODE
LOWsrc/chat/utils/statistic.py936CODE
286 more matches not shown…
Decorative Section Separators79 hits · 255 pts
SeverityFileLineSnippetContext
MEDIUM.devcontainer/setup-dood-override.sh2# ============================================================================COMMENT
MEDIUM.devcontainer/setup-dood-override.sh4# ============================================================================COMMENT
MEDIUM.devcontainer/setup-dood-override.sh16# ============================================================================COMMENT
MEDIUMdashboard/electron/main/index.ts48 // ── Window control ───────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/electron/main/index.ts57 // ── Backend CRUD ─────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/electron/main/index.ts70 // ── App state ────────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/electron/preload/index.ts12 // ── Platform detection ──────────────────────────────────────────────────COMMENT
MEDIUMdashboard/electron/preload/index.ts15 // ── Window control ──────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/electron/preload/index.ts21 // ── Window event listeners ───────────────────────────────────────────────COMMENT
MEDIUMdashboard/electron/preload/index.ts33 // ── Backend CRUD ─────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/electron/preload/index.ts44 // ── App state ───────────────────────────────────────────────────────────COMMENT
MEDIUMdashboard/electron/preload/index.ts50 // ── Backend event listener ──────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/lib/maisaka-monitor-client.ts10// ─── 事件数据类型 ───────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/lib/maisaka-monitor-client.ts286// ─── 统一事件联合类型 ─────────────────────────────────────────COMMENT
MEDIUMdashboard/src/lib/maisaka-monitor-client.ts308// ─── 客户端 ───────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/routes/monitor/maisaka-monitor.tsx61// ─── 工具函数 ──────────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/routes/monitor/maisaka-monitor.tsx219// ─── 会话侧边栏 ──────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/routes/monitor/maisaka-monitor.tsx315// ─── 单条时间线事件渲染 ──────────────────────────────────────COMMENT
MEDIUMdashboard/src/routes/monitor/maisaka-monitor.tsx1239// ─── 可折叠文本组件 ────────────────────────────────────────────COMMENT
MEDIUMdashboard/src/routes/monitor/maisaka-monitor.tsx1287// ─── 回复器响应卡片 ──────────────────────────────────────────COMMENT
MEDIUMdashboard/src/routes/monitor/maisaka-monitor.tsx1338// ─── 时间线入口渲染器 ──────────────────────────────────────────COMMENT
MEDIUMdashboard/src/routes/monitor/maisaka-monitor.tsx1395// ─── 主组件 ─────────────────────────────────────────────────COMMENT
MEDIUMpytests/config_test/test_config_base.py125 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py127 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py356 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py358 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py485 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py487 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py513 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py515 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py9# -------------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py11# -------------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py47 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py49 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py149 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py151 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py230 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py232 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py300 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py302 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py402 # ---------------------------------------------------------COMMENT
MEDIUMpytests/config_test/test_config_base.py404 # ---------------------------------------------------------COMMENT
MEDIUMsrc/A_memorix/requirements.txt4# ==================COMMENT
MEDIUMsrc/A_memorix/requirements.txt28# ==================COMMENT
MEDIUMsrc/A_memorix/requirements.txt41# ==================COMMENT
MEDIUMsrc/A_memorix/core/storage/metadata_store.py3577 # =========================================================================COMMENT
MEDIUMsrc/A_memorix/core/storage/metadata_store.py3579 # =========================================================================COMMENT
MEDIUMsrc/A_memorix/core/storage/metadata_store.py4113 # =========================================================================COMMENT
MEDIUMsrc/A_memorix/core/storage/metadata_store.py4115 # =========================================================================COMMENT
MEDIUMsrc/A_memorix/core/storage/metadata_store.py4476 # =========================================================================STRING
MEDIUMsrc/A_memorix/core/storage/metadata_store.py4478 # =========================================================================STRING
MEDIUMsrc/A_memorix/core/storage/metadata_store.py4480 # =========================================================================STRING
MEDIUMsrc/A_memorix/core/storage/metadata_store.py4482 # =========================================================================STRING
MEDIUMsrc/A_memorix/core/storage/graph_store.py1253 # =========================================================================COMMENT
MEDIUMsrc/A_memorix/core/storage/graph_store.py1255 # =========================================================================COMMENT
MEDIUMsrc/common/message_server/api.py46 # ---------------------------------------------------------------------COMMENT
MEDIUMsrc/common/message_server/api.py48 # ---------------------------------------------------------------------COMMENT
MEDIUMsrc/plugin_runtime/integration.py155 # ─── 插件目录 ─────────────────────────────────────────────COMMENT
MEDIUMsrc/plugin_runtime/integration.py1856 # ─── 能力实现注册 ──────────────────────────────────────────COMMENT
MEDIUMsrc/plugin_runtime/integration.py1867# ─── 单例 ──────────────────────────────────────────────────COMMENT
19 more matches not shown…
Fake / Example Data69 hits · 89 pts
SeverityFileLineSnippetContext
LOWdashboard/src/i18n/locales/zh.json208 "placeholder": "输入消息...",CODE
LOWdashboard/src/i18n/locales/zh.json781 "placeholder": "请输入一个安全且容易保存的密码",CODE
LOWdashboard/src/i18n/locales/zh.json790 "placeholder": "请选择平台",CODE
LOWdashboard/src/i18n/locales/zh.json798 "placeholder": "请输入平台名称,如 matrix"CODE
LOWdashboard/src/i18n/locales/zh.json802 "placeholder": "请输入机器人的 QQ 账号",CODE
LOWdashboard/src/i18n/locales/zh.json807 "placeholder": "请输入机器人的账号 ID",CODE
LOWdashboard/src/i18n/locales/zh.json812 "placeholder": "请输入机器人的昵称",CODE
LOWdashboard/src/i18n/locales/zh.json817 "placeholder": "输入别名后按回车添加",CODE
LOWdashboard/src/i18n/locales/zh.json826 "placeholder": "描述机器人的人格特质和身份特征(建议 120 字以内)",CODE
LOWdashboard/src/i18n/locales/zh.json831 "placeholder": "描述机器人说话的表达风格、表达习惯",CODE
LOWdashboard/src/i18n/locales/zh.json836 "placeholder": "每行输入一种备用表达风格",CODE
LOWdashboard/src/i18n/locales/zh.json871 "placeholder": "例如:符合公序良俗",CODE
LOWdashboard/src/i18n/locales/zh.json884 "placeholder": "例如 OpenAI、DeepSeek、自建服务",CODE
LOWdashboard/src/i18n/locales/zh.json988 "placeholder": "搜索页面、配置或描述想解决的问题...",CODE
LOWdashboard/src/i18n/locales/ja.json136 "placeholder": "メッセージを入力...",CODE
LOWdashboard/src/i18n/locales/ja.json709 "placeholder": "安全に保管できる Token を入力してください",CODE
LOWdashboard/src/i18n/locales/ja.json718 "placeholder": "プラットフォームを選択",CODE
LOWdashboard/src/i18n/locales/ja.json726 "placeholder": "matrix などのプラットフォーム名を入力"CODE
LOWdashboard/src/i18n/locales/ja.json730 "placeholder": "ボットの QQ アカウントを入力",CODE
LOWdashboard/src/i18n/locales/ja.json735 "placeholder": "ボットのアカウント ID を入力",CODE
LOWdashboard/src/i18n/locales/ja.json740 "placeholder": "ボットのニックネームを入力",CODE
LOWdashboard/src/i18n/locales/ja.json745 "placeholder": "別名を入力して Enter で追加",CODE
LOWdashboard/src/i18n/locales/ja.json754 "placeholder": "ボットの人格や設定を説明してください(120文字以内推奨)",CODE
LOWdashboard/src/i18n/locales/ja.json759 "placeholder": "ボットの話し方や表現の癖を説明してください",CODE
LOWdashboard/src/i18n/locales/ja.json764 "placeholder": "1行につき1つの代替返信スタイルを入力",CODE
LOWdashboard/src/i18n/locales/ja.json799 "placeholder": "例:公序良俗に反しないこと",CODE
LOWdashboard/src/i18n/locales/ja.json812 "placeholder": "例: OpenAI、DeepSeek、自ホストサービス",CODE
LOWdashboard/src/i18n/locales/ja.json917 "placeholder": "ページ、設定、または解決したい問題を検索...",CODE
LOWdashboard/src/i18n/locales/en.json208 "placeholder": "Type a message...",CODE
LOWdashboard/src/i18n/locales/en.json781 "placeholder": "Enter a secure token you can store safely",CODE
LOWdashboard/src/i18n/locales/en.json790 "placeholder": "Select a platform",CODE
LOWdashboard/src/i18n/locales/en.json798 "placeholder": "Enter a platform name, such as matrix"CODE
LOWdashboard/src/i18n/locales/en.json802 "placeholder": "Enter the bot's QQ account",CODE
LOWdashboard/src/i18n/locales/en.json807 "placeholder": "Enter the bot's account ID",CODE
LOWdashboard/src/i18n/locales/en.json812 "placeholder": "Enter the bot's nickname",CODE
LOWdashboard/src/i18n/locales/en.json817 "placeholder": "Type an alias and press Enter to add it",CODE
LOWdashboard/src/i18n/locales/en.json826 "placeholder": "Describe the bot's personality and identity traits (recommended within 120 characters)",CODE
LOWdashboard/src/i18n/locales/en.json831 "placeholder": "Describe how the bot speaks and expresses itself",CODE
LOWdashboard/src/i18n/locales/en.json836 "placeholder": "Enter one alternate reply style per line",CODE
LOWdashboard/src/i18n/locales/en.json871 "placeholder": "For example: appropriate and safe for general audiences",CODE
LOWdashboard/src/i18n/locales/en.json884 "placeholder": "For example OpenAI, DeepSeek, or self-hosted",CODE
LOWdashboard/src/i18n/locales/en.json989 "placeholder": "Search pages, settings, or describe a problem...",CODE
LOWdashboard/src/i18n/locales/ko.json132 "placeholder": "메시지 입력...",CODE
LOWdashboard/src/i18n/locales/ko.json699 "placeholder": "안전하게 보관할 수 있는 Token을 입력하세요",CODE
LOWdashboard/src/i18n/locales/ko.json708 "placeholder": "플랫폼 선택",CODE
LOWdashboard/src/i18n/locales/ko.json716 "placeholder": "예: matrix 와 같은 플랫폼 이름 입력"CODE
LOWdashboard/src/i18n/locales/ko.json720 "placeholder": "봇의 QQ 계정을 입력하세요",CODE
LOWdashboard/src/i18n/locales/ko.json725 "placeholder": "봇의 계정 ID를 입력하세요",CODE
LOWdashboard/src/i18n/locales/ko.json730 "placeholder": "봇의 닉네임을 입력하세요",CODE
LOWdashboard/src/i18n/locales/ko.json735 "placeholder": "별칭을 입력하고 Enter 로 추가",CODE
LOWdashboard/src/i18n/locales/ko.json744 "placeholder": "봇의 성격과 설정을 설명해 주세요 (권장 120자 이내)",CODE
LOWdashboard/src/i18n/locales/ko.json749 "placeholder": "봇이 말하는 방식과 표현 습관을 설명해 주세요",CODE
LOWdashboard/src/i18n/locales/ko.json754 "placeholder": "한 줄에 하나씩 대체 답변 스타일을 입력하세요",CODE
LOWdashboard/src/i18n/locales/ko.json789 "placeholder": "예: 공공질서와 미풍양속에 어긋나지 않음",CODE
LOWdashboard/src/i18n/locales/ko.json802 "placeholder": "예: OpenAI, DeepSeek, 자체 호스팅",CODE
LOWdashboard/src/i18n/locales/ko.json907 "placeholder": "페이지, 설정 또는 해결하려는 문제 검색...",CODE
LOWdashboard/src/routes/plugin-config.tsx155 resolveLocalizedText(field.placeholder, language, '', field.i18n, 'placeholder') ||CODE
LOWdashboard/src/routes/plugin-config.tsx173 'placeholder'CODE
LOW…/src/routes/resource/behavior/__tests__/index.test.tsx745 'placeholder',CODE
LOW…/src/routes/resource/behavior/__tests__/index.test.tsx821 expect(screen.getByLabelText('搜索')).toHaveAttribute('placeholder', 'tag 或 cluster_key')CODE
9 more matches not shown…
Modern Structural Boilerplate91 hits · 84 pts
SeverityFileLineSnippetContext
LOW…ests/A_memorix_test/test_runtime_service_boundaries.py576 def set_runtime_sparse_only(self, enabled: bool) -> None:CODE
LOWsrc/maisaka/chat_loop_service.py867 def set_extra_tools(self, tools: Sequence[ToolDefinitionInput]) -> None:CODE
LOWsrc/maisaka/chat_loop_service.py876 def set_tool_registry(self, tool_registry: ToolRegistry | None) -> None:CODE
LOWsrc/maisaka/chat_loop_service.py885 def set_interrupt_flag(self, interrupt_flag: asyncio.Event | None) -> None:CODE
LOWsrc/maisaka/runtime.py1463 def set_current_action_tool_names(self, tool_names: Sequence[str]) -> None:CODE
LOWsrc/maisaka/runtime.py1474 def update_deferred_tool_specs(self, deferred_tool_specs: Sequence[ToolSpec]) -> None:CODE
LOWsrc/maisaka/runtime.py286 def _update_stage_status(self, stage: str, detail: str = "", *, round_text: str = "") -> None:CODE
LOWsrc/maisaka/runtime.py1205 def _update_message_trigger_state(self, message: SessionMessage) -> None:CODE
LOWsrc/maisaka/reply_effect/__init__.py8__all__ = ["ReplyEffectTracker"]CODE
LOWsrc/maisaka/focus/__init__.py6__all__ = [CODE
LOWsrc/maisaka/display/__init__.py16__all__ = [CODE
LOWsrc/chat/__init__.py10__all__ = [CODE
LOWsrc/chat/message_receive/__init__.py5__all__ = ["chat_manager", "emoji_manager"]CODE
LOWsrc/chat/replyer/maisaka_expression_selector.py553 def _update_last_active_time(self, selected_ids: List[int]) -> None:CODE
LOWsrc/A_memorix/__init__.py5__all__ = ["__version__"]CODE
LOWsrc/A_memorix/plugin.py40 def set_plugin_config(self, config: Dict[str, Any]) -> None:CODE
LOWsrc/A_memorix/runtime_registry.py8def set_runtime_kernel(kernel: Any | None) -> None:CODE
LOWsrc/A_memorix/core/__init__.py48__all__ = [CODE
LOWsrc/A_memorix/core/embedding/__init__.py11__all__ = [CODE
LOWsrc/A_memorix/core/runtime/lifecycle_orchestrator.py49def _set_runtime_vector_pools_ready(plugin: Any, ready: bool) -> None:CODE
LOWsrc/A_memorix/core/runtime/__init__.py9__all__ = [CODE
LOWsrc/A_memorix/core/runtime/sdk_memory_kernel.py586 def _set_vector_health(self, **patch: Any) -> None:CODE
LOWsrc/A_memorix/core/runtime/sdk_memory_kernel.py655 def _set_embedding_degraded(self, *, active: bool, reason: str = "", checked_at: Optional[float] = None) -> None:CODE
LOWsrc/A_memorix/core/runtime/sdk_memory_kernel.py273 def _set_cfg(self, key: str, value: Any) -> None:CODE
LOWsrc/A_memorix/core/runtime/sdk_memory_kernel.py308 def _set_runtime_capability(self, channel: str, available: bool) -> None:CODE
LOWsrc/A_memorix/core/runtime/sdk_memory_kernel.py1091 def _update_dual_vector_auto_migration_stage(self, stage: str, **progress: Any) -> None:CODE
LOW…morix/core/runtime/services/embedding_state_service.py198 def _set_embedding_degraded(self, *, active: bool, reason: str = "", checked_at: Optional[float] = None) -> None:CODE
LOWsrc/A_memorix/core/runtime/services/__init__.py29__all__ = [CODE
LOW…core/runtime/services/dual_vector_migration_service.py91 def _update_dual_vector_auto_migration_stage(self, stage: str, **progress: Any) -> None:CODE
LOW…morix/core/runtime/services/vector_recovery_service.py127 def _set_vector_health(self, **patch: Any) -> None:CODE
LOWsrc/A_memorix/core/utils/__init__.py17__all__ = [CODE
LOWsrc/A_memorix/core/utils/web_import_manager.py423 def set_write_changed_callback(self, callback: Optional[Callable[[Dict[str, Any]], Any]]) -> None:CODE
LOWsrc/A_memorix/core/utils/web_import_manager.py4084 async def _set_file_strategy(self, task_id: str, file_id: str, strategy: Any) -> None:STRING
LOWsrc/A_memorix/core/utils/web_import_manager.py4137 async def _set_file_state(self, task_id: str, file_id: str, status: str, step: str) -> None:STRING
LOWsrc/A_memorix/core/utils/web_import_manager.py4180 async def _set_file_failed(self, task_id: str, file_id: str, error: str) -> None:STRING
LOWsrc/A_memorix/core/utils/web_import_manager.py4195 async def _set_file_cancelled(self, task_id: str, file_id: str, reason: str) -> None:STRING
LOWsrc/A_memorix/core/utils/web_import_manager.py4259 async def _set_chunk_completed(self, task_id: str, file_id: str, chunk_id: str) -> None:STRING
LOWsrc/A_memorix/core/utils/web_import_manager.py4281 async def _set_chunk_failed(self, task_id: str, file_id: str, chunk_id: str, error: str) -> None:STRING
LOWsrc/A_memorix/core/utils/web_import_manager.py4311 async def _set_chunk_cancelled(self, task_id: str, file_id: str, chunk_id: str, reason: str) -> None:STRING
LOWsrc/A_memorix/core/storage/metadata_store.py2876 def set_schema_version(self, version: int = SCHEMA_VERSION) -> None:CODE
LOWsrc/A_memorix/core/storage/metadata_store.py2915 def update_relation_timestamp(self, hash_value: str, access_count_delta: int = 1) -> None:CODE
LOWsrc/A_memorix/core/storage/__init__.py35__all__ = [CODE
LOWsrc/A_memorix/core/retrieval/dual_path.py402 def set_runtime_sparse_only(self, enabled: bool) -> None:CODE
LOWsrc/A_memorix/core/retrieval/__init__.py37__all__ = [CODE
LOWsrc/A_memorix/scripts/import_lpmm_json.py171 def update_progress(step: int = 1, current_task_id=task_id) -> None:CODE
LOWsrc/A_memorix/scripts/migrate_maibot_memory.py414def _set_nested_dict_value(target: Dict[str, Any], dotted_key: str, value: Dict[str, Any]) -> None:CODE
LOWsrc/config/config.py385 def _update_config_file_fingerprints(self, scopes: Sequence[str]) -> None:CODE
LOWsrc/config/config_base.py11__all__ = ["ConfigBase", "Field", "AttributeData"]CODE
LOWsrc/platform_io/__init__.py22__all__ = [CODE
LOWsrc/platform_io/adapter_policy.py214 def set_default_action(self, chat_type: str, action: str) -> None:CODE
LOWsrc/platform_io/adapter_policy.py639 def _set_or_remove_id_list(policy: Table, key: str, ids: List[str]) -> None:CODE
LOWsrc/platform_io/manager.py208 def set_inbound_dispatcher(self, dispatcher: InboundDispatcher) -> None:CODE
LOWsrc/platform_io/drivers/__init__.py7__all__ = [CODE
LOWsrc/platform_io/drivers/base.py48 def set_inbound_handler(self, handler: InboundHandler) -> None:CODE
LOWsrc/common/runtime_loop.py12def set_main_loop(loop: Optional[asyncio.AbstractEventLoop]) -> None:CODE
LOWsrc/common/data_models/planned_action_data_models.py100__all__ = ["PlannedAction", "PlanningContext", "PlanningResult"]CODE
LOWsrc/common/data_models/embedding_service_data_models.py19__all__ = [CODE
LOWsrc/common/data_models/llm_service_data_models.py285__all__ = [CODE
LOWsrc/common/data_models/reply_generation_data_models.py270__all__ = [CODE
LOWsrc/common/data_models/image_data_model.py42 def _set_full_path(self, full_path: Path) -> None:CODE
31 more matches not shown…
Cross-Language Confusion10 hits · 72 pts
SeverityFileLineSnippetContext
HIGHsrc/chat/utils/statistic.py2766 datasets.push({{CODE
HIGHsrc/A_memorix/core/utils/web_import_manager.py4011 "event_time": null,CODE
HIGHsrc/A_memorix/core/utils/web_import_manager.py4012 "event_time_start": null,CODE
HIGHsrc/A_memorix/core/utils/web_import_manager.py4013 "event_time_end": null,CODE
HIGHsrc/A_memorix/core/utils/web_import_manager.py4014 "time_range": null,CODE
HIGHsrc/A_memorix/core/utils/web_import_manager.py4015 "time_granularity": null,CODE
HIGHsrc/A_memorix/scripts/process_knowledge.py327 "event_time": null,CODE
HIGHsrc/A_memorix/scripts/process_knowledge.py328 "event_time_start": null,CODE
HIGHsrc/A_memorix/scripts/process_knowledge.py329 "event_time_end": null,CODE
HIGHsrc/A_memorix/scripts/process_knowledge.py330 "time_range": null,CODE
AI Structural Patterns56 hits · 42 pts
SeverityFileLineSnippetContext
LOWpytests/statistics_test/test_statistics_memory_usage.py12CODE
LOWsrc/maisaka/chat_loop_service.py983CODE
LOWsrc/maisaka/runtime.py1363CODE
LOWsrc/maisaka/display/runtime_mixin.py34CODE
LOWsrc/maisaka/display/runtime_mixin.py309CODE
LOWsrc/core/tooling.py99CODE
LOWsrc/chat/message_receive/chat_manager.py38CODE
LOWsrc/chat/replyer/maisaka_generator_base.py985CODE
LOWsrc/A_memorix/plugin.py106CODE
LOWsrc/A_memorix/plugin.py186CODE
LOWsrc/A_memorix/core/runtime/sdk_memory_kernel.py873CODE
LOWsrc/A_memorix/core/runtime/sdk_memory_kernel.py904CODE
LOWsrc/A_memorix/core/runtime/services/ingest_service.py243CODE
LOWsrc/A_memorix/core/runtime/services/ingest_service.py310CODE
LOW…_memorix/core/runtime/services/delete_admin_service.py812CODE
LOWsrc/A_memorix/core/utils/person_profile_service.py54CODE
LOWsrc/A_memorix/core/utils/episode_retrieval_service.py49CODE
LOWsrc/A_memorix/core/utils/profile_text.py70CODE
LOWsrc/A_memorix/core/storage/metadata_store.py1968CODE
LOWsrc/A_memorix/core/storage/metadata_profile.py173CODE
LOWsrc/A_memorix/core/storage/metadata_fact.py284CODE
LOWsrc/common/message_repository.py67CODE
LOWsrc/common/message_repository.py111CODE
LOWsrc/common/message_repository.py228CODE
LOWsrc/common/data_models/chat_session_data_model.py10CODE
LOWsrc/common/data_models/jargon_data_model.py17CODE
LOWsrc/common/utils/utils_message.py396CODE
LOWsrc/plugin_runtime/host/supervisor.py116CODE
LOWsrc/llm_models/utils_model.py389CODE
LOWsrc/llm_models/utils_model.py458CODE
LOWsrc/llm_models/utils_model.py1169CODE
LOWsrc/webui/routers/behavior.py611CODE
LOWsrc/webui/routers/memory.py2560CODE
LOWsrc/webui/routers/memory.py3169CODE
LOWsrc/webui/routers/model.py227CODE
LOWsrc/webui/routers/model.py598CODE
LOWsrc/webui/routers/jargon.py756CODE
LOWsrc/webui/routers/reply_effects.py160CODE
LOWsrc/webui/routers/reply_effects.py217CODE
LOWsrc/webui/routers/reply_effects.py280CODE
LOWsrc/webui/routers/expression.py1230CODE
LOWsrc/webui/routers/plugin/progress.py56CODE
LOWsrc/webui/routers/emoji/routes.py221CODE
LOWsrc/services/send_service.py937CODE
LOWsrc/services/send_service.py971CODE
LOWsrc/services/send_service.py1022CODE
LOWsrc/services/send_service.py1054CODE
LOWsrc/services/send_service.py1324CODE
LOWsrc/services/send_service.py1352CODE
LOWsrc/services/send_service.py1399CODE
LOWsrc/services/send_service.py1426CODE
LOWsrc/services/generator_service.py93CODE
LOWsrc/services/generator_service.py171CODE
LOWsrc/services/memory_service.py204CODE
LOWsrc/services/memory_service.py270CODE
LOWsrc/services/memory_service.py307CODE
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGH…A_memorix/core/runtime/services/graph_admin_service.py0select distinct p.source from paragraph_entities pe join paragraphs p on p.hash = pe.paragraph_hash where pe.entity_hashSTRING
HIGH…_memorix/core/runtime/services/delete_admin_service.py0select distinct p.source from paragraph_entities pe join paragraphs p on p.hash = pe.paragraph_hash where pe.entity_hashSTRING
HIGHsrc/A_memorix/core/storage/metadata_store.py0select distinct p.source from paragraph_entities pe join paragraphs p on p.hash = pe.paragraph_hash where pe.entity_hashSTRING
HIGH…_memorix/core/runtime/services/delete_admin_service.py0insert or ignore into paragraph_relations (paragraph_hash, relation_hash) values (?, ?)STRING
HIGHsrc/A_memorix/core/storage/metadata_store.py0insert or ignore into paragraph_relations (paragraph_hash, relation_hash) values (?, ?)STRING
HIGHsrc/A_memorix/scripts/migrate_maibot_memory.py0insert or ignore into paragraph_relations (paragraph_hash, relation_hash) values (?, ?)STRING
Over-Commented Block22 hits · 22 pts
SeverityFileLineSnippetContext
LOWdocker-compose.yml41 # restart: alwaysCOMMENT
LOWdocker-compose.yml81 - maim_botCOMMENT
LOW.devcontainer/setup-dood-override.sh1#!/bin/shCOMMENT
LOWscripts/run.sh901# [Unit]COMMENT
LOWsrc/chat/message_receive/uni_message_sender.py301 message.raw_message.components.insert(0, ReplyComponent(reply_message_id))COMMENT
LOWsrc/chat/message_receive/uni_message_sender.py321COMMENT
LOWsrc/A_memorix/requirements.txt41# ==================COMMENT
LOWsrc/learners/learner_utils_old.py221COMMENT
LOWsrc/learners/learner_utils_old.py241# messages=context_messages,COMMENT
LOWsrc/learners/learner_utils_old.py261# """判断消息是否来自机器人自身"""COMMENT
LOWsrc/learners/learner_utils_old.py281# platform_accounts = parse_platform_accounts(getattr(bot_config, "platforms", []) or [])COMMENT
LOWsrc/learners/learner_utils_old.py301COMMENT
LOWsrc/learners/learner_utils_old.py321# raw = response.strip()COMMENT
LOWsrc/learners/learner_utils_old.py341# parsed = json.loads(raw)COMMENT
LOWsrc/learners/learner_utils_old.py361# char = text[i]COMMENT
LOWsrc/learners/learner_utils_old.py381# i += 1COMMENT
LOWsrc/learners/learner_utils_old.py401COMMENT
LOWsrc/learners/learner_utils_old.py421# parsed_list = parsedCOMMENT
LOWsrc/learners/learner_utils_old.py441# source_id = str(item.get("source_id", "")).strip()COMMENT
LOWsrc/common/data_models/llm_data_model.py1# from dataclasses import dataclassCOMMENT
LOWsrc/common/data_models/llm_data_model.py21# processed_output: Optional[List[str]] = NoneCOMMENT
LOWsrc/webui/middleware/anti_crawler.py121COMMENT
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALsrc/chat/utils/statistic.py1911 const items = chart.options.plugins.legend.labels.generateLabels(chart);CODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHsrc/config/default_model_config.py12 "api_key": "your-api-key",CODE
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMpytests/test_bot_account_service.py98CODE