Repository Analysis

open-webui/open-webui

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

6.3 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 145,339 GitHub stars. SynthScan v2.0 examined 444,044 lines of code across 985 source files, recording 2502 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 6.3 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).

6.3
Adjusted Score
6.3
Raw Score
100%
Time Factor
2026-07-14
Last Push
145.3K
Stars
Python
Language
444.0K
Lines of Code
985
Files
2.5K
Pattern Hits
2026-07-14
Scan Date
0.02
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 226LOW 2261

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 2502 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 Wrapping982 hits · 903 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.py291def stream_content():CODE
LOWbackend/open_webui/functions.py62 except Exception as e:CODE
LOWbackend/open_webui/functions.py96 except Exception as e:CODE
LOWbackend/open_webui/functions.py140 except Exception as e:CODE
LOWbackend/open_webui/functions.py171 except Exception:CODE
LOWbackend/open_webui/functions.py200 except Exception as e:CODE
LOWbackend/open_webui/functions.py249 except Exception as e:CODE
LOWbackend/open_webui/functions.py304 except Exception as e:CODE
LOWbackend/open_webui/functions.py331 except Exception as e:CODE
LOWbackend/open_webui/tasks.py40 except Exception as e:CODE
LOWbackend/open_webui/config.py103 except Exception as e:CODE
LOWbackend/open_webui/config.py105except Exception as e:CODE
LOWbackend/open_webui/config.py114 except Exception as e:CODE
LOWbackend/open_webui/config.py122 except Exception as e:CODE
LOWbackend/open_webui/config.py130 except Exception as e:CODE
LOWbackend/open_webui/config.py138 except Exception as e:CODE
LOWbackend/open_webui/config.py538 except Exception:CODE
LOWbackend/open_webui/config.py548 except Exception:CODE
LOWbackend/open_webui/config.py558 except Exception:CODE
LOWbackend/open_webui/config.py568 except Exception:CODE
LOWbackend/open_webui/config.py667 except Exception:CODE
LOWbackend/open_webui/config.py677 except Exception:CODE
LOWbackend/open_webui/config.py687 except Exception:CODE
LOWbackend/open_webui/config.py697 except Exception:CODE
LOWbackend/open_webui/config.py711 except Exception:CODE
LOWbackend/open_webui/config.py721 except Exception:CODE
LOWbackend/open_webui/config.py731 except Exception:CODE
LOWbackend/open_webui/config.py744 except Exception:CODE
LOWbackend/open_webui/config.py754 except Exception:CODE
LOWbackend/open_webui/config.py764 except Exception:CODE
LOWbackend/open_webui/config.py774 except Exception:CODE
LOWbackend/open_webui/config.py74 except Exception as e:CODE
LOWbackend/open_webui/config.py212 except Exception as e:CODE
LOWbackend/open_webui/config.py355except Exception:CODE
LOWbackend/open_webui/config.py373except Exception as e:CODE
LOWbackend/open_webui/config.py392except Exception:CODE
LOWbackend/open_webui/config.py582 except Exception:CODE
LOWbackend/open_webui/config.py1145except Exception as e:STRING
LOWbackend/open_webui/config.py1631except Exception as e:STRING
LOWbackend/open_webui/config.py1671except Exception as e:STRING
LOWbackend/open_webui/config.py1679except Exception as e:STRING
LOWbackend/open_webui/config.py2007except Exception as e:STRING
LOWbackend/open_webui/config.py2106except 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.py141 except Exception:CODE
LOWbackend/open_webui/env.py177except Exception:CODE
LOWbackend/open_webui/env.py354 except Exception:CODE
LOWbackend/open_webui/env.py422 except Exception:CODE
LOWbackend/open_webui/env.py454 except Exception:CODE
LOWbackend/open_webui/env.py610 except Exception:CODE
LOWbackend/open_webui/env.py660 except Exception:CODE
LOWbackend/open_webui/env.py742except Exception as e:CODE
LOWbackend/open_webui/env.py925 except Exception:STRING
LOWbackend/open_webui/env.py954 except Exception:STRING
LOWbackend/open_webui/env.py970 except Exception:STRING
LOWbackend/open_webui/env.py992 except Exception:STRING
922 more matches not shown…
Hyper-Verbose Identifiers489 hits · 456 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/functions.py52async def get_function_module_by_id(request: Request, pipe_id: str):CODE
LOWbackend/open_webui/functions.py147async def generate_function_chat_completion(request, form_data, user, models: dict = {}):CODE
LOWbackend/open_webui/tasks.py25async def redis_task_command_listener(app):CODE
LOWbackend/open_webui/config.py82async def import_legacy_config_json():CODE
LOWbackend/open_webui/env.py515def _build_ssl_context_from_file(path: str) -> '_ssl.SSLContext | None':CODE
LOWbackend/open_webui/events.py810async def migrate_legacy_webhook_config() -> list[dict[str, Any]]:CODE
LOWbackend/open_webui/events.py1015def schedule_webhook_dispatch(app: Any, event: Event) -> None:CODE
LOWbackend/open_webui/events.py1072def schedule_event_function_dispatch(app: Any, event: Event, request: Any | None = None) -> None:CODE
LOWbackend/open_webui/events.py1118async def publish_model_provider_request_failed(CODE
LOWbackend/open_webui/main.py1783async def list_tasks_by_chat_id_endpoint(request: Request, chat_id: str, user=Depends(get_verified_user)):CODE
LOWbackend/open_webui/main.py1801async def stop_tasks_by_chat_id_endpoint(request: Request, chat_id: str, user=Depends(get_verified_user)):CODE
LOWbackend/open_webui/main.py2167async def get_app_latest_release_version(user=Depends(get_verified_user)):CODE
LOWbackend/open_webui/main.py534async def initialize_runtime_config(app: FastAPI):STRING
LOWbackend/open_webui/main.py860def strip_provider_model_prefix(model_id: str, prefix_id: str | None) -> str:STRING
LOWbackend/open_webui/main.py1329 async def run_initial_title_generation():STRING
LOWbackend/open_webui/routers/functions.py434async def get_function_valves_by_id(CODE
LOWbackend/open_webui/routers/functions.py460async def get_function_valves_spec_by_id(CODE
LOWbackend/open_webui/routers/functions.py490async def update_function_valves_by_id(CODE
LOWbackend/open_webui/routers/functions.py542async def get_function_user_valves_by_id(CODE
LOWbackend/open_webui/routers/functions.py563async def get_function_user_valves_spec_by_id(CODE
LOWbackend/open_webui/routers/functions.py588async def update_function_user_valves_by_id(CODE
LOWbackend/open_webui/routers/files.py646async def get_file_data_content_by_id(CODE
LOWbackend/open_webui/routers/files.py676async def update_file_data_content_by_id(CODE
LOWbackend/open_webui/routers/files.py816async def get_html_file_content_by_id(CODE
LOWbackend/open_webui/routers/terminals.py203async def _resolve_authenticated_connection(ws: WebSocket, server_id: str):CODE
LOWbackend/open_webui/routers/configs.py314async def get_terminal_servers_config(request: Request, user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/configs.py319async def set_terminal_servers_config(CODE
LOWbackend/open_webui/routers/configs.py341async def verify_terminal_server_connection(CODE
LOWbackend/open_webui/routers/configs.py416async def put_terminal_server_policy(CODE
LOWbackend/open_webui/routers/configs.py451async def put_terminal_server_lifecycle(CODE
LOWbackend/open_webui/routers/configs.py489async def refresh_terminal_server_terminals(CODE
LOWbackend/open_webui/routers/configs.py536async def verify_tool_servers_config(request: Request, form_data: ToolServerConnection, user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/configs.py689async def get_code_execution_config(request: Request, user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/configs.py694async def set_code_execution_config(CODE
LOWbackend/open_webui/routers/models.py51def _safe_static_redirect_path(url: str) -> str | None:CODE
LOWbackend/open_webui/routers/models.py86async def _verify_knowledge_file_access(CODE
LOWbackend/open_webui/routers/models.py756async def update_model_access_by_id(CODE
LOWbackend/open_webui/routers/skills.py354async def update_skill_access_by_id(CODE
LOWbackend/open_webui/routers/users.py263async def get_default_user_permissions(request: Request, user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/users.py276async def update_default_user_permissions(request: Request, form_data: UserPermissions, user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/users.py290async def get_default_user_permissions_defaults(user=Depends(get_admin_user)):CODE
LOWbackend/open_webui/routers/users.py309async def get_user_settings_by_session_user(CODE
LOWbackend/open_webui/routers/users.py322async def update_user_settings_by_session_user(CODE
LOWbackend/open_webui/routers/users.py373async def get_user_status_by_session_user(CODE
LOWbackend/open_webui/routers/users.py393async def update_user_status_by_session_user(CODE
LOWbackend/open_webui/routers/users.py426async def get_user_info_by_session_user(user=Depends(get_verified_user), db: AsyncSession = Depends(get_async_session)):CODE
LOWbackend/open_webui/routers/users.py437async def update_user_info_by_session_user( # PATCH-style mergeCODE
LOWbackend/open_webui/routers/users.py514async def get_user_oauth_sessions_by_id(CODE
LOWbackend/open_webui/routers/users.py533async def get_user_profile_image_by_id(user_id: str, user=Depends(get_verified_user)):CODE
LOWbackend/open_webui/routers/users.py580async def get_user_active_status_by_id(CODE
LOWbackend/open_webui/routers/tools.py728async def get_tools_valves_spec_by_id(CODE
LOWbackend/open_webui/routers/tools.py774async def update_tools_valves_by_id(CODE
LOWbackend/open_webui/routers/tools.py839async def get_tools_user_valves_by_id(CODE
LOWbackend/open_webui/routers/tools.py876async def get_tools_user_valves_spec_by_id(CODE
LOWbackend/open_webui/routers/tools.py917async def update_tools_user_valves_by_id(CODE
LOWbackend/open_webui/routers/prompts.py442async def update_prompt_access_by_id(CODE
LOWbackend/open_webui/routers/prompts.py682async def delete_prompt_history_entry(CODE
LOWbackend/open_webui/routers/auths.py984async def delete_oauth_session_by_provider(CODE
LOWbackend/open_webui/routers/auths.py1340def _parse_oauth_update_value(field: str, value):CODE
LOWbackend/open_webui/routers/auths.py1376async def _check_api_key_permission(request: Request, user, db: AsyncSession):CODE
429 more matches not shown…
Decorative Section Separators147 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.py44### ------------------------------COMMENT
MEDIUMbackend/open_webui/tasks.py46### ------------------------------COMMENT
MEDIUMbackend/open_webui/routers/terminals.py198# ---------------------------------------------------------------------------COMMENT
MEDIUMbackend/open_webui/routers/terminals.py200# ---------------------------------------------------------------------------COMMENT
MEDIUMbackend/open_webui/tools/builtin.py212# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py214# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py288# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py290# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py426# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py428# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py3017# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py3019# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py3347# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py3349# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py79# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py81# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/builtin.py593# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py595# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py920# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py922# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1198# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1200# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1351# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1353# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1634# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py1636# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py2812# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py2814# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py2872# =============================================================================STRING
MEDIUMbackend/open_webui/tools/builtin.py2874# =============================================================================STRING
MEDIUMbackend/open_webui/tools/knowledge_fs.py30# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/knowledge_fs.py32# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/knowledge_fs.py72# =============================================================================COMMENT
MEDIUMbackend/open_webui/tools/knowledge_fs.py74# =============================================================================COMMENT
87 more matches not shown…
Unused Imports349 hits · 286 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/functions.py8CODE
LOWbackend/open_webui/functions.py8CODE
LOWbackend/open_webui/functions.py8CODE
LOWbackend/open_webui/functions.py8CODE
LOWbackend/open_webui/functions.py8CODE
LOWbackend/open_webui/functions.py8CODE
LOWbackend/open_webui/functions.py8CODE
LOWbackend/open_webui/functions.py19CODE
LOWbackend/open_webui/functions.py22CODE
LOWbackend/open_webui/functions.py32CODE
LOWbackend/open_webui/functions.py32CODE
LOWbackend/open_webui/functions.py32CODE
LOWbackend/open_webui/functions.py43CODE
LOWbackend/open_webui/tasks.py8CODE
LOWbackend/open_webui/config.py1CODE
LOWbackend/open_webui/config.py3CODE
LOWbackend/open_webui/config.py10CODE
LOWbackend/open_webui/config.py12CODE
LOWbackend/open_webui/config.py12CODE
LOWbackend/open_webui/config.py15CODE
LOWbackend/open_webui/config.py20CODE
LOWbackend/open_webui/config.py20CODE
LOWbackend/open_webui/config.py20CODE
LOWbackend/open_webui/config.py20CODE
LOWbackend/open_webui/events.py1CODE
LOWbackend/open_webui/constants.py1CODE
LOWbackend/open_webui/__init__.py73CODE
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.py32CODE
LOWbackend/open_webui/routers/files.py40CODE
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.py6CODE
LOWbackend/open_webui/routers/models.py9CODE
LOWbackend/open_webui/routers/models.py29CODE
LOWbackend/open_webui/routers/skills.py22CODE
LOWbackend/open_webui/routers/users.py1CODE
LOWbackend/open_webui/routers/users.py6CODE
LOWbackend/open_webui/routers/users.py7CODE
LOWbackend/open_webui/routers/users.py19CODE
LOWbackend/open_webui/routers/tools.py1CODE
LOWbackend/open_webui/routers/tools.py6CODE
LOWbackend/open_webui/routers/tools.py7CODE
LOWbackend/open_webui/routers/tools.py19CODE
LOWbackend/open_webui/routers/groups.py2CODE
LOWbackend/open_webui/routers/groups.py3CODE
LOWbackend/open_webui/routers/groups.py7CODE
289 more matches not shown…
Deep Nesting282 hits · 204 pts
SeverityFileLineSnippetContext
LOWcontribution_stats.py42CODE
LOWbackend/open_webui/functions.py71CODE
LOWbackend/open_webui/main.py534CODE
LOWbackend/open_webui/main.py867CODE
LOWbackend/open_webui/main.py1009CODE
LOWbackend/open_webui/main.py2249CODE
LOWbackend/open_webui/main.py1473CODE
LOWbackend/open_webui/routers/functions.py154CODE
LOWbackend/open_webui/routers/files.py111CODE
LOWbackend/open_webui/routers/files.py582CODE
LOWbackend/open_webui/routers/files.py676CODE
LOWbackend/open_webui/routers/files.py753CODE
LOWbackend/open_webui/routers/files.py971CODE
LOWbackend/open_webui/routers/files.py120CODE
LOWbackend/open_webui/routers/files.py600CODE
LOWbackend/open_webui/routers/terminals.py86CODE
LOWbackend/open_webui/routers/terminals.py257CODE
LOWbackend/open_webui/routers/terminals.py326CODE
LOWbackend/open_webui/routers/terminals.py340CODE
LOWbackend/open_webui/routers/configs.py231CODE
LOWbackend/open_webui/routers/configs.py536CODE
LOWbackend/open_webui/routers/models.py335CODE
LOWbackend/open_webui/routers/models.py553CODE
LOWbackend/open_webui/routers/users.py533CODE
LOWbackend/open_webui/routers/users.py594CODE
LOWbackend/open_webui/routers/tools.py67CODE
LOWbackend/open_webui/routers/auths.py405CODE
LOWbackend/open_webui/routers/auths.py654CODE
LOWbackend/open_webui/routers/auths.py878CODE
LOWbackend/open_webui/routers/calendar.py144CODE
LOWbackend/open_webui/routers/openai.py152CODE
LOWbackend/open_webui/routers/openai.py358CODE
LOWbackend/open_webui/routers/openai.py431CODE
LOWbackend/open_webui/routers/openai.py549CODE
LOWbackend/open_webui/routers/openai.py629CODE
LOWbackend/open_webui/routers/openai.py719CODE
LOWbackend/open_webui/routers/openai.py928CODE
LOWbackend/open_webui/routers/openai.py1070CODE
LOWbackend/open_webui/routers/openai.py1105CODE
LOWbackend/open_webui/routers/openai.py1355CODE
LOWbackend/open_webui/routers/openai.py1482CODE
LOWbackend/open_webui/routers/openai.py1591CODE
LOWbackend/open_webui/routers/openai.py580CODE
LOWbackend/open_webui/routers/scim.py48CODE
LOWbackend/open_webui/routers/scim.py649CODE
LOWbackend/open_webui/routers/scim.py717CODE
LOWbackend/open_webui/routers/scim.py1015CODE
LOWbackend/open_webui/routers/retrieval.py162CODE
LOWbackend/open_webui/routers/retrieval.py1594CODE
LOWbackend/open_webui/routers/retrieval.py1810CODE
LOWbackend/open_webui/routers/retrieval.py2168CODE
LOWbackend/open_webui/routers/retrieval.py2516CODE
LOWbackend/open_webui/routers/retrieval.py2909CODE
LOWbackend/open_webui/routers/images.py201CODE
LOWbackend/open_webui/routers/images.py366CODE
LOWbackend/open_webui/routers/images.py591CODE
LOWbackend/open_webui/routers/images.py885CODE
LOWbackend/open_webui/routers/chats.py172CODE
LOWbackend/open_webui/routers/chats.py291CODE
LOWbackend/open_webui/routers/chats.py436CODE
222 more matches not shown…
Redundant / Tautological Comments88 hits · 137 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/functions.py83 # Check if function is a manifoldCOMMENT
LOWbackend/open_webui/functions.py213 # Check if tool_ids is NoneCOMMENT
LOWbackend/open_webui/config.py2061 # Check if the scheme is either http or https, or a custom schemeSTRING
LOWbackend/open_webui/env.py222 # Check if the data directory exists in the package directoryCOMMENT
LOWbackend/open_webui/env.py253# Check if the file existsCOMMENT
LOWbackend/open_webui/main.py1031 # Check if user has access to the modelSTRING
LOWbackend/open_webui/routers/files.py772 # Check if the file already exists in the cacheCOMMENT
LOWbackend/open_webui/routers/files.py839 # Check if the file already exists in the cacheCOMMENT
LOWbackend/open_webui/routers/files.py888 # Check if the file already exists in the cacheCOMMENT
LOWbackend/open_webui/routers/tasks.py151 # Check if the user has a custom task modelCOMMENT
LOWbackend/open_webui/routers/tasks.py230 # Check if the user has a custom task modelCOMMENT
LOWbackend/open_webui/routers/tasks.py300 # Check if the user has a custom task modelCOMMENT
LOWbackend/open_webui/routers/tasks.py364 # Check if the user has a custom task modelCOMMENT
LOWbackend/open_webui/routers/tasks.py446 # Check if the user has a custom task modelCOMMENT
LOWbackend/open_webui/routers/tasks.py527 # Check if the user has a custom task modelCOMMENT
LOWbackend/open_webui/routers/tasks.py591 # Check if the user has a custom task modelCOMMENT
LOWbackend/open_webui/routers/auths.py1169 # Check if the input string matches the patternCOMMENT
LOWbackend/open_webui/routers/auths.py1472 # Check if provider is configuredCOMMENT
LOWbackend/open_webui/routers/openai.py378 # Check if the file already exists in the cacheCOMMENT
LOWbackend/open_webui/routers/openai.py1154 # Check if model is already in app state cache to avoid expensive get_all_models() callCOMMENT
LOWbackend/open_webui/routers/openai.py1184 # Check if model is a reasoning model that needs special handlingCOMMENT
LOWbackend/open_webui/routers/openai.py1268 # Check if response is SSECOMMENT
LOWbackend/open_webui/routers/openai.py1372 # Check if model is already in app state cache to avoid expensive get_all_models() callCOMMENT
LOWbackend/open_webui/routers/openai.py1545 # Check if response is SSECOMMENT
LOWbackend/open_webui/routers/openai.py1666 # Check if response is SSECOMMENT
LOWbackend/open_webui/routers/scim.py259 # Check if SCIM is enabledCOMMENT
LOWbackend/open_webui/routers/retrieval.py2912 # Check if the directory existsCOMMENT
LOWbackend/open_webui/routers/retrieval.py1623 # Check if entries with the same hash (metadata.hash) already existCOMMENT
LOWbackend/open_webui/routers/retrieval.py1633 # Check if the existing document belongs to the same fileCOMMENT
LOWbackend/open_webui/routers/retrieval.py1863 # Check if the file has already been processed and save the contentCOMMENT
LOWbackend/open_webui/routers/chats.py481 # Check if the user has permission to share/export chatsCOMMENT
LOWbackend/open_webui/routers/chats.py530 # Check if the user has permission to share/export chatsCOMMENT
LOWbackend/open_webui/routers/chats.py1173 # Check if user has access via access grants (shared_chat grants)COMMENT
LOWbackend/open_webui/routers/channels.py1804 # Check if it's url or base64COMMENT
LOWbackend/open_webui/routers/folders.py122 # Check if creating a subfolder in a shared folderCOMMENT
LOWbackend/open_webui/routers/folders.py281 # Check if folder with same name existsCOMMENT
LOWbackend/open_webui/routers/folders.py537 # Check if it's a shared subfolder with write accessCOMMENT
LOWbackend/open_webui/routers/pipelines.py227 # Check if the uploaded file is a python fileCOMMENT
LOWbackend/open_webui/tools/builtin.py1519 # Check if user has access to the channelSTRING
LOWbackend/open_webui/utils/misc.py1133 # Check if buffer exceeds limitCOMMENT
LOWbackend/open_webui/utils/files.py201 # 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.py1293 # Check if URL ends with .yaml or .yml to determine formatCOMMENT
LOWbackend/open_webui/utils/payload.py229 # Check if the content is a string (just a simple message)COMMENT
LOWbackend/open_webui/utils/payload.py261 # Iterate through the list of content itemsCOMMENT
LOWbackend/open_webui/utils/payload.py263 # Check if it's a text typeCOMMENT
LOWbackend/open_webui/utils/payload.py267 # Check if it's an image URL typeCOMMENT
LOWbackend/open_webui/utils/chat.py199 # Check if user has access to the modelCOMMENT
LOWbackend/open_webui/utils/rate_limit.py110 # Increment bucketCOMMENT
LOWbackend/open_webui/utils/filter.py81 # Check if the function has a file_handler variableCOMMENT
LOWbackend/open_webui/utils/middleware.py1362 # Check if generated queries are emptyCOMMENT
LOWbackend/open_webui/utils/middleware.py1366 # Check if queries are not foundCOMMENT
LOWbackend/open_webui/utils/middleware.py2780 # Check if file context extraction is enabled for this model (default True)COMMENT
LOWbackend/open_webui/utils/middleware.py4618 # Check if citations are enabled for this modelCOMMENT
LOWbackend/open_webui/utils/middleware.py1768 # Check if all files are in full context modeCOMMENT
LOWbackend/open_webui/utils/middleware.py2343 # Check if the request has chat_id and is inside of a folderCOMMENT
LOWbackend/open_webui/utils/middleware.py4229 # Check if the tool call already existsCOMMENT
LOWbackend/open_webui/utils/middleware.py4402 # Check if we're inside a tag-based blockCOMMENT
LOWbackend/open_webui/utils/oauth.py1826 # Check if the user existsCOMMENT
LOWbackend/open_webui/utils/oauth.py1831 # Check if the user exists by emailCOMMENT
28 more matches not shown…
Modern AI Meta-Vocabulary26 hits · 88 pts
SeverityFileLineSnippetContext
MEDIUMbackend/open_webui/config.py514# 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.py824# Information Retrieval (RAG)COMMENT
MEDIUMbackend/open_webui/config.py853# RAG Content ExtractionCOMMENT
MEDIUMbackend/open_webui/routers/files.py712 # collection and RAG returns both stale and current data (#20558).COMMENT
MEDIUMbackend/open_webui/routers/retrieval.py134# not into hallucination, but deliver us from noise.COMMENT
MEDIUMbackend/open_webui/routers/retrieval.py502 # unloads current internal embedding model and clears VRAM cacheCOMMENT
MEDIUMbackend/open_webui/routers/retrieval.py616 # RAG settingsCOMMENT
MEDIUMbackend/open_webui/routers/retrieval.py843 # RAG settingsCOMMENT
MEDIUMbackend/open_webui/routers/retrieval.py931 # RAG settingsCOMMENT
MEDIUMbackend/open_webui/routers/retrieval.py1317 # RAG settingsCOMMENT
MEDIUMbackend/open_webui/routers/memories.py298 # same RELEVANCE_THRESHOLD used by RAG ensures only genuinely matchingCOMMENT
MEDIUMbackend/open_webui/routers/channels.py1103 # tools, filters, RAG — everything. The pipeline runs asCOMMENT
MEDIUMbackend/open_webui/routers/folders.py292 # Folder files are consumed by chat middleware as RAG context.COMMENT
MEDIUMbackend/open_webui/utils/headers.py68 # UA from the live request; fall back to metadata for detached RAG/tool calls.COMMENT
MEDIUMbackend/open_webui/utils/middleware.py2790 # Save the pre-RAG message state so the native tool call loop canCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py2792 # than a snapshot that already has the RAG template baked in.COMMENT
MEDIUMbackend/open_webui/utils/middleware.py4623 # Use the pre-RAG system content captured before theCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py4625 # This ensures restore truly undoes the RAG template.COMMENT
MEDIUMbackend/open_webui/utils/middleware.py4854 # Restoring to pre-RAG original prevents duplicatingCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py4855 # the RAG template across file and tool sources.COMMENT
MEDIUMbackend/open_webui/utils/middleware.py4858 # Restore pre-RAG message state before re-applyingCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py4859 # to prevent RAG template duplication.COMMENT
MEDIUMbackend/open_webui/utils/middleware.py2369 # Native FC: skip RAG injection, builtin toolsCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py2457 # Skip forced RAG web search when native FC is enabled - model can use web_search toolCOMMENT
MEDIUMbackend/open_webui/retrieval/utils.py1087 # 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
Self-Referential Comments24 hits · 58 pts
SeverityFileLineSnippetContext
MEDIUMbackend/open_webui/tasks.py109 task = asyncio.create_task(coroutine) # Create the taskCODE
MEDIUMbackend/open_webui/main.py359 # Creating a mock request object to pass to get_all_modelsSTRING
MEDIUMbackend/open_webui/routers/files.py901 # Create a generator that encodes the file contentCOMMENT
MEDIUMbackend/open_webui/routers/retrieval.py2638 # Create a single collection for all documentsCOMMENT
MEDIUMbackend/open_webui/routers/chats.py1718 # Create a new shareCOMMENT
MEDIUMbackend/open_webui/internal/db.py249 # Create a custom creator function that uses sqlcipher3COMMENT
MEDIUMbackend/open_webui/utils/misc.py663 # Create a SHA256 hash of the final stringCOMMENT
MEDIUMbackend/open_webui/utils/misc.py685 # Create a new SHA-256 hash objectCOMMENT
MEDIUMbackend/open_webui/utils/chat.py122 # Define a background task to run the event generatorCOMMENT
MEDIUMbackend/open_webui/utils/chat.py102 # Define a generator to stream responsesCOMMENT
MEDIUMbackend/open_webui/utils/plugin.py226 # Create a temporary file and use it to define `__file__` soCOMMENT
MEDIUMbackend/open_webui/utils/plugin.py271 # Create a temporary file and use it to define `__file__` soCOMMENT
MEDIUMbackend/open_webui/utils/middleware.py3632 task_id = str(uuid4()) # Create a unique task ID.CODE
MEDIUMbackend/open_webui/models/functions.py204 # Create a dict for O(1) lookupCOMMENT
MEDIUMbackend/open_webui/retrieval/utils.py590 # Create the output dictionaryCOMMENT
MEDIUMbackend/open_webui/retrieval/vector/dbs/pinecone.py414 # 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.py89 # Create the appropriate connection pool based on DB typeCOMMENT
MEDIUMbackend/open_webui/socket/main.py214 # Creating a list of sids to remove if they have timed outCOMMENT
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
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
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.ts790 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts793 // Step 2: Attempt to fix common JSON format issues like single quotesCOMMENT
LOWsrc/lib/apis/index.ts796 // Step 3: Find the relevant JSON block within the responseCOMMENT
LOWsrc/lib/apis/index.ts800 // Step 4: Check if we found a valid JSON block (with both `{` and `}`)COMMENT
LOWsrc/lib/apis/index.ts804 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts807 // Step 6: If there's a "tags" key, return the tags array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts862 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts865 // Step 2: Attempt to fix common JSON format issues like single quotesCOMMENT
LOWsrc/lib/apis/index.ts868 // Step 3: Find the relevant JSON block within the responseCOMMENT
LOWsrc/lib/apis/index.ts872 // Step 4: Check if we found a valid JSON block (with both `{` and `}`)COMMENT
LOWsrc/lib/apis/index.ts876 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts879 // Step 6: If there's a "tags" key, return the tags array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts985 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts995 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts998 // Step 6: If there's a "queries" key, return the queries array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts1068 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts1071 // Step 6: If there's a "queries" key, return the queries array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/components/notes/NoteEditor.svelte302 // 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.ts790 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts793 // Step 2: Attempt to fix common JSON format issues like single quotesCOMMENT
LOWsrc/lib/apis/index.ts796 // Step 3: Find the relevant JSON block within the responseCOMMENT
LOWsrc/lib/apis/index.ts800 // Step 4: Check if we found a valid JSON block (with both `{` and `}`)COMMENT
LOWsrc/lib/apis/index.ts804 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts807 // Step 6: If there's a "tags" key, return the tags array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts862 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts865 // Step 2: Attempt to fix common JSON format issues like single quotesCOMMENT
LOWsrc/lib/apis/index.ts868 // Step 3: Find the relevant JSON block within the responseCOMMENT
LOWsrc/lib/apis/index.ts872 // Step 4: Check if we found a valid JSON block (with both `{` and `}`)COMMENT
LOWsrc/lib/apis/index.ts876 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts879 // Step 6: If there's a "tags" key, return the tags array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts985 // Step 1: Safely extract the response stringCOMMENT
LOWsrc/lib/apis/index.ts995 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts998 // Step 6: If there's a "queries" key, return the queries array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/apis/index.ts1068 // Step 5: Parse the JSON blockCOMMENT
LOWsrc/lib/apis/index.ts1071 // Step 6: If there's a "queries" key, return the queries array; otherwise, return an empty arrayCOMMENT
LOWsrc/lib/components/notes/NoteEditor.svelte302 // Step 1: Safely extract the response stringCOMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALbackend/open_webui/storage/provider.py10from azure.core.exceptions import ResourceNotFoundErrorCODE
CRITICALbackend/open_webui/retrieval/vector/dbs/weaviate.py115 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.py781COMMENT
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.py481#COMMENT
LOWbackend/open_webui/main.py501app.state.TERMINAL_SERVERS = []COMMENT
LOWbackend/open_webui/main.py661#COMMENT
LOWbackend/open_webui/main.py681app.state.speech_speaker_embeddings_dataset = NoneCOMMENT
LOWbackend/open_webui/main.py1541 passCOMMENT
LOWbackend/open_webui/routers/evaluations.py41# Leaderboard Elo Rating ComputationCOMMENT
LOWbackend/open_webui/routers/openai.py61COMMENT
LOWbackend/open_webui/internal/db.py41COMMENT
LOWscripts/generate-sbom.sh1#!/usr/bin/env bashCOMMENT
LOWsrc/lib/apis/ollama/index.ts521// },COMMENT
LOW…/lib/components/common/RichTextInput/AutoCompletion.js141COMMENT
LOW…/lib/components/common/RichTextInput/AutoCompletion.js241 // const { state, dispatch } = view;COMMENT
LOWsrc/routes/+layout.js1// if you want to generate a static html fileCOMMENT
AI Slop Vocabulary6 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUMpackage-lock.json12739 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",CODE
MEDIUMbackend/open_webui/utils/oauth.py884 # 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
MEDIUMbackend/open_webui/retrieval/loaders/mistral.py730 # MONITORING: Log comprehensive batch processing statisticsCOMMENT
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.svelte56 // Vertical positioning with robust bounds clamping (shift method)COMMENT
AI Structural Patterns19 hits · 14 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/main.py1812CODE
LOWbackend/open_webui/routers/models.py123CODE
LOWbackend/open_webui/routers/evaluations.py405CODE
LOWbackend/open_webui/routers/notes.py148CODE
LOWbackend/open_webui/routers/prompts.py72CODE
LOWbackend/open_webui/routers/analytics.py126CODE
LOWbackend/open_webui/routers/analytics.py286CODE
LOWbackend/open_webui/routers/knowledge.py1290CODE
LOWbackend/open_webui/routers/ollama.py92CODE
LOWbackend/open_webui/tools/builtin.py2089CODE
LOWbackend/open_webui/tools/builtin.py3500CODE
LOWbackend/open_webui/tools/builtin.py3627CODE
LOWbackend/open_webui/utils/response.py220CODE
LOWbackend/open_webui/utils/oauth.py1211CODE
LOWbackend/open_webui/retrieval/utils.py597CODE
LOWbackend/open_webui/retrieval/utils.py772CODE
LOWbackend/open_webui/retrieval/web/utils.py293CODE
LOWbackend/open_webui/retrieval/web/utils.py560CODE
LOWbackend/open_webui/retrieval/loaders/datalab_marker.py15CODE
Modern Structural Boilerplate6 hits · 8 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/routers/knowledge.py569async def _set_external_connections(connections: list[dict]) -> None:CODE
LOWbackend/open_webui/utils/code_interpreter.py12logger = logging.getLogger(__name__)CODE
LOWbackend/open_webui/utils/automations.py307async def _set_terminal_cwd(app, server_id: str, user, cwd: str, chat_id: str) -> 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.py629 async def update_last_active_by_id(self, id: str, db: AsyncSession | None = None) -> None:CODE
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHbackend/open_webui/retrieval/vector/dbs/oracle23ai.py355 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
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/generate-sbom.sh13# Usage:COMMENT
LOWsrc/lib/components/common/RichTextInput.svelte727 // Usage exampleCOMMENT
Slop Phrases2 hits · 2 pts
SeverityFileLineSnippetContext
LOWsrc/lib/components/workspace/Tools/ToolkitEditor.svelte62 # 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
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOWbackend/open_webui/models/auths.py22PLACEHOLDER_HASH = bcrypt.hashpw(b'placeholder', bcrypt.gensalt()).decode('utf-8')CODE
LOWbackend/open_webui/retrieval/loaders/main.py207 'image_export_mode': 'placeholder',CODE