MemoryBear Equip AI with human-like memory capability
This report presents the forensic synthetic code analysis of SuanmoSuanyangTechnology/MemoryBear, a Python project with 4,771 GitHub stars. SynthScan v2.0 examined 395,415 lines of code across 1611 source files, recording 5584 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 17.9 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 5584 distinct pattern matches across 23 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⚡ | sandbox/app/dependencies.py | 28 | except Exception as e: | CODE |
| LOW | sandbox/app/dependencies.py | 83 | except Exception as e: | CODE |
| LOW | sandbox/app/dependencies.py | 132 | except Exception as e: | CODE |
| LOW | sandbox/app/dependencies.py | 164 | except Exception as e: | CODE |
| LOW⚡ | sandbox/app/middleware/concurrency.py | 75 | except Exception as exc: | CODE |
| LOW⚡ | sandbox/app/middleware/concurrency.py | 82 | except Exception: | CODE |
| LOW | sandbox/app/core/executor.py | 46 | except Exception as e: | CODE |
| LOW | sandbox/app/services/nodejs_service.py | 41 | except Exception as e: | CODE |
| LOW | sandbox/app/services/python_service.py | 48 | except Exception as e: | CODE |
| LOW⚡ | sandbox/app/services/python_service.py | 66 | except Exception as e: | CODE |
| LOW⚡ | sandbox/app/services/python_service.py | 79 | except Exception as e: | CODE |
| LOW | api/check_code.py | 37 | except Exception as e: | CODE |
| LOW | api/app/aioRedis.py | 85 | except Exception as e: | CODE |
| LOW⚡ | api/app/aioRedis.py | 106 | except Exception as e: | CODE |
| LOW⚡ | api/app/aioRedis.py | 114 | except Exception as e: | CODE |
| LOW⚡ | api/app/aioRedis.py | 123 | except Exception as e: | CODE |
| LOW | api/app/aioRedis.py | 136 | except Exception as e: | CODE |
| LOW | api/app/aioRedis.py | 179 | except Exception as e: | CODE |
| LOW | api/app/aioRedis.py | 184 | except Exception as e: | CODE |
| LOW | api/app/aioRedis.py | 197 | except Exception: | CODE |
| LOW | api/app/aioRedis.py | 202 | except Exception: | CODE |
| LOW | api/app/aioRedis.py | 213 | except Exception as e: | CODE |
| LOW⚡ | api/app/tasks.py | 209 | except Exception: | CODE |
| LOW⚡ | api/app/tasks.py | 212 | except Exception: | CODE |
| LOW⚡ | api/app/tasks.py | 218 | except Exception: | CODE |
| LOW⚡ | api/app/tasks.py | 1865 | except Exception as _count_e: | CODE |
| LOW⚡ | api/app/tasks.py | 1873 | except Exception as _wt_e: | CODE |
| LOW⚡ | api/app/tasks.py | 1878 | except Exception: | CODE |
| LOW⚡ | api/app/tasks.py | 2662 | except Exception as e: | CODE |
| LOW⚡ | api/app/tasks.py | 2970 | except Exception as e: | CODE |
| LOW⚡ | api/app/tasks.py | 3557 | except Exception as e: | CODE |
| LOW⚡ | api/app/tasks.py | 3819 | except Exception as e: | CODE |
| LOW⚡ | api/app/tasks.py | 3986 | except Exception as e: | CODE |
| LOW⚡ | api/app/tasks.py | 3989 | except Exception as e: | CODE |
| LOW⚡ | api/app/tasks.py | 3995 | except Exception: | CODE |
| LOW | api/app/tasks.py | 129 | except Exception: | CODE |
| LOW | api/app/tasks.py | 195 | except Exception: | CODE |
| LOW | api/app/tasks.py | 247 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 271 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 296 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 334 | except Exception: | CODE |
| LOW | api/app/tasks.py | 408 | except Exception: | CODE |
| LOW | api/app/tasks.py | 674 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 796 | except Exception as exc: | CODE |
| LOW | api/app/tasks.py | 800 | except Exception as retry_exc: | CODE |
| LOW | api/app/tasks.py | 880 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 893 | except Exception: | CODE |
| LOW | api/app/tasks.py | 976 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 1061 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 1163 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 1227 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 1239 | except Exception: | CODE |
| LOW | api/app/tasks.py | 1246 | except Exception: | CODE |
| LOW | api/app/tasks.py | 1441 | except Exception: | CODE |
| LOW | api/app/tasks.py | 1535 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 1630 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 1693 | except Exception: | CODE |
| LOW | api/app/tasks.py | 1714 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 1721 | except Exception as e: | CODE |
| LOW | api/app/tasks.py | 1794 | except Exception as e: | CODE |
| 1665 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | api/app/dependencies.py | 42 | Extract API Key from request headers Args: request: FastAPI Request object | STRING |
| HIGH | api/app/dependencies.py | 568 | Get App or Workspace from API Key Supports two API Key formats: 1. Authorization: Bearer <api_key> | STRING |
| HIGH | api/app/core/language_utils.py | 25 | 校验语言参数,确保其为有效值。 Args: language: 待校验的语言代码,可以是 None、"zh"、"en" 或其他值 Returns: 有效的 | STRING |
| HIGH | api/app/core/language_utils.py | 67 | 从请求头获取并校验语言参数。 这是一个便捷函数,用于在 controller 层统一处理 X-Language-Type Header。 Args: language_type: | STRING |
| HIGH | api/app/core/storage_strategy.py | 183 | Get the appropriate storage strategy for the given context. Args: context: The upl | STRING |
| HIGH | api/app/core/api_key_utils.py | 97 | 校验 end_user 是否存在且属于指定 workspace。 Args: db: 数据库会话 end_user_id: 终端用户 ID workspace_id: 工作空间 ID | STRING |
| HIGH | api/app/core/upload_policies.py | 66 | 根据上传上下文获取对应的上传策略 Args: context: 上传上下文 Returns: 对应的上传策略 Raises: | STRING |
| HIGH | api/app/core/tools/langchain_adapter.py | 198 | 根据工具参数创建Pydantic schema Args: parameters: 工具参数列表 operation: 特定操作(用于过滤参数) | STRING |
| HIGH | api/app/core/tools/base.py | 80 | 验证参数 Args: parameters: 输入参数 Returns: 验证错误字典,空字典表示验证通过 | STRING |
| HIGH | api/app/core/memory/llm_tools/openai_embedder.py | 62 | 生成嵌入向量实现 Args: messages: 文本列表 **kwargs: 额外参数 Returns: 嵌入向 | STRING |
| HIGH | api/app/core/memory/llm_tools/embedder_client.py | 68 | 生成嵌入向量 Args: messages: 文本列表 **kwargs: 额外参数 Returns: 嵌入向量列 | STRING |
| HIGH | api/app/core/memory/llm_tools/embedder_client.py | 107 | 带重试机制的嵌入向量生成接口 Args: messages: 文本列表 **kwargs: 额外参数 Returns: | STRING |
| HIGH | api/app/core/memory/llm_tools/embedder_client.py | 133 | 为单个文本生成嵌入向量 Args: text: 单个文本 **kwargs: 额外参数 Returns: 嵌入向量 | STRING |
| HIGH | api/app/core/memory/llm_tools/embedder_client.py | 155 | 批量生成嵌入向量(支持大批量文本) Args: texts: 文本列表 batch_size: 每批处理的文本数量 **kwargs | STRING |
| HIGH | api/app/core/memory/llm_tools/llm_client.py | 68 | 聊天接口 Args: messages: 消息列表,每个消息包含 role 和 content **kwargs: 额外参数 Return | STRING |
| HIGH | api/app/core/memory/llm_tools/llm_client.py | 90 | 结构化输出接口 Args: messages: 消息列表 response_model: 期望的响应模型类型(Pydantic BaseModel) | STRING |
| HIGH | api/app/core/memory/llm_tools/llm_client.py | 130 | 带重试机制的聊天接口 Args: messages: 消息列表 **kwargs: 额外参数 Returns: L | STRING |
| HIGH | api/app/core/memory/llm_tools/llm_client.py | 161 | 带重试机制的结构化输出接口 Args: messages: 消息列表 response_model: 期望的响应模型类型 **kwa | STRING |
| HIGH | api/app/core/memory/llm_tools/openai_client.py | 73 | 聊天接口实现 Args: messages: 消息列表 **kwargs: 额外参数 Returns: LLM 响 | STRING |
| HIGH | api/app/core/memory/llm_tools/openai_client.py | 109 | 结构化输出接口实现 Args: messages: 消息列表 response_model: 期望的响应模型类型 **kwargs: | STRING |
| HIGH | api/app/core/memory/utils/llm/llm_utils.py | 146 | Get LLM client from MemoryConfig object. Args: memory_config: Configuration containing llm_ | STRING |
| HIGH | api/app/core/memory/utils/llm/llm_utils.py | 164 | Get embedder client from MemoryConfig object. Args: memory_config: Configuration containing | STRING |
| HIGH | api/app/core/memory/utils/llm/llm_utils.py | 182 | Get reranker client from MemoryConfig object. Args: memory_config: Configuration containing | STRING |
| HIGH | api/app/core/memory/utils/llm/llm_utils.py | 202 | Get LLM client from MemoryConfig object. DEPRECATED: Use MemoryClientFactory(db).get_llm_client_from_config(mem | STRING |
| HIGH | api/app/core/memory/utils/embedder/embedder_utils.py | 18 | Get embedder client from MemoryConfig object. **PREFERRED METHOD**: Use this function in production code w | STRING |
| HIGH | api/app/core/memory/utils/embedder/embedder_utils.py | 44 | Get embedder client by model ID. **LEGACY/TEST METHOD**: Use this function only for: - Test/evaluation | STRING |
| HIGH | …app/core/memory/utils/validation/ontology_validator.py | 49 | Validate that a class name follows OWL naming conventions. Validation rules: 1. Must not be emp | STRING |
| HIGH | …app/core/memory/utils/validation/ontology_validator.py | 115 | Attempt to sanitize an invalid class name into a valid format. Sanitization steps: 1. Strip whi | STRING |
| HIGH | …app/core/memory/utils/validation/ontology_validator.py | 179 | Remove duplicate ontology classes based on case-insensitive name comparison. When duplicates are found, | STRING |
| HIGH | …app/core/memory/utils/validation/ontology_validator.py | 234 | Truncate a description to a maximum length. If the description exceeds max_length, it will be truncated | STRING |
| HIGH | api/app/core/memory/utils/validation/owl_validator.py | 53 | Validate extracted ontology classes against OWL standards. This method creates an OWL ontology from the | STRING |
| HIGH | api/app/core/memory/utils/validation/owl_validator.py | 256 | Export ontology to OWL file in specified format. Supported formats: - rdfxml: RDF/XML format (d | STRING |
| HIGH | api/app/core/memory/utils/validation/owl_validator.py | 521 | Validate that ontology classes are compatible with Protégé editor. Protégé compatibility checks: | STRING |
| HIGH | api/app/core/memory/utils/validation/owl_validator.py | 592 | 从 OWL 内容解析出本体类型 支持解析 RDF/XML、Turtle 和 JSON 格式的 OWL 文件, 提取其中定义的 owl:Class 及其 rdfs:label 和 rdfs:c | STRING |
| HIGH | api/app/core/memory/agent/utils/template_tools.py | 49 | Load a template from disk with caching. Args: template_name: Relative path to temp | STRING |
| HIGH | api/app/core/memory/agent/utils/template_tools.py | 77 | Load and render a Jinja2 template. Args: template_name: Relative path to template | STRING |
| HIGH | api/app/core/memory/models/base_response.py | 36 | Handle cases where LLM returns a list instead of a dict. Some LLMs may wrap the response in a list like [{"fiel | STRING |
| HIGH | api/app/core/memory/models/ontology_scenario_models.py | 74 | Validate that the class name follows PascalCase convention. PascalCase rules: - Must start with an uppe | STRING |
| HIGH | …/extraction_engine/extraction_pipeline_orchestrator.py | 145 | Run a critical coroutine concurrently with sidecar steps. Args: critical_coro: The awaitable for th | STRING |
| HIGH | …es/extraction_engine/deduplication/entity_dedup_llm.py | 295 | Use LLM to assist fuzzy deduplication among candidate entity pairs and produce an `id_redirect` mapping plus au | STRING |
| HIGH | …action_engine/knowledge_extraction/chunk_extraction.py | 81 | Process a dialogue by generating chunks and adding them to the DialogData object. Args: dialogue: T | STRING |
| HIGH | …action_engine/knowledge_extraction/chunk_extraction.py | 147 | Save the chunking results to a file and return the output path. Args: chunks: List of Chunk objects | STRING |
| HIGH | …ion_engine/knowledge_extraction/ontology_extraction.py | 69 | Extract ontology classes from a scenario description. This is the main extraction method that orchestra | STRING |
| HIGH | …ion_engine/knowledge_extraction/ontology_extraction.py | 269 | Call LLM to extract ontology classes from scenario. This method renders the extraction prompt using the | STRING |
| HIGH | …e_services/forgetting_engine/access_history_manager.py | 81 | 记录节点访问并原子性更新所有相关字段 Args: node_id: 节点ID node_label: 节点标签(Statement, Ext | STRING |
| HIGH | …e_services/forgetting_engine/access_history_manager.py | 509 | 原子性更新节点(使用 APOC 原子操作) 使用 apoc.atomic.add 和 apoc.atomic.insert 保证并发安全, 无需 version 字段和乐观 | STRING |
| HIGH | …age_services/forgetting_engine/forgetting_scheduler.py | 77 | 运行一次完整的遗忘周期 Args: end_user_id: 组 ID(可选,用于过滤特定组的节点) max_merge_ | STRING |
| HIGH | …rage_services/forgetting_engine/forgetting_strategy.py | 184 | 将 Statement 和 Entity 节点融合为 MemorySummary 节点 融合过程: 1. 生成摘要内容(使用 LLM 或简单拼接) 2. 创 | STRING |
| HIGH | …rage_services/forgetting_engine/forgetting_strategy.py | 568 | 使用 LLM 生成高质量摘要 Args: statement_text: Statement 文本内容 entity_name: Entit | STRING |
| HIGH | …/storage_services/forgetting_engine/actr_calculator.py | 73 | Calculate memory activation value using the unified Memory Activation formula. This method com | STRING |
| HIGH | …/storage_services/forgetting_engine/memory_strength.py | 51 | Calculate the base-level activation B(i) for a memory item. Args: access_times: List of da | STRING |
| HIGH | …ory/storage_services/forgetting_engine/config_utils.py | 25 | 计算遗忘速率 公式:forgetting_rate = lambda_time / lambda_mem 这个计算将两个独立的 lambda 参数组合成一个统一的遗忘速率参数, 用于 A | STRING |
| HIGH | …ory/storage_services/forgetting_engine/config_utils.py | 67 | 从数据库加载 ACT-R 配置参数 从 PostgreSQL 的 memory_config 表读取配置参数, 并计算派生参数(如 forgetting_rate)。 Args: | STRING |
| HIGH | …ory/storage_services/forgetting_engine/config_utils.py | 158 | 从数据库配置创建 ACTRCalculator 实例 这是创建 ACTRCalculator 的推荐方式,确保使用数据库中的配置参数。 Args: db: 数据库会话 | STRING |
| HIGH | …/core/memory/ontology_services/ontology_type_loader.py | 33 | 从数据库加载场景的本体类型 统一的本体类型加载逻辑,用于替代各处重复的加载代码。 Args: scene_id: 场景ID,如果为 None 则返回 None worksp | STRING |
| HIGH | api/app/core/memory/analytics/hot_memory_tags.py | 26 | 使用LLM筛选标签列表,仅保留具有代表性的核心名词。 Args: tags: 原始标签列表 end_user_id: 用户组ID,用于获取配置 Retur | STRING |
| HIGH | …ore/memory/analytics/implicit_memory/habit_detector.py | 54 | Detect behavioral habits from user summaries. Args: user_id: Target user ID use | STRING |
| HIGH | …pp/core/memory/analytics/implicit_memory/llm_client.py | 72 | Get LLM client instance. Args: model_id: LLM model ID to use, defaults to default_model_id | STRING |
| HIGH | …pp/core/memory/analytics/implicit_memory/llm_client.py | 125 | Analyze user preferences from memory summaries. Args: user_summaries: List of user memory s | STRING |
| HIGH | …pp/core/memory/analytics/implicit_memory/llm_client.py | 176 | Analyze user personality dimensions from memory summaries. Args: user_summaries: List of us | STRING |
| 191 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | sandbox/app/dependencies.py | 37 | async def install_python_dependencies(): | CODE |
| LOW | sandbox/app/dependencies.py | 137 | async def update_dependencies_periodically(): | CODE |
| LOW | sandbox/app/core/runners/nodejs/env.py | 80 | async def prepare_nodejs_dependencies_env(): | CODE |
| LOW | sandbox/app/core/runners/python/env.py | 79 | async def prepare_python_dependencies_env(): | CODE |
| LOW⚡ | sandbox/app/services/python_service.py | 70 | async def update_python_dependencies(): | CODE |
| LOW⚡ | api/app/tasks.py | 4005 | def scan_workflow_schedule_triggers(): | CODE |
| LOW | api/app/tasks.py | 162 | def _upload_kb_file_content_sync(kb_id: uuid.UUID, file_id: uuid.UUID, file_ext: str, content: bytes) -> str: | CODE |
| LOW | api/app/tasks.py | 229 | def _get_or_create_redis_pool() -> redis.ConnectionPool | None: | CODE |
| LOW | api/app/tasks.py | 319 | def _shutdown_loop_gracefully(loop: asyncio.AbstractEventLoop): | CODE |
| LOW | api/app/tasks.py | 867 | def _mark_graphrag_dispatched(doc): | CODE |
| LOW | api/app/tasks.py | 982 | def build_graphrag_for_document(document_id: str, knowledge_id: str): | CODE |
| LOW | api/app/tasks.py | 1922 | def _should_skip_reflection_by_inactivity(db, end_user_id: str, inactive_hours: int | None = None) -> bool: | CODE |
| LOW | api/app/tasks.py | 2514 | def write_all_workspaces_memory_task(self) -> Dict[str, Any]: | CODE |
| LOW | api/app/tasks.py | 2730 | def scan_refresh_insight_summary_cache(self) -> Dict[str, Any]: | CODE |
| LOW | api/app/tasks.py | 2829 | def do_refresh_insight_summary_cache( | CODE |
| LOW | api/app/tasks.py | 2909 | def run_forgetting_cycle_task(self, config_id: Optional[uuid.UUID] = None) -> Dict[str, Any]: | CODE |
| LOW | api/app/tasks.py | 2992 | def update_implicit_emotions_storage(self) -> Dict[str, Any]: | CODE |
| LOW | api/app/tasks.py | 3281 | def init_implicit_emotions_for_users(self, end_user_ids: List[str]) -> Dict[str, Any]: | CODE |
| LOW | api/app/tasks.py | 3386 | def init_interest_distribution_for_users(self, end_user_ids: List[str]) -> Dict[str, Any]: | CODE |
| LOW | api/app/tasks.py | 3476 | def refresh_hot_memory_tags_cache(self) -> Dict[str, Any]: | CODE |
| LOW | api/app/tasks.py | 3579 | def run_incremental_clustering( | CODE |
| LOW | api/app/tasks.py | 3680 | def init_community_clustering_for_users(self, end_user_ids: List[str], workspace_id: Optional[str] = None) -> Dict[ | CODE |
| LOW | api/app/tasks.py | 4052 | def run_workflow_schedule_trigger(app_id: str, release_id: str, trigger_id: str, scheduled_at: str | None = None): | CODE |
| LOW | api/app/query_ontology_matched_entities.py | 39 | async def get_entities_by_end_user_id(connector: Neo4jConnector, end_user_id: str) -> List[Dict[str, Any]]: | CODE |
| LOW | api/app/query_ontology_matched_entities.py | 59 | def get_ontology_types_from_scene(db, scene_id: UUID) -> Set[str]: | STRING |
| LOW | api/app/query_ontology_matched_entities.py | 66 | def get_ontology_types_from_config(db, config_id: UUID) -> Optional[Set[str]]: | CODE |
| LOW⚡ | api/app/query_ontology_matched_entities.py | 92 | def get_general_ontology_types() -> Set[str]: | CODE |
| LOW⚡ | api/app/query_ontology_matched_entities.py | 105 | async def query_ontology_matched_entities(end_user_id: str, config_id: Optional[str] = None): | CODE |
| LOW | api/app/main.py | 177 | async def validation_exception_handler(request: Request, exc: ValidationException): | CODE |
| LOW | api/app/main.py | 250 | async def pydantic_validation_exception_handler(request: Request, exc: PydanticValidationError): | CODE |
| LOW | api/app/main.py | 328 | async def not_found_exception_handler(request: Request, exc: ResourceNotFoundException): | CODE |
| LOW | api/app/main.py | 353 | async def permission_denied_handler(request: Request, exc: PermissionDeniedException): | CODE |
| LOW | api/app/main.py | 379 | async def authentication_exception_handler(request: Request, exc: AuthenticationException): | CODE |
| LOW | api/app/main.py | 404 | async def authorization_exception_handler(request: Request, exc: AuthorizationException): | CODE |
| LOW | api/app/main.py | 429 | async def file_upload_exception_handler(request: Request, exc: FileUploadException): | CODE |
| LOW | api/app/main.py | 455 | async def rate_limit_exception_handler(request: Request, exc: RateLimitException): | CODE |
| LOW | api/app/main.py | 490 | async def business_exception_handler(request: Request, exc: BusinessException): | CODE |
| LOW | api/app/main.py | 579 | async def unhandled_exception_handler(request: Request, exc: Exception): | CODE |
| LOW⚡ | api/app/dependencies.py | 284 | # async def require_workspace_access_for_app_create( | COMMENT |
| LOW⚡ | api/app/dependencies.py | 296 | def _check_workspace_access_sync(db: Session, user: User, workspace_id: uuid.UUID) -> Workspace: | CODE |
| LOW | api/app/dependencies.py | 417 | def cur_workspace_access_guard(): | CODE |
| LOW | api/app/dependencies.py | 459 | def cur_workspace_access_guard_self_db(): | CODE |
| LOW | api/app/core/transaction_monitor.py | 137 | def _check_transaction_duration( | CODE |
| LOW | api/app/core/api_key_utils.py | 69 | def get_current_user_from_api_key(db: _Session, api_key_auth): | CODE |
| LOW | api/app/core/api_key_utils.py | 92 | def validate_end_user_in_workspace( | CODE |
| LOW | api/app/core/quota_manager.py | 33 | def _get_workspace_id_from_kwargs(kwargs: dict): | CODE |
| LOW | api/app/core/quota_manager.py | 56 | def _get_tenant_id_from_kwargs(db: Session, kwargs: dict): | CODE |
| LOW | api/app/core/quota_manager.py | 149 | def get_end_user_memory_limit(db: Session, tenant_id: UUID) -> Optional[int]: | CODE |
| LOW | api/app/core/quota_manager.py | 190 | def sum_knowledge_capacity_gb(self, tenant_id: UUID, workspace_id: Optional[UUID] = None) -> float: | CODE |
| LOW | api/app/core/quota_manager.py | 411 | def check_knowledge_capacity_quota(func: Callable) -> Callable: | CODE |
| LOW | api/app/core/quota_manager.py | 446 | def check_memory_engine_quota(func: Callable) -> Callable: | CODE |
| LOW | api/app/core/quota_manager.py | 520 | def check_ontology_project_quota(func: Callable) -> Callable: | CODE |
| LOW | api/app/core/quota_manager.py | 576 | def check_model_activation_quota(func: Callable) -> Callable: | CODE |
| LOW | api/app/core/quota_manager.py | 716 | def _build_per_workspace_detail(count_func, per_unit_limit): | CODE |
| LOW | api/app/core/uow.py | 207 | def _check_transaction_duration(self, duration: float): | CODE |
| LOW | api/app/core/uow.py | 248 | def create_user_and_workspace(uow): | STRING |
| LOW | api/app/core/api_key_auth.py | 144 | def extract_api_key_from_request(request: Request) -> Optional[str]: | CODE |
| LOW | api/app/core/api_key_auth.py | 308 | async def _log_api_key_usage_self_db( | CODE |
| LOW | api/app/core/rag_utils/chunk_insight.py | 153 | async def generate_chunk_insight_sections( | CODE |
| LOW | api/app/core/rag_utils/chunk_tags.py | 120 | async def extract_chunk_tags_with_frequency(chunks: List[str], max_tags: int = 10) -> List[Tuple[str, int]]: | CODE |
| 1196 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | web/src/components/D3Graph/utils.ts | 4 | // ─── Colors ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/utils.ts | 17 | // ─── Arrow markers ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/utils.ts | 34 | // ─── Zoom ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/utils.ts | 46 | // ─── Node drag ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/utils.ts | 57 | // ─── Cluster force ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/utils.ts | 112 | // ─── Group centers ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/utils.ts | 129 | // ─── Community graph data transform ───────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/utils.ts | 187 | // ─── Hull helpers ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/utils.ts | 266 | // ─── Hull render ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/utils.ts | 324 | // ─── Community graph init ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/utils.ts | 478 | // ─── Legend ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/types.ts | 4 | // ─── Raw input types (mirror of API response, no external dependency) ───────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/types.ts | 45 | // ─── D3 graph types ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | web/src/components/D3Graph/CommunityGraph.tsx | 14 | // ─── Component ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …views/UserMemoryDetail/components/CommunityNetwork.tsx | 11 | // ─── Tooltip ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …views/UserMemoryDetail/components/CommunityNetwork.tsx | 41 | // ─── Component ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | sandbox/app/middleware/concurrency.py | 23 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | sandbox/app/middleware/concurrency.py | 25 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | sandbox/app/middleware/concurrency.py | 64 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | sandbox/app/middleware/concurrency.py | 66 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | sandbox/app/middleware/concurrency.py | 85 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | sandbox/app/middleware/concurrency.py | 87 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | api/app/tasks.py | 2672 | # ============================================================ | COMMENT |
| MEDIUM⚡ | api/app/tasks.py | 2674 | # ============================================================ | COMMENT |
| MEDIUM⚡ | api/app/tasks.py | 2979 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | api/app/tasks.py | 2981 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | api/app/tasks.py | 3566 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | api/app/tasks.py | 3568 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | api/app/tasks.py | 3828 | # ─── User Metadata Extraction Task ─────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | api/app/tasks.py | 3830 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | api/app/tasks.py | 3832 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | api/app/tasks.py | 66 | # ── 预编译文件类型正则 & 常量 ────────────────────────────────── | COMMENT |
| MEDIUM | api/app/tasks.py | 3268 | # ============================================================================= | COMMENT |
| MEDIUM | api/app/tasks.py | 3375 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | api/app/dependencies.py | 292 | # ---------------------- | COMMENT |
| MEDIUM⚡ | api/app/dependencies.py | 294 | # ---------------------- | COMMENT |
| MEDIUM | api/app/dependencies.py | 233 | # ---------------------- | COMMENT |
| MEDIUM | api/app/dependencies.py | 235 | # ---------------------- | COMMENT |
| MEDIUM | api/app/core/config.py | 12 | # ======================================================================== | COMMENT |
| MEDIUM | api/app/core/config.py | 14 | # ======================================================================== | COMMENT |
| MEDIUM⚡ | api/app/core/config.py | 160 | # ======================================================================== | COMMENT |
| MEDIUM⚡ | api/app/core/config.py | 162 | # ======================================================================== | COMMENT |
| MEDIUM | api/app/core/config.py | 190 | # ======================================================================== | COMMENT |
| MEDIUM | api/app/core/config.py | 192 | # ======================================================================== | COMMENT |
| MEDIUM | api/app/core/config.py | 347 | # ======================================================================== | COMMENT |
| MEDIUM | api/app/core/config.py | 349 | # ======================================================================== | COMMENT |
| MEDIUM | api/app/core/config.py | 369 | # ======================================================================== | COMMENT |
| MEDIUM | api/app/core/config.py | 371 | # ======================================================================== | COMMENT |
| MEDIUM | api/app/core/logging_config.py | 388 | # ===================================== | STRING |
| MEDIUM | api/app/core/quota_manager.py | 329 | # ─── 具名装饰器 ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | api/app/core/quota_manager.py | 679 | # ─── 配额使用统计 ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | api/app/core/rag_utils/chunk_insight.py | 29 | # ── LLM client helper ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | api/app/core/rag_utils/chunk_insight.py | 50 | # ── Domain analysis helpers (kept for building prompt inputs) ───────────────── | COMMENT |
| MEDIUM | api/app/core/rag_utils/chunk_insight.py | 103 | # ── Section parser ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | api/app/core/rag_utils/chunk_insight.py | 130 | # ── Public API ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | api/app/core/rag_utils/chunk_summary.py | 20 | # ── Schema ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | api/app/core/rag_utils/chunk_summary.py | 41 | # ── LLM client helper ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | api/app/core/rag_utils/chunk_summary.py | 62 | # ── Core function ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | api/app/core/memory/memory_service.py | 76 | # ────────────────────────────────────────────── | COMMENT |
| MEDIUM | api/app/core/memory/memory_service.py | 78 | # ────────────────────────────────────────────── | COMMENT |
| 193 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sandbox/main.py | 9 | CODE | |
| LOW | api/app/db.py | 1 | CODE | |
| LOW | api/app/celery_app.py | 147 | CODE | |
| LOW | api/app/celery_worker.py | 6 | CODE | |
| LOW | api/app/celery_worker.py | 8 | CODE | |
| LOW | api/app/celery_worker.py | 17 | CODE | |
| LOW | api/app/celery_worker.py | 21 | CODE | |
| LOW | api/app/celery_worker.py | 21 | CODE | |
| LOW | api/app/celery_worker.py | 21 | CODE | |
| LOW | api/app/main.py | 10 | CODE | |
| LOW | api/app/dependencies.py | 2 | CODE | |
| LOW | api/app/dependencies.py | 15 | CODE | |
| LOW | api/app/dependencies.py | 427 | CODE | |
| LOW | api/app/dependencies.py | 473 | CODE | |
| LOW | api/app/core/transaction_monitor.py | 10 | CODE | |
| LOW | api/app/core/logging_config.py | 3 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/quota_stub.py | 8 | CODE | |
| LOW | api/app/core/sensitive_filter.py | 6 | CODE | |
| LOW | api/app/core/uow.py | 17 | CODE | |
| LOW | api/app/core/rag_utils/__init__.py | 5 | CODE | |
| LOW | api/app/core/rag_utils/__init__.py | 6 | CODE | |
| LOW | api/app/core/rag_utils/__init__.py | 6 | CODE | |
| LOW | api/app/core/rag_utils/__init__.py | 7 | CODE | |
| LOW | api/app/core/rag_utils/__init__.py | 7 | CODE | |
| LOW | api/app/core/tools/__init__.py | 3 | CODE | |
| LOW | api/app/core/tools/__init__.py | 3 | CODE | |
| LOW | api/app/core/tools/__init__.py | 3 | CODE | |
| LOW | api/app/core/tools/__init__.py | 4 | CODE | |
| LOW | api/app/core/tools/__init__.py | 5 | CODE | |
| LOW | api/app/core/tools/mcp/client.py | 4 | CODE | |
| LOW | api/app/core/tools/mcp/client.py | 162 | CODE | |
| LOW | api/app/core/tools/mcp/service_manager.py | 3 | CODE | |
| LOW | api/app/core/tools/mcp/service_manager.py | 4 | CODE | |
| LOW | api/app/core/tools/mcp/__init__.py | 4 | CODE | |
| LOW | api/app/core/tools/mcp/__init__.py | 4 | CODE | |
| LOW | api/app/core/tools/mcp/__init__.py | 4 | CODE | |
| LOW | api/app/core/tools/mcp/__init__.py | 5 | CODE | |
| LOW | api/app/core/tools/mcp/__init__.py | 5 | CODE | |
| LOW | api/app/core/tools/mcp/__init__.py | 6 | CODE | |
| LOW | api/app/core/tools/workflow/__init__.py | 1 | CODE | |
| LOW | api/app/core/tools/custom/__init__.py | 3 | CODE | |
| LOW | api/app/core/tools/custom/__init__.py | 4 | CODE | |
| LOW | api/app/core/tools/custom/__init__.py | 5 | CODE | |
| LOW | api/app/core/tools/builtin/__init__.py | 3 | CODE | |
| LOW | api/app/core/tools/builtin/__init__.py | 4 | CODE | |
| LOW | api/app/core/tools/builtin/__init__.py | 5 | CODE | |
| LOW | api/app/core/tools/builtin/__init__.py | 6 | CODE | |
| LOW | api/app/core/tools/builtin/__init__.py | 7 | CODE | |
| 836 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sandbox/app/middleware/concurrency.py | 42 | CODE | |
| LOW | sandbox/app/middleware/concurrency.py | 67 | CODE | |
| LOW | sandbox/app/core/runners/nodejs/env.py | 37 | CODE | |
| LOW | sandbox/app/core/runners/nodejs/nodejs_runner.py | 48 | CODE | |
| LOW | sandbox/app/core/runners/python/python_runner.py | 64 | CODE | |
| LOW | sandbox/app/core/runners/python/env.py | 36 | CODE | |
| LOW | api/app/aioRedis.py | 160 | CODE | |
| LOW | api/app/tasks.py | 389 | CODE | |
| LOW | api/app/tasks.py | 1067 | CODE | |
| LOW | api/app/tasks.py | 1251 | CODE | |
| LOW | api/app/tasks.py | 1729 | CODE | |
| LOW | api/app/tasks.py | 2013 | CODE | |
| LOW | api/app/tasks.py | 2222 | CODE | |
| LOW | api/app/tasks.py | 2514 | CODE | |
| LOW | api/app/tasks.py | 2730 | CODE | |
| LOW | api/app/tasks.py | 2829 | CODE | |
| LOW | api/app/tasks.py | 2992 | CODE | |
| LOW | api/app/tasks.py | 3281 | CODE | |
| LOW | api/app/tasks.py | 3680 | CODE | |
| LOW | api/app/tasks.py | 3845 | CODE | |
| LOW | api/app/tasks.py | 2527 | CODE | |
| LOW | api/app/tasks.py | 3012 | CODE | |
| LOW | api/app/tasks.py | 3295 | CODE | |
| LOW | api/app/tasks.py | 3696 | CODE | |
| LOW | api/app/celery_task_scheduler.py | 160 | CODE | |
| LOW | api/app/celery_task_scheduler.py | 400 | CODE | |
| LOW | api/app/query_ontology_matched_entities.py | 105 | CODE | |
| LOW | api/app/main.py | 250 | CODE | |
| LOW | api/app/dependencies.py | 564 | CODE | |
| LOW | api/app/core/sensitive_filter.py | 70 | CODE | |
| LOW | api/app/core/quota_manager.py | 56 | CODE | |
| LOW | api/app/core/api_key_auth.py | 26 | CODE | |
| LOW | api/app/core/api_key_auth.py | 183 | CODE | |
| LOW | api/app/core/api_key_auth.py | 48 | CODE | |
| LOW | api/app/core/api_key_auth.py | 206 | CODE | |
| LOW | api/app/core/api_key_auth.py | 50 | CODE | |
| LOW | api/app/core/api_key_auth.py | 208 | CODE | |
| LOW | api/app/core/rag_utils/chunk_insight.py | 31 | CODE | |
| LOW | api/app/core/rag_utils/chunk_summary.py | 43 | CODE | |
| LOW | api/app/core/rag_utils/chunk_summary.py | 64 | CODE | |
| LOW | api/app/core/rag_utils/chunk_tags.py | 24 | CODE | |
| LOW | api/app/core/tools/langchain_adapter.py | 92 | CODE | |
| LOW | api/app/core/tools/mcp/client.py | 143 | CODE | |
| LOW | api/app/core/tools/mcp/client.py | 249 | CODE | |
| LOW | api/app/core/tools/workflow/base.py | 60 | CODE | |
| LOW | api/app/core/tools/workflow/base.py | 102 | CODE | |
| LOW | api/app/core/tools/custom/schema_parser.py | 93 | CODE | |
| LOW | api/app/core/tools/custom/schema_parser.py | 342 | CODE | |
| LOW | api/app/core/tools/custom/schema_parser.py | 407 | CODE | |
| LOW | api/app/core/tools/custom/auth_manager.py | 26 | CODE | |
| LOW | api/app/core/tools/custom/auth_manager.py | 102 | CODE | |
| LOW | api/app/core/tools/custom/auth_manager.py | 141 | CODE | |
| LOW | api/app/core/tools/custom/auth_manager.py | 204 | CODE | |
| LOW | api/app/core/tools/custom/auth_manager.py | 234 | CODE | |
| LOW | api/app/core/tools/custom/auth_manager.py | 392 | CODE | |
| LOW | api/app/core/tools/custom/auth_manager.py | 507 | CODE | |
| LOW | api/app/core/tools/custom/base.py | 151 | CODE | |
| LOW | api/app/core/tools/custom/base.py | 272 | CODE | |
| LOW | api/app/core/tools/builtin/json_tool.py | 95 | CODE | |
| LOW | api/app/core/tools/builtin/json_tool.py | 264 | CODE | |
| 457 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | api/app/aioRedis.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/celery_worker.py | 77 | __all__ = ['celery_app'] | CODE |
| LOW | api/app/core/quota_stub.py | 24 | __all__ = [ | CODE |
| LOW | api/app/core/rag_utils/__init__.py | 9 | __all__ = [ | CODE |
| LOW | api/app/core/tools/__init__.py | 23 | __all__ = [ | CODE |
| LOW | api/app/core/tools/mcp/__init__.py | 8 | __all__ = [ | CODE |
| LOW | api/app/core/tools/workflow/__init__.py | 3 | __all__ = ["WorkflowAsTool"] | CODE |
| LOW | api/app/core/tools/custom/__init__.py | 7 | __all__ = [ | CODE |
| LOW | api/app/core/tools/builtin/__init__.py | 10 | __all__ = [ | CODE |
| LOW | api/app/core/memory/memory_service.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/llm_tools/openai_embedder.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/llm_tools/__init__.py | 13 | __all__ = [ | CODE |
| LOW | api/app/core/memory/llm_tools/embedder_client.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/llm_tools/llm_client.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/llm_tools/chunker_client.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/llm_tools/openai_client.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | api/app/core/memory/pipelines/dispatcher.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/pipelines/pruning_pipeline.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/pipelines/write_pipeline.py | 1054 | async def _update_stats_cache(self, result: ExtractionResult) -> None: | CODE |
| LOW | api/app/core/memory/pipelines/reflection_pipeline.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/pipelines/__init__.py | 38 | __all__ = [ | CODE |
| LOW | api/app/core/memory/pipelines/memory_read.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/pipelines/pilot_write_pipeline.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/utils/__init__.py | 55 | __all__ = [ | CODE |
| LOW | api/app/core/memory/utils/alias_utils.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/utils/visualization/__init__.py | 18 | __all__ = [ | CODE |
| LOW | api/app/core/memory/utils/llm/__init__.py | 14 | __all__ = [ | CODE |
| LOW | api/app/core/memory/utils/config/__init__.py | 19 | __all__ = [ | CODE |
| LOW | api/app/core/memory/utils/config/get_data.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/utils/paths/__init__.py | 13 | __all__ = [ | CODE |
| LOW | api/app/core/memory/utils/embedder/__init__.py | 8 | __all__ = [ | CODE |
| LOW | api/app/core/memory/utils/ontology/__init__.py | 12 | __all__ = ["OntologyParser", "MultiOntologyParser"] | CODE |
| LOW | api/app/core/memory/utils/ontology/ontology_parser.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/utils/prompt/__init__.py | 22 | __all__ = [ | CODE |
| LOW | api/app/core/memory/utils/log/__init__.py | 16 | __all__ = [ | CODE |
| LOW | api/app/core/memory/utils/log/logging_utils.py | 33 | __all__ = [ | CODE |
| LOW | api/app/core/memory/utils/data/__init__.py | 27 | __all__ = [ | CODE |
| LOW | …app/core/memory/utils/validation/ontology_validator.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/utils/validation/__init__.py | 10 | __all__ = ['OntologyValidator', 'OWLValidator'] | CODE |
| LOW | api/app/core/memory/utils/validation/owl_validator.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | …app/core/memory/utils/debug/write_snapshot_recorder.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ore/memory/utils/debug/reflection_snapshot_recorder.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/utils/debug/pipeline_snapshot.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/models/__init__.py | 96 | __all__ = [ | CODE |
| LOW | api/app/core/memory/models/ontology_general_models.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | api/app/core/memory/models/metadata_models.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/memory/storage_services/clustering_engine/__init__.py | 3 | __all__ = ["LabelPropagationEngine"] | CODE |
| LOW | …torage_services/clustering_engine/label_propagation.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/storage_services/extraction_engine/sidecar_factory.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/extraction_engine/extraction_pipeline_orchestrator.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/extraction_engine/deduplication/deduped_and_disamb.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | …e_services/extraction_engine/deduplication/__init__.py | 21 | __all__ = [ | CODE |
| LOW | …es/extraction_engine/deduplication/entity_dedup_llm.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | …on_engine/knowledge_extraction/statement_extraction.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …on_engine/knowledge_extraction/embedding_generation.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ion_engine/knowledge_extraction/ontology_extraction.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | …rage_services/extraction_engine/steps/metadata_step.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …orage_services/extraction_engine/steps/triplet_step.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | …storage_services/extraction_engine/steps/dedup_step.py | 31 | logger = logging.getLogger(__name__) | CODE |
| 178 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | api/app/core/rag_utils/chunk_insight.py | 0 | get llm client, preferring user-connected config with fallback to default. | STRING |
| HIGH | api/app/core/rag_utils/chunk_summary.py | 0 | get llm client, preferring user-connected config with fallback to default. | STRING |
| HIGH | api/app/core/rag_utils/chunk_tags.py | 0 | get llm client, preferring user-connected config with fallback to default. | STRING |
| HIGH | …ore/memory/analytics/implicit_memory/habit_detector.py | 0 | initialize the habit analyzer. args: db: database session llm_model_id: optional llm model id to use for analysis tenant | STRING |
| HIGH | …alytics/implicit_memory/analyzers/interest_analyzer.py | 0 | initialize the habit analyzer. args: db: database session llm_model_id: optional llm model id to use for analysis tenant | STRING |
| HIGH | …ytics/implicit_memory/analyzers/preference_analyzer.py | 0 | initialize the habit analyzer. args: db: database session llm_model_id: optional llm model id to use for analysis tenant | STRING |
| HIGH | …lytics/implicit_memory/analyzers/dimension_analyzer.py | 0 | initialize the habit analyzer. args: db: database session llm_model_id: optional llm model id to use for analysis tenant | STRING |
| HIGH | …/analytics/implicit_memory/analyzers/habit_analyzer.py | 0 | initialize the habit analyzer. args: db: database session llm_model_id: optional llm model id to use for analysis tenant | STRING |
| HIGH | api/app/core/rag/deepdoc/vision/recognizer.py | 0 | if you have trouble downloading huggingface models, -_^ this might help!! for linux: export hf_endpoint=https://hf-mirro | STRING |
| HIGH | api/app/core/rag/deepdoc/vision/ocr.py | 0 | if you have trouble downloading huggingface models, -_^ this might help!! for linux: export hf_endpoint=https://hf-mirro | STRING |
| HIGH | api/app/core/rag/deepdoc/parser/pdf_parser.py | 0 | if you have trouble downloading huggingface models, -_^ this might help!! for linux: export hf_endpoint=https://hf-mirro | STRING |
| HIGH | api/app/core/rag/graphrag/general/graph_extractor.py | 0 | reference: - [graphrag](https://github.com/microsoft/graphrag) | STRING |
| HIGH | api/app/core/rag/graphrag/general/leiden.py | 0 | reference: - [graphrag](https://github.com/microsoft/graphrag) | STRING |
| HIGH | …re/rag/graphrag/general/community_reports_extractor.py | 0 | reference: - [graphrag](https://github.com/microsoft/graphrag) | STRING |
| HIGH | api/app/core/rag/graphrag/general/entity_embedding.py | 0 | reference: - [graphrag](https://github.com/microsoft/graphrag) | STRING |
| HIGH | api/app/core/rag/graphrag/light/graph_extractor.py | 0 | reference: - [graphrag](https://github.com/microsoft/graphrag) | STRING |
| HIGH | api/app/core/storage/local.py | 0 | download a file from the storage backend. args: file_key: unique identifier for the file in the storage system. returns: | STRING |
| HIGH | api/app/core/storage/oss.py | 0 | download a file from the storage backend. args: file_key: unique identifier for the file in the storage system. returns: | STRING |
| HIGH | api/app/core/storage/s3.py | 0 | download a file from the storage backend. args: file_key: unique identifier for the file in the storage system. returns: | STRING |
| HIGH | api/app/core/storage/base.py | 0 | download a file from the storage backend. args: file_key: unique identifier for the file in the storage system. returns: | STRING |
| HIGH | api/app/core/storage/local.py | 0 | check if a file exists in the storage backend. args: file_key: unique identifier for the file in the storage system. ret | STRING |
| HIGH | api/app/core/storage/oss.py | 0 | check if a file exists in the storage backend. args: file_key: unique identifier for the file in the storage system. ret | STRING |
| HIGH | api/app/core/storage/s3.py | 0 | check if a file exists in the storage backend. args: file_key: unique identifier for the file in the storage system. ret | STRING |
| HIGH | api/app/core/storage/base.py | 0 | check if a file exists in the storage backend. args: file_key: unique identifier for the file in the storage system. ret | STRING |
| HIGH | api/app/controllers/document_controller.py | 0 | paged query file list - support filtering by kb_id and parent_id - support keyword search for file names - support dynam | STRING |
| HIGH | …app/controllers/service/rag_api_document_controller.py | 0 | paged query file list - support filtering by kb_id and parent_id - support keyword search for file names - support dynam | STRING |
| HIGH | api/app/controllers/service/rag_api_file_controller.py | 0 | paged query file list - support filtering by kb_id and parent_id - support keyword search for file names - support dynam | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/src/utils/timezones.ts | 41 | 'America/New_York', // New York, USA | COMMENT |
| LOW | web/src/utils/timezones.ts | 61 | // 'Asia/Istanbul', // Istanbul, Turkey | COMMENT |
| LOW | web/src/utils/timezones.ts | 81 | // 'America/Denver', // Denver, USA | COMMENT |
| LOW | web/src/utils/timezones.ts | 121 | 'Asia/Kolkata': hi_IN, // Kolkata, India - Hindi | COMMENT |
| LOW | web/src/utils/timezones.ts | 141 | COMMENT | |
| LOW | web/src/utils/timezones.ts | 161 | // 'America/Toronto': 'en_CA', // Toronto, Canada - English (Canada) | COMMENT |
| LOW | web/src/utils/timezones.ts | 181 | // 'Africa/Cairo': 'ar_EG', // Cairo, Egypt - Arabic (Egypt) | COMMENT |
| LOW | web/src/views/MemoryExtractionEngine/constant.ts | 161 | }, | COMMENT |
| LOW | web/src/views/MemoryExtractionEngine/constant.ts | 181 | // { label: 'threeHours', value: '3' }, | COMMENT |
| LOW | web/src/views/MemoryExtractionEngine/constant.ts | 201 | // { | COMMENT |
| LOW | …/views/KnowledgeBase/components/CreateDatasetModal.tsx | 81 | // // 调用父组件传递的回调函数,传递选中的数据 | COMMENT |
| LOW | …/src/views/KnowledgeBase/[knowledgeBaseId]/Private.tsx | 341 | { | COMMENT |
| LOW | …/src/views/KnowledgeBase/[knowledgeBaseId]/Private.tsx | 361 | // onClick: () => { | COMMENT |
| LOW | …/src/views/KnowledgeBase/[knowledgeBaseId]/Private.tsx | 381 | // label: t('knowledgeBase.importTemplate'), | COMMENT |
| LOW | web/src/views/Workflow/constant.ts | 41 | export const cannotRunNodes = [ | COMMENT |
| LOW | web/src/views/Workflow/constant.ts | 241 | enabled: { | COMMENT |
| LOW | …ents/Properties/SubmitTypeList/SubmitTypeEditModal.tsx | 21 | }, | COMMENT |
| LOW | sandbox/app/__init__.py | 1 | # -*- coding: UTF-8 -*- | COMMENT |
| LOW | api/alembic.ini | 1 | # A generic, single database configuration. | COMMENT |
| LOW | api/alembic.ini | 21 | # string value is passed to ZoneInfo() | COMMENT |
| LOW | api/alembic.ini | 41 | # The path separator used here should be the separator specified by "version_path_separator" below. | COMMENT |
| LOW | api/alembic.ini | 61 | # output_encoding = utf-8 | COMMENT |
| LOW | api/app/tasks.py | 2361 | result["elapsed_time"] = time.time() - start_time | COMMENT |
| LOW | api/app/tasks.py | 2381 | # "apply_id": "健康检查", | COMMENT |
| LOW | api/app/dependencies.py | 241 | # ) -> Workspace: | COMMENT |
| LOW | api/app/dependencies.py | 261 | # auth_logger.debug(f"超管同租户访问放行: user={current_user.id}, workspace={workspace_id}") | COMMENT |
| LOW | api/app/dependencies.py | 281 | # # 针对创建应用的请求体(包含 workspace_id)提供便捷校验 | COMMENT |
| LOW | api/app/core/__init__.py | 1 | # -*- coding: UTF-8 -*- | COMMENT |
| LOW | …re/memory/utils/visualization/forgetting_visualizer.py | 361 | config = ForgettingEngineConfig(offset=0.1, lambda_time=0.5, lambda_mem=0.5) | COMMENT |
| LOW | api/app/core/memory/utils/prompt/prompt_utils.py | 181 | json_schema=json_schema, | COMMENT |
| LOW | api/app/core/memory/models/variate_config.py | 161 | # ), | COMMENT |
| LOW | …/extraction_engine/deduplication/deduped_and_disamb.py | 141 | # TODO: fact_summary 功能暂时禁用,待后续开发完善后启用 | COMMENT |
| LOW | …/extraction_engine/deduplication/deduped_and_disamb.py | 161 | # src_a = _extract_sources(fact_a) | COMMENT |
| LOW | …vices/reflection_engine/deterministic/cypher_merger.py | 41 | # async def fetch_degrees( | COMMENT |
| LOW | …vices/reflection_engine/deterministic/cypher_merger.py | 61 | # async def fetch_degrees_batch( | COMMENT |
| LOW | api/app/core/memory/src/search.py | 461 | ) -> Dict[str, List[Dict[str, Any]]]: | COMMENT |
| LOW | api/app/core/memory/src/search.py | 481 | # base = float(it.get("combined_score", it.get("score", 0.0)) or 0.0) | COMMENT |
| LOW | api/app/core/memory/src/search.py | 501 | # """ | COMMENT |
| LOW | api/app/core/memory/src/search.py | 521 | COMMENT | |
| LOW | api/app/core/memory/src/search.py | 541 | # # Get model name for metadata | COMMENT |
| LOW | api/app/core/memory/src/search.py | 561 | COMMENT | |
| LOW | api/app/core/memory/src/search.py | 581 | # item_text = extract_text(item) | COMMENT |
| LOW | api/app/core/memory/src/search.py | 601 | # - 0.0 means completely irrelevant | COMMENT |
| LOW | api/app/core/memory/src/search.py | 621 | # # Clamp to [0.0, 1.0] | COMMENT |
| LOW | api/app/core/memory/src/search.py | 641 | # item_copy["final_score"] = final_score | COMMENT |
| LOW | api/app/core/memory/src/search.py | 661 | # scored_items = [] | COMMENT |
| LOW | api/app/core/memory/src/search.py | 861 | COMMENT | |
| LOW | api/app/core/models/factory.py | 1 | # from typing import Optional | COMMENT |
| LOW | api/app/core/rag/llm/cv_model.py | 441 | if __name__ == "__main__": | COMMENT |
| LOW | api/app/core/rag/llm/cv_model.py | 461 | # image_path = "/Users/sbtjfdn/Downloads/记忆科学/files/aippt.cn.png" | COMMENT |
| LOW | api/app/core/rag/common/constants.py | 141 | # ENV_TRINO_USE_TLS = "TRINO_USE_TLS" | COMMENT |
| LOW | api/app/core/rag/common/constants.py | 161 | # ENV_MINERU_OUTPUT_DIR = "MINERU_OUTPUT_DIR" | COMMENT |
| LOW | api/app/core/workflow/nodes/base_config.py | 121 | # | COMMENT |
| LOW | api/app/core/workflow/nodes/base_node.py | 661 | "token_usage": None, | COMMENT |
| LOW | api/app/core/workflow/nodes/start/config.py | 21 | ) | COMMENT |
| LOW | api/app/core/workflow/nodes/start/config.py | 41 | # VariableDefinition( | COMMENT |
| LOW | api/app/core/workflow/utils/__init__.py | 1 | # -*- coding: UTF-8 -*- | COMMENT |
| LOW | api/app/core/workflow/adapters/dify/__init__.py | 1 | # -*- coding: UTF-8 -*- | COMMENT |
| LOW | api/app/core/workflow/adapters/memory_bear/__init__.py | 1 | # -*- coding: UTF-8 -*- | COMMENT |
| LOW | api/app/core/workflow/engine/__init__.py | 1 | # -*- coding: UTF-8 -*- | COMMENT |
| 73 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …plicationManagement/components/UploadWorkflowModal.tsx | 37 | 'upload', // Step 1: File upload | CODE |
| LOW⚡ | …plicationManagement/components/UploadWorkflowModal.tsx | 38 | 'complex', // Step 2: Error/warning display | CODE |
| LOW⚡ | …plicationManagement/components/UploadWorkflowModal.tsx | 39 | 'sureInfo', // Step 3: Information confirmation | CODE |
| LOW⚡ | …plicationManagement/components/UploadWorkflowModal.tsx | 40 | 'completed' // Step 4: Success message | CODE |
| LOW | …plicationManagement/components/UploadWorkflowModal.tsx | 95 | case 0: // Step 1: Upload file | CODE |
| LOW | …plicationManagement/components/UploadWorkflowModal.tsx | 130 | case 1: // Step 2: Error/warning display | CODE |
| LOW | …plicationManagement/components/UploadWorkflowModal.tsx | 144 | case 2: // Step 3: Confirm information | CODE |
| LOW | …plicationManagement/components/UploadWorkflowModal.tsx | 215 | case 0: // Step 1: Upload | CODE |
| LOW | …plicationManagement/components/UploadWorkflowModal.tsx | 229 | case 3: // Step 4: Completed | CODE |
| LOW⚡ | …views/ApplicationManagement/components/UploadModal.tsx | 40 | 'upload', // Step 1: File upload | CODE |
| LOW⚡ | …views/ApplicationManagement/components/UploadModal.tsx | 41 | 'complex', // Step 2: Error/warning display | CODE |
| LOW⚡ | …views/ApplicationManagement/components/UploadModal.tsx | 42 | 'completed' // Step 4: Success message | CODE |
| LOW | …views/ApplicationManagement/components/UploadModal.tsx | 96 | case 0: // Step 1: Upload file | CODE |
| LOW | …views/ApplicationManagement/components/UploadModal.tsx | 164 | case 0: // Step 1: Upload | CODE |
| LOW⚡ | …src/views/ApplicationConfig/components/Skill/index.tsx | 25 | 'receiveTask', // Step 1: Receive task | CODE |
| LOW⚡ | …src/views/ApplicationConfig/components/Skill/index.tsx | 26 | 'analyTask', // Step 2: Analyze task intent | CODE |
| LOW⚡ | …src/views/ApplicationConfig/components/Skill/index.tsx | 27 | 'dynamicMatchSkill', // Step 3: Dynamically match appropriate skill | CODE |
| LOW⚡ | …src/views/ApplicationConfig/components/Skill/index.tsx | 28 | 'executeTask' // Step 4: Execute the task | CODE |
| LOW⚡ | api/app/core/memory/pipelines/dispatcher.py | 508 | # Step 2: 解析 memory_config_id(走 workspace 默认配置,与滑动窗口路径一致) | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/dispatcher.py | 515 | # Step 3: 逐条处理 | COMMENT |
| LOW | api/app/core/memory/pipelines/dispatcher.py | 466 | # Step 1: 查询对话信息 + 未写入消息 | COMMENT |
| LOW | api/app/core/memory/pipelines/dispatcher.py | 537 | # Step 4: 清理 pending_conversations Set | COMMENT |
| LOW | api/app/core/memory/pipelines/pruning_pipeline.py | 108 | # Step 1: 查询 Redis 缓存 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/pruning_pipeline.py | 136 | # Step 2: 缓存未命中,调用 LLM 剪枝 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/pruning_pipeline.py | 146 | # Step 3: 写入 Redis 缓存(TTL=86400s) | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 455 | # Step 6: 摘要 - 生成情景记忆摘要 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 459 | # Step 5: 聚类 - 增量更新社区(Celery 异步任务,无需持锁) | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 480 | # Step 1: 预处理 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 509 | # Step 2: 萃取 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 618 | # Step 3: 存储 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 675 | # Step 4: 聚类 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 723 | # Step 5: 摘要 | COMMENT |
| LOW | api/app/core/memory/pipelines/write_pipeline.py | 344 | # Step 1: 剪枝 - 构建 Pruned_Context | COMMENT |
| LOW | api/app/core/memory/pipelines/write_pipeline.py | 393 | # Step 2: 预处理 - 消息分块 | COMMENT |
| LOW | api/app/core/memory/pipelines/write_pipeline.py | 434 | # Step 3: 萃取 - 知识提取 | COMMENT |
| LOW | …ion_engine/knowledge_extraction/ontology_extraction.py | 125 | # Step 1: Call LLM for extraction with timeout | COMMENT |
| LOW | …ion_engine/knowledge_extraction/ontology_extraction.py | 170 | # Step 2: First-layer validation (string validation and cleaning) | COMMENT |
| LOW⚡ | …ion_engine/knowledge_extraction/ontology_extraction.py | 192 | # Step 3: Second-layer validation (OWL semantic validation) | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1098 | # Step 1: 候选召回(均摊耗时) | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1104 | # Step 2: 综合打分(均摊耗时) | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1110 | # Step 3: LLM 调用(均摊耗时) | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1117 | # Step 4: 策略决策(选择 keeper) | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1147 | # Step 5: 写入 | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1501 | # Step 1: 获取上下文 | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1511 | # Step 2: LLM 消解 + 提取 | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1177 | # Step 6: 写 ReflectionLog | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1527 | # Step 3: 校验 | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1560 | # Step 4: 写入 Neo4j | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1703 | # Step 5: 写反思日志(仅 resolved=true 时) | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1799 | # Step 1: 碎片拆分 + 备份 timeline | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1816 | # Step 2: LLM 合并 + (企业版)事件提取 + 更名判断 | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1862 | # Step 3: 兜底校验 summary | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1873 | # Step 4: 应用事件操作(企业版能力;社区版跳过,不记 tracker/快照) | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1895 | # Step 5: 写入 Neo4j(summary + timeline + event_timeline + 清空 description) | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1907 | # Step 6: 更名判断 | COMMENT |
| LOW | api/app/repositories/neo4j/community_repository.py | 409 | # Step 1: 删除该用户下所有无成员边的空社区(始终全量) | COMMENT |
| LOW⚡ | api/app/services/memory_config_service.py | 468 | # Step 2: Validate embedding model with workspace fallback | COMMENT |
| LOW | api/app/services/memory_config_service.py | 479 | # Step 3: Resolve LLM model with workspace fallback | COMMENT |
| LOW | api/app/services/memory_config_service.py | 490 | # Step 4: Resolve optional rerank model with workspace fallback | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …plicationManagement/components/UploadWorkflowModal.tsx | 37 | 'upload', // Step 1: File upload | CODE |
| LOW⚡ | …plicationManagement/components/UploadWorkflowModal.tsx | 38 | 'complex', // Step 2: Error/warning display | CODE |
| LOW⚡ | …plicationManagement/components/UploadWorkflowModal.tsx | 39 | 'sureInfo', // Step 3: Information confirmation | CODE |
| LOW⚡ | …plicationManagement/components/UploadWorkflowModal.tsx | 40 | 'completed' // Step 4: Success message | CODE |
| LOW | …plicationManagement/components/UploadWorkflowModal.tsx | 95 | case 0: // Step 1: Upload file | CODE |
| LOW | …plicationManagement/components/UploadWorkflowModal.tsx | 130 | case 1: // Step 2: Error/warning display | CODE |
| LOW | …plicationManagement/components/UploadWorkflowModal.tsx | 144 | case 2: // Step 3: Confirm information | CODE |
| LOW | …plicationManagement/components/UploadWorkflowModal.tsx | 215 | case 0: // Step 1: Upload | CODE |
| LOW | …plicationManagement/components/UploadWorkflowModal.tsx | 229 | case 3: // Step 4: Completed | CODE |
| LOW⚡ | …views/ApplicationManagement/components/UploadModal.tsx | 40 | 'upload', // Step 1: File upload | CODE |
| LOW⚡ | …views/ApplicationManagement/components/UploadModal.tsx | 41 | 'complex', // Step 2: Error/warning display | CODE |
| LOW⚡ | …views/ApplicationManagement/components/UploadModal.tsx | 42 | 'completed' // Step 4: Success message | CODE |
| LOW | …views/ApplicationManagement/components/UploadModal.tsx | 96 | case 0: // Step 1: Upload file | CODE |
| LOW | …views/ApplicationManagement/components/UploadModal.tsx | 164 | case 0: // Step 1: Upload | CODE |
| LOW⚡ | …src/views/ApplicationConfig/components/Skill/index.tsx | 25 | 'receiveTask', // Step 1: Receive task | CODE |
| LOW⚡ | …src/views/ApplicationConfig/components/Skill/index.tsx | 26 | 'analyTask', // Step 2: Analyze task intent | CODE |
| LOW⚡ | …src/views/ApplicationConfig/components/Skill/index.tsx | 27 | 'dynamicMatchSkill', // Step 3: Dynamically match appropriate skill | CODE |
| LOW⚡ | …src/views/ApplicationConfig/components/Skill/index.tsx | 28 | 'executeTask' // Step 4: Execute the task | CODE |
| LOW⚡ | api/app/core/memory/pipelines/dispatcher.py | 508 | # Step 2: 解析 memory_config_id(走 workspace 默认配置,与滑动窗口路径一致) | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/dispatcher.py | 515 | # Step 3: 逐条处理 | COMMENT |
| LOW | api/app/core/memory/pipelines/dispatcher.py | 466 | # Step 1: 查询对话信息 + 未写入消息 | COMMENT |
| LOW | api/app/core/memory/pipelines/dispatcher.py | 537 | # Step 4: 清理 pending_conversations Set | COMMENT |
| LOW | api/app/core/memory/pipelines/pruning_pipeline.py | 108 | # Step 1: 查询 Redis 缓存 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/pruning_pipeline.py | 136 | # Step 2: 缓存未命中,调用 LLM 剪枝 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/pruning_pipeline.py | 146 | # Step 3: 写入 Redis 缓存(TTL=86400s) | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 455 | # Step 6: 摘要 - 生成情景记忆摘要 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 459 | # Step 5: 聚类 - 增量更新社区(Celery 异步任务,无需持锁) | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 480 | # Step 1: 预处理 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 509 | # Step 2: 萃取 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 618 | # Step 3: 存储 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 675 | # Step 4: 聚类 | COMMENT |
| LOW⚡ | api/app/core/memory/pipelines/write_pipeline.py | 723 | # Step 5: 摘要 | COMMENT |
| LOW | api/app/core/memory/pipelines/write_pipeline.py | 344 | # Step 1: 剪枝 - 构建 Pruned_Context | COMMENT |
| LOW | api/app/core/memory/pipelines/write_pipeline.py | 393 | # Step 2: 预处理 - 消息分块 | COMMENT |
| LOW | api/app/core/memory/pipelines/write_pipeline.py | 434 | # Step 3: 萃取 - 知识提取 | COMMENT |
| LOW | …ion_engine/knowledge_extraction/ontology_extraction.py | 125 | # Step 1: Call LLM for extraction with timeout | COMMENT |
| LOW | …ion_engine/knowledge_extraction/ontology_extraction.py | 170 | # Step 2: First-layer validation (string validation and cleaning) | COMMENT |
| LOW⚡ | …ion_engine/knowledge_extraction/ontology_extraction.py | 192 | # Step 3: Second-layer validation (OWL semantic validation) | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1098 | # Step 1: 候选召回(均摊耗时) | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1104 | # Step 2: 综合打分(均摊耗时) | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1110 | # Step 3: LLM 调用(均摊耗时) | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1117 | # Step 4: 策略决策(选择 keeper) | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1147 | # Step 5: 写入 | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1501 | # Step 1: 获取上下文 | COMMENT |
| LOW⚡ | …storage_services/reflection_engine/layer2_inspector.py | 1511 | # Step 2: LLM 消解 + 提取 | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1177 | # Step 6: 写 ReflectionLog | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1527 | # Step 3: 校验 | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1560 | # Step 4: 写入 Neo4j | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1703 | # Step 5: 写反思日志(仅 resolved=true 时) | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1799 | # Step 1: 碎片拆分 + 备份 timeline | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1816 | # Step 2: LLM 合并 + (企业版)事件提取 + 更名判断 | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1862 | # Step 3: 兜底校验 summary | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1873 | # Step 4: 应用事件操作(企业版能力;社区版跳过,不记 tracker/快照) | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1895 | # Step 5: 写入 Neo4j(summary + timeline + event_timeline + 清空 description) | COMMENT |
| LOW | …storage_services/reflection_engine/layer2_inspector.py | 1907 | # Step 6: 更名判断 | COMMENT |
| LOW | api/app/repositories/neo4j/community_repository.py | 409 | # Step 1: 删除该用户下所有无成员边的空社区(始终全量) | COMMENT |
| LOW⚡ | api/app/services/memory_config_service.py | 468 | # Step 2: Validate embedding model with workspace fallback | COMMENT |
| LOW | api/app/services/memory_config_service.py | 479 | # Step 3: Resolve LLM model with workspace fallback | COMMENT |
| LOW | api/app/services/memory_config_service.py | 490 | # Step 4: Resolve optional rerank model with workspace fallback | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | sandbox/app/dependencies.py | 42 | # Check if requirements file exists | COMMENT |
| LOW | sandbox/app/core/runners/nodejs/nodejs_runner.py | 71 | # Check if preload is allowed | COMMENT |
| LOW | sandbox/app/core/runners/python/python_runner.py | 87 | # Check if preload is allowed | COMMENT |
| LOW | sandbox/script/env.sh | 3 | # Check if the correct number of arguments are provided | COMMENT |
| LOW | sandbox/script/env.sh | 30 | # Check if src is a file or directory | COMMENT |
| LOW | api/app/dependencies.py | 319 | # Check if user is a member | COMMENT |
| LOW⚡ | …app/core/memory/utils/validation/ontology_validator.py | 77 | # Check if empty | COMMENT |
| LOW⚡ | …app/core/memory/utils/validation/ontology_validator.py | 85 | # Check if it's an OWL reserved word | COMMENT |
| LOW⚡ | …app/core/memory/utils/validation/ontology_validator.py | 91 | # Check if starts with uppercase letter (only for ASCII letters) | COMMENT |
| LOW | api/app/core/memory/utils/validation/owl_validator.py | 142 | # Check if parent exists | COMMENT |
| LOW | api/app/core/memory/agent/logger_file/log_streamer.py | 105 | # Check if file exists | COMMENT |
| LOW | api/app/core/memory/agent/logger_file/log_streamer.py | 204 | # Check if file exists | COMMENT |
| LOW | api/app/core/memory/agent/logger_file/log_streamer.py | 218 | # Open file and seek to end to start streaming new content | COMMENT |
| LOW | api/app/core/memory/agent/logger_file/log_streamer.py | 227 | # Check if file has new content | COMMENT |
| LOW⚡ | …ion_engine/knowledge_extraction/ontology_extraction.py | 185 | # Check if we have enough classes after first-layer validation | COMMENT |
| LOW | api/app/core/memory/src/search.py | 171 | # Check if we've seen this ID or content before | COMMENT |
| LOW | api/app/core/memory/src/search.py | 522 | # # Check if reranking is enabled | COMMENT |
| LOW | api/app/core/models/llm.py | 236 | # Check if there's a fallback method | COMMENT |
| LOW | api/app/core/rag/graphrag/general/index.py | 457 | # Check if task has been canceled before resolution | COMMENT |
| LOW | api/app/core/rag/crawler/content_extractor.py | 87 | # Check if content is static | COMMENT |
| LOW | api/app/core/rag/crawler/url_normalizer.py | 120 | # Check if domains match | COMMENT |
| LOW | api/app/core/rag/crawler/url_normalizer.py | 155 | # Check if href starts with http/https (absolute URL) | COMMENT |
| LOW | api/app/core/rag/crawler/web_crawler.py | 143 | # Check if static content | COMMENT |
| LOW | api/app/core/workflow/nodes/base_node.py | 492 | # Check if it's a completion marker | COMMENT |
| LOW | api/app/core/workflow/nodes/base_node.py | 635 | # # Check if the node has an error edge defined | COMMENT |
| LOW | …/app/core/workflow/engine/stream_output_coordinator.py | 423 | # Check if this variable's scope was already fully streamed via node_chunk events. | COMMENT |
| LOW | api/app/core/validators/file_validator.py | 223 | # Check if the detected type matches the extension | COMMENT |
| LOW | api/app/repositories/memory_config_repository.py | 552 | # Check if config exists but workspace is missing | STRING |
| LOW | api/app/controllers/mcp_market_controller.py | 192 | # Check if the mcp market name already exists | COMMENT |
| LOW | api/app/controllers/file_storage_controller.py | 201 | # Read file contents | COMMENT |
| LOW | api/app/controllers/i18n_controller.py | 116 | # Check if locale exists | COMMENT |
| LOW | api/app/controllers/i18n_controller.py | 176 | # Check if language already exists | COMMENT |
| LOW | api/app/controllers/i18n_controller.py | 228 | # Check if language exists | COMMENT |
| LOW | api/app/controllers/i18n_controller.py | 316 | # Check if locale exists | COMMENT |
| LOW | api/app/controllers/i18n_controller.py | 355 | # Check if locale exists | COMMENT |
| LOW | api/app/controllers/i18n_controller.py | 417 | # Check if locale exists | COMMENT |
| LOW | api/app/controllers/knowledge_controller.py | 587 | # Check if the knowledge base name already exists | COMMENT |
| LOW | api/app/controllers/upload_controller.py | 242 | # Check if physical file exists | COMMENT |
| LOW | api/app/services/prompt_optimizer_service.py | 253 | # Check if end tag already in buffer | COMMENT |
| LOW | api/app/services/workflow_tool_publish_service.py | 185 | # Check if already published | COMMENT |
| LOW | api/app/services/memory_agent_service.py | 51 | # Check if AI message contains tool calls | COMMENT |
| LOW | api/app/services/memory_agent_service.py | 67 | # Check if tool message | COMMENT |
| LOW | api/app/services/memory_agent_service.py | 113 | # Check if pool usage is too high | COMMENT |
| LOW | api/app/services/memory_agent_service.py | 183 | # Check if file exists before starting stream | COMMENT |
| LOW | api/app/services/memory_agent_service.py | 666 | # Check if file exists before starting stream | COMMENT |
| LOW | api/app/services/memory_config_service.py | 983 | # Check if this is the default config - default configs cannot be deleted | COMMENT |
| LOW | api/app/services/memory_config_service.py | 1132 | # Check if it's a numeric string (legacy int format) | COMMENT |
| LOW | api/app/services/user_memory_service.py | 209 | # Check if time distribution is too concentrated (likely batch imported data) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | api/app/tasks.py | 1778 | # RAG 存储类型走独立路径 | COMMENT |
| MEDIUM | api/app/core/error_codes.py | 85 | # RAG/知识(9xxx) | COMMENT |
| MEDIUM | api/app/core/rag_utils/README.md | 1 | # RAG Chunk 分析工具 | COMMENT |
| MEDIUM⚡ | api/app/core/memory/pipelines/dispatcher.py | 211 | # RAG 写入 | COMMENT |
| MEDIUM | api/app/core/rag/llm/embedding_model.py | 54 | # between cl100k_base (used by truncate) and the actual embedding model | COMMENT |
| MEDIUM | api/app/models/end_user_model.py | 81 | # RAG存储模式专用字段 - RAG Storage Mode Fields | COMMENT |
| MEDIUM | api/app/controllers/memory_controller.py | 85 | # ── RAG 路径:保持不变,直接拼接文本写向量库 ── | COMMENT |
| MEDIUM | api/app/controllers/multi_agent_controller.py | 26 | # "/{app_id}/multi-agent", | COMMENT |
| MEDIUM | api/app/controllers/multi_agent_controller.py | 118 | # "/{app_id}/multi-agent", | COMMENT |
| MEDIUM | api/app/controllers/multi_agent_controller.py | 135 | # "/{app_id}/multi-agent/run", | COMMENT |
| MEDIUM | api/app/controllers/multi_agent_controller.py | 163 | # "/{app_id}/multi-agent/test-routing", | COMMENT |
| MEDIUM | api/app/controllers/multi_agent_controller.py | 283 | # "/{app_id}/multi-agent/test-master-agent", | COMMENT |
| MEDIUM | api/app/controllers/multi_agent_controller.py | 437 | # "/{app_id}/multi-agent/batch-test-routing", | COMMENT |
| MEDIUM | api/app/controllers/memory_dashboard_controller.py | 401 | # ======== RAG 数据统计 ======== | COMMENT |
| MEDIUM | api/app/services/memory_dashboard_service.py | 424 | # ======== RAG 相关服务 ======== | COMMENT |
| MEDIUM⚡ | api/app/services/memory_config_service.py | 468 | # Step 2: Validate embedding model with workspace fallback | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | api/app/tasks.py | 1729 | CODE | |
| LOW | api/app/core/memory/memory_service.py | 236 | CODE | |
| LOW | api/app/core/memory/pipelines/write_pipeline.py | 230 | CODE | |
| LOW | api/app/core/memory/agent/utils/get_dialogs.py | 7 | CODE | |
| LOW | …ion_engine/knowledge_extraction/ontology_extraction.py | 56 | CODE | |
| LOW | …y/storage_services/reflection_engine/self_reflexion.py | 161 | CODE | |
| LOW | api/app/core/agent/langchain_agent.py | 218 | CODE | |
| LOW | api/app/core/models/generation.py | 45 | CODE | |
| LOW | api/app/core/models/generation.py | 163 | CODE | |
| LOW | api/app/core/rag/deepdoc/parser/mineru_parser.py | 440 | CODE | |
| LOW | api/app/core/rag/graphrag/utils.py | 423 | CODE | |
| LOW | api/app/core/rag/graphrag/general/graph_extractor.py | 51 | CODE | |
| LOW | api/app/core/rag/nlp/search.py | 696 | CODE | |
| LOW | api/app/core/workflow/nodes/parameter_extractor/node.py | 249 | CODE | |
| LOW | api/app/core/workflow/adapters/dify/converter.py | 1172 | CODE | |
| LOW | api/app/controllers/api_key_controller.py | 287 | CODE | |
| LOW | api/app/controllers/model_controller.py | 44 | CODE | |
| LOW | api/app/controllers/model_controller.py | 112 | CODE | |
| LOW | api/app/controllers/memory_reflection_controller.py | 136 | CODE | |
| LOW | api/app/controllers/app_controller.py | 56 | CODE | |
| LOW | api/app/controllers/document_controller.py | 54 | CODE | |
| LOW | api/app/controllers/knowledge_controller.py | 279 | CODE | |
| LOW | …app/controllers/service/rag_api_document_controller.py | 25 | CODE | |
| LOW | …pp/controllers/service/rag_api_knowledge_controller.py | 65 | CODE | |
| LOW | api/app/services/prompt_optimizer_service.py | 563 | CODE | |
| LOW | api/app/services/app_chat_service.py | 168 | CODE | |
| LOW | api/app/services/app_chat_service.py | 607 | CODE | |
| LOW | api/app/services/app_chat_service.py | 1310 | CODE | |
| LOW | api/app/services/app_chat_service.py | 1345 | CODE | |
| LOW | api/app/services/memory_reflection_service.py | 572 | CODE | |
| LOW | api/app/services/multi_agent_orchestrator.py | 110 | CODE | |
| LOW | api/app/services/multi_agent_orchestrator.py | 1374 | CODE | |
| LOW | api/app/services/workspace_service.py | 230 | CODE | |
| LOW | api/app/services/draft_run_service.py | 348 | CODE | |
| LOW | api/app/services/draft_run_service.py | 707 | CODE | |
| LOW | api/app/services/draft_run_service.py | 1139 | CODE | |
| LOW | api/app/services/draft_run_service.py | 1976 | CODE | |
| LOW | api/app/services/draft_run_service.py | 2598 | CODE | |
| LOW | api/app/services/draft_run_service.py | 2825 | CODE | |
| LOW | api/app/services/generation_service.py | 77 | CODE | |
| LOW | api/app/services/generation_service.py | 132 | CODE | |
| LOW | api/app/services/generation_service.py | 177 | CODE | |
| LOW | api/app/services/app_service.py | 2682 | CODE | |
| LOW | api/app/services/app_service.py | 1180 | CODE | |
| LOW | api/app/services/workflow_service.py | 567 | CODE | |
| LOW | api/app/services/workflow_service.py | 713 | CODE | |
| LOW | api/app/services/workflow_service.py | 4731 | CODE | |
| LOW | api/app/services/workflow_service.py | 5223 | CODE | |
| LOW | api/app/services/memory_storage_service.py | 497 | CODE | |
| LOW | api/app/services/memory_storage_service.py | 506 | CODE | |
| LOW | api/app/services/memory_storage_service.py | 515 | CODE | |
| LOW | api/app/services/memory_storage_service.py | 524 | CODE | |
| LOW | api/app/services/memory_storage_service.py | 559 | CODE | |
| LOW | api/app/services/memory_storage_service.py | 567 | CODE | |
| LOW | api/app/services/memory_storage_service.py | 575 | CODE | |
| LOW | api/app/services/memory_storage_service.py | 741 | CODE | |
| LOW | api/app/services/memory_storage_service.py | 74 | CODE | |
| LOW | api/app/services/shared_chat_service.py | 155 | CODE | |
| LOW | api/app/services/shared_chat_service.py | 363 | CODE | |
| LOW | api/app/services/shared_chat_service.py | 635 | CODE | |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sandbox/script/env.sh | 45 | # Create the same directory structure in the destination | COMMENT |
| MEDIUM | api/app/core/memory/utils/validation/owl_validator.py | 86 | # Create a new world (isolated ontology environment) | COMMENT |
| MEDIUM | …alytics/implicit_memory/analyzers/interest_analyzer.py | 41 | # Define the four interest categories we analyze | COMMENT |
| MEDIUM | …lytics/implicit_memory/analyzers/dimension_analyzer.py | 42 | # Define the four dimensions we analyze | COMMENT |
| MEDIUM | api/app/core/rag/crawler/robots_parser.py | 67 | # Create a permissive parser | COMMENT |
| MEDIUM | api/app/core/workflow/executor.py | 202 | # Initialize the variable pool and system variables | COMMENT |
| MEDIUM | api/app/core/workflow/nodes/assigner/node.py | 52 | # Initialize a variable pool for accessing conversation, node, and system variables | COMMENT |
| MEDIUM | api/app/services/file_storage_service.py | 358 | # Create a default instance for convenience | COMMENT |
| MEDIUM | api/app/services/workspace_service.py | 528 | # Create the workspace without adding any members | COMMENT |
| MEDIUM | api/app/services/workspace_service.py | 571 | # Create the workspace without adding any members | COMMENT |
| MEDIUM | api/app/services/memory_konwledges_server.py | 324 | # Create a document | COMMENT |
| MEDIUM | api/app/services/user_service.py | 48 | # Create a default tenant for the superuser | COMMENT |
| MEDIUM | api/app/services/upload_service.py | 163 | # Create a temporary UoW wrapper for the existing session | COMMENT |
| MEDIUM | api/tests/workflow/nodes/base.py | 51 | # Initialize system variables (sys namespace) | COMMENT |
| MEDIUM | api/tests/workflow/nodes/base.py | 56 | # Initialize system variables (sys namespace) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | api/app/core/workflow/nodes/llm/node.py | 247 | # Optional (required=False) scalar fields allow null; required fields do not | COMMENT |
| HIGH | api/app/core/workflow/nodes/llm/node.py | 331 | (recursively, each child defaults to null) so the full schema | STRING |
| HIGH | api/app/core/workflow/nodes/agent/node.py | 53 | {"tool_id": "uuid", "tool_type": "builtin", "operation": null, "enabled": true} | STRING |
| HIGH | api/app/repositories/neo4j/cypher_queries.py | 2272 | e.activation_value = null, | CODE |
| HIGH | api/app/repositories/neo4j/cypher_queries.py | 2275 | e.last_access_time = null, | CODE |
| HIGH | api/app/controllers/memory_dashboard_controller.py | 569 | } | null, | STRING |
| HIGH | api/app/services/workflow_service.py | 5958 | # 成为孤儿(parent=null)。否则 switch-version/branch 重建分支链 | COMMENT |
| HIGH | api/app/services/workflow_service.py | 3763 | 第二轮 user 不会成为孤儿(parent=null)。第一轮无已落库 assistant 时返回 None。 | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | web/src/i18n/en.ts | 3476 | portraitSubTitle: 'Personalized insights generated by AI based on your preference tags', | CODE |
| HIGH | api/app/core/memory/models/graph_models.py | 246 | # Core fields (ordered as requested) | COMMENT |
| HIGH | api/app/core/memory/models/graph_models.py | 257 | # Emotion fields (ordered as requested, emotion_intensity first for display) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | api/app/core/rag/deepdoc/parser/pdf_parser.py | 550 | CODE | |
| MEDIUM | api/app/core/rag/deepdoc/parser/pdf_parser.py | 566 | CODE | |
| MEDIUM | api/app/core/rag/deepdoc/parser/pdf_parser.py | 567 | CODE | |
| MEDIUM | api/app/core/rag/deepdoc/parser/pdf_parser.py | 568 | CODE | |
| MEDIUM | api/app/core/rag/deepdoc/parser/pdf_parser.py | 625 | CODE | |
| MEDIUM | api/app/core/rag/deepdoc/parser/pdf_parser.py | 626 | CODE | |
| MEDIUM | api/app/core/rag/deepdoc/parser/pdf_parser.py | 647 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | api/app/core/memory/agent/logger_file/log_streamer.py | 35 | # This pattern is comprehensive to handle various log formats | COMMENT |
| MEDIUM | api/app/core/memory/models/base_response.py | 15 | """Base class for LLM response models with robust validation. | STRING |
| MEDIUM | api/app/core/rag/graphrag/light/graph_prompt.py | 140 | PROMPTS["summarize_entity_descriptions"] = """You are a helpful assistant responsible for generating a comprehensive sum | CODE |
| MEDIUM | api/app/controllers/memory_short_term_controller.py | 109 | # Compile comprehensive memory statistics response | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | api/app/core/config.py | 165 | FIRST_SUPERUSER_EMAIL: str = os.getenv("FIRST_SUPERUSER_EMAIL", "admin@example.com") | CODE |
| LOW | api/app/core/memory/src/search.py | 476 | # model_name = rc.get("model", "placeholder") | COMMENT |
| LOW | api/app/core/rag/prompts/structured_output_prompt.md | 14 | {"name": "John Doe", "age": 30} | CODE |
| LOW | api/app/schemas/order_schema.py | 25 | "customer_name": "John Doe", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | api/app/services/dynamic_handoff_tools.py | 309 | api_key="your-api-key", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …re/memory/utils/visualization/forgetting_visualizer.py | 353 | # Example usage | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | api/app/core/workflow/nodes/cycle_graph/iteration.py | 143 | async def run_task(self, item, idx): | CODE |