RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
This report presents the forensic synthetic code analysis of infiniflow/ragflow, a Go project with 84,995 GitHub stars. SynthScan v2.0 examined 1,207,609 lines of code across 4295 source files, recording 11094 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 12.4 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
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 11094 distinct pattern matches across 24 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 | tools/firecrawl/firecrawl_connector.py | 187 | async def wait_for_crawl_completion(self, job_id: str, poll_interval: int = 30) -> CrawlJob: | CODE |
| LOW | tools/firecrawl/firecrawl_ui.py | 22 | def create_data_source_config() -> Dict[str, Any]: | CODE |
| LOW | tools/firecrawl/firecrawl_ui.py | 112 | def create_progress_component() -> Dict[str, Any]: | CODE |
| LOW | tools/firecrawl/example_usage.py | 12 | async def example_single_url_scraping(): | CODE |
| LOW⚡ | tools/firecrawl/example_usage.py | 116 | async def example_content_processing(): | CODE |
| LOW⚡ | tools/firecrawl/example_usage.py | 176 | async def example_configuration_validation(): | CODE |
| LOW | tools/firecrawl/ragflow_integration.py | 135 | def get_supported_scrape_types(self) -> List[str]: | CODE |
| LOW | tools/firecrawl/ragflow_integration.py | 149 | def create_firecrawl_integration(config_dict: Dict[str, Any]) -> RAGFlowFirecrawlIntegration: | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 27 | def test_result_default_values(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 97 | def test_verify_counts_mismatch(self, mock_es_client, mock_ob_client): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 111 | def test_verify_samples_all_match(self, mock_es_client, mock_ob_client): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 132 | def test_verify_samples_some_missing(self, mock_es_client, mock_ob_client): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 155 | def test_verify_samples_data_mismatch(self, mock_es_client, mock_ob_client): | CODE |
| LOW⚡ | tools/es-to-oceanbase-migration/tests/test_verify.py | 176 | def test_values_equal_none_values(self, verifier): | CODE |
| LOW⚡ | tools/es-to-oceanbase-migration/tests/test_verify.py | 182 | def test_values_equal_array_columns(self, verifier): | CODE |
| LOW⚡ | tools/es-to-oceanbase-migration/tests/test_verify.py | 190 | def test_values_equal_json_columns(self, verifier): | CODE |
| LOW⚡ | tools/es-to-oceanbase-migration/tests/test_verify.py | 194 | def test_values_equal_kb_id_list(self, verifier): | CODE |
| LOW⚡ | tools/es-to-oceanbase-migration/tests/test_verify.py | 199 | def test_values_equal_content_with_weight_dict(self, verifier): | CODE |
| LOW⚡ | tools/es-to-oceanbase-migration/tests/test_verify.py | 203 | def test_determine_result_passed(self, mock_es_client, mock_ob_client): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 218 | def test_determine_result_failed_count(self, mock_es_client, mock_ob_client): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 230 | def test_determine_result_failed_samples(self, mock_es_client, mock_ob_client): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 268 | def test_generate_report_with_missing(self, verifier): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 292 | def test_generate_report_with_mismatches(self, verifier): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 343 | def test_empty_array_comparison(self, verifier): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_verify.py | 347 | def test_nested_json_comparison(self, verifier): | CODE |
| LOW⚡ | tools/es-to-oceanbase-migration/tests/test_schema.py | 443 | def test_convert_empty_document(self): | CODE |
| LOW⚡ | tools/es-to-oceanbase-migration/tests/test_schema.py | 452 | def test_convert_document_without_source(self): | CODE |
| LOW⚡ | tools/es-to-oceanbase-migration/tests/test_schema.py | 462 | def test_convert_boolean_to_integer(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 27 | def test_analyze_ragflow_mapping(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 89 | def test_get_column_definitions(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 116 | def test_convert_basic_document(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 161 | def test_convert_array_fields(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 206 | def test_convert_unknown_fields_to_extra(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 244 | def test_convert_content_with_weight_dict(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 334 | def test_ragflow_columns_completeness(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 354 | def test_ragflow_columns_types(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 386 | def test_mapping_without_properties(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 394 | def test_multiple_vector_fields(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 411 | def test_get_column_definitions_without_analysis(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 479 | def test_convert_invalid_integer(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 515 | def test_convert_array_with_special_characters(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 535 | def test_convert_already_json_array(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 552 | def test_convert_single_value_to_array(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 570 | def test_detect_vector_fields_from_document(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 584 | def test_convert_with_default_values(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 602 | def test_convert_list_content(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_schema.py | 629 | def test_existing_extra_field_merged(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 17 | def test_create_basic_progress(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 32 | def test_create_progress_with_counts(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 44 | def test_progress_default_values(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 59 | def test_progress_status_values(self): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 84 | def test_create_progress_manager(self, temp_dir): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 89 | def test_create_progress_manager_creates_dir(self, temp_dir): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 108 | def test_save_and_load_progress(self, manager): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 129 | def test_load_nonexistent_progress(self, manager): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 172 | def test_update_progress_multiple_batches(self, manager): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 246 | def test_can_resume_completed(self, manager): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 259 | def test_can_resume_nonexistent(self, manager): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 286 | def test_get_resume_info_nonexistent(self, manager): | CODE |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 302 | def test_progress_file_content(self, manager): | CODE |
| 3484 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run_tests.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | pyproject.toml | 141 | # "pillow>=12.2.0,<13.0.0", | COMMENT |
| LOW | pyproject.toml | 341 | # "pragma: no cover", | COMMENT |
| LOW | lefthook.yml | 1 | # There are 8 fix-capable jobs and 5 pure-check jobs. | COMMENT |
| LOW | cmd/ragflow-cli.go | 1 | //go:build ignore | COMMENT |
| LOW | cmd/ragflow_server.go | 1 | // | COMMENT |
| LOW | cmd/ragflow_server.go | 741 | // is unreachable (degraded boot, stand-alone mode, no-redis CI) | COMMENT |
| LOW | cmd/ragflow_server.go | 921 | // agentRunOptions bundles the three optional injection slots the | COMMENT |
| LOW | cmd/ragflow_server.go | 941 | func buildAgentRunOptions() agentRunOptions { | COMMENT |
| LOW | cmd/ragflow_server.go | 961 | rt := canvas.NewRunTracker(24 * time.Hour) | COMMENT |
| LOW | tools/migrate-canvas/main.go | 1 | // | COMMENT |
| LOW | tools/migrate-canvas/main.go | 21 | // go run ./tools/migrate-canvas -golden=expected.json docs/develop/sample.json | COMMENT |
| LOW | tools/firecrawl/INSTALLATION.md | 101 | export FIRECRAWL_RATE_LIMIT_DELAY="1.0" | COMMENT |
| LOW | tools/gen-component-parity/main.go | 1 | // | COMMENT |
| LOW | tools/gen-component-parity/main.go | 21 | // The tool imports the production packages (which trigger init() | COMMENT |
| LOW | tools/chatgpt-on-wechat/plugins/ragflow_chat.py | 1 | # | COMMENT |
| LOW | tools/chatgpt-on-wechat/plugins/__init__.py | 1 | # | COMMENT |
| LOW | tools/scripts/install.sh | 1 | #!/bin/sh | COMMENT |
| LOW | tools/scripts/run_migrations.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/scripts/db_schema_sync.py | 1 | # | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 1 | # | COMMENT |
| LOW | docker/docker-compose-macos.yml | 21 | - ./nginx/nginx.conf:/etc/nginx/nginx.conf | COMMENT |
| LOW | docker/docker-compose-macos.yml | 41 | # - ragflow | COMMENT |
| LOW | docker/docker-compose.yml | 21 | ragflow-cpu: | COMMENT |
| LOW | docker/docker-compose.yml | 81 | # - --enable-mcpserver | COMMENT |
| LOW | docker/docker-compose.yml | 121 | reservations: | COMMENT |
| LOW | docker/docker-compose.yml | 141 | # # https://docs.docker.com/engine/daemon/prometheus/#create-a-prometheus-configuration | COMMENT |
| LOW | memory/utils/infinity_conn.py | 1 | # | COMMENT |
| LOW | memory/utils/es_conn.py | 1 | # | COMMENT |
| LOW | memory/utils/aggregation_utils.py | 1 | # | COMMENT |
| LOW | memory/utils/prompt_util.py | 1 | # | COMMENT |
| LOW | memory/utils/msg_util.py | 1 | # | COMMENT |
| LOW | memory/utils/highlight_utils.py | 1 | # | COMMENT |
| LOW | memory/utils/ob_conn.py | 1 | # | COMMENT |
| LOW | memory/services/query.py | 1 | # | COMMENT |
| LOW | memory/services/messages.py | 1 | # | COMMENT |
| LOW | deepdoc/__init__.py | 1 | # | COMMENT |
| LOW | deepdoc/vision/t_ocr.py | 1 | # | COMMENT |
| LOW | deepdoc/vision/t_recognizer.py | 1 | # | COMMENT |
| LOW | deepdoc/vision/recognizer.py | 1 | # | COMMENT |
| LOW | deepdoc/vision/postprocess.py | 1 | # | COMMENT |
| LOW | deepdoc/vision/__init__.py | 1 | # | COMMENT |
| LOW | deepdoc/vision/layout_recognizer.py | 1 | # | COMMENT |
| LOW | deepdoc/vision/ocr.py | 1 | # | COMMENT |
| LOW | deepdoc/vision/seeit.py | 1 | # | COMMENT |
| LOW | deepdoc/vision/operators.py | 1 | # | COMMENT |
| LOW | deepdoc/vision/table_structure_recognizer.py | 1 | # | COMMENT |
| LOW | deepdoc/parser/paddleocr_parser.py | 1 | # Copyright 2026 The InfiniFlow Authors. All Rights Reserved. | COMMENT |
| LOW | deepdoc/parser/pdf_parser.py | 1 | # | COMMENT |
| LOW | deepdoc/parser/ppt_parser.py | 1 | # | COMMENT |
| LOW | deepdoc/parser/markdown_parser.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | deepdoc/parser/html_parser.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | deepdoc/parser/excel_parser.py | 1 | # Licensed under the Apache License, Version 2.0 (the "License"); | COMMENT |
| LOW | deepdoc/parser/docx_parser.py | 1 | # | COMMENT |
| LOW | deepdoc/parser/tcadp_parser.py | 1 | # | COMMENT |
| LOW | deepdoc/parser/__init__.py | 1 | # | COMMENT |
| LOW | deepdoc/parser/utils.py | 1 | # | COMMENT |
| LOW | deepdoc/parser/figure_parser.py | 1 | # | COMMENT |
| LOW | deepdoc/parser/txt_parser.py | 1 | # | COMMENT |
| LOW | deepdoc/parser/somark_parser.py | 1 | # | COMMENT |
| 2535 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | build.sh | 325 | # ── office_oxide ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | build.sh | 330 | # ── pdfium ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | build.sh | 350 | # ── pdf_oxide ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | build.sh | 372 | # ── platform-specific system libraries ──────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/scripts/run_migrations.sh | 2 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/scripts/run_migrations.sh | 13 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 8 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 10 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 57 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 61 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 160 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 162 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 187 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 189 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 208 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 210 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 251 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/entrypoint.sh | 253 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | deepdoc/server/docker_stubs.py | 31 | # ── deepdoc ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | deepdoc/server/docker_stubs.py | 59 | # ── common ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | deepdoc/server/docker_stubs.py | 119 | # ── rag ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | deepdoc/parser/somark_parser.py | 184 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deepdoc/parser/somark_parser.py | 186 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | deepdoc/parser/somark_parser.py | 250 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | deepdoc/parser/somark_parser.py | 252 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | deepdoc/parser/somark_parser.py | 402 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | deepdoc/parser/somark_parser.py | 404 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deepdoc/parser/somark_parser.py | 425 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | deepdoc/parser/somark_parser.py | 427 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | deepdoc/parser/somark_parser.py | 587 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | deepdoc/parser/somark_parser.py | 589 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | deepdoc/parser/somark_parser.py | 683 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | deepdoc/parser/somark_parser.py | 685 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_rest_api_connector.py | 37 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_rest_api_connector.py | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 27 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 77 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 79 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 117 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 119 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 186 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 188 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 207 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 209 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 358 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 360 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 437 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …/unit_test/data_source/test_onedrive_connector_unit.py | 439 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/unit_test/data_source/test_onedrive_connector_unit.py | 313 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/unit_test/data_source/test_onedrive_connector_unit.py | 315 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_bigquery_connector.py | 118 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_bigquery_connector.py | 120 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_bigquery_connector.py | 151 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_bigquery_connector.py | 153 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_bigquery_connector.py | 237 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_bigquery_connector.py | 239 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_bigquery_connector.py | 295 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_bigquery_connector.py | 297 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | test/unit_test/data_source/test_bigquery_connector.py | 340 | # --------------------------------------------------------------------------- | COMMENT |
| 598 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run_tests.py | 283 | except Exception as e: | CODE |
| LOW | run_tests.py | 334 | except Exception as e: | STRING |
| LOW | tools/firecrawl/firecrawl_connector.py | 129 | except Exception as e: | CODE |
| LOW | tools/firecrawl/firecrawl_connector.py | 149 | except Exception as e: | CODE |
| LOW | tools/firecrawl/firecrawl_connector.py | 183 | except Exception as e: | CODE |
| LOW | tools/firecrawl/firecrawl_connector.py | 221 | except Exception: | CODE |
| LOW | tools/firecrawl/firecrawl_connector.py | 228 | except Exception: | CODE |
| LOW⚡ | tools/firecrawl/example_usage.py | 172 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/firecrawl/example_usage.py | 173 | print(f"Error occurred: {e}") | CODE |
| LOW | tools/firecrawl/integration.py | 63 | except Exception as e: | CODE |
| LOW | tools/firecrawl/integration.py | 75 | except Exception as e: | CODE |
| LOW⚡ | tools/firecrawl/integration.py | 118 | except Exception as e: | CODE |
| LOW⚡ | tools/firecrawl/integration.py | 127 | except Exception as e: | CODE |
| LOW | tools/firecrawl/firecrawl_processor.py | 152 | except Exception: | CODE |
| LOW | tools/firecrawl/firecrawl_processor.py | 199 | except Exception as e: | CODE |
| LOW | tools/firecrawl/ragflow_integration.py | 128 | except Exception as e: | CODE |
| LOW⚡ | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 83 | except Exception as e: | CODE |
| LOW⚡ | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 93 | except Exception as e: | CODE |
| LOW⚡ | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 101 | except Exception: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 241 | except Exception as e: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 262 | except Exception as e: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 280 | except Exception as e: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 304 | except Exception as e: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 316 | except Exception: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 327 | except Exception: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 351 | except Exception as e: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 369 | except Exception: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 391 | except Exception as e: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 404 | except Exception as e: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 413 | except Exception as e: | CODE |
| LOW | …s/es-to-oceanbase-migration/src/es_ob_migration/cli.py | 183 | except Exception as e: | CODE |
| LOW | …s/es-to-oceanbase-migration/src/es_ob_migration/cli.py | 289 | except Exception as e: | CODE |
| LOW | …s/es-to-oceanbase-migration/src/es_ob_migration/cli.py | 346 | except Exception as e: | CODE |
| LOW | …s/es-to-oceanbase-migration/src/es_ob_migration/cli.py | 407 | except Exception as e: | CODE |
| LOW | …s/es-to-oceanbase-migration/src/es_ob_migration/cli.py | 462 | except Exception as e: | CODE |
| LOW | …s/es-to-oceanbase-migration/src/es_ob_migration/cli.py | 499 | except Exception as e: | CODE |
| LOW | …s/es-to-oceanbase-migration/src/es_ob_migration/cli.py | 520 | except Exception as e: | CODE |
| LOW | …s/es-to-oceanbase-migration/src/es_ob_migration/cli.py | 567 | except Exception as e: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/es_client.py | 87 | except Exception: | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/es_client.py | 235 | except Exception: | CODE |
| LOW | …to-oceanbase-migration/src/es_ob_migration/progress.py | 89 | except Exception as e: | CODE |
| LOW | …to-oceanbase-migration/src/es_ob_migration/progress.py | 107 | except Exception as e: | CODE |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 208 | except Exception as e: | CODE |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 295 | except Exception as e: | CODE |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 357 | except Exception as e: | CODE |
| LOW⚡ | tools/chatgpt-on-wechat/plugins/ragflow_chat.py | 89 | except Exception as e: | CODE |
| LOW | tools/chatgpt-on-wechat/plugins/ragflow_chat.py | 111 | except Exception as e: | CODE |
| LOW | tools/hooks/check_files.py | 51 | except Exception as exc: | CODE |
| LOW | tools/hooks/check_files.py | 63 | except Exception as exc: | CODE |
| LOW | tools/hooks/check_files.py | 94 | except Exception: | CODE |
| LOW | tools/scripts/db_schema_sync.py | 726 | except Exception as e: | CODE |
| LOW | tools/scripts/db_schema_sync.py | 741 | except Exception as e: | CODE |
| LOW | tools/scripts/mysql_migration.py | 90 | except Exception as e: | CODE |
| LOW | memory/utils/infinity_conn.py | 171 | except Exception: | CODE |
| LOW | memory/utils/infinity_conn.py | 231 | except Exception: | CODE |
| LOW | memory/utils/infinity_conn.py | 356 | except Exception: | CODE |
| LOW | memory/utils/es_conn.py | 256 | except Exception as e: | CODE |
| LOW | memory/utils/es_conn.py | 299 | except Exception as e: | CODE |
| LOW | memory/utils/es_conn.py | 344 | except Exception as e: | CODE |
| LOW | memory/utils/es_conn.py | 366 | except Exception as e: | CODE |
| 2066 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/firecrawl/example_usage.py | 18 | "api_key": "fc-your-api-key-here", # Replace with your actual API key | CODE |
| HIGH | tools/firecrawl/example_usage.py | 55 | "api_key": "fc-your-api-key-here", # Replace with your actual API key | CODE |
| HIGH | tools/firecrawl/example_usage.py | 88 | "api_key": "fc-your-api-key-here", # Replace with your actual API key | CODE |
| HIGH⚡ | tools/firecrawl/example_usage.py | 122 | "api_key": "fc-your-api-key-here", # Replace with your actual API key | CODE |
| HIGH | tools/firecrawl/INSTALLATION.md | 97 | export FIRECRAWL_API_KEY="fc-your-api-key-here" | CODE |
| HIGH | tools/chatgpt-on-wechat/plugins/README.md | 44 | "ragflow_api_key": "YOUR_API_KEY", | CODE |
| HIGH | web/src/locales/ar.ts | 1386 | 'YOUR_API_KEY (تم الحصول عليه من https://serpapi.com/manage-api-key)', | CODE |
| HIGH | web/src/locales/it.ts | 1888 | 'YOUR_API_KEY (ottenuta da https://serpapi.com/manage-api-key)', | CODE |
| HIGH | web/src/locales/en.ts | 2186 | 'YOUR_API_KEY (obtained from https://serpapi.com/manage-api-key)', | CODE |
| HIGH | web/src/locales/fr.ts | 2494 | 'YOUR_API_KEY (obtenu depuis https://serpapi.com/manage-api-key)', | CODE |
| HIGH | web/src/locales/ru.ts | 1557 | 'YOUR_API_KEY (полученный с https://serpapi.com/manage-api-key)', | CODE |
| HIGH | web/src/locales/ko.ts | 1888 | 'YOUR_API_KEY (https://serpapi.com/manage-api-key 에서 발급)', | CODE |
| HIGH | web/src/locales/bg.ts | 1439 | 'YOUR_API_KEY (получен от https://serpapi.com/manage-api-key)', | CODE |
| HIGH | web/src/pages/agent/constant/index.tsx | 295 | 'YOUR_API_KEY (obtained from https://www.microsoft.com/en-us/bing/apis/bing-web-search-api)', | CODE |
| HIGH | agent/templates/web_search_assistant.json | 205 | "api_key": "YOUR_API_KEY (obtained from https://www.microsoft.com/en-us/bing/apis/bing-web-search-api)", | CODE |
| HIGH | agent/templates/web_search_assistant.json | 554 | "api_key": "YOUR_API_KEY (obtained from https://www.microsoft.com/en-us/bing/apis/bing-web-search-api)", | CODE |
| HIGH | docs/develop/mcp/mcp_client_example.md | 55 | $ curl -N -H "api_key: YOUR_API_KEY" http://127.0.0.1:9382/sse | CODE |
| HIGH | docs/develop/mcp/mcp_client_example.md | 81 | -H "api_key: YOUR_API_KEY" \ | CODE |
| HIGH | docs/develop/mcp/mcp_client_example.md | 113 | -H "api_key: YOUR_API_KEY" \ | CODE |
| HIGH | docs/develop/mcp/mcp_client_example.md | 128 | -H "api_key: YOUR_API_KEY" \ | CODE |
| HIGH | docs/develop/mcp/mcp_client_example.md | 150 | -H "api_key: YOUR_API_KEY" \ | CODE |
| HIGH | docs/develop/mcp/mcp_client_example.md | 182 | -H "api_key: YOUR_API_KEY" \ | CODE |
| HIGH⚡ | docs/develop/mcp/mcp_client_example.md | 202 | -H "api_key: YOUR_API_KEY" \ | CODE |
| HIGH⚡ | docs/develop/mcp/mcp_client_example.md | 214 | -H "api_key: YOUR_API_KEY" \ | CODE |
| HIGH | docs/develop/mcp/mcp_client_example.md | 227 | -H "api_key: YOUR_API_KEY" \ | CODE |
| HIGH | docs/references/python_api_reference.md | 220 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 220 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 406 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 406 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 513 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 513 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 540 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 540 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 661 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 661 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 704 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 704 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 735 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 735 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 788 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 788 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 827 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 827 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 908 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 908 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 964 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 964 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1005 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1005 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1051 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1051 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1133 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1133 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1216 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1216 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1274 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1274 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1314 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1314 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| HIGH | docs/references/python_api_reference.md | 1390 | rag_object = RAGFlow(api_key="<YOUR_API_KEY>", base_url="http://<YOUR_BASE_URL>:9380") | CODE |
| 451 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run_tests.py | 232 | CODE | |
| LOW | tools/firecrawl/firecrawl_processor.py | 96 | CODE | |
| LOW | …s/es-to-oceanbase-migration/src/es_ob_migration/cli.py | 364 | CODE | |
| LOW | …s/es-to-oceanbase-migration/src/es_ob_migration/cli.py | 531 | CODE | |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 237 | CODE | |
| LOW | …s-to-oceanbase-migration/src/es_ob_migration/schema.py | 101 | CODE | |
| LOW | tools/chatgpt-on-wechat/plugins/ragflow_chat.py | 57 | CODE | |
| LOW | tools/hooks/check_files.py | 68 | CODE | |
| LOW | tools/hooks/check_files.py | 87 | CODE | |
| LOW | tools/hooks/check_files.py | 167 | CODE | |
| LOW | tools/scripts/db_schema_sync.py | 269 | CODE | |
| LOW | tools/scripts/db_schema_sync.py | 325 | CODE | |
| LOW | tools/scripts/db_schema_sync.py | 401 | CODE | |
| LOW | tools/scripts/db_schema_sync.py | 438 | CODE | |
| LOW | tools/scripts/db_schema_sync.py | 470 | CODE | |
| LOW | tools/scripts/db_schema_sync.py | 525 | CODE | |
| LOW | tools/scripts/db_schema_sync.py | 640 | CODE | |
| LOW | tools/scripts/db_schema_sync.py | 760 | CODE | |
| LOW | tools/scripts/mysql_migration.py | 1977 | CODE | |
| LOW | tools/scripts/mysql_migration.py | 708 | CODE | |
| LOW | tools/scripts/mysql_migration.py | 1120 | CODE | |
| LOW | tools/scripts/mysql_migration.py | 1135 | CODE | |
| LOW | tools/scripts/mysql_migration.py | 1258 | CODE | |
| LOW | tools/scripts/mysql_migration.py | 1339 | CODE | |
| LOW | tools/scripts/mysql_migration.py | 1567 | CODE | |
| LOW | tools/scripts/mysql_migration.py | 1799 | CODE | |
| LOW | memory/utils/infinity_conn.py | 103 | CODE | |
| LOW | memory/utils/infinity_conn.py | 280 | CODE | |
| LOW | memory/utils/infinity_conn.py | 312 | CODE | |
| LOW | memory/utils/infinity_conn.py | 369 | CODE | |
| LOW | memory/utils/infinity_conn.py | 438 | CODE | |
| LOW | memory/utils/es_conn.py | 112 | CODE | |
| LOW | memory/utils/es_conn.py | 372 | CODE | |
| LOW | memory/utils/es_conn.py | 408 | CODE | |
| LOW | memory/utils/es_conn.py | 498 | CODE | |
| LOW | memory/utils/aggregation_utils.py | 20 | CODE | |
| LOW | memory/utils/ob_conn.py | 194 | CODE | |
| LOW | deepdoc/vision/layout_recognizer.py | 68 | CODE | |
| LOW | deepdoc/vision/layout_recognizer.py | 343 | CODE | |
| LOW | deepdoc/vision/ocr.py | 334 | CODE | |
| LOW | deepdoc/vision/ocr.py | 494 | CODE | |
| LOW | deepdoc/vision/operators.py | 331 | CODE | |
| LOW | deepdoc/vision/table_structure_recognizer.py | 53 | CODE | |
| LOW | deepdoc/vision/table_structure_recognizer.py | 156 | CODE | |
| LOW | deepdoc/vision/table_structure_recognizer.py | 400 | CODE | |
| LOW | deepdoc/vision/table_structure_recognizer.py | 500 | CODE | |
| LOW | deepdoc/parser/paddleocr_parser.py | 326 | CODE | |
| LOW | deepdoc/parser/paddleocr_parser.py | 577 | CODE | |
| LOW | deepdoc/parser/pdf_parser.py | 698 | CODE | |
| LOW | deepdoc/parser/pdf_parser.py | 806 | CODE | |
| LOW | deepdoc/parser/pdf_parser.py | 1032 | CODE | |
| LOW | deepdoc/parser/pdf_parser.py | 1208 | CODE | |
| LOW | deepdoc/parser/pdf_parser.py | 1529 | CODE | |
| LOW | deepdoc/parser/pdf_parser.py | 1741 | CODE | |
| LOW | deepdoc/parser/pdf_parser.py | 1764 | CODE | |
| LOW | deepdoc/parser/ppt_parser.py | 40 | CODE | |
| LOW | deepdoc/parser/markdown_parser.py | 295 | CODE | |
| LOW | deepdoc/parser/markdown_parser.py | 492 | CODE | |
| LOW | deepdoc/parser/html_parser.py | 108 | CODE | |
| LOW | deepdoc/parser/html_parser.py | 148 | CODE | |
| 575 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | deepdoc/parser/opendataloader_parser.py | 402 | # "json_doc": {...} | null, # structured parse tree (preferred) | COMMENT |
| HIGH | test/unit_test/agent/sandbox/test_ssh_provider.py | 116 | if command.startswith("cd /tmp/ws-123 && python3 /tmp/ws-123/main.py"): | CODE |
| HIGH | test/unit_test/agent/sandbox/test_ssh_provider.py | 147 | assert "cd /tmp/ws-123 && python3 /tmp/ws-123/main.py" in executed_commands | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1250 | while (node && node !== document.body) { | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1252 | if (style && style.backfaceVisibility === 'hidden') { | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1261 | while (node && node !== document.body) { | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1263 | if (style && style.transformStyle === 'preserve-3d') { | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1268 | return null; | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1276 | return rect.width > 0 && rect.height > 0; | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1530 | : null, | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1615 | while (node && node !== document.body) { | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1617 | if (style && style.backfaceVisibility === 'hidden') { | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1626 | while (node && node !== document.body) { | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1628 | if (style && style.transformStyle === 'preserve-3d') { | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1633 | return null; | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1636 | if (!transform || transform === 'none') return 1; | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1679 | if (!rect.width || !rect.height) return null; | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1684 | let pick = null; | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1687 | } else if (candidates.length > 1 && candidates[0].facing !== candidates[1].facing) { | CODE |
| HIGH⚡ | test/playwright/conftest.py | 1697 | return top && el.contains(top); | CODE |
| HIGH | test/playwright/conftest.py | 959 | return Boolean((token && token.length) || (auth && auth.length)); | CODE |
| HIGH | test/playwright/conftest.py | 1298 | flipTransform: flip ? window.getComputedStyle(flip).transform : null, | CODE |
| HIGH | test/playwright/conftest.py | 1299 | flipTransformStyle: flip ? window.getComputedStyle(flip).transformStyle : null, | CODE |
| HIGH | test/playwright/conftest.py | 1325 | if (!el) return null; | CODE |
| HIGH | test/playwright/conftest.py | 1409 | return rect.width > 0 && rect.height > 0; | CODE |
| HIGH | test/playwright/conftest.py | 1516 | return rect.width > 0 && rect.height > 0; | CODE |
| HIGH | test/playwright/conftest.py | 1559 | return top && (top === el || el.contains(top)); | CODE |
| HIGH | test/playwright/conftest.py | 1666 | const state = window.__qa_flip_state || { transform: null, time: 0 }; | CODE |
| HIGH⚡ | test/playwright/conftest.py | 374 | if (auth && auth.length) return auth; | STRING |
| HIGH⚡ | test/playwright/conftest.py | 376 | if (token && token.length) return token; | STRING |
| HIGH | test/playwright/auth/test_register_then_login_flow.py | 54 | return rect.width > 0 && rect.height > 0; | STRING |
| HIGH | test/playwright/auth/test_register_then_login_flow.py | 68 | if (successByUrl || successMarker) return { state: 'success' }; | STRING |
| HIGH | test/playwright/auth/test_login_success_optional.py | 145 | return rect.width > 0 && rect.height > 0; | CODE |
| HIGH | test/playwright/auth/test_login_success_optional.py | 158 | if (successByUrl || successMarker) return {{ state: 'success' }}; | CODE |
| HIGH | test/playwright/e2e/test_next_apps_agent.py | 32 | return rect.width > 0 && rect.height > 0; | STRING |
| HIGH | test/playwright/e2e/test_next_apps_agent.py | 131 | return rect.width > 0 && rect.height > 0; | STRING |
| HIGH | test/playwright/e2e/test_dataset_upload_parse.py | 486 | return !!node && String(node.value) !== String(previous); | STRING |
| HIGH | test/playwright/e2e/test_next_apps_search.py | 25 | const body = (document.body && document.body.innerText || '').toLowerCase(); | CODE |
| HIGH | test/playwright/helpers/_auth_helpers.py | 16 | return Boolean((token && token.length) || (auth && auth.length)); | CODE |
| HIGH | test/playwright/helpers/_auth_helpers.py | 42 | return Boolean((token && token.length) || (auth && auth.length)); | CODE |
| HIGH | test/playwright/helpers/auth_waits.py | 20 | return Boolean((token && token.length) || (auth && auth.length)); | CODE |
| HIGH | test/playwright/helpers/datasets.py | 50 | body_text = page.evaluate("(() => (document.body && document.body.innerText) || '')()") | CODE |
| HIGH | test/playwright/helpers/datasets.py | 332 | const txt = (document.body && document.body.innerText || '').toLowerCase(); | CODE |
| HIGH⚡ | test/playwright/helpers/datasets.py | 244 | return rect.width > 0 && rect.height > 0; | STRING |
| HIGH⚡ | test/playwright/helpers/datasets.py | 344 | body_text = page.evaluate("(() => (document.body && document.body.innerText) || '')()") | STRING |
| HIGH⚡ | test/playwright/helpers/datasets.py | 369 | body_text = page.evaluate("(() => (document.body && document.body.innerText) || '')()") | STRING |
| HIGH | test/playwright/helpers/datasets.py | 381 | body_text = page.evaluate("(() => (document.body && document.body.innerText) || '')()") | STRING |
| HIGH | agent/sandbox/result_protocol.py | 44 | const __ragflowMain = typeof main !== 'undefined' ? main : module.exports && module.exports.main; | STRING |
| HIGH | agent/sandbox/tests/test_security.py | 100 | "async function main(args) { return { answer: args.value ?? null }; }", | CODE |
| HIGH | agent/sandbox/executor_manager/services/execution.py | 112 | return Boolean(value && typeof value.then === 'function'); | CODE |
| HIGH | agent/sandbox/executor_manager/services/execution.py | 139 | if (typeof args === 'object' && args !== null) { | CODE |
| HIGH | rag/graphrag/ner/graph_extractor.py | 61 | raise ImportError("spaCy is required for the spacy GraphRAG method. Install it with: pip install spacy && pyt | CODE |
| HIGH | rag/utils/es_conn.py | 40 | if (v != null) { | CODE |
| HIGH | rag/utils/es_conn.py | 44 | try { cur = Double.parseDouble(v.toString()); } catch (Exception e) { cur = 0.0; } | CODE |
| HIGH | rag/utils/es_conn.py | 367 | f"if (ctx._source.containsKey('{kk}') && ctx._source.{kk} != null) {{ int i = ctx._sourc | STRING |
| HIGH | rag/utils/opensearch_conn.py | 40 | if (v != null) { | CODE |
| HIGH | rag/utils/opensearch_conn.py | 44 | try { cur = Double.parseDouble(v.toString()); } catch (Exception e) { cur = 0.0; } | CODE |
| HIGH | rag/utils/opensearch_conn.py | 570 | f"if (ctx._source.containsKey('{kk}') && ctx._source.{kk} != null) {{ int i = ctx._sourc | STRING |
| HIGH | api/apps/restful_apis/dataset_api.py | 709 | Success: {"code": 0, "data": page_dict | null} | STRING |
| HIGH | api/apps/restful_apis/dataset_api.py | 752 | Success: {"code": 0, "data": skill_all_row | null} | STRING |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/es-to-oceanbase-migration/README.md | 25 | ### Step 1: Start RAGFlow with Elasticsearch Backend | COMMENT |
| LOW | tools/es-to-oceanbase-migration/README.md | 46 | ### Step 2: Create Test Data in RAGFlow | COMMENT |
| LOW | tools/es-to-oceanbase-migration/README.md | 54 | ### Step 3: Verify ES Data (Optional) | COMMENT |
| LOW | tools/es-to-oceanbase-migration/README.md | 82 | ### Step 4: Start OceanBase for Migration | COMMENT |
| LOW | tools/es-to-oceanbase-migration/README.md | 97 | ### Step 5: Run Migration | COMMENT |
| LOW | tools/es-to-oceanbase-migration/README.md | 161 | ### Step 6: Stop RAGFlow and Switch to OceanBase Backend | COMMENT |
| LOW | tools/es-to-oceanbase-migration/README.md | 176 | ### Step 7: Start RAGFlow with OceanBase Backend | COMMENT |
| LOW | tools/es-to-oceanbase-migration/README.md | 190 | ### Step 8: Data Integrity Verification (Optional) | COMMENT |
| LOW | tools/es-to-oceanbase-migration/README.md | 226 | ### Step 9: Verify RAGFlow Works with OceanBase | COMMENT |
| LOW | …s-to-oceanbase-migration/src/es_ob_migration/verify.py | 103 | # Step 1: Verify document counts | COMMENT |
| LOW⚡ | …s-to-oceanbase-migration/src/es_ob_migration/verify.py | 114 | # Step 2: Sample verification | COMMENT |
| LOW⚡ | …s-to-oceanbase-migration/src/es_ob_migration/verify.py | 121 | # Step 3: Determine overall result | COMMENT |
| LOW⚡ | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 95 | # Step 1: Check connections | COMMENT |
| LOW⚡ | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 99 | # Step 2: Analyze ES index | COMMENT |
| LOW⚡ | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 174 | # Step 7: Mark completed | COMMENT |
| LOW⚡ | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 177 | # Step 8: Verify (optional) | COMMENT |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 114 | # Step 3: Get total document count | COMMENT |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 125 | # Step 4: Handle resume or fresh start | COMMENT |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 137 | # Step 5: Create table if needed | COMMENT |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 158 | # Step 6: Migrate data | COMMENT |
| LOW⚡ | tools/chatgpt-on-wechat/plugins/ragflow_chat.py | 69 | # Step 1: Get or create conversation_id | COMMENT |
| LOW⚡ | tools/chatgpt-on-wechat/plugins/ragflow_chat.py | 93 | # Step 2: Send the message and get a reply | COMMENT |
| LOW⚡ | tools/scripts/run_migrations.sh | 22 | # Step 1: Create base model provider tables | COMMENT |
| LOW⚡ | tools/scripts/run_migrations.sh | 30 | # Step 2: Seed, merge model types, and migrate model IDs | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 1827 | # Step 2: Build lookup cache from tenant_model joined with provider + instance | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 1832 | # Step 3: Populate tenant_*_id from model_name | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 1808 | # Step 1: Add missing columns as VARCHAR(32) or alter existing INT columns to VARCHAR(32) | COMMENT |
| LOW | deepdoc/parser/paddleocr_parser.py | 460 | # Step 1: Submit job with file upload | COMMENT |
| LOW | deepdoc/parser/paddleocr_parser.py | 501 | # Step 2: Poll until done (exponential backoff) | COMMENT |
| LOW⚡ | deepdoc/parser/paddleocr_parser.py | 540 | # Step 3: Fetch result | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 60 | // Step 1: Normalize line endings | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 65 | // Step 2: Replace ```mermaid ... ``` blocks with unique placeholders | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 80 | // Step 3: Standard Lexical import (placeholders are just text) | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 88 | // Step 4: Walk tree and replace placeholder TextNodes with MermaidNode | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 91 | // Step 5: Fallback — also handle CodeNode(language='mermaid') if any | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 94 | // Step 6: Collapse TabNodes | COMMENT |
| LOW | admin/client/ragflow_client.py | 685 | # Step 1: Add provider | COMMENT |
| LOW | admin/client/ragflow_client.py | 699 | # Step 2: Add instance | COMMENT |
| LOW | admin/client/ragflow_client.py | 1582 | # Step 1: Get document info to find kb_id (dataset_id) | COMMENT |
| LOW⚡ | internal/ingestion/component/media_dispatch.go | 462 | // Step 1: Detect text regions. | COMMENT |
| LOW⚡ | internal/ingestion/component/media_dispatch.go | 472 | // Step 2: Sort boxes by Y (top to bottom), then X (left to right) | COMMENT |
| LOW | internal/ingestion/component/media_dispatch.go | 486 | // Step 3: Recognize text per box. | COMMENT |
| LOW | internal/deepdoc/parser/pdf/parser_test.go | 557 | // Step 1: extractTableAndReplace → HTML box with table text | COMMENT |
| LOW | internal/deepdoc/parser/pdf/parser_test.go | 568 | // Step 2: mergeCaptions prepends caption before HTML | COMMENT |
| LOW⚡ | internal/deepdoc/parser/pdf/table/table_construct.go | 222 | // Step 1: Count non-empty cells in column | COMMENT |
| LOW⚡ | internal/deepdoc/parser/pdf/table/table_construct.go | 229 | // Step 2: Check adjacent columns | COMMENT |
| LOW⚡ | internal/deepdoc/parser/pdf/table/table_construct.go | 236 | // Step 3: Calculate merge distance | COMMENT |
| LOW⚡ | internal/deepdoc/parser/pdf/table/table_construct.go | 239 | // Step 4: Merge the column | COMMENT |
| LOW⚡ | internal/deepdoc/parser/pdf/table/table_construct.go | 246 | // Step 5: Remove the column | COMMENT |
| LOW | internal/dao/time_record.go | 77 | // Step 1: Get the maximum ID | COMMENT |
| LOW⚡ | internal/dao/time_record.go | 88 | // Step 2: Calculate the threshold ID | COMMENT |
| LOW⚡ | internal/dao/time_record.go | 96 | // Step 3: Delete records with ID <= threshold | COMMENT |
| LOW⚡ | internal/agent/component/llm.go | 1143 | // Step 1: everything fits. | COMMENT |
| LOW⚡ | internal/agent/component/llm.go | 1149 | // Step 2: keep all system messages + the last non-system message. | COMMENT |
| LOW | internal/agent/component/llm.go | 1171 | // Step 3: trim content to fit. | COMMENT |
| LOW⚡ | internal/agent/component/invoke.go | 136 | // Step 1: SSRF guard for the target URL. The validated | COMMENT |
| LOW⚡ | internal/agent/component/invoke.go | 143 | // Step 2: SSRF guard for the proxy URL (if configured). | COMMENT |
| LOW | internal/agent/component/invoke.go | 219 | // Step 3: build the client. When a proxy is configured, the | COMMENT |
| LOW⚡ | internal/cli/crypt.go | 60 | // Step 1: Base64 encode the password | COMMENT |
| LOW⚡ | internal/cli/crypt.go | 63 | // Step 2: Encrypt using RSA PKCS1v15 | COMMENT |
| 69 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README_id.md | 85 | <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200 | CODE |
| MEDIUM | README_id.md | 132 | ### 🛀 **Alur Kerja RAG yang Otomatis dan Mudah** | COMMENT |
| MEDIUM | README_pt_br.md | 86 | <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200 | CODE |
| MEDIUM | README_pt_br.md | 133 | ### 🛀 **Fluxo de trabalho RAG automatizado e sem esforço** | COMMENT |
| MEDIUM | README_ja.md | 66 | <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200 | CODE |
| MEDIUM | README_ja.md | 114 | ### 🛀 **自動化された楽な RAG ワークフロー** | COMMENT |
| MEDIUM | README_ko.md | 67 | <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200 | CODE |
| MEDIUM | README_ko.md | 115 | ### 🛀 **자동화되고 손쉬운 RAG 워크플로우** | COMMENT |
| MEDIUM | README.md | 85 | <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200 | CODE |
| MEDIUM | README.md | 125 | ### 🌱 **Grounded citations with reduced hallucinations** | COMMENT |
| MEDIUM | README.md | 134 | ### 🛀 **Automated and effortless RAG workflow** | COMMENT |
| MEDIUM | README_ar.md | 85 | <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200 | CODE |
| MEDIUM | README_ar.md | 134 | ### 🛀 **سير عمل RAG آلي وسهل** | COMMENT |
| MEDIUM | README_tr.md | 85 | <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200 | CODE |
| MEDIUM | README_tr.md | 132 | ### 🛀 **Otomatik ve zahmetsiz RAG iş akışı** | COMMENT |
| MEDIUM | README_tzh.md | 85 | <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200 | CODE |
| MEDIUM | README_tzh.md | 124 | ### 🌱 **有理有據、最大程度降低幻覺(hallucination)** | COMMENT |
| MEDIUM | README_tzh.md | 133 | ### 🛀 **全程無憂、自動化的 RAG 工作流程** | COMMENT |
| MEDIUM | README_zh.md | 85 | <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200 | CODE |
| MEDIUM | README_zh.md | 124 | ### 🌱 **有理有据、最大程度降低幻觉(hallucination)** | COMMENT |
| MEDIUM | README_zh.md | 133 | ### 🛀 **全程无忧、自动化的 RAG 工作流** | COMMENT |
| MEDIUM | README_fr.md | 85 | <img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200 | CODE |
| MEDIUM | README_fr.md | 123 | ### 🌱 **Citations fondées avec réduction des hallucinations** | COMMENT |
| MEDIUM | README_fr.md | 132 | ### 🛀 **Flux de travail RAG automatisé et sans effort** | COMMENT |
| MEDIUM⚡ | tools/firecrawl/example_usage.py | 110 | # Example of chunking for RAG processing | COMMENT |
| MEDIUM | test/testcases/conftest.py | 294 | # set embedding model | COMMENT |
| MEDIUM | internal/agent/component/render.go | 22 | // message.go scaffold without dragging in new third-party deps. | COMMENT |
| MEDIUM | internal/agent/component/memory_save.go | 17 | // Memory persistence scaffold. The Python Message component, | COMMENT |
| MEDIUM | internal/agent/audio/tts_design.md | 132 | ## What the existing scaffold needs to change | COMMENT |
| MEDIUM | internal/harness/core/schema/types.go | 20 | // AgenticRoleType represents the role of an agentic message. | COMMENT |
| MEDIUM | internal/harness/core/schema/types.go | 52 | // ToolCallInfo represents information about a tool call for agentic messages. | COMMENT |
| MEDIUM | internal/harness/core/schema/types.go | 229 | // ConcatAgenticMessages concatenates multiple agentic messages into one. | COMMENT |
| MEDIUM | agent/templates/seo_article_writer.json | 51 | "sys_prompt": "# Role\n\nYou are the **Lead Agent**, responsible for initiating the multi-ag | CODE |
| MEDIUM | agent/templates/seo_article_writer.json | 90 | "sys_prompt": "# Role\n\nYou are the **Outline Agent**, a sub-agent in a multi-a | CODE |
| MEDIUM | agent/templates/seo_article_writer.json | 164 | "sys_prompt": "# Role\n\nYou are the **Body Agent**, a sub-agent in a multi-agen | CODE |
| MEDIUM | agent/templates/seo_article_writer.json | 238 | "sys_prompt": "# Role\n\nYou are the **Editor Agent**, the final agent in a mult | CODE |
| MEDIUM | agent/templates/seo_article_writer.json | 428 | "sys_prompt": "# Role\n\nYou are the **Lead Agent**, responsible for initiating the mult | CODE |
| MEDIUM | agent/templates/seo_article_writer.json | 512 | "sys_prompt": "# Role\n\nYou are the **Outline Agent**, a sub-agent in a multi-agent SEO | CODE |
| MEDIUM | agent/templates/seo_article_writer.json | 601 | "sys_prompt": "# Role\n\nYou are the **Body Agent**, a sub-agent in a multi-agent SEO bl | CODE |
| MEDIUM | agent/templates/seo_article_writer.json | 690 | "sys_prompt": "# Role\n\nYou are the **Editor Agent**, the final agent in a multi-agent | CODE |
| MEDIUM | agent/templates/seo_article_writer.json | 768 | "text": "This is a multi-agent version of the SEO blog generation workflow. It simulates | CODE |
| MEDIUM | docs/release_notes.md | 720 | ### New agent templates (both workflow and agentic) | COMMENT |
| MEDIUM | docs/basics/rag.md | 6 | # What is Retrieval-Augmented-Generation (RAG)? | COMMENT |
| MEDIUM | docs/basics/rag.md | 10 | ## Why RAG is important? | COMMENT |
| MEDIUM | docs/basics/rag.md | 25 | ## How RAG works? | COMMENT |
| MEDIUM | docs/basics/rag.md | 49 | ## Deep dive into existing RAG architecture: beyond vector retrieval | COMMENT |
| MEDIUM⚡ | docs/basics/rag.md | 69 | ### Why is a vector database insufficient for serving RAG? | COMMENT |
| MEDIUM⚡ | docs/basics/rag.md | 78 | ## RAG and memory: Retrieval from the same source but different streams | COMMENT |
| MEDIUM⚡ | docs/basics/rag.md | 85 | ## RAG applications | COMMENT |
| MEDIUM | docs/basics/rag.md | 96 | ## The future of RAG | COMMENT |
| MEDIUM | docs/guides/dataset/configure_knowledge_base.md | 77 | ### Select embedding model | COMMENT |
| MEDIUM | docs/guides/dataset/set_context_window.md | 8 | # Set context window size | COMMENT |
| MEDIUM | rag/svr/task_executor.py | 1169 | # Skip chunks that don't have the required vector field (may have been indexed with different embedding | COMMENT |
| MEDIUM | rag/svr/task_executor.py | 1427 | # bind embedding model | COMMENT |
| MEDIUM | …/svr/task_executor_refactor/dataset_skill_generator.py | 74 | # model's context window. Stops adding chunks once cumulative tokens | COMMENT |
| MEDIUM | rag/svr/task_executor_refactor/task_handler.py | 225 | # Bind embedding model (matching original do_handle_task order: bind + init_kb before routing) | COMMENT |
| MEDIUM | rag/app/resume.py | 1813 | # --- Phase 1: Source text validation (prune hallucinations, ref: SmartResume _validate_fields_in_text) --- | COMMENT |
| MEDIUM⚡ | rag/advanced_rag/knowlege_compile/_common.py | 315 | # room for the prompt scaffolding; | COMMENT |
| MEDIUM⚡ | rag/advanced_rag/knowlege_compile/_common.py | 324 | # pipeline's ``process_batch`` closure; this engine only owns the scaffold. | COMMENT |
| MEDIUM | rag/advanced_rag/knowlege_compile/wiki.py | 532 | # - chunk tag scaffolding: C1, C2, c0001, … | COMMENT |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s-to-oceanbase-migration/src/es_ob_migration/verify.py | 103 | # Step 1: Verify document counts | COMMENT |
| LOW⚡ | …s-to-oceanbase-migration/src/es_ob_migration/verify.py | 114 | # Step 2: Sample verification | COMMENT |
| LOW⚡ | …s-to-oceanbase-migration/src/es_ob_migration/verify.py | 121 | # Step 3: Determine overall result | COMMENT |
| LOW⚡ | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 95 | # Step 1: Check connections | COMMENT |
| LOW⚡ | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 99 | # Step 2: Analyze ES index | COMMENT |
| LOW⚡ | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 174 | # Step 7: Mark completed | COMMENT |
| LOW⚡ | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 177 | # Step 8: Verify (optional) | COMMENT |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 114 | # Step 3: Get total document count | COMMENT |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 125 | # Step 4: Handle resume or fresh start | COMMENT |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 137 | # Step 5: Create table if needed | COMMENT |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 158 | # Step 6: Migrate data | COMMENT |
| LOW⚡ | tools/chatgpt-on-wechat/plugins/ragflow_chat.py | 69 | # Step 1: Get or create conversation_id | COMMENT |
| LOW⚡ | tools/chatgpt-on-wechat/plugins/ragflow_chat.py | 93 | # Step 2: Send the message and get a reply | COMMENT |
| LOW⚡ | tools/scripts/run_migrations.sh | 22 | # Step 1: Create base model provider tables | COMMENT |
| LOW⚡ | tools/scripts/run_migrations.sh | 30 | # Step 2: Seed, merge model types, and migrate model IDs | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 1827 | # Step 2: Build lookup cache from tenant_model joined with provider + instance | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 1832 | # Step 3: Populate tenant_*_id from model_name | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 1808 | # Step 1: Add missing columns as VARCHAR(32) or alter existing INT columns to VARCHAR(32) | COMMENT |
| LOW | deepdoc/parser/paddleocr_parser.py | 460 | # Step 1: Submit job with file upload | COMMENT |
| LOW | deepdoc/parser/paddleocr_parser.py | 501 | # Step 2: Poll until done (exponential backoff) | COMMENT |
| LOW⚡ | deepdoc/parser/paddleocr_parser.py | 540 | # Step 3: Fetch result | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 60 | // Step 1: Normalize line endings | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 65 | // Step 2: Replace ```mermaid ... ``` blocks with unique placeholders | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 80 | // Step 3: Standard Lexical import (placeholders are just text) | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 88 | // Step 4: Walk tree and replace placeholder TextNodes with MermaidNode | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 91 | // Step 5: Fallback — also handle CodeNode(language='mermaid') if any | COMMENT |
| LOW⚡ | web/src/lib/editor/markdown/enhanced-markdown-import.ts | 94 | // Step 6: Collapse TabNodes | COMMENT |
| LOW | admin/client/ragflow_client.py | 685 | # Step 1: Add provider | COMMENT |
| LOW | admin/client/ragflow_client.py | 699 | # Step 2: Add instance | COMMENT |
| LOW | admin/client/ragflow_client.py | 1582 | # Step 1: Get document info to find kb_id (dataset_id) | COMMENT |
| LOW⚡ | internal/ingestion/component/media_dispatch.go | 462 | // Step 1: Detect text regions. | COMMENT |
| LOW⚡ | internal/ingestion/component/media_dispatch.go | 472 | // Step 2: Sort boxes by Y (top to bottom), then X (left to right) | COMMENT |
| LOW | internal/ingestion/component/media_dispatch.go | 486 | // Step 3: Recognize text per box. | COMMENT |
| LOW | internal/deepdoc/parser/pdf/parser_test.go | 557 | // Step 1: extractTableAndReplace → HTML box with table text | COMMENT |
| LOW | internal/deepdoc/parser/pdf/parser_test.go | 568 | // Step 2: mergeCaptions prepends caption before HTML | COMMENT |
| LOW⚡ | internal/deepdoc/parser/pdf/table/table_construct.go | 222 | // Step 1: Count non-empty cells in column | COMMENT |
| LOW⚡ | internal/deepdoc/parser/pdf/table/table_construct.go | 229 | // Step 2: Check adjacent columns | COMMENT |
| LOW⚡ | internal/deepdoc/parser/pdf/table/table_construct.go | 236 | // Step 3: Calculate merge distance | COMMENT |
| LOW⚡ | internal/deepdoc/parser/pdf/table/table_construct.go | 239 | // Step 4: Merge the column | COMMENT |
| LOW⚡ | internal/deepdoc/parser/pdf/table/table_construct.go | 246 | // Step 5: Remove the column | COMMENT |
| LOW | internal/dao/time_record.go | 77 | // Step 1: Get the maximum ID | COMMENT |
| LOW⚡ | internal/dao/time_record.go | 88 | // Step 2: Calculate the threshold ID | COMMENT |
| LOW⚡ | internal/dao/time_record.go | 96 | // Step 3: Delete records with ID <= threshold | COMMENT |
| LOW⚡ | internal/agent/component/llm.go | 1143 | // Step 1: everything fits. | COMMENT |
| LOW⚡ | internal/agent/component/llm.go | 1149 | // Step 2: keep all system messages + the last non-system message. | COMMENT |
| LOW | internal/agent/component/llm.go | 1171 | // Step 3: trim content to fit. | COMMENT |
| LOW⚡ | internal/agent/component/invoke.go | 136 | // Step 1: SSRF guard for the target URL. The validated | COMMENT |
| LOW⚡ | internal/agent/component/invoke.go | 143 | // Step 2: SSRF guard for the proxy URL (if configured). | COMMENT |
| LOW | internal/agent/component/invoke.go | 219 | // Step 3: build the client. When a proxy is configured, the | COMMENT |
| LOW⚡ | internal/cli/crypt.go | 60 | // Step 1: Base64 encode the password | COMMENT |
| LOW⚡ | internal/cli/crypt.go | 63 | // Step 2: Encrypt using RSA PKCS1v15 | COMMENT |
| LOW⚡ | internal/cli/crypt.go | 69 | // Step 3: Base64 encode the encrypted data | COMMENT |
| LOW | internal/cli/filesystem/skill.go | 368 | // Step 4: Navigate to the file through the path | COMMENT |
| LOW | internal/cli/filesystem/skill.go | 416 | // Step 5: Find the file in the current directory | COMMENT |
| LOW | internal/cli/filesystem/skill.go | 457 | // Step 6: Download the file content | COMMENT |
| LOW | internal/cli/filesystem/skill.go | 916 | // Step 4: If there are extra parts, navigate deeper | COMMENT |
| LOW | internal/cli/filesystem/skill.go | 1003 | // Step 5: List the final folder contents | COMMENT |
| LOW⚡ | internal/parser/parser/paddleocr.go | 100 | // Step 1: Submit job | COMMENT |
| LOW⚡ | internal/parser/parser/paddleocr.go | 106 | // Step 2: Poll until done | COMMENT |
| LOW⚡ | internal/parser/parser/paddleocr.go | 112 | // Step 3: Fetch result JSONL | COMMENT |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | build.sh | 276 | # Check if C++ library exists | COMMENT |
| LOW | tools/es-to-oceanbase-migration/tests/test_progress.py | 312 | # Read file directly | COMMENT |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 290 | # Check if column exists | COMMENT |
| LOW | …o-oceanbase-migration/src/es_ob_migration/es_client.py | 217 | # Check if there are more results | COMMENT |
| LOW | …s-to-oceanbase-migration/src/es_ob_migration/schema.py | 120 | # Check if it's a known RAGFlow field | COMMENT |
| LOW | …s-to-oceanbase-migration/src/es_ob_migration/schema.py | 123 | # Check if it's a vector field | COMMENT |
| LOW | tools/scripts/db_schema_sync.py | 78 | # Check if it has a database attribute (is a proper model) | COMMENT |
| LOW | tools/scripts/db_schema_sync.py | 243 | # Check if field exists in database | COMMENT |
| LOW | tools/scripts/db_schema_sync.py | 248 | # Check if type changed | COMMENT |
| LOW | tools/scripts/db_schema_sync.py | 694 | # Check if any changes detected | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 328 | # Check if source table exists | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 333 | # Check if target table exists | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 341 | # Check if there's data to migrate | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 462 | # Check if source table exists | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 467 | # Check if tenant_model_provider exists (dependency) | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 475 | # Check if target table exists | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 483 | # Check if there's data to migrate (distinct by tenant_id, llm_factory, api_key) | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 740 | # Check if source table exists | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 745 | # Check if tenant_model_provider exists (dependency) | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 753 | # Check if tenant_model_instance exists (dependency) | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 761 | # Check if target table exists | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 771 | # Check if there's data to migrate | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 798 | # Check if tenant_model_provider exists (dependency) | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 803 | # Check if tenant_model_instance exists (dependency) | COMMENT |
| LOW⚡ | tools/scripts/mysql_migration.py | 808 | # Check if target table exists | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 360 | # Check if target table exists | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 511 | # Check if tenant_model_provider exists (dependency) | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 516 | # Check if target table exists | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 1281 | # Check if there are any models to seed | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 1449 | # Check if record already exists | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 1778 | # Check if column is still INT type -> needs conversion | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 1783 | # Check if there are NULL values that should be populated | COMMENT |
| LOW | tools/scripts/mysql_migration.py | 2040 | # Check if migration is needed | COMMENT |
| LOW | docker/migration.sh | 100 | # Check if any of our target volumes are used by this container | COMMENT |
| LOW | docker/migration.sh | 160 | # Check if any containers are using the volumes | COMMENT |
| LOW⚡ | docker/migration.sh | 211 | # Check if any containers are using the volumes | COMMENT |
| LOW⚡ | docker/migration.sh | 214 | # Check if backup folder exists | COMMENT |
| LOW⚡ | docker/migration.sh | 220 | # Check if all backup files exist | COMMENT |
| LOW | docker/migration.sh | 297 | # Check if Docker is available | COMMENT |
| LOW | docker/launch_backend_service.sh | 32 | # Check if .env file exists | COMMENT |
| LOW | deepdoc/parser/tcadp_parser.py | 124 | # Check if there is a download link | COMMENT |
| LOW⚡ | test/unit_test/common/test_time_utils.py | 57 | # Check if timestamps are monotonically increasing | COMMENT |
| LOW⚡ | …file_management_within_dataset/test_update_document.py | 47 | # Check if empty string raises an exception or not | COMMENT |
| LOW⚡ | …file_management_within_dataset/test_update_document.py | 55 | # Check if this case raises an exception or not | COMMENT |
| LOW | …file_management_within_dataset/test_update_document.py | 126 | # Check if empty string raises an exception or not | COMMENT |
| LOW | …est_session_management/test_session_sdk_routes_unit.py | 491 | # Check if tenant exists | COMMENT |
| LOW | example/http/list_datasets.sh | 107 | # Output result | COMMENT |
| LOW | admin/server/services.py | 85 | # Check if the email address is already used | COMMENT |
| LOW | admin/client/parser.py | 822 | # Check if item is a DATASET token | STRING |
| LOW | admin/client/parser.py | 834 | # Check if it's "REMOVE ALL CHUNKS" | STRING |
| LOW | admin/client/ragflow_client.py | 1247 | # Check if it's the final message | COMMENT |
| LOW | agent/component/message.py | 443 | # Check if this could be a table title | COMMENT |
| LOW | agent/component/message.py | 449 | # Check if this is a separator line (|---|---|) | COMMENT |
| LOW | agent/component/message.py | 483 | # Check if this line could be a title for the next table | COMMENT |
| LOW | agent/sandbox/providers/self_managed.py | 369 | # Check if it's a valid HTTP/HTTPS URL or localhost | COMMENT |
| LOW | agent/sandbox/providers/aliyun_codeinterpreter.py | 158 | # Check if template exists | COMMENT |
| LOW | agent/sandbox/tests/verify_sdk.py | 38 | # Check if agentrun SDK is available using importlib | COMMENT |
| LOW | agent/sandbox/executor_manager/services/execution.py | 388 | # Read file content via docker exec (docker cp doesn't work with gVisor tmpfs) | STRING |
| LOW | rag/svr/task_executor.py | 1734 | # Check if dry-run comparison is enabled via environment variable | COMMENT |
| LOW | rag/svr/task_executor_refactor/comparator.py | 387 | # Check if chunks have valid IDs | COMMENT |
| 50 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/firecrawl/__init__.py | 12 | CODE | |
| LOW | tools/firecrawl/__init__.py | 13 | CODE | |
| LOW | …to-oceanbase-migration/src/es_ob_migration/__init__.py | 12 | CODE | |
| LOW | …to-oceanbase-migration/src/es_ob_migration/__init__.py | 13 | CODE | |
| LOW | …to-oceanbase-migration/src/es_ob_migration/__init__.py | 14 | CODE | |
| LOW | …to-oceanbase-migration/src/es_ob_migration/__init__.py | 15 | CODE | |
| LOW | …to-oceanbase-migration/src/es_ob_migration/__init__.py | 16 | CODE | |
| LOW | …to-oceanbase-migration/src/es_ob_migration/__init__.py | 16 | CODE | |
| LOW | …to-oceanbase-migration/src/es_ob_migration/__init__.py | 17 | CODE | |
| LOW | …to-oceanbase-migration/src/es_ob_migration/__init__.py | 17 | CODE | |
| LOW | tools/chatgpt-on-wechat/plugins/__init__.py | 21 | CODE | |
| LOW | tools/hooks/check_files.py | 2 | CODE | |
| LOW | deepdoc/vision/recognizer.py | 26 | CODE | |
| LOW | deepdoc/vision/__init__.py | 22 | CODE | |
| LOW | deepdoc/vision/__init__.py | 23 | CODE | |
| LOW | deepdoc/vision/__init__.py | 24 | CODE | |
| LOW | deepdoc/vision/__init__.py | 25 | CODE | |
| LOW | deepdoc/vision/__init__.py | 26 | CODE | |
| LOW | deepdoc/vision/ocr.py | 27 | CODE | |
| LOW | deepdoc/parser/paddleocr_parser.py | 15 | CODE | |
| LOW | deepdoc/parser/opendataloader_parser.py | 1 | CODE | |
| LOW | deepdoc/parser/__init__.py | 17 | CODE | |
| LOW | deepdoc/parser/__init__.py | 18 | CODE | |
| LOW | deepdoc/parser/__init__.py | 19 | CODE | |
| LOW | deepdoc/parser/__init__.py | 20 | CODE | |
| LOW | deepdoc/parser/__init__.py | 21 | CODE | |
| LOW | deepdoc/parser/__init__.py | 22 | CODE | |
| LOW | deepdoc/parser/__init__.py | 23 | CODE | |
| LOW | deepdoc/parser/__init__.py | 24 | CODE | |
| LOW | deepdoc/parser/__init__.py | 25 | CODE | |
| LOW | deepdoc/parser/__init__.py | 26 | CODE | |
| LOW | deepdoc/parser/__init__.py | 27 | CODE | |
| LOW | deepdoc/parser/docling_parser.py | 16 | CODE | |
| LOW | …unit_test/deepdoc/parser/test_docling_parser_remote.py | 1 | CODE | |
| LOW | …unit_test/deepdoc/parser/test_opendataloader_parser.py | 9 | CODE | |
| LOW | test/unit_test/agent/test_dsl_bridge_roundtrip.py | 37 | CODE | |
| LOW | test/unit_test/agent/test_canvas_at_split.py | 33 | CODE | |
| LOW | test/unit_test/agent/test_canvas_at_split.py | 38 | CODE | |
| LOW | …nit_test/agent/component/test_browser_use_component.py | 27 | CODE | |
| LOW | …it_test/agent/component/test_iterationitem_at_split.py | 30 | CODE | |
| LOW | test/unit_test/rag/conftest.py | 26 | CODE | |
| LOW | test/unit_test/rag/test_raptor_psi_tree_builder.py | 21 | CODE | |
| LOW | test/unit_test/rag/app/test_table_chunk_column_roles.py | 20 | CODE | |
| LOW | test/unit_test/rag/app/test_table_chunk_column_roles.py | 31 | CODE | |
| LOW | test/unit_test/rag/app/test_qa_csv.py | 17 | CODE | |
| LOW | test/unit_test/rag/app/test_qa_csv.py | 23 | CODE | |
| LOW | test/unit_test/rag/app/test_markdown_image_ssrf.py | 27 | CODE | |
| LOW | …t/unit_test/rag/utils/test_opensearch_hybrid_search.py | 28 | CODE | |
| LOW | test/unit_test/rag/utils/test_opensearch_doc_meta.py | 32 | CODE | |
| LOW | …est/api/db/services/test_dataset_access_permissions.py | 32 | CODE | |
| LOW | test/unit_test/api/db/services/test_get_queue_length.py | 34 | CODE | |
| LOW | …services/test_dialog_service_use_sql_source_columns.py | 35 | CODE | |
| LOW | …b/services/test_document_service_get_parsing_status.py | 33 | CODE | |
| LOW | …st/api/db/services/test_dialog_service_final_answer.py | 50 | CODE | |
| LOW | …/restful_apis/test_chat_completions_sanitize_floats.py | 32 | CODE | |
| LOW | test/playwright/helpers/flow_steps.py | 1 | CODE | |
| LOW | agent/sandbox/providers/__init__.py | 31 | CODE | |
| LOW | agent/sandbox/providers/__init__.py | 31 | CODE | |
| LOW | agent/sandbox/providers/__init__.py | 31 | CODE | |
| LOW | agent/sandbox/providers/__init__.py | 31 | CODE | |
| 127 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | memory/utils/ob_conn.py | 0 | return list of column names that need fulltext indexes (without weight suffix). | STRING |
| HIGH | rag/utils/ob_conn.py | 0 | return list of column names that need fulltext indexes (without weight suffix). | STRING |
| HIGH | common/doc_store/ob_conn_base.py | 0 | return list of column names that need fulltext indexes (without weight suffix). | STRING |
| HIGH | 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 | 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 | 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 | …n_management/test_list_sessions_with_chat_assistant.py | 0 | valueerror("invalid literal for int() with base 10: \'a\'") | STRING |
| HIGH | …chat_assistant_management/test_list_chat_assistants.py | 0 | valueerror("invalid literal for int() with base 10: \'a\'") | STRING |
| HIGH | …st_chunk_management_within_dataset/test_list_chunks.py | 0 | valueerror("invalid literal for int() with base 10: \'a\'") | STRING |
| HIGH | …unk_management_within_dataset/test_retrieval_chunks.py | 0 | valueerror("invalid literal for int() with base 10: \'a\'") | STRING |
| HIGH | …n_management/test_list_sessions_with_chat_assistant.py | 0 | valueerror("invalid literal for int() with base 10: \'a\'") | STRING |
| HIGH | …_file_management_within_dataset/test_list_documents.py | 0 | valueerror("invalid literal for int() with base 10: \'a\'") | STRING |
| HIGH | …chat_assistant_management/test_list_chat_assistants.py | 0 | valueerror("invalid literal for int() with base 10: \'a\'") | STRING |
| HIGH | …st_chunk_management_within_dataset/test_list_chunks.py | 0 | valueerror("invalid literal for int() with base 10: \'a\'") | STRING |
| HIGH | …unk_management_within_dataset/test_retrieval_chunks.py | 0 | valueerror("invalid literal for int() with base 10: \'a\'") | STRING |
| HIGH | agent/tools/keenable.py | 0 | keywords: {} looking for the most relevant articles. | STRING |
| HIGH | agent/tools/tavily.py | 0 | keywords: {} looking for the most relevant articles. | STRING |
| HIGH | agent/tools/arxiv.py | 0 | keywords: {} looking for the most relevant articles. | STRING |
| HIGH | agent/tools/google.py | 0 | keywords: {} looking for the most relevant articles. | STRING |
| HIGH | agent/tools/retrieval.py | 0 | keywords: {} looking for the most relevant articles. | STRING |
| HIGH | agent/tools/duckduckgo.py | 0 | keywords: {} looking for the most relevant articles. | STRING |
| HIGH | agent/tools/wikipedia.py | 0 | keywords: {} looking for the most relevant articles. | STRING |
| HIGH | agent/sandbox/providers/self_managed.py | 0 | get list of supported programming languages. returns: list of language identifiers | STRING |
| HIGH | agent/sandbox/providers/aliyun_codeinterpreter.py | 0 | get list of supported programming languages. returns: list of language identifiers | STRING |
| HIGH | agent/sandbox/providers/e2b.py | 0 | get list of supported programming languages. returns: list of language identifiers | STRING |
| HIGH | rag/graphrag/general/graph_extractor.py | 0 | reference: - [graphrag](https://github.com/microsoft/graphrag) | STRING |
| HIGH | rag/graphrag/general/leiden.py | 0 | reference: - [graphrag](https://github.com/microsoft/graphrag) | STRING |
| HIGH | rag/graphrag/general/community_reports_extractor.py | 0 | reference: - [graphrag](https://github.com/microsoft/graphrag) | STRING |
| HIGH | rag/graphrag/general/entity_embedding.py | 0 | reference: - [graphrag](https://github.com/microsoft/graphrag) | STRING |
| HIGH | rag/graphrag/light/graph_extractor.py | 0 | reference: - [graphrag](https://github.com/microsoft/graphrag) | STRING |
| HIGH | common/data_source/interfaces.py | 0 | wraps a checkpointoutput generator to give things back in a more digestible format. the connector format is easier for t | STRING |
| HIGH | common/data_source/connector_runner.py | 0 | wraps a checkpointoutput generator to give things back in a more digestible format. the connector format is easier for t | STRING |
| HIGH | common/data_source/google_drive/connector.py | 0 | wraps a checkpointoutput generator to give things back in a more digestible format. the connector format is easier for t | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | run_tests.py | 91 | Wrap input string with specified ANSI terminal color escape sequence. Color name argument is case-insensitive. | STRING |
| HIGH | agent/sandbox/client.py | 154 | Execute code in the configured sandbox. This is the main entry point for agent components to execute code. | STRING |
| HIGH | agent/sandbox/providers/self_managed.py | 77 | Create a new sandbox instance. Note: For self-managed provider, instances are managed internally | STRING |
| HIGH | agent/sandbox/providers/self_managed.py | 115 | Execute code in the sandbox. Args: instance_id: ID of the sandbox instance (not used for s | STRING |
| HIGH | agent/sandbox/providers/aliyun_codeinterpreter.py | 131 | Create a new sandbox instance in Aliyun Code Interpreter. Args: template: Programming lang | STRING |
| HIGH | agent/sandbox/providers/aliyun_codeinterpreter.py | 199 | Execute code in the Aliyun Code Interpreter instance. Args: instance_id: ID of the sandbox | STRING |
| HIGH | agent/sandbox/providers/e2b.py | 71 | Create a new sandbox instance in E2B. Args: template: Programming language template (pytho | STRING |
| HIGH | agent/sandbox/providers/e2b.py | 104 | Execute code in the E2B instance. Args: instance_id: ID of the sandbox instance | STRING |
| HIGH | agent/sandbox/providers/base.py | 85 | Create a new sandbox instance. Args: template: Programming language/template for the insta | STRING |
| HIGH | agent/sandbox/providers/base.py | 102 | Execute code in a sandbox instance. Args: instance_id: ID of the sandbox instance | STRING |
| HIGH | agent/sandbox/providers/base.py | 123 | Destroy a sandbox instance. Args: instance_id: ID of the instance to destroy Retu | STRING |
| HIGH | …/task_executor_refactor/write_operation_interceptor.py | 85 | Intercept a method call and return the next pre-recorded value. Args: method_name: Name of the meth | STRING |
| HIGH | rag/app/resume.py | 995 | Parse JSON string, attempt repair on failure (ref SmartResume's json_repair strategy). Repair strategies: | STRING |
| HIGH | common/float_utils.py | 19 | Convert a value to float, handling None and exceptions gracefully. Attempts to convert the input value to a fl | STRING |
| HIGH | common/settings.py | 138 | Generate queue name with two dimensions: priority and suffix. Args: priority: Task priority (0=low, 1= | STRING |
| HIGH | common/data_source/rest_api_connector.py | 397 | Validate config schema and optionally perform a live API call. Args: config: Raw config dict from t | STRING |
| HIGH | common/data_source/webdav_connector.py | 109 | Load credentials and initialize WebDAV client Args: credentials: Dictionary containing 'username' a | STRING |
| HIGH | api/utils/validation_utils.py | 39 | Validates and parses JSON requests through a multi-stage validation pipeline. Implements a four-stage validati | STRING |
| HIGH | api/utils/validation_utils.py | 116 | Validates and parses request arguments against a Pydantic model. This function performs a complete request val | STRING |
| HIGH | api/utils/validation_utils.py | 232 | Normalizes string values to a standard format while preserving non-string inputs. Performs the following trans | STRING |
| HIGH | api/utils/validation_utils.py | 281 | Validates and converts input to a UUID hexadecimal string. The function name is retained for backward compatib | STRING |
| HIGH | api/utils/validation_utils.py | 556 | Validates Base64-encoded avatar string format and MIME type compliance. Implements a three-stage valid | STRING |
| HIGH | api/utils/validation_utils.py | 614 | Validates embedding model identifier format compliance. Validation pipeline: 1. Structural for | STRING |
| HIGH | api/utils/validation_utils.py | 692 | Validates serialized JSON length constraints for parser configuration. Implements a two-stage validati | STRING |
| HIGH | api/utils/validation_utils.py | 829 | Validates and normalizes a list of UUID strings with None handling. This post-processing validator per | STRING |
| HIGH | api/utils/api_utils.py | 524 | Verifies availability of an embedding model for a specific tenant. Performs comprehensive verification through | STRING |
| HIGH | api/utils/api_utils.py | 572 | Recursively merges two dictionaries with priority given to `custom` values. Creates a deep copy of the `defaul | STRING |
| HIGH | api/db/services/doc_metadata_service.py | 1136 | Batch update metadata for documents in a knowledge base. Args: kb_id: Knowledge base ID | STRING |
| HIGH | api/db/services/__init__.py | 46 | Generates a unique filename by appending/incrementing a counter when duplicates exist. Continuously checks for | STRING |
| HIGH | api/db/services/common_service.py | 142 | Get a single record matching the given criteria. This method retrieves a single record from the database that m | STRING |
| HIGH | api/apps/restful_apis/document_api.py | 980 | Parse document ID filter based on metadata conditions from the request. This function extracts and processes metada | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …t_test/data_source/test_imap_connector_addr_parsing.py | 42 | assert _parse_addrs("user@example.com") == [("", "user@example.com")] | CODE |
| LOW | test/unit_test/api/utils/test_nickname_validation.py | 27 | "John Doe", | CODE |
| LOW | test/playwright/conftest.py | 1399 | placeholder: input.getAttribute('placeholder') || '', | CODE |
| LOW⚡ | test/playwright/conftest.py | 1431 | for key in ("type", "name", "autocomplete", "placeholder"): | STRING |
| LOW⚡ | …es/test_web_api/test_auth_app/test_oidc_client_unit.py | 507 | "email": "user@example.com", | CODE |
| LOW⚡ | …es/test_web_api/test_auth_app/test_oidc_client_unit.py | 516 | "email": "user@example.com", | CODE |
| LOW | …s/test_web_api/test_auth_app/test_oauth_client_unit.py | 138 | return _FakeResponse({"email": "user@example.com", "picture": "id-picture"}) | CODE |
| LOW | …s/test_web_api/test_auth_app/test_oauth_client_unit.py | 146 | "email": "user@example.com", | CODE |
| LOW⚡ | …ases/test_web_api/test_system_app/test_system_basic.py | 53 | res = system_delete_token(invalid_auth, "dummy_token") | CODE |
| LOW | web/src/stories/ragflow-avatar.stories.ts | 31 | name="John Doe" | CODE |
| LOW | web/src/stories/ragflow-avatar.stories.ts | 78 | name: 'John Doe', | CODE |
| LOW | web/src/stories/ragflow-avatar.stories.ts | 89 | name: 'John Doe', | CODE |
| LOW | web/src/stories/ragflow-avatar.stories.ts | 102 | name="John Doe" | CODE |
| LOW | web/src/pages/agent/form/invoke-form/schema.ts | 32 | const testURL = val.replace(placeholderRegex, 'placeholder'); | CODE |
| LOW | …/src/pages/user-setting/data-source/constant/index.tsx | 862 | placeholder: 'admin@example.com', | CODE |
| LOW | …/src/pages/user-setting/data-source/constant/index.tsx | 956 | placeholder: 'admin@example.com', | CODE |
| LOW | internal/handler/document_test.go | 530 | if err := db.Create(&entity.User{ID: "user-1", Nickname: "test", Email: "test@test.com", Password: sptr("x")}).Error; e | CODE |
| LOW | internal/handler/document_test.go | 1041 | db.Create(&entity.User{ID: "user-1", Nickname: "test", Email: "test@test.com", Password: sptr("x")}) | CODE |
| LOW | internal/handler/bot_test.go | 708 | // fake-user middleware to assert GetUser() short-circuits with 401. | COMMENT |
| LOW | internal/handler/bot_test.go | 928 | // fake-user middleware so the real auth flow is exercised. | COMMENT |
| LOW | internal/agent/component/searxng_test.go | 85 | if serverURL["name"] != "SearXNG URL" || serverURL["type"] != "line" || serverURL["placeholder"] != "http://localhost:4 | CODE |
| LOW | internal/agent/component/searxng.go | 96 | "placeholder": "http://localhost:4000", | CODE |
| LOW | internal/agent/component/io/pdf_writer_test.go | 104 | if err := os.WriteFile(fontPath, []byte("placeholder"), 0o600); err != nil { | CODE |
| LOW | internal/agent/sandbox/e2b_test.go | 315 | t.Setenv("E2B_ACCESS_TOKEN", "fake-token") | CODE |
| LOW | internal/agent/tool/pubmed_test.go | 35 | got := buildPubMedESearchURL("covid vaccine", 7, "user@example.com") | CODE |
| LOW | internal/agent/tool/pubmed_test.go | 53 | if q.Get("email") != "user@example.com" { | CODE |
| LOW | internal/agent/tool/pubmed_test.go | 60 | got := buildPubMedEFetchURL([]string{"12345", "67890"}, "user@example.com") | CODE |
| LOW | internal/agent/tool/pubmed_test.go | 72 | if q.Get("email") != "user@example.com" { | CODE |
| LOW⚡ | internal/cli/admin_parser.go | 454 | // SHOW USER 'user@example.com'; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 455 | // SHOW USER 'user@example.com' ACTIVITY; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 456 | // SHOW USER 'user@example.com' SUMMARY; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 457 | // SHOW USER 'user@example.com' DATASET 'dataset_name'; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 458 | // SHOW USER 'user@example.com' STORAGE; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 459 | // SHOW USER 'user@example.com' QUOTA; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 460 | // SHOW USER 'user@example.com' INDEX; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 461 | // SHOW USER 'user@example.com' PERMISSION; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 3000 | // LIST USER 'user@example.com' INGESTION TASKS; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 3001 | // LIST USER 'user@example.com' DATASETS; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 3002 | // LIST USER 'user@example.com' AGENTS; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 3003 | // LIST USER 'user@example.com' CHATS; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 3004 | // LIST USER 'user@example.com' SEARCHES; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 3005 | // LIST USER 'user@example.com' MODELS; // all added models | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 3006 | // LIST USER 'user@example.com' FILES; | COMMENT |
| LOW⚡ | internal/cli/admin_parser.go | 3007 | // LIST USER 'user@example.com' KEYS; | COMMENT |
| LOW | internal/cli/admin_parser.go | 491 | // SHOW USER 'user@example.com'; | COMMENT |
| LOW | internal/cli/admin_parser.go | 505 | // SHOW USER 'user@example.com' ACTIVITY DAYS 30; | COMMENT |
| LOW | internal/cli/admin_parser.go | 538 | // SHOW USER 'user@example.com' SUMMARY; | COMMENT |
| LOW | internal/cli/admin_parser.go | 553 | // SHOW USER 'user@example.com' DATASET 'dataset_name'; | COMMENT |
| LOW | internal/cli/admin_parser.go | 588 | // SHOW USER 'user@example.com' STORAGE; | COMMENT |
| LOW | internal/cli/admin_parser.go | 603 | // SHOW USER 'user@example.com' QUOTA; | COMMENT |
| LOW | internal/cli/admin_parser.go | 618 | // SHOW USER 'user@example.com' INDEX; | COMMENT |
| LOW | internal/cli/admin_parser.go | 633 | // SHOW USER 'user@example.com' PERMISSION; | COMMENT |
| LOW | internal/cli/admin_parser.go | 1142 | // CREATE USER 'user@example.com' 'password'; | COMMENT |
| LOW | internal/cli/admin_parser.go | 1179 | // CREATE USER 'user@example.com' KEY; | COMMENT |
| LOW | internal/cli/admin_parser.go | 2532 | // REMOVE USER 'user@example.com' INGESTION TASKS 'created'; | COMMENT |
| LOW | internal/cli/admin_parser.go | 2874 | // PURGE PREVIEW USER 'user@example.com'; | COMMENT |
| LOW | internal/cli/admin_parser.go | 2912 | // PURGE PREVIEW USER 'user@example.com'; | COMMENT |
| LOW | internal/cli/admin_parser.go | 2913 | // PURGE USER 'user@example.com'; | COMMENT |
| LOW | internal/cli/admin_parser.go | 3064 | // LIST USER 'user@example.com' INGESTION TASKS 'status'; | COMMENT |
| LOW | internal/cli/admin_parser.go | 3157 | // STOP USER 'user@example.com' INGESTION TASKS 'created'; | COMMENT |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/firecrawl/__init__.py | 15 | __all__ = ["FirecrawlConnector", "FirecrawlConfig"] | CODE |
| LOW | tools/firecrawl/integration.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tools/firecrawl/integration.py | 132 | __all__ = [ | CODE |
| LOW | tools/firecrawl/ragflow_integration.py | 156 | __all__ = ["RAGFlowFirecrawlIntegration", "create_firecrawl_integration", "FirecrawlConfig", "FirecrawlConnector", "Fire | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/ob_client.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | …to-oceanbase-migration/src/es_ob_migration/__init__.py | 23 | __all__ = [ | CODE |
| LOW | …o-oceanbase-migration/src/es_ob_migration/es_client.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | …to-oceanbase-migration/src/es_ob_migration/progress.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s-to-oceanbase-migration/src/es_ob_migration/verify.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | …to-oceanbase-migration/src/es_ob_migration/migrator.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s-to-oceanbase-migration/src/es_ob_migration/schema.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | tools/chatgpt-on-wechat/plugins/__init__.py | 23 | __all__ = ["RAGFlowChat"] | CODE |
| LOW | tools/scripts/db_schema_sync.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | tools/scripts/mysql_migration.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | deepdoc/server/docker_stubs.py | 55 | __all__ = ["OCR", "Recognizer", "LayoutRecognizer", "TableStructureRecognizer"] | STRING |
| LOW | deepdoc/server/deepdoc_server.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | deepdoc/server/endpoints/tsr_endpoint.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | deepdoc/server/endpoints/ocr_endpoint.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | deepdoc/server/endpoints/dla_endpoint.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | deepdoc/server/adapters/tsr_adapter.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | deepdoc/server/adapters/ocr_adapter.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | deepdoc/server/adapters/dla_adapter.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | deepdoc/vision/__init__.py | 82 | __all__ = [ | CODE |
| LOW | deepdoc/parser/__init__.py | 29 | __all__ = [ | CODE |
| LOW | deepdoc/parser/epub_parser.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | deepdoc/parser/json_parser.py | 49 | def _set_nested_dict(d: dict, path: list[str], value: Any) -> None: | CODE |
| LOW | test/benchmark/cli.py | 229 | def _set_default_models_from_args(client: HttpClient, args: argparse.Namespace) -> None: | CODE |
| LOW⚡ | test/playwright/e2e/test_next_apps_agent.py | 61 | def _set_import_file(modal, file_path: str) -> None: | CODE |
| LOW | test/playwright/e2e/test_dataset_upload_parse.py | 42 | def set_switch_state(page, test_id: str, desired_checked: bool) -> None: | CODE |
| LOW⚡ | test/playwright/e2e/test_dataset_upload_parse.py | 57 | def set_number_input(page, test_id: str, value: str | int | float) -> None: | CODE |
| LOW | agent/component/base.py | 562 | def set_input_value(self, key: str, value: Any) -> None: | CODE |
| LOW | agent/sandbox/client.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | agent/sandbox/providers/local.py | 304 | def _set_resource_limit(kind: int, value: int) -> None: | CODE |
| LOW | agent/sandbox/providers/aliyun_codeinterpreter.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | agent/sandbox/providers/__init__.py | 39 | __all__ = [ | CODE |
| LOW | rag/svr/task_executor_refactor/dataflow_service.py | 338 | def _update_document_metadata(self, doc_id: str, metadata: Dict) -> None: | CODE |
| LOW | rag/svr/task_executor_refactor/recording_context.py | 332 | def set_recording_context(ctx: BaseRecordingContext) -> None: | CODE |
| LOW | rag/llm/embedding_model.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | rag/llm/__init__.py | 194 | __all__ = [ | CODE |
| LOW | rag/llm/key_utils.py | 34 | __all__ = ["_normalize_replicate_key"] | CODE |
| LOW | rag/app/table.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | rag/advanced_rag/__init__.py | 20 | __all__ = ["DeepResearcher"] | CODE |
| LOW | rag/advanced_rag/knowlege_compile/_common.py | 895 | __all__ = [ | CODE |
| LOW | rag/advanced_rag/knowlege_compile/__init__.py | 31 | __all__ = [ | CODE |
| LOW | rag/advanced_rag/knowlege_compile/structure.py | 1633 | __all__ = [ | CODE |
| LOW | rag/advanced_rag/knowlege_compile/wiki.py | 3592 | __all__ = [ | CODE |
| LOW | rag/graphrag/ner/__init__.py | 20 | __all__ = [ | CODE |
| LOW | rag/nlp/__init__.py | 31 | __all__ = ["rag_tokenizer"] | CODE |
| LOW | rag/prompts/__init__.py | 3 | __all__ = [name for name in dir(generator) if not name.startswith("_")] | CODE |
| LOW | rag/flow/chunker/__init__.py | 18 | __all__ = ["TokenChunker", "TokenChunkerParam"] | CODE |
| LOW | rag/flow/chunker/title_chunker/__init__.py | 19 | __all__ = ["TitleChunker", "TitleChunkerParam"] | CODE |
| LOW | rag/flow/compiler/__init__.py | 18 | __all__ = ["Compiler", "CompilerParam"] | CODE |
| LOW | common/http_client.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | common/http_client.py | 220 | __all__ = [ | CODE |
| LOW | common/misc_utils.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | common/ssrf_guard.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | common/data_source/interfaces.py | 149 | def set_credentials(self, credential_json: dict[str, Any]) -> None: | CODE |
| LOW | common/data_source/interfaces.py | 199 | def set_credentials(self, credential_json: dict[str, Any]) -> None: | CODE |
| LOW | common/data_source/interfaces.py | 252 | def set_allow_images(self, value: bool) -> None: | CODE |
| LOW | common/data_source/outlook_connector.py | 29 | logger = logging.getLogger(__name__) | CODE |
| 36 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/firecrawl/firecrawl_processor.py | 41 | # Create a hash based on URL and content | COMMENT |
| MEDIUM⚡ | tools/chatgpt-on-wechat/plugins/ragflow_chat.py | 72 | # Create a new conversation | COMMENT |
| MEDIUM⚡ | …t/unit_test/rag/svr/task_executor_refactor/conftest.py | 37 | # Create a mock module for parametric_umap to satisfy umap's import check | COMMENT |
| MEDIUM | test/unit_test/rag/llm/conftest.py | 47 | # Create a stub rag.llm package that does NOT run the real __init__ | COMMENT |
| MEDIUM⚡ | test/unit_test/common/test_token_utils.py | 236 | # Create a string that encodes to exactly 5 tokens | COMMENT |
| MEDIUM | test/unit_test/api/utils/test_oceanbase_health.py | 160 | # Create a simple object and bind the real methods to it | COMMENT |
| MEDIUM⚡ | …tcases/restful_api/test_search_datasets_consistency.py | 524 | # Create a search config first | COMMENT |
| MEDIUM | …est_web_api/test_document_app/test_upload_info_unit.py | 82 | # Create a file | COMMENT |
| MEDIUM⚡ | …est_web_api/test_document_app/test_upload_documents.py | 274 | # Create a file with empty name by using filename_override | COMMENT |
| MEDIUM⚡ | …est_web_api/test_document_app/test_upload_documents.py | 290 | # Create a file and try to upload to a dataset we don't have access to | COMMENT |
| MEDIUM | …est_web_api/test_document_app/test_upload_documents.py | 309 | # Create an empty file | COMMENT |
| MEDIUM | …test_chat_management/test_table_parser_dataset_chat.py | 121 | # Create a single chat assistant and session for all tests | COMMENT |
| MEDIUM | example/http/dataset_example.sh | 17 | # Create a dataset | COMMENT |
| MEDIUM | admin/server/services.py | 688 | # Create a temporary sandbox instance for testing | COMMENT |
| MEDIUM | agent/sandbox/client.py | 186 | # Create a sandbox instance | COMMENT |
| MEDIUM | rag/svr/task_executor_refactor/comparator.py | 109 | # Create a new dict without the non-deterministic keys | COMMENT |
| MEDIUM | common/data_source/confluence_connector.py | 1431 | # Create the main section for the page content | COMMENT |
| MEDIUM | common/data_source/confluence_connector.py | 1462 | # Create the document | COMMENT |
| MEDIUM | …data_source/google_util/util_threadpool_concurrency.py | 22 | # Create a thread-safe dictionary | STRING |
| MEDIUM | common/data_source/github/connector.py | 823 | # Create a time range from epoch to now | COMMENT |
| MEDIUM | common/data_source/bitbucket/utils.py | 211 | # Create a concise summary of key PR info | COMMENT |
| MEDIUM | api/db/db_models.py | 158 | # This function is obsolete | COMMENT |
| MEDIUM | api/db/services/file_service.py | 280 | # Create a new file from dataset, or return the existing one. | COMMENT |
| MEDIUM | api/db/services/connector_service.py | 449 | # Create a mapping from filename to metadata for later use | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | deepdoc/parser/paddleocr_parser.py | 256 | CODE | |
| LOW | deepdoc/parser/paddleocr_parser.py | 326 | CODE | |
| LOW | deepdoc/parser/somark_parser.py | 145 | CODE | |
| LOW | deepdoc/parser/docling_parser.py | 512 | CODE | |
| LOW | test/benchmark/http_client.py | 46 | CODE | |
| LOW | test/benchmark/http_client.py | 76 | CODE | |
| LOW | test/unit_test/rag/test_sync_data_source.py | 513 | CODE | |
| LOW | test/testcases/test_web_api/test_common.py | 420 | CODE | |
| LOW | test/testcases/test_web_api/test_common.py | 431 | CODE | |
| LOW | …est_web_api/test_agent_app/test_agents_webhook_unit.py | 60 | CODE | |
| LOW | …est_dataset_management/test_dataset_sdk_routes_unit.py | 70 | CODE | |
| LOW | …_web_api/test_canvas_app/test_invoke_component_unit.py | 114 | CODE | |
| LOW | …_management_within_dataset/test_doc_sdk_routes_unit.py | 74 | CODE | |
| LOW | admin/client/http_client.py | 73 | CODE | |
| LOW | admin/client/http_client.py | 146 | CODE | |
| LOW | admin/client/parser.py | 416 | CODE | |
| LOW | mcp/server/server.py | 88 | CODE | |
| LOW | mcp/server/server.py | 95 | CODE | |
| LOW | mcp/server/server.py | 263 | CODE | |
| LOW | rag/app/naive.py | 130 | CODE | |
| LOW | rag/app/naive.py | 207 | CODE | |
| LOW | rag/app/naive.py | 260 | CODE | |
| LOW | rag/app/naive.py | 304 | CODE | |
| LOW | rag/advanced_rag/knowlege_compile/raptor.py | 168 | CODE | |
| LOW | rag/advanced_rag/knowlege_compile/_common.py | 817 | CODE | |
| LOW | rag/advanced_rag/knowlege_compile/wiki.py | 503 | CODE | |
| LOW | rag/advanced_rag/knowlege_compile/wiki.py | 2195 | CODE | |
| LOW | rag/graphrag/utils.py | 547 | CODE | |
| LOW | rag/graphrag/general/graph_extractor.py | 51 | CODE | |
| LOW | rag/nlp/search.py | 549 | CODE | |
| LOW | rag/prompts/generator.py | 312 | CODE | |
| LOW | rag/flow/tests/test_token_chunker.py | 100 | CODE | |
| LOW | common/http_client.py | 118 | CODE | |
| LOW | common/http_client.py | 172 | CODE | |
| LOW | common/metadata_infinity_filter.py | 204 | CODE | |
| LOW | common/crypto_utils.py | 118 | CODE | |
| LOW | common/data_source/bigquery_connector.py | 83 | CODE | |
| LOW | common/data_source/rest_api_connector.py | 227 | CODE | |
| LOW | common/data_source/confluence_connector.py | 1176 | CODE | |
| LOW | …mon/data_source/cross_connector_utils/retry_wrapper.py | 47 | CODE | |
| LOW | common/data_source/jira/connector.py | 86 | CODE | |
| LOW | common/data_source/google_drive/connector.py | 113 | CODE | |
| LOW | sdk/python/ragflow_sdk/ragflow.py | 38 | CODE | |
| LOW | sdk/python/ragflow_sdk/ragflow.py | 42 | CODE | |
| LOW | sdk/python/ragflow_sdk/ragflow.py | 46 | CODE | |
| LOW | sdk/python/ragflow_sdk/ragflow.py | 50 | CODE | |
| LOW | sdk/python/ragflow_sdk/ragflow.py | 54 | CODE | |
| LOW | sdk/python/ragflow_sdk/ragflow.py | 155 | CODE | |
| LOW | sdk/python/ragflow_sdk/ragflow.py | 187 | CODE | |
| LOW | sdk/python/ragflow_sdk/modules/session.py | 158 | CODE | |
| LOW | sdk/python/ragflow_sdk/modules/session.py | 170 | CODE | |
| LOW | sdk/python/ragflow_sdk/modules/dataset.py | 67 | CODE | |
| LOW | sdk/python/ragflow_sdk/modules/base.py | 43 | CODE | |
| LOW | sdk/python/ragflow_sdk/modules/base.py | 47 | CODE | |
| LOW | sdk/python/ragflow_sdk/modules/base.py | 51 | CODE | |
| LOW | sdk/python/ragflow_sdk/modules/base.py | 55 | CODE | |
| LOW | sdk/python/ragflow_sdk/modules/base.py | 59 | CODE | |
| LOW | api/utils/web_utils.py | 73 | CODE | |
| LOW | api/utils/api_utils.py | 427 | CODE | |
| LOW | api/db/services/dialog_service.py | 1350 | CODE | |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/firecrawl/firecrawl_processor.py | 116 | """Create comprehensive metadata for RAGFlow document.""" | STRING |
| MEDIUM | internal/agent/component/message.go | 407 | // splitter is a more robust replacement. | COMMENT |
| MEDIUM | internal/agent/canvas/interrupt_resume_test.go | 239 | // in Error(). The robust check is IsInterruptError. | COMMENT |
| MEDIUM | internal/agent/sandbox/ssh.go | 582 | // filled in below. -print0 + IFS split is more robust | COMMENT |
| MEDIUM | internal/binding/cpp/re2/prefilter_tree.h | 112 | // These are all the nodes formed by Compile. Essentially, there is | COMMENT |
| MEDIUM | internal/utility/embedding_lru.go | 51 | // If needed, a more robust key generation can be implemented. | COMMENT |
| LOW | agent/tools/searxng.py | 83 | # In try-run, if no URL configured, just return empty instead of raising | COMMENT |
| MEDIUM | agent/templates/market_seo_article_writer.json | 132 | "sys_prompt": "# Role\n\nYou are the **Parse_And_Keyword_Agent**, responsible for interpreti | CODE |
| MEDIUM | agent/templates/market_seo_article_writer.json | 442 | "sys_prompt": "# Role\n\nYou are the **Parse_And_Keyword_Agent**, responsible for interp | CODE |
| MEDIUM | rag/advanced_rag/knowlege_compile/wiki.py | 2745 | # Per-id fallback for anything the batch missed — robust against backend- | COMMENT |
| MEDIUM | rag/graphrag/light/graph_prompt.py | 140 | PROMPTS["summarize_entity_descriptions"] = """You are a helpful assistant responsible for generating a comprehensive sum | CODE |
| LOW⚡ | common/data_source/confluence_connector.py | 803 | # For now, we'll just return None and log a warning. This means | COMMENT |
| LOW⚡ | common/data_source/confluence_connector.py | 806 | # We may want to just return a string that indicates failure so we don't | COMMENT |
| LOW | common/data_source/confluence_connector.py | 404 | # If it's not a method, just return it after ensuring token validity | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | deepdoc/parser/pdf_parser.py | 1037 | CODE | |
| MEDIUM | deepdoc/parser/pdf_parser.py | 1053 | CODE | |
| MEDIUM | deepdoc/parser/pdf_parser.py | 1054 | CODE | |
| MEDIUM | deepdoc/parser/pdf_parser.py | 1055 | CODE | |
| MEDIUM | deepdoc/parser/pdf_parser.py | 1112 | CODE | |
| MEDIUM | deepdoc/parser/pdf_parser.py | 1113 | CODE | |
| MEDIUM | deepdoc/parser/pdf_parser.py | 1134 | CODE | |
| MEDIUM | …est_web_api/test_agent_app/test_agents_webhook_unit.py | 1415 | CODE | |
| MEDIUM | …est_web_api/test_agent_app/test_agents_webhook_unit.py | 1483 | CODE | |
| MEDIUM | …tcases/test_web_api/test_llm_app/test_llm_list_unit.py | 765 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ternal/ingestion/component/markdown_vision_dispatch.go | 45 | // available, enriches those items with AI-generated figure descriptions. | COMMENT |
| HIGH | internal/ingestion/component/docx_vision_dispatch.go | 63 | // model is available, enriches the markdown with AI-generated | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/scripts/run_migrations.sh | 8 | # Usage: | COMMENT |
| LOW | common/data_source/blob_connector.py | 346 | # Example usage | COMMENT |
| LOW | common/data_source/slack_connector.py | 649 | # Example usage | COMMENT |
| LOW | common/data_source/dingtalk_ai_table_connector.py | 446 | # Example usage | COMMENT |
| LOW | common/data_source/imap_connector.py | 144 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/binding/cpp/opencc/opencc.h | 70 | * Note: Don't forget to assign **outbuf to L'\0' after called. | COMMENT |
| LOW | internal/binding/cpp/opencc/opencc.h | 85 | * DON'T FORGET TO CALL free() to recycle memory. | COMMENT |
| LOW | common/data_source/google_drive/section_extraction.py | 180 | # Don't forget to add the last section | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/syncer/syncer.go | 116 | // TODO: implement actual data-source-specific sync logic. | COMMENT |
| LOW | internal/syncer/syncer.go | 127 | // TODO: implement actual prune logic. | COMMENT |