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.
This report presents the forensic synthetic code analysis of Mai-with-u/MaiBot, a Python project with 5,500 GitHub stars. SynthScan v2.0 examined 381,009 lines of code across 1011 source files, recording 5621 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 15.0 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 5621 distinct pattern matches across 18 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 | bot.py | 49 | def _print_interrupt_exit_notice() -> None: | CODE |
| LOW | bot.py | 55 | def _mark_shutdown_and_interrupt(_signum: int, _frame: object) -> None: | CODE |
| LOW | bot.py | 71 | def _cancel_active_main_task_from_signal() -> None: | CODE |
| LOW | bot.py | 303 | def _is_windows_proactor_cancel_race(error: BaseException) -> bool: | CODE |
| LOW | bot.py | 379 | def _prompt_user_confirmation(eula_hash: str, privacy_hash: str) -> None: | CODE |
| LOW⚡ | dashboard/src/components/theme-provider.tsx | 24 | function dashboardStyleToConfigValue(style: DashboardStyle): 0 | 1 { | CODE |
| LOW⚡ | dashboard/src/components/theme-provider.tsx | 28 | function configValueToDashboardStyle(value: unknown): DashboardStyle { | CODE |
| LOW⚡ | dashboard/src/components/theme-provider.tsx | 32 | function shouldSyncRemoteWebUIStyle(): boolean { | CODE |
| LOW | …shboard/src/components/background-effects-controls.tsx | 75 | export function BackgroundEffectsControls({ | CODE |
| LOW | dashboard/src/components/CodeEditorImpl.tsx | 34 | function createDiffDecorationExtension( | CODE |
| LOW | dashboard/src/components/local-cache-image-utils.ts | 18 | export function formatLocalCacheCleanupDescription(result: { | CODE |
| LOW | dashboard/src/components/ui/chart.tsx | 333 | function getPayloadConfigFromPayload( | CODE |
| LOW | …oard/src/components/dynamic-form/DynamicConfigForm.tsx | 190 | function NestedDynamicConfigSection({ | CODE |
| LOW | dashboard/src/lib/keyboard.ts | 52 | export function getPlatformModifierAriaLabel(): string { | CODE |
| LOW | dashboard/src/lib/expression-api.ts | 149 | export async function previewLegacyExpressionImport(params: { | CODE |
| LOW | dashboard/src/lib/expression-api.ts | 161 | export async function previewLegacyExpressionImportFile( | CODE |
| LOW | dashboard/src/lib/expression-api.ts | 233 | export async function updateExpressionReviewStatus( | CODE |
| LOW | dashboard/src/lib/expression-api.ts | 300 | export async function getExpressionClusterMembers(params: { | CODE |
| LOW | dashboard/src/lib/expression-api.ts | 388 | export async function approveExpressionReviewLog( | CODE |
| LOW | dashboard/src/lib/chat-management-api.ts | 238 | export async function updateChatStreamTalkFrequency( | CODE |
| LOW | dashboard/src/lib/chat-management-api.ts | 255 | export async function deleteChatStreamTalkFrequency( | CODE |
| LOW | dashboard/src/lib/chat-management-api.ts | 325 | export async function updateChatStreamAdapterPolicy( | CODE |
| LOW | dashboard/src/lib/plugin-stats.ts | 89 | function normalizePluginStatsResponse(data: unknown, pluginId: string): PluginStatsData | null { | CODE |
| LOW | dashboard/src/lib/plugin-stats.ts | 131 | function readPluginStatsSummaryStorageCache(): PluginStatsSummaryStorageCache | null { | CODE |
| LOW | dashboard/src/lib/plugin-stats.ts | 162 | function writePluginStatsSummaryStorageCache(data: Record<string, PluginStatsData>): void { | CODE |
| LOW | dashboard/src/lib/plugin-stats.ts | 203 | export function getCachedPluginStatsSummary(): Record<string, PluginStatsData> | null { | CODE |
| LOW | dashboard/src/lib/plugin-stats.ts | 234 | async function fetchPluginStatsSummaryUncached(): Promise<Record<string, PluginStatsData>> { | CODE |
| LOW | dashboard/src/lib/prompt-generator-api.ts | 7 | function normalizePromptGeneratorError(error: unknown): never { | CODE |
| LOW | dashboard/src/lib/prompt-generator-api.ts | 87 | export async function applyPromptGeneratorBlocks( | CODE |
| LOW | dashboard/src/lib/system-api.ts | 212 | export function getLocalCacheImagePreviewUrl(target: LocalCacheImageTarget, relativePath: string): string { | CODE |
| LOW | dashboard/src/lib/system-api.ts | 226 | export async function getLocalCacheDatabaseStats(): Promise<DatabaseStorageStats> { | CODE |
| LOW | dashboard/src/lib/system-api.ts | 251 | export async function deleteLocalCacheDataEntry(relativePath: string): Promise<LocalCacheCleanupResult> { | CODE |
| LOW | dashboard/src/lib/system-api.ts | 308 | export async function deleteLocalCacheImagesByDateRange( | CODE |
| LOW | dashboard/src/lib/system-api.ts | 324 | export async function deleteLocalCacheImagesOlderThanRecentDays( | CODE |
| LOW | dashboard/src/lib/system-api.ts | 338 | export async function getLocalCacheLogDirectories(): Promise<LocalCacheLogDirectoryListResponse> { | CODE |
| LOW | dashboard/src/lib/system-api.ts | 347 | export async function deleteLocalCacheLogDirectory(relativePath: string): Promise<LocalCacheCleanupResult> { | CODE |
| LOW | dashboard/src/lib/config-api.ts | 78 | function invalidateConfigDataCache(key?: string): void { | CODE |
| LOW | dashboard/src/lib/config-api.ts | 260 | export async function updateModelConfigVersionLabel( | CODE |
| LOW | dashboard/src/lib/reasoning-process-api.ts | 147 | export async function listReasoningPromptStages(): Promise<ReasoningPromptStagesResponse> { | CODE |
| LOW | dashboard/src/lib/reasoning-process-api.ts | 154 | export async function clearReasoningPromptStage(stage: string): Promise<ReasoningPromptClearStageResponse> { | CODE |
| LOW | dashboard/src/lib/reasoning-process-api.ts | 170 | export async function getReasoningPromptHtmlUrl(path: string): Promise<string> { | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1277 | export async function getMemoryGraphParagraphDetail( | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1321 | export async function getMemoryDeleteOperations( | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1385 | export async function rollbackMemoryCorrectionPlan( | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1395 | export async function getMemoryFeedbackCorrections( | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1418 | export async function getMemoryFeedbackCorrection( | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1424 | export async function rollbackMemoryFeedbackCorrection( | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1511 | export async function processMemoryEpisodePending(payload: { | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1573 | export async function deleteMemoryProfileOverride(personId: string): Promise<MemoryProfileOverridePayload> { | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1591 | export async function correctMemoryProfileEvidence(payload: { | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1644 | export async function refreshMemoryRuntimeSelfCheck(): Promise<MemoryRuntimeSelfCheckPayload> { | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1650 | export async function rebuildMemoryRuntimeVectors(payload: { | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1695 | export async function getMemoryImportPathAliases(): Promise<MemoryImportPathAliasesPayload> { | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1699 | export async function getMemoryImportChatTargets(): Promise<MemoryImportChatTargetsPayload> { | CODE |
| LOW | dashboard/src/lib/memory-api.ts | 1724 | export async function getMemoryImportTaskChunks( | CODE |
| LOW⚡ | dashboard/src/lib/memory-api.ts | 1754 | export async function createMemoryRawScanImport(payload: Record<string, unknown>): Promise<MemoryImportActionPayload> { | CODE |
| LOW⚡ | dashboard/src/lib/memory-api.ts | 1761 | export async function createMemoryLpmmOpenieImport(payload: Record<string, unknown>): Promise<MemoryImportActionPayload> | CODE |
| LOW⚡ | dashboard/src/lib/memory-api.ts | 1768 | export async function createMemoryLpmmConvertImport(payload: Record<string, unknown>): Promise<MemoryImportActionPayload | CODE |
| LOW⚡ | dashboard/src/lib/memory-api.ts | 1775 | export async function createMemoryTemporalBackfillImport(payload: Record<string, unknown>): Promise<MemoryImportActionPa | CODE |
| LOW⚡ | dashboard/src/lib/memory-api.ts | 1782 | export async function createMemoryMaibotMigrationImport(payload: Record<string, unknown>): Promise<MemoryImportActionPay | CODE |
| 3164 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bot.py | 221 | except Exception as e: | CODE |
| LOW | bot.py | 267 | except Exception as e: | CODE |
| LOW | bot.py | 272 | except Exception as e: | CODE |
| LOW | bot.py | 286 | except Exception as exc: | CODE |
| LOW | bot.py | 343 | except Exception as ge: | CODE |
| LOW | bot.py | 525 | except Exception as e: | CODE |
| LOW | bot.py | 547 | except Exception as e: | CODE |
| LOW | plugins/hello_world_plugin/plugin.py | 162 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 113 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 153 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 231 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 314 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 427 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 526 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 533 | except Exception as e2: | CODE |
| LOW | scripts/mmipkg_tool.py | 568 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 696 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 711 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 846 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 1098 | except Exception as e: | CODE |
| LOW | scripts/mmipkg_tool.py | 1114 | except Exception as e: | CODE |
| LOW | scripts/test_model_tool_call_params.py | 113 | except Exception: | CODE |
| LOW | scripts/i18n_validate.py | 247 | except Exception as exc: | CODE |
| LOW | scripts/i18n_validate.py | 297 | except Exception as exc: | CODE |
| LOW | scripts/test_tool_call_api_matrix.py | 77 | except Exception: | CODE |
| LOW | scripts/build_io_pairs.py | 68 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | scripts/build_io_pairs.py | 337 | except Exception: | CODE |
| LOW | scripts/build_io_pairs.py | 349 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | scripts/jargon_learn_from_message_segments.py | 335 | except Exception as exc: | CODE |
| LOW | scripts/jargon_learn_from_planner_logs.py | 341 | except Exception as exc: | CODE |
| LOW | scripts/jargon_learn_from_planner_logs.py | 410 | except Exception as exc: | CODE |
| LOW | scripts/evaluate_bot_phrase_regex_capture.py | 762 | except Exception as exc: | CODE |
| LOW | scripts/cleanup_behavior_generic_tags.py | 426 | except Exception: | CODE |
| LOW | scripts/expression_selection/llm_judge.py | 209 | except Exception: | CODE |
| LOW | scripts/expression_selection/offline_runner.py | 244 | except Exception: | CODE |
| LOW | scripts/make_scripts/generate_requirements.py | 35 | except Exception as e: | CODE |
| MEDIUM | scripts/make_scripts/generate_requirements.py | 4 | def generate_requirements(pyproject_path="pyproject.toml", output_path="requirem | CODE |
| LOW | …emorix_test/test_chat_summary_writeback_integration.py | 140 | except Exception: | CODE |
| LOW | …emorix_test/test_chat_summary_writeback_integration.py | 397 | except Exception: | CODE |
| LOW | pytests/A_memorix_test/test_maibot_migration_script.py | 38 | except Exception: | CODE |
| LOW | pytests/A_memorix_test/test_maibot_migration_script.py | 77 | except Exception: | CODE |
| LOW⚡ | pytests/A_memorix_test/test_maibot_migration_script.py | 306 | except Exception: | CODE |
| LOW⚡ | pytests/A_memorix_test/test_maibot_migration_script.py | 310 | except Exception: | CODE |
| LOW⚡ | pytests/A_memorix_test/test_maibot_migration_script.py | 314 | except Exception: | CODE |
| LOW⚡ | pytests/A_memorix_test/test_maibot_migration_script.py | 318 | except Exception: | CODE |
| LOW⚡ | pytests/A_memorix_test/test_maibot_migration_script.py | 327 | except Exception: | CODE |
| LOW | pytests/A_memorix_test/test_maibot_migration_script.py | 385 | except Exception: | CODE |
| MEDIUM | pytests/A_memorix_test/test_maibot_migration_script.py | 303 | def _close_runner(runner) -> None: | CODE |
| LOW⚡ | pytests/image_sys_test/image_manager_test.py | 221 | except Exception: | CODE |
| LOW | src/main.py | 99 | except Exception as e: | CODE |
| LOW | src/main.py | 111 | except Exception: | CODE |
| LOW | src/main.py | 150 | except Exception: | CODE |
| LOW | src/main.py | 203 | except Exception as e: | CODE |
| LOW⚡ | src/person_info/person_info.py | 64 | except Exception as e: | CODE |
| LOW | src/person_info/person_info.py | 450 | except Exception as e: | CODE |
| LOW | src/person_info/person_info.py | 505 | except Exception as e: | CODE |
| LOW | src/person_info/person_info.py | 599 | except Exception as e: | CODE |
| MEDIUM | src/maisaka/reasoning_engine.py | 483 | def build_heuristic_memory_message() -> str: | CODE |
| MEDIUM | src/maisaka/reasoning_engine.py | 492 | def build_profile_messages() -> list[str]: | CODE |
| LOW⚡ | src/maisaka/reasoning_engine.py | 488 | except Exception as exc: | CODE |
| 1188 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/person_info/person_info.py | 23 | 将数据库中的群名片 JSON 转换为 `Person` 内部使用的结构。 Args: group_cardname_json: 数据库存储的群名片 JSON 字符串。 Returns: l | STRING |
| HIGH | src/chat/message_receive/chat_manager.py | 104 | 获取会话,如果不存在则创建一个新会话;一个封装方法。 Args: platform: 平台 user_id: 用户ID group_id: 群ID(如 | STRING |
| HIGH | src/chat/image_system/image_manager.py | 87 | 获取图片描述的封装方法 如果图片已存在于数据库中,则直接返回描述 如果不存在,则**保存图片**并**生成描述**后返回 Args: image | STRING |
| HIGH | src/chat/image_system/image_manager.py | 396 | 保存图片并生成描述 Args: image_bytes (bytes): 图片的字节数据 Returns: return (MaiImage | STRING |
| HIGH | src/A_memorix/core/storage/graph_store.py | 181 | 添加节点 Args: nodes: 节点名称列表 attributes: 节点属性字典 {node_name: {attr: value}} | STRING |
| HIGH | src/emoji_system/emoji_manager.py | 308 | 根据表情包哈希获取表情包描述和情感列表的封装方法 Args: emoji_bytes (Optional[bytes]): 表情包的字节数据,如果提供了字节数据但数据库中没有找到对 | STRING |
| HIGH | src/platform_io/dedupe.py | 62 | 标记一条去重键已经出现过。 Args: dedupe_key: 能稳定标识一条外部入站消息的去重键。 Returns: bool: 若该键在当前 TTL 窗 | STRING |
| HIGH | src/platform_io/outbound_tracker.py | 120 | 开始跟踪一次出站投递。 Args: internal_message_id: 正在投递的内部消息 ID。 route_key: 这次出站投递选择的路由键。 | STRING |
| HIGH | src/platform_io/route_key_factory.py | 70 | 从消息字典中提取 ``RouteKey``。 Args: message_dict: Host 与插件之间传输的消息字典。 Returns: RouteKe | STRING |
| HIGH | src/platform_io/manager.py | 145 | 从运行中的 Broker 停止并移除一个驱动。 如果 Broker 尚未启动,则该方法等价于 ``unregister_driver()``。 Args: driver_id: 要 | STRING |
| HIGH | src/platform_io/manager.py | 255 | 从 Broker 注销一个驱动。 Args: driver_id: 要移除的驱动 ID。 Returns: Optional[PlatformIODrive | STRING |
| HIGH | src/platform_io/manager.py | 573 | 构造用于入站抑制的去重键。 Args: envelope: 当前正在处理的入站封装。 Returns: Optional[str]: 若可以构造稳定去重键则 | STRING |
| HIGH | src/common/data_models/person_info_data_model.py | 35 | 解析数据库中的群名片 JSON 字段。 Args: group_cardname_json: 数据库存储的群名片 JSON 字符串。 Returns: Optional[List[Grou | STRING |
| HIGH | src/common/database/database.py | 159 | 获取数据库会话的上下文管理器 (推荐使用,自动提交)。 Examples: ---- .. code-block:: python # 方式1: 自动提交 (推荐 - 默认行为) | STRING |
| HIGH | src/common/utils/utils_image.py | 79 | 将GIF图片水平拼接为静态图像,跳过相似帧 Args: gif_bytes (bytes): 输入的GIF图片字节数据 similarity_thresho | STRING |
| HIGH | src/common/utils/utils_image.py | 217 | 将图片字节数据转换为Base64编码字符串 Args: image_bytes (bytes): 输入的图片字节数据 Returns: st | STRING |
| HIGH | src/common/utils/utils_session.py | 16 | 计算session_id Args: platform: 平台名称 user_id: 用户ID(如果是私聊) group_id: 群ID(如果是群聊) | STRING |
| HIGH | src/plugin_runtime/local_sdk.py | 20 | 解析并校验环境变量指定的本地 SDK 路径。 Args: environ: 环境变量映射;留空时读取 ``os.environ``。 project_root: 相对路径解析基准;留空时使用当前工作 | STRING |
| HIGH | src/plugin_runtime/integration.py | 995 | 请求运行时按插件自身配置模型校验配置。 Args: plugin_id: 目标插件 ID。 config_data: 待校验的配置内容。 Returns: | STRING |
| HIGH | src/plugin_runtime/integration.py | 1038 | 请求运行时解析插件配置元数据。 Args: plugin_id: 目标插件 ID。 config_data: 可选的配置内容。 use_provide | STRING |
| HIGH | src/plugin_runtime/hook_payloads.py | 28 | 从 Hook 载荷恢复会话消息。 Args: raw_message: Hook 返回的消息字典。 Returns: SessionMessage: 恢复后的会话消息对象。 Ra | STRING |
| HIGH | src/plugin_runtime/hook_payloads.py | 72 | 从 Hook 载荷恢复工具调用列表。 Args: raw_tool_calls: Hook 返回的工具调用列表。 Returns: List[ToolCall]: 恢复后的工具调用列表。 | STRING |
| HIGH | src/plugin_runtime/hook_payloads.py | 143 | 从 Hook 载荷恢复 LLM 消息列表。 Args: raw_messages: Hook 返回的消息列表。 Returns: List[Message]: 恢复后的 LLM 消息列表。 | STRING |
| HIGH | src/plugin_runtime/host/message_gateway.py | 28 | 将标准消息字典转换为 ``SessionMessage``。 Args: external_message: 外部消息的字典格式数据。 Returns: S | STRING |
| HIGH | src/plugin_runtime/host/component_registry.py | 283 | 规范化 Hook 异常处理策略。 Args: raw_value: 原始异常处理策略值。 Returns: str: 规范化后的异常处理策略。 | STRING |
| HIGH | src/plugin_runtime/host/component_registry.py | 303 | 规范化命名 Hook 名称。 Args: raw_value: 原始 Hook 名称。 Returns: str: 去空白后的 Hook 名称。 | STRING |
| HIGH | src/plugin_runtime/host/component_registry.py | 322 | 规范化 Hook 处理模式。 Args: raw_value: 原始模式值。 Returns: str: 规范化后的模式。 Raises: | STRING |
| HIGH | src/plugin_runtime/host/component_registry.py | 342 | 规范化 Hook 顺序槽位。 Args: raw_value: 原始顺序值。 Returns: str: 规范化后的顺序槽位。 Raise | STRING |
| HIGH | src/plugin_runtime/host/component_registry.py | 362 | 规范化 Hook 超时配置。 Args: raw_value: 原始超时值。 Returns: int: 规范化后的超时毫秒数。 Rais | STRING |
| HIGH | src/plugin_runtime/host/component_registry.py | 416 | 规范化消息网关路由类型。 Args: raw_value: 原始路由类型值。 Returns: str: 规范化后的路由类型。 Raise | STRING |
| HIGH | src/plugin_runtime/host/component_registry.py | 563 | 规范化组件类型输入。 Args: component_type: 原始组件类型字符串。 Returns: ComponentTypes: 规范化后的组件类型 | STRING |
| HIGH | src/plugin_runtime/host/component_registry.py | 655 | 根据声明构造组件条目。 Args: name: 组件名称。 component_type: 组件类型。 plugin_id: 插件 ID。 | STRING |
| HIGH | src/plugin_runtime/host/component_registry.py | 798 | 注册单个组件。 Args: name: 组件名称(不含插件 ID 前缀)。 component_type: 组件类型(如 ``ACTION``、``COMMAND`` 等)。 | STRING |
| HIGH | src/plugin_runtime/host/component_registry.py | 825 | 批量替换一个插件的组件集合。 该方法会先完整校验所有组件声明,只有全部通过后才会替换旧组件, 从而避免插件进入半注册状态。 Args: plugin_id: 插件 | STRING |
| HIGH | src/plugin_runtime/host/supervisor.py | 764 | 请求 Runner 使用插件自身配置模型校验配置。 Args: plugin_id: 目标插件 ID。 config_data: 待校验的配置内容。 Ret | STRING |
| HIGH | src/plugin_runtime/host/supervisor.py | 804 | 请求 Runner 解析插件配置元数据。 Args: plugin_id: 目标插件 ID。 config_data: 可选的配置内容。 use_pr | STRING |
| HIGH | src/plugin_runtime/host/supervisor.py | 888 | 等待 Runner 完成启动初始化。 Args: timeout_sec: 超时时间,单位秒。 Returns: RunnerReadyPayload: R | STRING |
| HIGH | src/plugin_runtime/host/supervisor.py | 1297 | 根据消息网关运行时状态构造路由键。 Args: gateway_entry: 消息网关组件条目。 payload: 网关上报的运行时状态。 Returns: | STRING |
| HIGH | src/plugin_runtime/host/hook_dispatcher.py | 375 | 规范化命名 Hook 名称。 Args: hook_name: 原始 Hook 名称。 Returns: str: 规范化后的 Hook 名称。 | STRING |
| HIGH | src/plugin_runtime/host/hook_spec_registry.py | 45 | 规范化 Hook 名称。 Args: hook_name: 原始 Hook 名称。 Returns: str: 规范化后的 Hook 名称。 | STRING |
| HIGH | src/plugin_runtime/host/hook_spec_registry.py | 64 | 规范化 Hook 参数模型。 Args: raw_schema: 原始参数模型。 Returns: Dict[str, Any]: 规范化后的对象级 JSO | STRING |
| HIGH | src/plugin_runtime/host/rpc_server.py | 184 | 向 Runner 发送 RPC 请求并等待响应 Args: method: RPC 方法名 plugin_id: 目标插件 ID payload: 请 | STRING |
| HIGH | src/plugin_runtime/capabilities/core.py | 39 | 校验并规范化插件传入的提示参数。 Args: prompt: 原始提示参数。 Returns: str | List[Dict[str, Any]]: 规范化后的提示输入。 Ra | STRING |
| HIGH | src/plugin_runtime/runner/runner_main.py | 273 | 提取插件配置中的版本号。 Args: config_data: 插件配置字典。 Returns: str: ``plugin.config_version`` 的规范化字符串值。 | STRING |
| HIGH | src/plugin_runtime/runner/runner_main.py | 977 | 基于配置版本决定是否需要重建插件配置。 Args: raw_config: 当前磁盘上的插件配置。 default_config: 插件最新默认配置。 Re | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 201 | 校验作者名称。 Args: value: 原始作者名称。 Returns: str: 规范化后的作者名称。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 219 | 校验作者主页地址。 Args: value: 原始主页地址。 Returns: str: 规范化后的主页地址。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 248 | 校验仓库地址。 Args: value: 原始仓库地址。 Returns: str: 规范化后的仓库地址。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 268 | 校验可选链接字段。 Args: value: 原始链接值。 Returns: Optional[str]: 合法的链接值。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 297 | 校验版本号格式。 Args: value: 原始版本号。 Returns: str: 合法的版本号。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 337 | 校验默认语言。 Args: value: 原始默认语言。 Returns: str: 规范化后的默认语言。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 355 | 校验语言资源目录。 Args: value: 原始语言资源目录。 Returns: Optional[str]: 合法的目录值。 Rais | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 375 | 校验支持语言列表。 Args: value: 原始语言列表。 Returns: List[str]: 去重后的语言列表。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 420 | 校验依赖插件 ID。 Args: value: 原始依赖插件 ID。 Returns: str: 合法的依赖插件 ID。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 438 | 校验插件依赖版本约束。 Args: value: 原始版本约束表达式。 Returns: str: 合法的版本约束表达式。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 468 | 校验 Python 包名。 Args: value: 原始包名。 Returns: str: 合法的包名。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 486 | 校验 Python 包版本约束。 Args: value: 原始版本约束表达式。 Returns: str: 合法的版本约束表达式。 Ra | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 521 | 校验客户端类型标识。 Args: value: 原始客户端类型标识。 Returns: str: 合法的客户端类型标识。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 642 | 校验插件版本号格式。 Args: value: 原始插件版本号。 Returns: str: 合法的插件版本号。 Raises: | STRING |
| HIGH | src/plugin_runtime/runner/manifest_validator.py | 660 | 校验必填字符串字段。 Args: value: 原始字段值。 info: Pydantic 字段上下文。 Returns: str: | STRING |
| 45 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/i18n_validate.py | 1 | CODE | |
| LOW | scripts/analyze_tool_usage_by_chat.py | 1 | CODE | |
| LOW | scripts/evaluate_bot_phrase_regex_capture.py | 1 | CODE | |
| LOW | scripts/i18n_extract_candidates.py | 1 | CODE | |
| LOW | scripts/run_a_memorix_webui_backend.py | 1 | CODE | |
| LOW | scripts/analyze_maisaka_prompt_sections.py | 1 | CODE | |
| LOW | scripts/expression_selection/vector_index_tools.py | 9 | CODE | |
| LOW | scripts/expression_selection/llm_judge.py | 7 | CODE | |
| LOW | scripts/expression_selection/offline_runner.py | 9 | CODE | |
| LOW | scripts/expression_selection/offline_runner.py | 19 | CODE | |
| LOW | .github/scripts/update_dashboard_dependency.py | 1 | CODE | |
| LOW | …s/A_memorix_test/test_dual_pool_compatibility_edges.py | 1 | CODE | |
| LOW | …emorix_test/test_chat_summary_writeback_integration.py | 1 | CODE | |
| LOW | …ests/A_memorix_test/test_dual_vector_pool_retrieval.py | 1 | CODE | |
| LOW | …sts/A_memorix_test/test_embedding_dimension_control.py | 1 | CODE | |
| LOW | …ests/A_memorix_test/test_memory_graph_search_kernel.py | 1 | CODE | |
| LOW | pytests/A_memorix_test/test_graph_store_persistence.py | 1 | CODE | |
| LOW | pytests/A_memorix_test/test_maibot_migration_script.py | 1 | CODE | |
| LOW | …_memorix_test/test_group_chat_stream_fixture_schema.py | 1 | CODE | |
| LOW | pytests/A_memorix_test/test_vector_rebuild_runtime.py | 1 | CODE | |
| LOW | pytests/prompt_test/test_prompt_i18n.py | 1 | CODE | |
| LOW | pytests/i18n_test/test_i18n_validate.py | 1 | CODE | |
| LOW | pytests/i18n_test/test_i18n.py | 1 | CODE | |
| LOW | pytests/webui/test_memory_routes_integration.py | 1 | CODE | |
| LOW | pytests/webui/test_memory_routes_integration.py | 14 | CODE | |
| LOW | src/__init__.py | 1 | CODE | |
| LOW | src/maisaka/idle_backoff.py | 11 | CODE | |
| LOW | src/maisaka/turn_gates.py | 18 | CODE | |
| LOW | src/maisaka/turn_scheduler.py | 12 | CODE | |
| LOW | src/maisaka/reply_effect/scoring.py | 3 | CODE | |
| LOW | src/maisaka/reply_effect/__init__.py | 3 | CODE | |
| LOW | src/maisaka/reply_effect/judge.py | 3 | CODE | |
| LOW | src/maisaka/memory/heuristic_injector.py | 3 | CODE | |
| LOW | src/maisaka/memory/person_profile.py | 3 | CODE | |
| LOW | src/maisaka/utils/tool_record_payload.py | 3 | CODE | |
| LOW | src/maisaka/utils/tool_post_execution.py | 3 | CODE | |
| LOW | src/maisaka/focus/__init__.py | 3 | CODE | |
| LOW | src/maisaka/focus/__init__.py | 3 | CODE | |
| LOW | src/maisaka/focus/__init__.py | 4 | CODE | |
| LOW | src/maisaka/focus/manager.py | 3 | CODE | |
| LOW | src/maisaka/display/preview_path_utils.py | 3 | CODE | |
| LOW | src/maisaka/display/prompt_cli_renderer.py | 3 | CODE | |
| LOW | src/maisaka/display/__init__.py | 3 | CODE | |
| LOW | src/maisaka/display/__init__.py | 3 | CODE | |
| LOW | src/maisaka/display/__init__.py | 3 | CODE | |
| LOW | src/maisaka/display/__init__.py | 3 | CODE | |
| LOW | src/maisaka/display/__init__.py | 9 | CODE | |
| LOW | src/maisaka/display/__init__.py | 10 | CODE | |
| LOW | src/maisaka/display/__init__.py | 11 | CODE | |
| LOW | src/maisaka/display/__init__.py | 11 | CODE | |
| LOW | src/maisaka/display/runtime_mixin.py | 3 | CODE | |
| LOW | src/maisaka/display/prompt_preview_logger.py | 3 | CODE | |
| LOW | src/maisaka/builtin_tool/provider.py | 3 | CODE | |
| LOW | src/maisaka/builtin_tool/query_person_profile.py | 3 | CODE | |
| LOW | src/maisaka/builtin_tool/query_memory.py | 3 | CODE | |
| LOW | src/core/tooling.py | 7 | CODE | |
| LOW | src/chat/__init__.py | 6 | CODE | |
| LOW | src/chat/__init__.py | 7 | CODE | |
| LOW | src/chat/event_helpers.py | 14 | CODE | |
| LOW | src/chat/event_helpers.py | 15 | CODE | |
| 367 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .devcontainer/setup-dood-override.sh | 2 | # ============================================================================ | COMMENT |
| MEDIUM | .devcontainer/setup-dood-override.sh | 4 | # ============================================================================ | COMMENT |
| MEDIUM | .devcontainer/setup-dood-override.sh | 16 | # ============================================================================ | COMMENT |
| MEDIUM | dashboard/electron/main/index.ts | 48 | // ── Window control ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/electron/main/index.ts | 57 | // ── Backend CRUD ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/electron/main/index.ts | 70 | // ── App state ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | dashboard/electron/preload/index.ts | 12 | // ── Platform detection ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | dashboard/electron/preload/index.ts | 15 | // ── Window control ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | dashboard/electron/preload/index.ts | 21 | // ── Window event listeners ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/electron/preload/index.ts | 33 | // ── Backend CRUD ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/electron/preload/index.ts | 44 | // ── App state ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/electron/preload/index.ts | 50 | // ── Backend event listener ────────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/src/lib/maisaka-monitor-client.ts | 10 | // ─── 事件数据类型 ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/src/lib/maisaka-monitor-client.ts | 276 | // ─── 统一事件联合类型 ───────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/src/lib/maisaka-monitor-client.ts | 298 | // ─── 客户端 ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/src/routes/monitor/maisaka-monitor.tsx | 61 | // ─── 工具函数 ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/src/routes/monitor/maisaka-monitor.tsx | 199 | // ─── 会话侧边栏 ────────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/src/routes/monitor/maisaka-monitor.tsx | 276 | // ─── 单条时间线事件渲染 ────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/src/routes/monitor/maisaka-monitor.tsx | 1013 | // ─── 可折叠文本组件 ──────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/src/routes/monitor/maisaka-monitor.tsx | 1067 | // ─── 回复器响应卡片 ────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/src/routes/monitor/maisaka-monitor.tsx | 1114 | // ─── 时间线入口渲染器 ────────────────────────────────────────── | COMMENT |
| MEDIUM | dashboard/src/routes/monitor/maisaka-monitor.tsx | 1155 | // ─── 主组件 ───────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/run_lpmm.sh | 3 | # ============================================== | COMMENT |
| MEDIUM⚡ | scripts/run_lpmm.sh | 5 | # ============================================== | COMMENT |
| MEDIUM | scripts/run_lpmm.sh | 33 | # ============================================== | COMMENT |
| MEDIUM | scripts/run_lpmm.sh | 35 | # ============================================== | COMMENT |
| MEDIUM⚡ | pytests/config_test/test_config_base.py | 125 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pytests/config_test/test_config_base.py | 127 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pytests/config_test/test_config_base.py | 356 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pytests/config_test/test_config_base.py | 358 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pytests/config_test/test_config_base.py | 485 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pytests/config_test/test_config_base.py | 487 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pytests/config_test/test_config_base.py | 513 | # --------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | pytests/config_test/test_config_base.py | 515 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 9 | # ------------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 11 | # ------------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 47 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 49 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 149 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 151 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 230 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 232 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 300 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 302 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 402 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | pytests/config_test/test_config_base.py | 404 | # --------------------------------------------------------- | COMMENT |
| MEDIUM | src/A_memorix/requirements.txt | 4 | # ================== | COMMENT |
| MEDIUM | src/A_memorix/requirements.txt | 28 | # ================== | COMMENT |
| MEDIUM | src/A_memorix/requirements.txt | 41 | # ================== | COMMENT |
| MEDIUM⚡ | src/A_memorix/core/storage/metadata_store.py | 6212 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | src/A_memorix/core/storage/metadata_store.py | 6214 | # ========================================================================= | COMMENT |
| MEDIUM | src/A_memorix/core/storage/metadata_store.py | 5544 | # ========================================================================= | COMMENT |
| MEDIUM | src/A_memorix/core/storage/metadata_store.py | 5546 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | src/A_memorix/core/storage/metadata_store.py | 5099 | # ========================================================================= | STRING |
| MEDIUM⚡ | src/A_memorix/core/storage/metadata_store.py | 5101 | # ========================================================================= | STRING |
| MEDIUM⚡ | src/A_memorix/core/storage/metadata_store.py | 5888 | # ========================================================================= | STRING |
| MEDIUM⚡ | src/A_memorix/core/storage/metadata_store.py | 5890 | # ========================================================================= | STRING |
| MEDIUM | src/A_memorix/core/storage/graph_store.py | 1018 | # ========================================================================= | COMMENT |
| MEDIUM | src/A_memorix/core/storage/graph_store.py | 1020 | # ========================================================================= | COMMENT |
| MEDIUM | src/common/message_server/api.py | 46 | # --------------------------------------------------------------------- | COMMENT |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bot.py | 79 | CODE | |
| LOW | bot.py | 212 | CODE | |
| LOW | scripts/mmipkg_tool.py | 118 | CODE | |
| LOW | scripts/mmipkg_tool.py | 736 | CODE | |
| LOW | scripts/mmipkg_tool.py | 766 | CODE | |
| LOW | scripts/mmipkg_tool.py | 789 | CODE | |
| LOW | scripts/mmipkg_tool.py | 947 | CODE | |
| LOW | scripts/mmipkg_tool.py | 1076 | CODE | |
| LOW | scripts/mmipkg_tool.py | 176 | CODE | |
| LOW | scripts/mmipkg_tool.py | 324 | CODE | |
| LOW | scripts/mmipkg_tool.py | 441 | CODE | |
| LOW | scripts/mmipkg_tool.py | 578 | CODE | |
| LOW | scripts/test_model_tool_call_params.py | 260 | CODE | |
| LOW | scripts/test_model_tool_call_params.py | 384 | CODE | |
| LOW | scripts/test_tool_call_api_matrix.py | 355 | CODE | |
| LOW | scripts/evaluate_bot_phrase_regex_capture.py | 256 | CODE | |
| LOW | scripts/evaluate_bot_phrase_regex_capture.py | 439 | CODE | |
| LOW | scripts/evaluate_bot_phrase_regex_capture.py | 459 | CODE | |
| LOW | scripts/cleanup_behavior_generic_tags.py | 219 | CODE | |
| LOW | .github/scripts/update_dashboard_dependency.py | 92 | CODE | |
| LOW | pytests/A_memorix_test/test_maibot_migration_script.py | 332 | CODE | |
| LOW | src/person_info/person_info.py | 99 | CODE | |
| LOW | src/person_info/person_info.py | 404 | CODE | |
| LOW | src/maisaka/reply_necessity.py | 136 | CODE | |
| LOW | src/maisaka/monitor/events.py | 49 | CODE | |
| LOW | src/maisaka/context/post_processor.py | 101 | CODE | |
| LOW | src/maisaka/context/messages.py | 146 | CODE | |
| LOW | src/maisaka/memory/heuristic_injector.py | 324 | CODE | |
| LOW | src/maisaka/memory/person_profile.py | 144 | CODE | |
| LOW | src/maisaka/visual/chat_history_refresher.py | 220 | CODE | |
| LOW | src/maisaka/visual/chat_history_refresher.py | 265 | CODE | |
| LOW | src/maisaka/visual/chat_history_refresher.py | 285 | CODE | |
| LOW | src/core/config_types.py | 79 | CODE | |
| LOW | src/core/types.py | 235 | CODE | |
| LOW | src/core/types.py | 288 | CODE | |
| LOW | src/core/tooling.py | 358 | CODE | |
| LOW | src/chat/event_helpers.py | 48 | CODE | |
| LOW | src/chat/utils/typo_generator.py | 46 | CODE | |
| LOW | src/chat/utils/typo_generator.py | 231 | CODE | |
| LOW | src/chat/utils/typo_generator.py | 288 | CODE | |
| LOW | src/chat/utils/utils.py | 143 | CODE | |
| LOW | src/chat/utils/utils.py | 274 | CODE | |
| LOW | src/chat/utils/utils.py | 476 | CODE | |
| LOW | src/chat/utils/utils.py | 517 | CODE | |
| LOW | src/chat/utils/utils.py | 728 | CODE | |
| LOW | src/chat/utils/utils.py | 764 | CODE | |
| LOW | src/chat/utils/utils.py | 179 | CODE | |
| LOW | src/chat/utils/statistic.py | 230 | CODE | |
| LOW | src/chat/utils/statistic.py | 649 | CODE | |
| LOW | src/chat/utils/statistic.py | 831 | CODE | |
| LOW | src/chat/utils/statistic.py | 871 | CODE | |
| LOW | src/chat/utils/statistic.py | 925 | CODE | |
| LOW | src/chat/utils/statistic.py | 2204 | CODE | |
| LOW | src/chat/message_receive/uni_message_sender.py | 60 | CODE | |
| LOW | src/chat/message_receive/message.py | 183 | CODE | |
| LOW | src/chat/message_receive/message.py | 359 | CODE | |
| LOW | src/chat/message_receive/message.py | 421 | CODE | |
| LOW | src/chat/message_receive/chat_manager.py | 96 | CODE | |
| LOW | src/chat/message_receive/chat_manager.py | 321 | CODE | |
| LOW | src/chat/image_system/image_cache_cleanup.py | 100 | CODE | |
| 237 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dashboard/src/i18n/locales/zh.json | 88 | "placeholder": "输入消息...", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/zh.json | 614 | "placeholder": "请输入一个安全且容易保存的 Token", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/zh.json | 623 | "placeholder": "请选择平台", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/zh.json | 631 | "placeholder": "请输入平台名称,如 matrix" | CODE |
| LOW⚡ | dashboard/src/i18n/locales/zh.json | 635 | "placeholder": "请输入机器人的 QQ 账号", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/zh.json | 640 | "placeholder": "请输入机器人的账号 ID", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/zh.json | 645 | "placeholder": "请输入机器人的昵称", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/zh.json | 650 | "placeholder": "输入别名后按回车添加", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/zh.json | 659 | "placeholder": "描述机器人的人格特质和身份特征(建议 120 字以内)", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/zh.json | 664 | "placeholder": "描述机器人说话的表达风格、表达习惯", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/zh.json | 669 | "placeholder": "每行输入一种备用表达风格", | CODE |
| LOW | dashboard/src/i18n/locales/zh.json | 704 | "placeholder": "例如:符合公序良俗", | CODE |
| LOW | dashboard/src/i18n/locales/zh.json | 717 | "placeholder": "例如 OpenAI、DeepSeek、自建服务", | CODE |
| LOW | dashboard/src/i18n/locales/zh.json | 799 | "placeholder": "搜索页面...", | CODE |
| LOW | dashboard/src/i18n/locales/ja.json | 88 | "placeholder": "メッセージを入力...", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ja.json | 614 | "placeholder": "安全に保管できる Token を入力してください", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ja.json | 623 | "placeholder": "プラットフォームを選択", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ja.json | 631 | "placeholder": "matrix などのプラットフォーム名を入力" | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ja.json | 635 | "placeholder": "ボットの QQ アカウントを入力", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ja.json | 640 | "placeholder": "ボットのアカウント ID を入力", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ja.json | 645 | "placeholder": "ボットのニックネームを入力", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ja.json | 650 | "placeholder": "別名を入力して Enter で追加", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ja.json | 659 | "placeholder": "ボットの人格や設定を説明してください(120文字以内推奨)", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ja.json | 664 | "placeholder": "ボットの話し方や表現の癖を説明してください", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ja.json | 669 | "placeholder": "1行につき1つの代替返信スタイルを入力", | CODE |
| LOW | dashboard/src/i18n/locales/ja.json | 704 | "placeholder": "例:公序良俗に反しないこと", | CODE |
| LOW | dashboard/src/i18n/locales/ja.json | 717 | "placeholder": "例: OpenAI、DeepSeek、自ホストサービス", | CODE |
| LOW | dashboard/src/i18n/locales/ja.json | 799 | "placeholder": "ページを検索...", | CODE |
| LOW | dashboard/src/i18n/locales/en.json | 88 | "placeholder": "Type a message...", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/en.json | 614 | "placeholder": "Enter a secure token you can store safely", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/en.json | 623 | "placeholder": "Select a platform", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/en.json | 631 | "placeholder": "Enter a platform name, such as matrix" | CODE |
| LOW⚡ | dashboard/src/i18n/locales/en.json | 635 | "placeholder": "Enter the bot's QQ account", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/en.json | 640 | "placeholder": "Enter the bot's account ID", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/en.json | 645 | "placeholder": "Enter the bot's nickname", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/en.json | 650 | "placeholder": "Type an alias and press Enter to add it", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/en.json | 659 | "placeholder": "Describe the bot's personality and identity traits (recommended within 120 characters)", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/en.json | 664 | "placeholder": "Describe how the bot speaks and expresses itself", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/en.json | 669 | "placeholder": "Enter one alternate reply style per line", | CODE |
| LOW | dashboard/src/i18n/locales/en.json | 704 | "placeholder": "For example: appropriate and safe for general audiences", | CODE |
| LOW | dashboard/src/i18n/locales/en.json | 717 | "placeholder": "For example OpenAI, DeepSeek, or self-hosted", | CODE |
| LOW | dashboard/src/i18n/locales/en.json | 799 | "placeholder": "Search pages...", | CODE |
| LOW | dashboard/src/i18n/locales/ko.json | 86 | "placeholder": "메시지 입력...", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ko.json | 606 | "placeholder": "안전하게 보관할 수 있는 Token을 입력하세요", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ko.json | 615 | "placeholder": "플랫폼 선택", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ko.json | 623 | "placeholder": "예: matrix 와 같은 플랫폼 이름 입력" | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ko.json | 627 | "placeholder": "봇의 QQ 계정을 입력하세요", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ko.json | 632 | "placeholder": "봇의 계정 ID를 입력하세요", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ko.json | 637 | "placeholder": "봇의 닉네임을 입력하세요", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ko.json | 642 | "placeholder": "별칭을 입력하고 Enter 로 추가", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ko.json | 651 | "placeholder": "봇의 성격과 설정을 설명해 주세요 (권장 120자 이내)", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ko.json | 656 | "placeholder": "봇이 말하는 방식과 표현 습관을 설명해 주세요", | CODE |
| LOW⚡ | dashboard/src/i18n/locales/ko.json | 661 | "placeholder": "한 줄에 하나씩 대체 답변 스타일을 입력하세요", | CODE |
| LOW | dashboard/src/i18n/locales/ko.json | 696 | "placeholder": "예: 공공질서와 미풍양속에 어긋나지 않음", | CODE |
| LOW | dashboard/src/i18n/locales/ko.json | 709 | "placeholder": "예: OpenAI, DeepSeek, 자체 호스팅", | CODE |
| LOW | dashboard/src/i18n/locales/ko.json | 791 | "placeholder": "페이지 검색...", | CODE |
| LOW | dashboard/src/routes/plugin-config.tsx | 155 | resolveLocalizedText(field.placeholder, language, '', field.i18n, 'placeholder') || | CODE |
| LOW | dashboard/src/routes/plugin-config.tsx | 173 | 'placeholder' | CODE |
| LOW | src/core/config_types.py | 129 | "placeholder": self.placeholder, | CODE |
| LOW | src/A_memorix/config_schema.json | 116 | "placeholder": "auto", | CODE |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/chat/utils/statistic.py | 2505 | datasets.push({{ | CODE |
| HIGH⚡ | src/A_memorix/core/utils/web_import_manager.py | 3816 | "event_time": null, | CODE |
| HIGH⚡ | src/A_memorix/core/utils/web_import_manager.py | 3817 | "event_time_start": null, | CODE |
| HIGH⚡ | src/A_memorix/core/utils/web_import_manager.py | 3818 | "event_time_end": null, | CODE |
| HIGH⚡ | src/A_memorix/core/utils/web_import_manager.py | 3819 | "time_range": null, | CODE |
| HIGH⚡ | src/A_memorix/core/utils/web_import_manager.py | 3820 | "time_granularity": null, | CODE |
| HIGH⚡ | src/A_memorix/scripts/process_knowledge.py | 326 | "event_time": null, | CODE |
| HIGH⚡ | src/A_memorix/scripts/process_knowledge.py | 327 | "event_time_start": null, | CODE |
| HIGH⚡ | src/A_memorix/scripts/process_knowledge.py | 328 | "event_time_end": null, | CODE |
| HIGH⚡ | src/A_memorix/scripts/process_knowledge.py | 329 | "time_range": null, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/maisaka/chat_loop_service.py | 762 | def set_extra_tools(self, tools: Sequence[ToolDefinitionInput]) -> None: | CODE |
| LOW⚡ | src/maisaka/chat_loop_service.py | 771 | def set_tool_registry(self, tool_registry: ToolRegistry | None) -> None: | CODE |
| LOW⚡ | src/maisaka/chat_loop_service.py | 780 | def set_interrupt_flag(self, interrupt_flag: asyncio.Event | None) -> None: | CODE |
| LOW⚡ | src/maisaka/runtime.py | 1434 | def set_current_action_tool_names(self, tool_names: Sequence[str]) -> None: | CODE |
| LOW⚡ | src/maisaka/runtime.py | 1445 | def update_deferred_tool_specs(self, deferred_tool_specs: Sequence[ToolSpec]) -> None: | CODE |
| LOW | src/maisaka/runtime.py | 281 | def _update_stage_status(self, stage: str, detail: str = "", *, round_text: str = "") -> None: | CODE |
| LOW | src/maisaka/runtime.py | 1180 | def _update_message_trigger_state(self, message: SessionMessage) -> None: | CODE |
| LOW | src/maisaka/reply_effect/__init__.py | 5 | __all__ = ["ReplyEffectTracker"] | CODE |
| LOW | src/maisaka/focus/__init__.py | 6 | __all__ = [ | CODE |
| LOW | src/maisaka/display/__init__.py | 16 | __all__ = [ | CODE |
| LOW | src/chat/__init__.py | 10 | __all__ = [ | CODE |
| LOW | src/chat/message_receive/__init__.py | 5 | __all__ = ["chat_manager", "emoji_manager"] | CODE |
| LOW | src/chat/replyer/maisaka_expression_selector.py | 560 | def _update_last_active_time(self, selected_ids: List[int]) -> None: | CODE |
| LOW | src/A_memorix/__init__.py | 5 | __all__ = ["__version__"] | CODE |
| LOW | src/A_memorix/plugin.py | 35 | def set_plugin_config(self, config: Dict[str, Any]) -> None: | CODE |
| LOW | src/A_memorix/runtime_registry.py | 8 | def set_runtime_kernel(kernel: Any | None) -> None: | CODE |
| LOW | src/A_memorix/core/__init__.py | 48 | __all__ = [ | CODE |
| LOW | src/A_memorix/core/embedding/__init__.py | 11 | __all__ = [ | CODE |
| LOW | src/A_memorix/core/runtime/lifecycle_orchestrator.py | 49 | def _set_runtime_vector_pools_ready(plugin: Any, ready: bool) -> None: | CODE |
| LOW | src/A_memorix/core/runtime/__init__.py | 9 | __all__ = [ | CODE |
| LOW | src/A_memorix/core/runtime/sdk_memory_kernel.py | 271 | def _set_cfg(self, key: str, value: Any) -> None: | CODE |
| LOW | src/A_memorix/core/runtime/sdk_memory_kernel.py | 1028 | def _set_embedding_degraded(self, *, active: bool, reason: str = "", checked_at: Optional[float] = None) -> None: | CODE |
| LOW | src/A_memorix/core/runtime/sdk_memory_kernel.py | 3130 | def _update_dual_vector_auto_migration_stage(self, stage: str, **progress: Any) -> None: | STRING |
| LOW | src/A_memorix/core/utils/__init__.py | 17 | __all__ = [ | CODE |
| LOW | src/A_memorix/core/utils/web_import_manager.py | 410 | def set_write_changed_callback(self, callback: Optional[Callable[[Dict[str, Any]], Any]]) -> None: | CODE |
| LOW | src/A_memorix/core/utils/web_import_manager.py | 3889 | async def _set_file_strategy(self, task_id: str, file_id: str, strategy: Any) -> None: | STRING |
| LOW | src/A_memorix/core/utils/web_import_manager.py | 3942 | async def _set_file_state(self, task_id: str, file_id: str, status: str, step: str) -> None: | STRING |
| LOW | src/A_memorix/core/utils/web_import_manager.py | 3982 | async def _set_file_failed(self, task_id: str, file_id: str, error: str) -> None: | STRING |
| LOW | src/A_memorix/core/utils/web_import_manager.py | 3997 | async def _set_file_cancelled(self, task_id: str, file_id: str, reason: str) -> None: | STRING |
| LOW | src/A_memorix/core/utils/web_import_manager.py | 4061 | async def _set_chunk_completed(self, task_id: str, file_id: str, chunk_id: str) -> None: | STRING |
| LOW | src/A_memorix/core/utils/web_import_manager.py | 4083 | async def _set_chunk_failed(self, task_id: str, file_id: str, chunk_id: str, error: str) -> None: | STRING |
| LOW | src/A_memorix/core/utils/web_import_manager.py | 4113 | async def _set_chunk_cancelled(self, task_id: str, file_id: str, chunk_id: str, reason: str) -> None: | STRING |
| LOW | src/A_memorix/core/storage/metadata_store.py | 4952 | def set_schema_version(self, version: int = SCHEMA_VERSION) -> None: | CODE |
| LOW | src/A_memorix/core/storage/metadata_store.py | 5084 | def update_relation_timestamp(self, hash_value: str, access_count_delta: int = 1) -> None: | CODE |
| LOW | src/A_memorix/core/storage/__init__.py | 29 | __all__ = [ | CODE |
| LOW | src/A_memorix/core/retrieval/dual_path.py | 350 | def set_runtime_sparse_only(self, enabled: bool) -> None: | CODE |
| LOW | src/A_memorix/core/retrieval/__init__.py | 36 | __all__ = [ | CODE |
| LOW | src/A_memorix/scripts/import_lpmm_json.py | 147 | def update_progress(step: int = 1) -> None: | CODE |
| LOW | src/A_memorix/scripts/migrate_maibot_memory.py | 414 | def _set_nested_dict_value(target: Dict[str, Any], dotted_key: str, value: Dict[str, Any]) -> None: | CODE |
| LOW | src/config/config_base.py | 11 | __all__ = ["ConfigBase", "Field", "AttributeData"] | CODE |
| LOW | src/platform_io/__init__.py | 22 | __all__ = [ | CODE |
| LOW | src/platform_io/adapter_policy.py | 418 | def _set_or_remove_id_list(policy: Table, key: str, ids: List[str]) -> None: | CODE |
| LOW | src/platform_io/manager.py | 207 | def set_inbound_dispatcher(self, dispatcher: InboundDispatcher) -> None: | CODE |
| LOW | src/platform_io/drivers/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/platform_io/drivers/base.py | 48 | def set_inbound_handler(self, handler: InboundHandler) -> None: | CODE |
| LOW | src/common/runtime_loop.py | 12 | def set_main_loop(loop: Optional[asyncio.AbstractEventLoop]) -> None: | CODE |
| LOW | src/common/data_models/planned_action_data_models.py | 100 | __all__ = ["PlannedAction", "PlanningContext", "PlanningResult"] | CODE |
| LOW | src/common/data_models/embedding_service_data_models.py | 17 | __all__ = [ | CODE |
| LOW | src/common/data_models/llm_service_data_models.py | 190 | __all__ = [ | CODE |
| LOW | src/common/data_models/reply_generation_data_models.py | 258 | __all__ = [ | CODE |
| LOW⚡ | src/common/data_models/image_data_model.py | 42 | def _set_full_path(self, full_path: Path) -> None: | CODE |
| LOW | src/common/i18n/__init__.py | 59 | __all__ = [ | CODE |
| LOW | src/common/message_server/__init__.py | 19 | __all__ = ["get_global_api"] | CODE |
| LOW⚡ | src/plugin_runtime/host/supervisor.py | 253 | def set_external_available_plugins(self, plugin_versions: Dict[str, str]) -> None: | CODE |
| LOW | src/plugin_runtime/host/supervisor.py | 348 | def set_blocked_plugin_reasons(self, blocked_plugin_reasons: Dict[str, str]) -> None: | CODE |
| LOW | src/plugin_runtime/capabilities/__init__.py | 6 | __all__ = [ | CODE |
| LOW⚡ | src/plugin_runtime/capabilities/components.py | 612 | def _set_nested_plugin_config_value(config_data: Dict[str, Any], key: str, value: Any) -> None: | CODE |
| LOW | src/plugin_runtime/runner/plugin_loader.py | 92 | def set_blocked_plugin_reasons(self, blocked_plugin_reasons: Optional[Dict[str, str]] = None) -> None: | CODE |
| LOW | src/plugin_runtime/runner/plugin_loader.py | 294 | def set_loaded_plugin(self, meta: PluginMeta) -> None: | CODE |
| LOW | src/plugin_runtime/runner/runner_main.py | 98 | def _set_context(self, context: Any) -> None: | CODE |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/maisaka/display/runtime_mixin.py | 34 | CODE | |
| LOW | src/maisaka/display/runtime_mixin.py | 309 | CODE | |
| LOW | src/core/tooling.py | 94 | CODE | |
| LOW | src/chat/message_receive/chat_manager.py | 37 | CODE | |
| LOW | src/chat/replyer/maisaka_generator_base.py | 891 | CODE | |
| LOW | src/A_memorix/plugin.py | 91 | CODE | |
| LOW | src/A_memorix/plugin.py | 171 | CODE | |
| LOW | src/A_memorix/core/runtime/sdk_memory_kernel.py | 2405 | CODE | |
| LOW | src/A_memorix/core/runtime/sdk_memory_kernel.py | 2467 | CODE | |
| LOW | src/A_memorix/core/runtime/sdk_memory_kernel.py | 9790 | CODE | |
| LOW | src/A_memorix/core/utils/person_profile_service.py | 51 | CODE | |
| LOW | src/A_memorix/core/utils/profile_text.py | 70 | CODE | |
| LOW | src/A_memorix/core/storage/metadata_store.py | 4069 | CODE | |
| LOW | src/common/message_repository.py | 67 | CODE | |
| LOW | src/common/message_repository.py | 111 | CODE | |
| LOW | src/common/message_repository.py | 235 | CODE | |
| LOW | src/common/data_models/chat_session_data_model.py | 10 | CODE | |
| LOW | src/common/data_models/jargon_data_model.py | 17 | CODE | |
| LOW | src/common/utils/utils_message.py | 396 | CODE | |
| LOW | src/plugin_runtime/host/supervisor.py | 106 | CODE | |
| LOW | src/llm_models/utils_model.py | 382 | CODE | |
| LOW | src/llm_models/utils_model.py | 459 | CODE | |
| LOW | src/llm_models/utils_model.py | 1040 | CODE | |
| LOW | src/webui/routers/behavior.py | 611 | CODE | |
| LOW | src/webui/routers/memory.py | 2530 | CODE | |
| LOW | src/webui/routers/memory.py | 3139 | CODE | |
| LOW | src/webui/routers/model.py | 596 | CODE | |
| LOW | src/webui/routers/jargon.py | 755 | CODE | |
| LOW | src/webui/routers/expression.py | 1229 | CODE | |
| LOW | src/webui/routers/plugin/progress.py | 56 | CODE | |
| LOW | src/webui/routers/emoji/routes.py | 221 | CODE | |
| LOW | src/services/send_service.py | 928 | CODE | |
| LOW | src/services/send_service.py | 962 | CODE | |
| LOW | src/services/send_service.py | 1013 | CODE | |
| LOW | src/services/send_service.py | 1045 | CODE | |
| LOW | src/services/send_service.py | 1291 | CODE | |
| LOW | src/services/send_service.py | 1334 | CODE | |
| LOW | src/services/generator_service.py | 93 | CODE | |
| LOW | src/services/generator_service.py | 171 | CODE | |
| LOW | src/services/memory_service.py | 196 | CODE | |
| LOW | src/services/memory_service.py | 260 | CODE | |
| LOW | src/services/memory_service.py | 297 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/A_memorix/core/runtime/sdk_memory_kernel.py | 0 | insert or ignore into paragraph_relations (paragraph_hash, relation_hash) values (?, ?) | STRING |
| HIGH | src/A_memorix/core/storage/metadata_store.py | 0 | insert or ignore into paragraph_relations (paragraph_hash, relation_hash) values (?, ?) | STRING |
| HIGH | src/A_memorix/scripts/migrate_maibot_memory.py | 0 | insert or ignore into paragraph_relations (paragraph_hash, relation_hash) values (?, ?) | STRING |
| HIGH | src/A_memorix/core/runtime/sdk_memory_kernel.py | 0 | insert or ignore into paragraph_entities (paragraph_hash, entity_hash, mention_count) values (?, ?, ?) | STRING |
| HIGH | src/A_memorix/core/storage/metadata_store.py | 0 | insert or ignore into paragraph_entities (paragraph_hash, entity_hash, mention_count) values (?, ?, ?) | STRING |
| HIGH | src/A_memorix/scripts/migrate_maibot_memory.py | 0 | insert or ignore into paragraph_entities (paragraph_hash, entity_hash, mention_count) values (?, ?, ?) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.yml | 41 | # ports: | COMMENT |
| LOW | docker-compose.yml | 81 | COMMENT | |
| LOW | .devcontainer/setup-dood-override.sh | 1 | #!/bin/sh | COMMENT |
| LOW | scripts/run.sh | 901 | # [Unit] | COMMENT |
| LOW | src/chat/message_receive/uni_message_sender.py | 301 | message.raw_message.components.insert(0, ReplyComponent(reply_message_id)) | COMMENT |
| LOW | src/chat/message_receive/uni_message_sender.py | 321 | COMMENT | |
| LOW | src/chat/replyer/maisaka_generator_base.py | 181 | # target_lines = [ | COMMENT |
| LOW | src/A_memorix/requirements.txt | 41 | # ================== | COMMENT |
| LOW | src/learners/learner_utils_old.py | 221 | COMMENT | |
| LOW | src/learners/learner_utils_old.py | 241 | # messages=context_messages, | COMMENT |
| LOW | src/learners/learner_utils_old.py | 261 | # """判断消息是否来自机器人自身""" | COMMENT |
| LOW | src/learners/learner_utils_old.py | 281 | # platform_accounts = parse_platform_accounts(getattr(bot_config, "platforms", []) or []) | COMMENT |
| LOW | src/learners/learner_utils_old.py | 301 | COMMENT | |
| LOW | src/learners/learner_utils_old.py | 321 | # raw = response.strip() | COMMENT |
| LOW | src/learners/learner_utils_old.py | 341 | # parsed = json.loads(raw) | COMMENT |
| LOW | src/learners/learner_utils_old.py | 361 | # char = text[i] | COMMENT |
| LOW | src/learners/learner_utils_old.py | 381 | # i += 1 | COMMENT |
| LOW | src/learners/learner_utils_old.py | 401 | COMMENT | |
| LOW | src/learners/learner_utils_old.py | 421 | # parsed_list = parsed | COMMENT |
| LOW | src/learners/learner_utils_old.py | 441 | # source_id = str(item.get("source_id", "")).strip() | COMMENT |
| LOW | src/common/data_models/llm_data_model.py | 1 | # from dataclasses import dataclass | COMMENT |
| LOW | src/common/data_models/llm_data_model.py | 21 | # processed_output: Optional[List[str]] = None | COMMENT |
| LOW | src/webui/middleware/anti_crawler.py | 121 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | src/chat/utils/statistic.py | 1656 | const items = chart.options.plugins.legend.labels.generateLabels(chart); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/run_lpmm.sh | 7 | # Step 1: Locate project root directory | COMMENT |
| LOW⚡ | scripts/run_lpmm.sh | 12 | # Step 2: Verify scripts directory exists | COMMENT |
| LOW⚡ | scripts/run_lpmm.sh | 19 | # Step 3: Set up Python environment | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/run_lpmm.sh | 7 | # Step 1: Locate project root directory | COMMENT |
| LOW⚡ | scripts/run_lpmm.sh | 12 | # Step 2: Verify scripts directory exists | COMMENT |
| LOW⚡ | scripts/run_lpmm.sh | 19 | # Step 3: Set up Python environment | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/config/default_model_config.py | 12 | "api_key": "your-api-key", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/A_memorix/scripts/process_knowledge.py | 667 | # Same logic, but ensure robust | COMMENT |
| LOW | src/A_memorix/scripts/process_knowledge.py | 470 | # For quotes, extract might be just pass through or regex | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/A_memorix/scripts/process_knowledge.py | 456 | # Creating a new chunk using rescue strategy logic might be complex if split behavior differs. | COMMENT |