Repository Analysis

open-webui/open-webui

User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

5.7 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of open-webui/open-webui, a Python project with 150,218 GitHub stars. SynthScan v2.0 examined 508,234 lines of code across 1081 source files, recording 2637 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 5.7 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).

5.7
Adjusted Score
5.7
Raw Score
100%
Time Factor
2026-08-27
Last Push
150.2K
Stars
Python
Language
508.2K
Lines of Code
1.1K
Files
2.6K
Pattern Hits
2026-08-29
Scan Date
0.01
HC Hit Rate

What These Metrics Mean

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

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 2HIGH 13MEDIUM 230LOW 2392

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

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

Excessive Try-Catch Wrapping1031 hits · 930 pts
SeverityFileLineSnippetContext
LOWcontribution_stats.py16 except Exception:CODE
MEDIUMcontribution_stats.py38 print('Error: Are you in a git repository?')CODE
LOWcontribution_stats.py59 except Exception:CODE
MEDIUMbackend/open_webui/functions.py308def stream_content():CODE
LOWbackend/open_webui/functions.py62 except Exception as e:CODE
LOWbackend/open_webui/functions.py99 except Exception as e:CODE
LOWbackend/open_webui/functions.py146 except Exception as e:CODE
LOWbackend/open_webui/functions.py180 except Exception:CODE
LOWbackend/open_webui/functions.py209 except Exception as e:CODE
LOWbackend/open_webui/functions.py265 except Exception as e:CODE
LOWbackend/open_webui/functions.py321 except Exception as e:CODE
LOWbackend/open_webui/functions.py348 except Exception as e:CODE
LOWbackend/open_webui/tasks.py50 except Exception as e:CODE
LOWbackend/open_webui/tasks.py55 except Exception as e:CODE
LOWbackend/open_webui/tasks.py209 except Exception:CODE
LOWbackend/open_webui/config.py104 except Exception as e:CODE
LOWbackend/open_webui/config.py106except Exception as e:CODE
LOWbackend/open_webui/config.py115 except Exception as e:CODE
LOWbackend/open_webui/config.py126 except Exception as e:CODE
LOWbackend/open_webui/config.py134 except Exception as e:CODE
LOWbackend/open_webui/config.py142 except Exception as e:CODE
LOWbackend/open_webui/config.py545 except Exception:CODE
LOWbackend/open_webui/config.py555 except Exception:CODE
LOWbackend/open_webui/config.py565 except Exception:CODE
LOWbackend/open_webui/config.py575 except Exception:CODE
LOWbackend/open_webui/config.py674 except Exception:CODE
LOWbackend/open_webui/config.py684 except Exception:CODE
LOWbackend/open_webui/config.py694 except Exception:CODE
LOWbackend/open_webui/config.py704 except Exception:CODE
LOWbackend/open_webui/config.py718 except Exception:CODE
LOWbackend/open_webui/config.py728 except Exception:CODE
LOWbackend/open_webui/config.py738 except Exception:CODE
LOWbackend/open_webui/config.py751 except Exception:CODE
LOWbackend/open_webui/config.py761 except Exception:CODE
LOWbackend/open_webui/config.py771 except Exception:CODE
LOWbackend/open_webui/config.py781 except Exception:CODE
LOWbackend/open_webui/config.py75 except Exception as e:CODE
LOWbackend/open_webui/config.py219 except Exception as e:CODE
LOWbackend/open_webui/config.py362except Exception:CODE
LOWbackend/open_webui/config.py380except Exception as e:CODE
LOWbackend/open_webui/config.py399except Exception:CODE
LOWbackend/open_webui/config.py589 except Exception:CODE
LOWbackend/open_webui/config.py1702except Exception as e:STRING
LOWbackend/open_webui/config.py1710except Exception as e:STRING
LOWbackend/open_webui/config.py1718except Exception as e:STRING
LOWbackend/open_webui/config.py1727except Exception as e:STRING
LOWbackend/open_webui/config.py1177except Exception as e:STRING
LOWbackend/open_webui/config.py1664except Exception as e:STRING
LOWbackend/open_webui/config.py2074except Exception as e:STRING
LOWbackend/open_webui/config.py2175except Exception as e:STRING
LOWbackend/open_webui/config.py2198except Exception as e:STRING
LOWbackend/open_webui/env.py55 except Exception as exc:CODE
LOWbackend/open_webui/env.py66 except Exception:CODE
LOWbackend/open_webui/env.py142 except Exception:CODE
LOWbackend/open_webui/env.py183except Exception:CODE
LOWbackend/open_webui/env.py439 except Exception:CODE
LOWbackend/open_webui/env.py474 except Exception:CODE
LOWbackend/open_webui/env.py659except Exception:CODE
LOWbackend/open_webui/env.py678 except Exception:CODE
LOWbackend/open_webui/env.py728 except Exception:CODE
971 more matches not shown…
Hyper-Verbose Identifiers591 hits · 544 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/functions.py52async def get_function_module_by_id(request: Request, pipe_id: str):CODE
LOWbackend/open_webui/functions.py153async def generate_function_chat_completion(request, form_data, user, models: dict | None = None):CODE
LOWbackend/open_webui/tasks.py28async def redis_task_command_listener(app):CODE
LOWbackend/open_webui/tasks.py196async def get_response_streams_by_chat_id(redis, chat_id: str) -> list[dict]:CODE
LOWbackend/open_webui/config.py83async def import_legacy_config_json():CODE
LOWbackend/open_webui/env.py544def _build_ssl_context_from_file(path: str) -> '_ssl.SSLContext | None':CODE
LOWbackend/open_webui/events.py854async def migrate_legacy_webhook_config() -> list[dict[str, Any]]:CODE
LOWbackend/open_webui/events.py1062def schedule_webhook_dispatch(app: Any, event: Event) -> None:CODE
LOWbackend/open_webui/events.py1074def schedule_notification_dispatch(app: Any, event: Event) -> None:CODE
LOWbackend/open_webui/events.py1159def schedule_event_function_dispatch(app: Any, event: Event, request: Any | None = None) -> None:CODE
LOWbackend/open_webui/events.py1205async def publish_model_provider_request_failed(CODE
LOWbackend/open_webui/main.py2116async def list_tasks_by_chat_id_endpoint(request: Request, chat_id: str, user=Depends(get_verified_user)):CODE
LOWbackend/open_webui/main.py2134async def stop_tasks_by_chat_id_endpoint(request: Request, chat_id: str, user=Depends(get_verified_user)):CODE
LOWbackend/open_webui/main.py2561async def get_app_latest_release_version(user=Depends(get_verified_user)):CODE
LOWbackend/open_webui/main.py598async def initialize_runtime_config(app: FastAPI):STRING
LOWbackend/open_webui/main.py1463 async def run_initial_title_generation():STRING
LOWbackend/open_webui/main.py1867async def resolve_chat_message_tool_call(STRING
LOWbackend/open_webui/main.py1916async def passthrough_anthropic_messages(request: Request, form_data: dict, user) -> Response | dict:STRING
LOWbackend/open_webui/routers/functions.py459async def get_function_valves_by_id(CODE
LOWbackend/open_webui/routers/functions.py485async def get_function_valves_spec_by_id(CODE
LOWbackend/open_webui/routers/functions.py515async def update_function_valves_by_id(CODE
LOWbackend/open_webui/routers/functions.py567async def get_function_user_valves_by_id(CODE
LOWbackend/open_webui/routers/functions.py588async def get_function_user_valves_spec_by_id(CODE
LOWbackend/open_webui/routers/functions.py616async def update_function_user_valves_by_id(CODE
LOWbackend/open_webui/routers/files.py111def _matches_configured_mime_type(supported: list[str] | str, content_type: str) -> bool:CODE
LOWbackend/open_webui/routers/files.py120def _media_supported_for_extraction(CODE
LOWbackend/open_webui/routers/files.py676async def get_file_data_content_by_id(CODE
LOWbackend/open_webui/routers/files.py706async def update_file_data_content_by_id(CODE
LOWbackend/open_webui/routers/files.py846async def get_html_file_content_by_id(CODE
LOWbackend/open_webui/routers/terminals.py242async def _resolve_authenticated_connection(ws: WebSocket, server_id: str):CODE
LOWbackend/open_webui/routers/tasks.py80async def get_task_model_generation_config(default_model_id: str, models) -> tuple[str, dict]:CODE
LOWbackend/open_webui/routers/configs.py324async def get_terminal_servers_config(request: Request, user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/configs.py329async def set_terminal_servers_config(CODE
LOWbackend/open_webui/routers/configs.py353async def verify_terminal_server_connection(CODE
LOWbackend/open_webui/routers/configs.py428async def put_terminal_server_policy(CODE
LOWbackend/open_webui/routers/configs.py465async def put_terminal_server_lifecycle(CODE
LOWbackend/open_webui/routers/configs.py502async def refresh_terminal_server_terminals(CODE
LOWbackend/open_webui/routers/configs.py549async def verify_tool_servers_config(request: Request, form_data: ToolServerConnection, user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/configs.py702async def get_code_execution_config(request: Request, user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/configs.py707async def set_code_execution_config(CODE
LOWbackend/open_webui/routers/models.py52def add_chat_variables_schema(model_dict: dict) -> dict:CODE
LOWbackend/open_webui/routers/models.py60def _safe_static_redirect_path(url: str) -> str | None:CODE
LOWbackend/open_webui/routers/models.py95async def _verify_knowledge_file_access(CODE
LOWbackend/open_webui/routers/models.py864async def update_model_access_by_id(CODE
LOWbackend/open_webui/routers/skills.py358async def update_skill_access_by_id(CODE
LOWbackend/open_webui/routers/users.py71def strip_default_interface_settings(defaults: dict, settings: dict) -> dict:CODE
LOWbackend/open_webui/routers/users.py389def _build_cumulative_heatmap(heatmap: list[dict]) -> list[dict]:CODE
LOWbackend/open_webui/routers/users.py428async def get_default_user_permissions(request: Request, user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/users.py441async def update_default_user_permissions(request: Request, form_data: UserPermissions, user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/users.py455async def get_default_user_permissions_defaults(user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/users.py474async def get_user_settings_by_session_user(CODE
LOWbackend/open_webui/routers/users.py499async def update_user_settings_by_session_user(CODE
LOWbackend/open_webui/routers/users.py572async def get_user_status_by_session_user(CODE
LOWbackend/open_webui/routers/users.py591async def update_user_status_by_session_user(CODE
LOWbackend/open_webui/routers/users.py624async def get_user_info_by_session_user(user=Depends(get_verified_user)):CODE
LOWbackend/open_webui/routers/users.py643async def get_user_variables_by_session_user(user=Depends(get_verified_user)):CODE
LOWbackend/open_webui/routers/users.py653async def update_user_variables_by_session_user(CODE
LOWbackend/open_webui/routers/users.py681async def update_user_info_by_session_user( # PATCH-style mergeCODE
LOWbackend/open_webui/routers/users.py708async def get_user_usage_by_session_user(CODE
LOWbackend/open_webui/routers/users.py837async def get_user_oauth_sessions_by_id(CODE
531 more matches not shown…
Decorative Section Separators151 hits · 452 pts
SeverityFileLineSnippetContext
MEDIUMdocker-update-models.sh4# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-update-models.sh6# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-ollama.sh4# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-ollama.sh6# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-cleanup.sh4# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-cleanup.sh6# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-run.sh4# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-run.sh6# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-compose-launcher.sh4# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-compose-launcher.sh7# ---------------------------------------------------------------------------COMMENT
MEDIUMdocker-compose-launcher.sh16# ── GPU detection ─────────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-compose-launcher.sh35# ── Argument helpers ──────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-compose-launcher.sh69# ── Defaults ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-compose-launcher.sh82# ── Parse arguments ───────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-compose-launcher.sh100# ── Drop mode ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-compose-launcher.sh108# ── Build compose command ─────────────────────────────────────────────────────COMMENT
MEDIUMdocker-compose-launcher.sh144# ── Confirmation ──────────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-compose-launcher.sh164# ── Launch ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMbackend/start.sh4# ---------------------------------------------------------------------------COMMENT
MEDIUMbackend/start.sh8# ---------------------------------------------------------------------------COMMENT
MEDIUMbackend/start.sh19# ── Playwright browser installation (if configured) ──────────────────────────COMMENT
MEDIUMbackend/start.sh30# ── Secret key setup ─────────────────────────────────────────────────────────COMMENT
MEDIUMbackend/start.sh53# ── Ollama (bundled Docker image) ────────────────────────────────────────────COMMENT
MEDIUMbackend/start.sh60# ── CUDA library paths ──────────────────────────────────────────────────────COMMENT
MEDIUMbackend/start.sh67# ── HuggingFace Space deployment ─────────────────────────────────────────────COMMENT
MEDIUMbackend/start.sh97# ── Launch uvicorn ───────────────────────────────────────────────────────────COMMENT
MEDIUMbackend/open_webui/tasks.py66### ------------------------------COMMENT
MEDIUMbackend/open_webui/tasks.py68### ------------------------------COMMENT
MEDIUMbackend/open_webui/routers/terminals.py237# ---------------------------------------------------------------------------COMMENT
MEDIUMbackend/open_webui/routers/terminals.py239# ---------------------------------------------------------------------------COMMENT
MEDIUMbackend/open_webui/tools/builtin.py288# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py290# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py364# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py366# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py502# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py504# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py616# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py618# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py3657# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py3659# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py4052# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py4054# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py125# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py127# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py783# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py785# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1110# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1112# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1487# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1489# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1655# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1657# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py2021# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py2023# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py3452# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py3454# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py3512# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py3514# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1738# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1740# =============================================================================STRING
91 more matches not shown…
Unused Imports320 hits · 264 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/functions.py7CODE
LOWbackend/open_webui/functions.py7CODE
LOWbackend/open_webui/functions.py7CODE
LOWbackend/open_webui/functions.py7CODE
LOWbackend/open_webui/functions.py7CODE
LOWbackend/open_webui/functions.py7CODE
LOWbackend/open_webui/functions.py7CODE
LOWbackend/open_webui/functions.py18CODE
LOWbackend/open_webui/functions.py21CODE
LOWbackend/open_webui/functions.py32CODE
LOWbackend/open_webui/functions.py32CODE
LOWbackend/open_webui/functions.py32CODE
LOWbackend/open_webui/functions.py43CODE
LOWbackend/open_webui/config.py1CODE
LOWbackend/open_webui/config.py3CODE
LOWbackend/open_webui/config.py9CODE
LOWbackend/open_webui/config.py11CODE
LOWbackend/open_webui/config.py11CODE
LOWbackend/open_webui/config.py14CODE
LOWbackend/open_webui/config.py19CODE
LOWbackend/open_webui/config.py19CODE
LOWbackend/open_webui/config.py19CODE
LOWbackend/open_webui/config.py19CODE
LOWbackend/open_webui/config.py19CODE
LOWbackend/open_webui/events.py1CODE
LOWbackend/open_webui/constants.py1CODE
LOWbackend/open_webui/__init__.py76CODE
LOWbackend/open_webui/main.py1CODE
LOWbackend/open_webui/routers/functions.py1CODE
LOWbackend/open_webui/routers/functions.py4CODE
LOWbackend/open_webui/routers/functions.py6CODE
LOWbackend/open_webui/routers/functions.py7CODE
LOWbackend/open_webui/routers/files.py30CODE
LOWbackend/open_webui/routers/files.py39CODE
LOWbackend/open_webui/routers/tasks.py2CODE
LOWbackend/open_webui/routers/tasks.py5CODE
LOWbackend/open_webui/routers/tasks.py6CODE
LOWbackend/open_webui/routers/tasks.py7CODE
LOWbackend/open_webui/routers/configs.py1CODE
LOWbackend/open_webui/routers/configs.py3CODE
LOWbackend/open_webui/routers/configs.py5CODE
LOWbackend/open_webui/routers/configs.py14CODE
LOWbackend/open_webui/routers/configs.py18CODE
LOWbackend/open_webui/routers/models.py1CODE
LOWbackend/open_webui/routers/models.py3CODE
LOWbackend/open_webui/routers/models.py8CODE
LOWbackend/open_webui/routers/models.py28CODE
LOWbackend/open_webui/routers/skills.py23CODE
LOWbackend/open_webui/routers/users.py1CODE
LOWbackend/open_webui/routers/users.py23CODE
LOWbackend/open_webui/routers/tools.py1CODE
LOWbackend/open_webui/routers/tools.py6CODE
LOWbackend/open_webui/routers/tools.py19CODE
LOWbackend/open_webui/routers/groups.py2CODE
LOWbackend/open_webui/routers/groups.py3CODE
LOWbackend/open_webui/routers/groups.py7CODE
LOWbackend/open_webui/routers/evaluations.py10CODE
LOWbackend/open_webui/routers/evaluations.py20CODE
LOWbackend/open_webui/routers/evaluations.py20CODE
LOWbackend/open_webui/routers/notes.py5CODE
260 more matches not shown…
Deep Nesting300 hits · 213 pts
SeverityFileLineSnippetContext
LOWcontribution_stats.py42CODE
LOWbackend/open_webui/functions.py71CODE
LOWbackend/open_webui/tasks.py28CODE
LOWbackend/open_webui/main.py598CODE
LOWbackend/open_webui/main.py934CODE
LOWbackend/open_webui/main.py1087CODE
LOWbackend/open_webui/main.py2134CODE
LOWbackend/open_webui/main.py2643CODE
LOWbackend/open_webui/main.py1624CODE
LOWbackend/open_webui/routers/functions.py163CODE
LOWbackend/open_webui/routers/files.py128CODE
LOWbackend/open_webui/routers/files.py612CODE
LOWbackend/open_webui/routers/files.py706CODE
LOWbackend/open_webui/routers/files.py783CODE
LOWbackend/open_webui/routers/files.py1001CODE
LOWbackend/open_webui/routers/files.py137CODE
LOWbackend/open_webui/routers/files.py633CODE
LOWbackend/open_webui/routers/terminals.py103CODE
LOWbackend/open_webui/routers/terminals.py299CODE
LOWbackend/open_webui/routers/terminals.py376CODE
LOWbackend/open_webui/routers/terminals.py390CODE
LOWbackend/open_webui/routers/configs.py239CODE
LOWbackend/open_webui/routers/configs.py549CODE
LOWbackend/open_webui/routers/models.py372CODE
LOWbackend/open_webui/routers/models.py643CODE
LOWbackend/open_webui/routers/users.py856CODE
LOWbackend/open_webui/routers/users.py917CODE
LOWbackend/open_webui/routers/auths.py425CODE
LOWbackend/open_webui/routers/auths.py475CODE
LOWbackend/open_webui/routers/auths.py717CODE
LOWbackend/open_webui/routers/auths.py955CODE
LOWbackend/open_webui/routers/calendar.py144CODE
LOWbackend/open_webui/routers/openai.py152CODE
LOWbackend/open_webui/routers/openai.py605CODE
LOWbackend/open_webui/routers/openai.py680CODE
LOWbackend/open_webui/routers/openai.py800CODE
LOWbackend/open_webui/routers/openai.py870CODE
LOWbackend/open_webui/routers/openai.py1068CODE
LOWbackend/open_webui/routers/openai.py1277CODE
LOWbackend/open_webui/routers/openai.py1432CODE
LOWbackend/open_webui/routers/openai.py1467CODE
LOWbackend/open_webui/routers/openai.py1723CODE
LOWbackend/open_webui/routers/openai.py1850CODE
LOWbackend/open_webui/routers/openai.py1961CODE
LOWbackend/open_webui/routers/openai.py820CODE
LOWbackend/open_webui/routers/scim.py48CODE
LOWbackend/open_webui/routers/scim.py660CODE
LOWbackend/open_webui/routers/scim.py740CODE
LOWbackend/open_webui/routers/scim.py1051CODE
LOWbackend/open_webui/routers/retrieval.py170CODE
LOWbackend/open_webui/routers/retrieval.py1637CODE
LOWbackend/open_webui/routers/retrieval.py1858CODE
LOWbackend/open_webui/routers/retrieval.py2442CODE
LOWbackend/open_webui/routers/retrieval.py2800CODE
LOWbackend/open_webui/routers/retrieval.py3205CODE
LOWbackend/open_webui/routers/images.py202CODE
LOWbackend/open_webui/routers/images.py367CODE
LOWbackend/open_webui/routers/images.py592CODE
LOWbackend/open_webui/routers/images.py890CODE
LOWbackend/open_webui/routers/chats.py308CODE
240 more matches not shown…
Redundant / Tautological Comments74 hits · 115 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/functions.py86 # Check if function is a manifoldCOMMENT
LOWbackend/open_webui/functions.py229 # Check if tool_ids is NoneCOMMENT
LOWbackend/open_webui/config.py2130 # Check if the scheme is either http or https, or a custom schemeSTRING
LOWbackend/open_webui/env.py228 # Check if the data directory exists in the package directoryCOMMENT
LOWbackend/open_webui/env.py259# Check if the file existsCOMMENT
LOWbackend/open_webui/main.py1126 # Check if user has access to the modelSTRING
LOWbackend/open_webui/routers/files.py802 # Check if the file already exists in the cacheCOMMENT
LOWbackend/open_webui/routers/files.py869 # Check if the file already exists in the cacheCOMMENT
LOWbackend/open_webui/routers/files.py918 # Check if the file already exists in the cacheCOMMENT
LOWbackend/open_webui/routers/auths.py1258 # Check if the input string matches the patternCOMMENT
LOWbackend/open_webui/routers/auths.py1616 # Check if provider is configuredCOMMENT
LOWbackend/open_webui/routers/openai.py625 # Check if the file already exists in the cacheCOMMENT
LOWbackend/open_webui/routers/openai.py1519 # Check if model is already in app state cache to avoid expensive get_all_models() callCOMMENT
LOWbackend/open_webui/routers/openai.py1548 # Check if model is a reasoning model that needs special handlingCOMMENT
LOWbackend/open_webui/routers/openai.py1636 # Check if response is SSECOMMENT
LOWbackend/open_webui/routers/openai.py1740 # Check if model is already in app state cache to avoid expensive get_all_models() callCOMMENT
LOWbackend/open_webui/routers/openai.py1915 # Check if response is SSECOMMENT
LOWbackend/open_webui/routers/openai.py2037 # Check if response is SSECOMMENT
LOWbackend/open_webui/routers/scim.py259 # Check if SCIM is enabledCOMMENT
LOWbackend/open_webui/routers/retrieval.py1666 # Check if entries with the same hash (metadata.hash) already existCOMMENT
LOWbackend/open_webui/routers/retrieval.py1676 # Check if the existing document belongs to the same fileCOMMENT
LOWbackend/open_webui/routers/retrieval.py3208 # Check if the directory existsCOMMENT
LOWbackend/open_webui/routers/chats.py617 # Check if the user has permission to share/export chatsCOMMENT
LOWbackend/open_webui/routers/chats.py666 # Check if the user has permission to share/export chatsCOMMENT
LOWbackend/open_webui/routers/channels.py1837 # Check if it's url or base64COMMENT
LOWbackend/open_webui/routers/folders.py165 # Check if creating a subfolder in a shared folderCOMMENT
LOWbackend/open_webui/routers/folders.py338 # Check if folder with same name existsCOMMENT
LOWbackend/open_webui/routers/pipelines.py227 # Check if the uploaded file is a python fileCOMMENT
LOWbackend/open_webui/tools/builtin.py1906 # Check if user has access to the channelSTRING
LOWbackend/open_webui/utils/files.py202 # Check if the file already exists in the cacheCOMMENT
LOWbackend/open_webui/utils/task.py19 # Check if the user has a custom task model and use that modelCOMMENT
LOWbackend/open_webui/utils/tools.py1486 # Check if URL ends with .yaml or .yml to determine formatCOMMENT
LOWbackend/open_webui/utils/payload.py328 # Iterate through the list of content itemsCOMMENT
LOWbackend/open_webui/utils/payload.py330 # Check if it's a text typeCOMMENT
LOWbackend/open_webui/utils/payload.py334 # Check if it's an image URL typeCOMMENT
LOWbackend/open_webui/utils/payload.py296 # Check if the content is a string (just a simple message)COMMENT
LOWbackend/open_webui/utils/chat.py201 # Check if user has access to the modelCOMMENT
LOWbackend/open_webui/utils/rate_limit.py110 # Increment bucketCOMMENT
LOWbackend/open_webui/utils/middleware.py1562 # Check if generated queries are emptyCOMMENT
LOWbackend/open_webui/utils/middleware.py1566 # Check if queries are not foundCOMMENT
LOWbackend/open_webui/utils/middleware.py3042 # Check if file context extraction is enabled for this model (default True)COMMENT
LOWbackend/open_webui/utils/middleware.py5512 # Check if citations are enabled for this modelCOMMENT
LOWbackend/open_webui/utils/middleware.py1995 # Check if all files are in full context modeCOMMENT
LOWbackend/open_webui/utils/middleware.py2545 # Check if the request has chat_id and is inside of a folderCOMMENT
LOWbackend/open_webui/utils/middleware.py4988 # Check if the tool call already existsCOMMENT
LOWbackend/open_webui/utils/middleware.py5269 # Check if we're inside a tag-based blockCOMMENT
LOWbackend/open_webui/utils/oauth.py1988 # Check if the user existsCOMMENT
LOWbackend/open_webui/utils/oauth.py1993 # Check if the user exists by emailCOMMENT
LOWbackend/open_webui/utils/oauth.py2074 # Check if an existing user with the same email already existsCOMMENT
LOWbackend/open_webui/utils/access_control/files.py45 # Check if the file is associated with any knowledge bases the user has access to.COMMENT
LOWbackend/open_webui/utils/access_control/files.py88 # Check if the file is associated with any channels the user has access toCOMMENT
LOWbackend/open_webui/utils/access_control/files.py93 # Check if the file is associated with any chats the user has access toCOMMENT
LOWbackend/open_webui/utils/access_control/files.py107 # Check if the file is directly attached to a shared workspace model (per the ownershipCOMMENT
LOWbackend/open_webui/utils/access_control/__init__.py253 # Check if user can share publiclyCOMMENT
LOWbackend/open_webui/models/functions.py364 # Check if user has "functions" and "valves" settingsCOMMENT
LOWbackend/open_webui/models/functions.py382 # Check if user has "functions" and "valves" settingsCOMMENT
LOWbackend/open_webui/models/tools.py276 # Check if user has "tools" and "valves" settingsCOMMENT
LOWbackend/open_webui/models/tools.py294 # Check if user has "tools" and "valves" settingsCOMMENT
LOWbackend/open_webui/models/notes.py379 # Check if already pinnedCOMMENT
LOWbackend/open_webui/models/prompts.py432 # Check if content changed to decide on history creationCOMMENT
14 more matches not shown…
Modern AI Meta-Vocabulary26 hits · 88 pts
SeverityFileLineSnippetContext
MEDIUMbackend/open_webui/config.py521# this uses the model defined in the Dockerfile ENV variable. If you dont use docker or docker based deployments such asCOMMENT
MEDIUMbackend/open_webui/config.py831# Information Retrieval (RAG)COMMENT
MEDIUMbackend/open_webui/config.py860# RAG Content ExtractionCOMMENT
MEDIUMbackend/open_webui/routers/files.py742 # collection and RAG returns both stale and current data (#20558).COMMENT
MEDIUMbackend/open_webui/routers/openai.py1368 # separately via metadata.files/RAG and must not be converted here.COMMENT
MEDIUMbackend/open_webui/routers/retrieval.py142# not into hallucination, but deliver us from noise.COMMENT
MEDIUMbackend/open_webui/routers/retrieval.py523 # unloads current internal embedding model and clears VRAM cacheCOMMENT
MEDIUMbackend/open_webui/routers/retrieval.py632 # RAG settingsCOMMENT
MEDIUMbackend/open_webui/routers/retrieval.py863 # RAG settingsCOMMENT
MEDIUMbackend/open_webui/routers/retrieval.py953 # RAG settingsCOMMENT
MEDIUMbackend/open_webui/routers/retrieval.py1348 # RAG settingsCOMMENT
MEDIUMbackend/open_webui/routers/memories.py358 # same RELEVANCE_THRESHOLD used by RAG ensures only genuinely matchingCOMMENT
MEDIUMbackend/open_webui/routers/channels.py1133 # tools, filters, RAG — everything. The pipeline runs asCOMMENT
MEDIUMbackend/open_webui/utils/headers.py113 # UA from the live request; fall back to metadata for detached RAG/tool calls.COMMENT
MEDIUMbackend/open_webui/utils/middleware.py3052 # Save the pre-RAG message state so the native tool call loop canCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py3054 # than a snapshot that already has the RAG template baked in.COMMENT
MEDIUMbackend/open_webui/utils/middleware.py5517 # Use the pre-RAG system content captured before theCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py5519 # This ensures restore truly undoes the RAG template.COMMENT
MEDIUMbackend/open_webui/utils/middleware.py5809 # Restoring to pre-RAG original prevents duplicatingCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py5810 # the RAG template across file and tool sources.COMMENT
MEDIUMbackend/open_webui/utils/middleware.py5813 # Restore pre-RAG message state before re-applyingCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py5814 # to prevent RAG template duplication.COMMENT
MEDIUMbackend/open_webui/utils/middleware.py2571 # Native FC: skip RAG injection, builtin toolsCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py2671 # Skip forced RAG web search when native FC is enabled - model can use web_search toolCOMMENT
MEDIUMbackend/open_webui/retrieval/utils.py1112 # Deferred so a missing local model degrades RAG instead of crashing boot.COMMENT
MEDIUM…c/lib/components/admin/Functions/FunctionEditor.svelte273 # This is where you can add your custom pipelines like RAG.STRING
Cross-File Repetition11 hits · 55 pts
SeverityFileLineSnippetContext
HIGH…ckend/open_webui/retrieval/vector/dbs/elasticsearch.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
HIGH…open_webui/retrieval/vector/dbs/qdrant_multitenancy.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
HIGHbackend/open_webui/retrieval/vector/dbs/milvus.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
HIGHbackend/open_webui/retrieval/vector/dbs/pinecone.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
HIGHbackend/open_webui/retrieval/vector/dbs/opensearch.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
HIGHbackend/open_webui/retrieval/vector/dbs/qdrant.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
HIGHbackend/open_webui/retrieval/vector/dbs/s3vector.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
HIGHbackend/open_webui/retrieval/vector/dbs/opengauss.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
HIGHbackend/open_webui/retrieval/vector/dbs/weaviate.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
HIGH…open_webui/retrieval/vector/dbs/milvus_multitenancy.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
HIGH…kend/open_webui/retrieval/vector/dbs/mariadb_vector.py0note: this vector database integration is community-supported and maintained on a best-effort basis.STRING
Self-Referential Comments23 hits · 54 pts
SeverityFileLineSnippetContext
MEDIUMbackend/open_webui/tasks.py133 task = asyncio.create_task(coroutine) # Create the taskCODE
MEDIUMbackend/open_webui/main.py400 # Creating a mock request object to pass to get_all_modelsSTRING
MEDIUMbackend/open_webui/routers/files.py931 # Create a generator that encodes the file contentCOMMENT
MEDIUMbackend/open_webui/routers/retrieval.py2928 # Create a single collection for all documentsCOMMENT
MEDIUMbackend/open_webui/routers/chats.py1960 # Create a new shareCOMMENT
MEDIUMbackend/open_webui/internal/db.py284 # Create a custom creator function that uses sqlcipher3COMMENT
MEDIUMbackend/open_webui/utils/misc.py838 # Create a SHA256 hash of the final stringCOMMENT
MEDIUMbackend/open_webui/utils/misc.py860 # Create a new SHA-256 hash objectCOMMENT
MEDIUMbackend/open_webui/utils/chat.py121 # Define a background task to run the event generatorCOMMENT
MEDIUMbackend/open_webui/utils/chat.py101 # Define a generator to stream responsesCOMMENT
MEDIUMbackend/open_webui/utils/plugin.py231 # Create a temporary file and use it to define `__file__` soCOMMENT
MEDIUMbackend/open_webui/utils/plugin.py281 # Create a temporary file and use it to define `__file__` soCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py4209 task_id = str(uuid4()) # Create a unique task ID.CODE
MEDIUMbackend/open_webui/models/functions.py203 # Create a dict for O(1) lookupCOMMENT
MEDIUMbackend/open_webui/retrieval/utils.py627 # Create the output dictionaryCOMMENT
MEDIUMbackend/open_webui/retrieval/vector/dbs/pinecone.py420 # Create a zero vector for the dimension as Pinecone requires a vectorCOMMENT
MEDIUMbackend/open_webui/retrieval/vector/dbs/pgvector.py148 # Create the tables if they do not existSTRING
MEDIUMbackend/open_webui/retrieval/vector/dbs/pgvector.py428 # Create the values for query vectorsSTRING
MEDIUMbackend/open_webui/retrieval/vector/dbs/oracle23ai.py111 # Create the appropriate connection pool based on DB typeCOMMENT
MEDIUM…c/lib/components/admin/Functions/FunctionEditor.svelte86 # This function is the pre-processor for the API where various checks on the input can be performed.STRING
MEDIUM…c/lib/components/admin/Functions/FunctionEditor.svelte105 # This function is the post-processor for the API, which can be used to modify the responseSTRING
MEDIUM…c/lib/components/admin/Functions/FunctionEditor.svelte189 # This function is the pre-processor for the API where various checks on the input can be performed.STRING
MEDIUM…c/lib/components/admin/Functions/FunctionEditor.svelte206 # This function is the post-processor for the API, which can be used to modify the responseSTRING
Verbosity Indicators22 hits · 41 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/retrieval/loaders/mineru.py187 # Step 1: Request presigned upload URLCOMMENT
LOWbackend/open_webui/retrieval/loaders/mineru.py190 # Step 2: Upload file to presigned URLCOMMENT
LOWbackend/open_webui/retrieval/loaders/mineru.py193 # Step 3: Poll for resultsCOMMENT
LOWbackend/open_webui/retrieval/loaders/mineru.py196 # Step 4: Download and extract markdown from ZIPCOMMENT
LOWsrc/lib/apis/index.ts798 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts801 // Step 2: Attempt to fix common JSON format issues like single quotesCOMMENT
LOWsrc/lib/apis/index.ts804 // Step 3: Find the relevant JSON block within the responseCOMMENT
LOWsrc/lib/apis/index.ts808 // Step 4: Check if we found a valid JSON block (with both `{` and `}`)COMMENT
LOWsrc/lib/apis/index.ts812 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts815 // Step 6: If there's a "tags" key, return the tags array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts870 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts873 // Step 2: Attempt to fix common JSON format issues like single quotesCOMMENT
LOWsrc/lib/apis/index.ts876 // Step 3: Find the relevant JSON block within the responseCOMMENT
LOWsrc/lib/apis/index.ts880 // Step 4: Check if we found a valid JSON block (with both `{` and `}`)COMMENT
LOWsrc/lib/apis/index.ts884 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts887 // Step 6: If there's a "tags" key, return the tags array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts993 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts1003 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts1006 // Step 6: If there's a "queries" key, return the queries array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts1076 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts1079 // Step 6: If there's a "queries" key, return the queries array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/components/notes/NoteEditor.svelte385 // Step 1: Safely extract the response stringCOMMENT
Structural Annotation Overuse22 hits · 41 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/retrieval/loaders/mineru.py187 # Step 1: Request presigned upload URLCOMMENT
LOWbackend/open_webui/retrieval/loaders/mineru.py190 # Step 2: Upload file to presigned URLCOMMENT
LOWbackend/open_webui/retrieval/loaders/mineru.py193 # Step 3: Poll for resultsCOMMENT
LOWbackend/open_webui/retrieval/loaders/mineru.py196 # Step 4: Download and extract markdown from ZIPCOMMENT
LOWsrc/lib/apis/index.ts798 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts801 // Step 2: Attempt to fix common JSON format issues like single quotesCOMMENT
LOWsrc/lib/apis/index.ts804 // Step 3: Find the relevant JSON block within the responseCOMMENT
LOWsrc/lib/apis/index.ts808 // Step 4: Check if we found a valid JSON block (with both `{` and `}`)COMMENT
LOWsrc/lib/apis/index.ts812 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts815 // Step 6: If there's a "tags" key, return the tags array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts870 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts873 // Step 2: Attempt to fix common JSON format issues like single quotesCOMMENT
LOWsrc/lib/apis/index.ts876 // Step 3: Find the relevant JSON block within the responseCOMMENT
LOWsrc/lib/apis/index.ts880 // Step 4: Check if we found a valid JSON block (with both `{` and `}`)COMMENT
LOWsrc/lib/apis/index.ts884 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts887 // Step 6: If there's a "tags" key, return the tags array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts993 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts1003 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts1006 // Step 6: If there's a "queries" key, return the queries array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts1076 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts1079 // Step 6: If there's a "queries" key, return the queries array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/components/notes/NoteEditor.svelte385 // Step 1: Safely extract the response stringCOMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALbackend/open_webui/storage/provider.py9from azure.core.exceptions import ResourceNotFoundErrorCODE
CRITICALbackend/open_webui/retrieval/vector/dbs/weaviate.py129 vector_config=weaviate.classes.config.Configure.Vectors.self_provided(),CODE
Over-Commented Block19 hits · 18 pts
SeverityFileLineSnippetContext
LOWbackend/start.sh1#!/usr/bin/env bashCOMMENT
LOWbackend/open_webui/env.py1001# names, logos, manifests, metadata, and surrounding UI.COMMENT
LOWbackend/open_webui/alembic.ini1# A generic, single database configuration.COMMENT
LOWbackend/open_webui/alembic.ini21# timezone =COMMENT
LOWbackend/open_webui/alembic.ini41COMMENT
LOWbackend/open_webui/alembic.ini61# sqlalchemy.url = REPLACE_WITH_DATABASE_URLCOMMENT
LOWbackend/open_webui/main.py541COMMENT
LOWbackend/open_webui/main.py561# TERMINAL SERVERCOMMENT
LOWbackend/open_webui/main.py581app.state.SCIM_TOKEN = SCIM_TOKENCOMMENT
LOWbackend/open_webui/main.py741# IMAGESCOMMENT
LOWbackend/open_webui/routers/evaluations.py41# Leaderboard Elo Rating ComputationCOMMENT
LOWbackend/open_webui/routers/openai.py61log = logging.getLogger(__name__)COMMENT
LOWbackend/open_webui/internal/db.py41COMMENT
LOWscripts/generate-sbom.sh1#!/usr/bin/env bashCOMMENT
LOWsrc/lib/apis/ollama/index.ts521// },COMMENT
LOWsrc/lib/components/chat/MessageInput.svelte681 let recording = false;COMMENT
LOW…/lib/components/common/RichTextInput/AutoCompletion.js141 if ($head.parent.type.name !== 'paragraph') return false;COMMENT
LOW…/lib/components/common/RichTextInput/AutoCompletion.js241 // mouseup: (view, event) => {COMMENT
LOWsrc/routes/+layout.js1// if you want to generate a static html fileCOMMENT
AI Structural Patterns21 hits · 14 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/routers/models.py136CODE
LOWbackend/open_webui/routers/evaluations.py405CODE
LOWbackend/open_webui/routers/notes.py149CODE
LOWbackend/open_webui/routers/prompts.py72CODE
LOWbackend/open_webui/routers/analytics.py126CODE
LOWbackend/open_webui/routers/analytics.py286CODE
LOWbackend/open_webui/routers/knowledge.py204CODE
LOWbackend/open_webui/routers/knowledge.py1334CODE
LOWbackend/open_webui/routers/ollama.py94CODE
LOWbackend/open_webui/tools/builtin.py1660CODE
LOWbackend/open_webui/tools/builtin.py2727CODE
LOWbackend/open_webui/tools/builtin.py4204CODE
LOWbackend/open_webui/tools/builtin.py4331CODE
LOWbackend/open_webui/utils/response.py227CODE
LOWbackend/open_webui/utils/oauth.py1314CODE
LOWbackend/open_webui/models/chats.py1521CODE
LOWbackend/open_webui/retrieval/utils.py634CODE
LOWbackend/open_webui/retrieval/utils.py809CODE
LOWbackend/open_webui/retrieval/web/utils.py394CODE
LOWbackend/open_webui/retrieval/web/utils.py663CODE
LOWbackend/open_webui/retrieval/loaders/datalab_marker.py16CODE
AI Slop Vocabulary5 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMpackage-lock.json12725 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",CODE
MEDIUMbackend/open_webui/utils/oauth.py941 # TODO: Replace this logic with a more robust OAuth client registration validationCOMMENT
LOWbackend/open_webui/utils/mcp/client.py170 # We simply call aclose() directly. If the task is cancelled, theCOMMENT
MEDIUMsrc/lib/components/common/Textarea.svelte40 // and it makes the fix 100% robust without relying on hardcoded CSS classes.COMMENT
MEDIUMsrc/lib/components/common/DropdownSub.svelte83 // Vertical positioning with robust bounds clamping (shift method)COMMENT
Modern Structural Boilerplate10 hits · 10 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/main.py1074async def _set_direct_model(request: Request, model_item: dict, user) -> None:STRING
LOWbackend/open_webui/routers/knowledge.py615async def _set_external_connections(connections: list[dict]) -> None:CODE
LOWbackend/open_webui/utils/code_interpreter.py12logger = logging.getLogger(__name__)CODE
LOWbackend/open_webui/utils/asgi_middleware.py126 def _set_token(self, request: Request) -> None:CODE
LOWbackend/open_webui/utils/automations.py338async def _set_terminal_cwd(app, server_id: str, user, cwd: str, chat_id: str) -> None:CODE
LOWbackend/open_webui/utils/timers.py416async def _set_timer_state(timer_id: str, status: str, **fields) -> None:CODE
LOWbackend/open_webui/utils/telemetry/metrics.py53logger = logging.getLogger(__name__)CODE
LOWbackend/open_webui/utils/telemetry/instrumentors.py31logger = logging.getLogger(__name__)CODE
LOWbackend/open_webui/models/users.py671 async def update_last_active_by_id(self, id: str, db: AsyncSession | None = None) -> None:CODE
LOWbackend/open_webui/models/chats.py847 async def update_chat_tags_by_id(self, id: str, tags: list[str], user) -> None:CODE
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHbackend/open_webui/retrieval/vector/dbs/oracle23ai.py377 Handle Decimal objects for JSON serialization. Args: obj: Object to serialize RetSTRING
Cross-Language Confusion (JS/TS)1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHsrc/lib/workers/pyodide.worker.ts217 print(f"data:image/png;base64,{img_str}")CODE
Fake / Example Data3 hits · 3 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/utils/chat_variables.py109 'placeholder',CODE
LOWbackend/open_webui/models/auths.py23PLACEHOLDER_HASH = bcrypt.hashpw(b'placeholder', bcrypt.gensalt()).decode('utf-8')CODE
LOWbackend/open_webui/retrieval/loaders/main.py264 'image_export_mode': 'placeholder',CODE
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/generate-sbom.sh13# Usage:COMMENT
LOWsrc/lib/components/common/RichTextInput.svelte763 // Usage exampleCOMMENT
Slop Phrases2 hits · 2 pts
SeverityFileLineSnippetContext
LOWsrc/lib/components/workspace/Tools/ToolkitEditor.svelte63 # Add your custom tools using pure Python code here, make sure to add type hints and descriptionsCOMMENT
MEDIUM…c/lib/components/admin/Functions/FunctionEditor.svelte273 # This is where you can add your custom pipelines like RAG.STRING