LocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required.
This report summarizes scanner evidence for mudler/LocalAI, a Go project with 49,462 GitHub stars. SynthScan examined 787,499 lines of code across 4151 source files, recording 2523 pattern matches distributed across 25 syntactic categories. The legacy adjusted pattern signal is 4.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1709 finding(s).
Are imports declared and package/API names verified? 155 finding(s).
Are wrappers, guards, and repeated structures necessary? 938 finding(s).
Which changes need focused human review? 2523 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2523 distinct pattern matches across 25 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.yaml | 21 | # Avoid probing remote gallery GGUF metadata during container startup. | COMMENT |
| LOW | docker-compose.yaml | 41 | # Here we can specify a list of models to run (see quickstart https://localai.io/basics/getting_started/#running-mod | COMMENT |
| LOW | docker-compose.yaml | 61 | # For legacy NVIDIA driver (for older NVIDIA Container Toolkit): | COMMENT |
| LOW | docker-compose.distributed.yaml | 1 | # Docker Compose for LocalAI Distributed Mode | COMMENT |
| LOW | docker-compose.distributed.yaml | 61 | # models directory at the SAME path (see "Shared Volume Mode" below). | COMMENT |
| LOW | docker-compose.distributed.yaml | 141 | # `init: true` avoids zombie-reap races that make nvidia-smi flaky. | COMMENT |
| LOW | docker-compose.distributed.yaml | 161 | # - frontend_data:/data | COMMENT |
| LOW | docker-compose.distributed.yaml | 181 | # | COMMENT |
| LOW | cmd/launcher/internal/release_manager.go | 41 | type ReleaseManager struct { | COMMENT |
| LOW | .docker/llama-cpp-compile.sh | 21 | # acquire the strict decision decoders too. Runtime libraries are collected by | COMMENT |
| LOW | .docker/llama-cpp-build-target.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .docker/install-base-deps.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .docker/install-base-deps.sh | 21 | # CUDA_MINOR_VERSION ("8" | "0" | "") | COMMENT |
| LOW | .docker/install-base-deps.sh | 121 | # above installs the Mesa drivers. Install it here so there is something to copy. | COMMENT |
| LOW | .docker/apt-mirror.sh | 1 | #!/bin/sh | COMMENT |
| LOW | core/trace/audio_snippet.go | 21 | // ~-90 dBFS least-significant-bit floor, so it reads unambiguously as | COMMENT |
| LOW | core/trace/backend_trace.go | 261 | // CancelBackendTrace removes an operation that is represented by a different | COMMENT |
| LOW | core/config/model_config.go | 61 | // configuration, stamped when the loader materializes it and therefore | COMMENT |
| LOW | core/config/model_config.go | 121 | // ChatTemplateKwargs are arbitrary key/values forwarded to the backend's jinja | COMMENT |
| LOW | core/config/model_config.go | 201 | type LimitsConfig struct { | COMMENT |
| LOW | core/config/model_config.go | 221 | // | COMMENT |
| LOW | core/config/model_config.go | 241 | // of dropping provider-specific extensions that the internal proto | COMMENT |
| LOW | core/config/model_config.go | 261 | APIKeyEnv string `yaml:"api_key_env,omitempty" json:"api_key_env,omitempty"` | COMMENT |
| LOW | core/config/model_config.go | 281 | // CachePrompt enables automatic Anthropic prompt-cache breakpoints | COMMENT |
| LOW | core/config/model_config.go | 341 | COMMENT | |
| LOW | core/config/model_config.go | 361 | // Policies is the label vocabulary the classifier scores over. | COMMENT |
| LOW | core/config/model_config.go | 381 | // 500 — fail-fast, not silent-bypass. | COMMENT |
| LOW | core/config/model_config.go | 401 | COMMENT | |
| LOW | core/config/model_config.go | 421 | // - "mean": divide by candidate token count. Fairer to long | COMMENT |
| LOW | core/config/model_config.go | 441 | // curated through the router corpus API (never through the UI); | COMMENT |
| LOW | core/config/model_config.go | 461 | // rate; lower → more aggressive sharing across paraphrases. | COMMENT |
| LOW | core/config/model_config.go | 481 | // RouterKNNConfig configures the knn classifier. It shares the | COMMENT |
| LOW | core/config/model_config.go | 501 | // the package default (3). K=1 reproduces exact nearest-entry | COMMENT |
| LOW | core/config/model_config.go | 601 | // on. Setting Enabled explicitly always wins over the backend default. | COMMENT |
| LOW | core/config/model_config.go | 641 | // EntityActions maps an entity group the model emits (e.g. "EMAIL", | COMMENT |
| LOW | core/config/model_config.go | 821 | Transcription string `yaml:"transcription,omitempty" json:"transcription,omitempty"` | COMMENT |
| LOW | core/config/model_config.go | 841 | // transcription model that diarizes (e.g. parakeet-cpp with a | COMMENT |
| LOW | core/config/model_config.go | 861 | // MaxHistoryItems caps how many trailing conversation items are fed to the | COMMENT |
| LOW | core/config/model_config.go | 881 | // per session; retranscribe is server-side only. Unset keeps server_vad. | COMMENT |
| LOW | core/config/model_config.go | 901 | // on first use" behavior — session start no longer blocks on loading and | COMMENT |
| LOW | core/config/model_config.go | 981 | // ApplyReasoningEffort resolves the effective reasoning effort — a per-request | COMMENT |
| LOW | core/config/model_config.go | 1101 | // Mode is "identify" (1:N against the voice registry) or "verify" | COMMENT |
| LOW | core/config/model_config.go | 1141 | // @Description VoiceIdentityConfig surfaces the recognized speaker to the realtime | COMMENT |
| LOW | core/config/model_config.go | 1241 | // explicitly-set value. Cosine distance ranges 0..2. | COMMENT |
| LOW | core/config/model_config.go | 1261 | // proceeds when the batch decode also ends in the end-of-utterance token, | COMMENT |
| LOW | core/config/model_config.go | 1561 | COMMENT | |
| LOW | core/config/model_config.go | 2061 | // metric depth + camera pose + 3D point cloud via Depth Anything 3). | COMMENT |
| LOW | core/config/model_config.go | 2401 | // No heuristic: Score-intent is a deliberate operator choice | COMMENT |
| LOW | core/config/gguf.go | 21 | // (FLAG_CHAT, jinja templating): surfacing it in chat pickers defeats the | COMMENT |
| LOW | core/config/runtime_settings_startup.go | 81 | f.apply(o, settings) | COMMENT |
| LOW | core/config/model_config_loader.go | 921 | // on: every host belongs to AT MOST one model config. Any duplicate | COMMENT |
| LOW | core/config/vllm_spec.go | 1 | package config | COMMENT |
| LOW | core/config/vllm_spec.go | 21 | // speculative decoding can be auto-enabled. | COMMENT |
| LOW | core/config/vllm_spec.go | 61 | return len(c.DFlashConfig) > 0 || | COMMENT |
| LOW | core/config/model_load_budget.go | 1 | package config | COMMENT |
| LOW | core/config/model_load_budget.go | 21 | // failure LATENCY on a load that was going to fail anyway, while erring | COMMENT |
| LOW | core/config/model_load_budget.go | 41 | ) | COMMENT |
| LOW | core/config/hooks_localai_proxy.go | 1 | package config | COMMENT |
| LOW | core/config/runtime_settings_persist.go | 41 | // faithful partial update: a caller that submits only the field it owns | COMMENT |
| LOW | core/config/model_capabilities.go | 41 | } | COMMENT |
| 1134 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/python/pocket-tts/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/vibevoice/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/kitten-tts/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/whisperx/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/chatterbox/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/coqui/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/moonshine/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/neutts/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/qwen-tts/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/kokoro/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/faster-whisper/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/fish-speech/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/voxcpm/backend.py | 0 | backendservicer is the class that implements the grpc service | STRING |
| HIGH | backend/python/pocket-tts/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/vibevoice/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/kitten-tts/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/rerankers/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/diffusers/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/whisperx/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/chatterbox/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/coqui/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/moonshine/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/transformers/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/neutts/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/qwen-tts/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/kokoro/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/fish-speech/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/voxcpm/test.py | 0 | testbackendservicer is the class that tests the grpc service | STRING |
| HIGH | backend/python/pocket-tts/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/vibevoice/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/kitten-tts/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/rerankers/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/diffusers/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/whisperx/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/chatterbox/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/coqui/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/moonshine/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/transformers/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/neutts/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/qwen-tts/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/kokoro/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/fish-speech/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/voxcpm/test.py | 0 | this method sets up the grpc service by starting the server | STRING |
| HIGH | backend/python/pocket-tts/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/vibevoice/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/kitten-tts/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/rerankers/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/diffusers/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/whisperx/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/chatterbox/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/coqui/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/moonshine/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/transformers/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/neutts/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/qwen-tts/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/kokoro/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/fish-speech/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/voxcpm/test.py | 0 | this method tears down the grpc service by terminating the server | STRING |
| HIGH | backend/python/pocket-tts/test.py | 0 | this method tests if the server starts up successfully | STRING |
| HIGH | backend/python/vibevoice/test.py | 0 | this method tests if the server starts up successfully | STRING |
| 58 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_invariant_backend.py | 37 | except Exception: | CODE |
| MEDIUM | backend/python/liquid-audio/backend.py | 147 | def LoadModel(self, request, context): | CODE |
| MEDIUM | backend/python/liquid-audio/backend.py | 218 | def Predict(self, request, context): | CODE |
| MEDIUM | backend/python/liquid-audio/backend.py | 229 | def PredictStream(self, request, context): | CODE |
| MEDIUM | backend/python/liquid-audio/backend.py | 301 | def TTS(self, request, context): | CODE |
| MEDIUM | backend/python/liquid-audio/backend.py | 517 | def AudioTranscription(self, request, context): | CODE |
| MEDIUM | backend/python/liquid-audio/backend.py | 618 | def _run_training(self, request, job): | CODE |
| LOW⚡ | backend/python/liquid-audio/backend.py | 127 | except Exception: | CODE |
| LOW⚡ | backend/python/liquid-audio/backend.py | 135 | except Exception: | CODE |
| LOW⚡ | backend/python/liquid-audio/backend.py | 138 | except Exception as exc: | CODE |
| LOW | backend/python/liquid-audio/backend.py | 212 | except Exception as exc: | CODE |
| LOW | backend/python/liquid-audio/backend.py | 222 | except Exception as exc: | CODE |
| LOW | backend/python/liquid-audio/backend.py | 233 | except Exception as exc: | CODE |
| LOW | backend/python/liquid-audio/backend.py | 293 | except Exception as exc: | CODE |
| LOW | backend/python/liquid-audio/backend.py | 357 | except Exception as exc: | CODE |
| LOW | backend/python/liquid-audio/backend.py | 373 | except Exception as exc: | CODE |
| LOW | backend/python/liquid-audio/backend.py | 562 | except Exception as exc: | CODE |
| LOW | backend/python/liquid-audio/backend.py | 626 | except Exception as exc: | CODE |
| LOW | backend/python/liquid-audio/backend.py | 687 | except Exception: | CODE |
| LOW | backend/python/pocket-tts/backend.py | 117 | except Exception as e: | CODE |
| LOW | backend/python/pocket-tts/backend.py | 120 | except Exception as err: | CODE |
| LOW | backend/python/pocket-tts/backend.py | 150 | except Exception as e: | CODE |
| MEDIUM | backend/python/pocket-tts/backend.py | 151 | print(f"Error loading voice from {voice_input}: {e}", file=sys.stderr) | CODE |
| LOW | backend/python/pocket-tts/backend.py | 220 | except Exception as err: | CODE |
| MEDIUM | backend/python/pocket-tts/backend.py | 221 | print(f"Error in TTS: {err}", file=sys.stderr) | CODE |
| MEDIUM | backend/python/pocket-tts/backend.py | 154 | def TTS(self, request, context): | CODE |
| LOW | backend/python/pocket-tts/test.py | 43 | except Exception as err: | CODE |
| LOW | backend/python/pocket-tts/test.py | 61 | except Exception as err: | CODE |
| LOW | backend/python/pocket-tts/test.py | 98 | except Exception as err: | CODE |
| LOW | backend/python/pocket-tts/test.py | 137 | except Exception as err: | CODE |
| LOW | backend/python/ace-step/backend.py | 291 | except Exception: | CODE |
| LOW | backend/python/ace-step/backend.py | 369 | except Exception as e: | CODE |
| LOW | backend/python/ace-step/backend.py | 391 | except Exception as err: | CODE |
| MEDIUM | backend/python/ace-step/backend.py | 308 | def LoadModel(self, request, context): | CODE |
| LOW | backend/python/vibevoice/backend.py | 272 | except Exception as e: | CODE |
| MEDIUM | backend/python/vibevoice/backend.py | 276 | print("Error loading the ASR model. Trying to use SDPA.", file=sys.stderr) | CODE |
| LOW | backend/python/vibevoice/backend.py | 330 | except Exception as e: | CODE |
| MEDIUM | backend/python/vibevoice/backend.py | 334 | print("Error loading the model. Trying to use SDPA. However, note that only flash_attention_2 ha | CODE |
| LOW | backend/python/vibevoice/backend.py | 359 | except Exception as err: | CODE |
| MEDIUM | backend/python/vibevoice/backend.py | 463 | print(f"Error accessing self.device: {e}, falling back to CPU", file=sys.stderr) | CODE |
| LOW | backend/python/vibevoice/backend.py | 577 | except Exception as err: | CODE |
| MEDIUM | backend/python/vibevoice/backend.py | 578 | print(f"Error in TTS: {err}", file=sys.stderr) | CODE |
| MEDIUM | backend/python/vibevoice/backend.py | 598 | print(f"Error: Audio file not found: {audio_path}", file=sys.stderr) | CODE |
| LOW | backend/python/vibevoice/backend.py | 691 | except Exception as e: | CODE |
| LOW | backend/python/vibevoice/backend.py | 717 | except Exception as err: | CODE |
| MEDIUM | backend/python/vibevoice/backend.py | 718 | print(f"Error in AudioTranscription: {err}", file=sys.stderr) | CODE |
| MEDIUM | backend/python/vibevoice/backend.py | 475 | def TTS(self, request, context): | CODE |
| LOW | backend/python/vibevoice/test.py | 48 | except Exception as err: | CODE |
| LOW | backend/python/vibevoice/test.py | 66 | except Exception as err: | CODE |
| LOW | backend/python/vibevoice/test.py | 90 | except Exception as err: | CODE |
| LOW | backend/python/vibevoice/test.py | 128 | except Exception as err: | CODE |
| LOW | backend/python/vibevoice/test.py | 203 | except Exception as err: | CODE |
| LOW | backend/python/kitten-tts/backend.py | 56 | except Exception as err: | CODE |
| LOW | backend/python/kitten-tts/backend.py | 74 | except Exception as err: | CODE |
| MEDIUM | backend/python/kitten-tts/backend.py | 62 | def TTS(self, request, context): | CODE |
| LOW | backend/python/kitten-tts/test.py | 41 | except Exception as err: | CODE |
| LOW | backend/python/kitten-tts/test.py | 59 | except Exception as err: | CODE |
| LOW | backend/python/kitten-tts/test.py | 78 | except Exception as err: | CODE |
| LOW | backend/python/rerankers/backend.py | 69 | except Exception as err: | CODE |
| LOW | backend/python/rerankers/test.py | 41 | except Exception as err: | CODE |
| 371 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_invariant_backend.py | 37 | except Exception: | CODE |
| HIGH | backend/python/liquid-audio/backend.py | 135 | except Exception: | CODE |
| HIGH | backend/python/liquid-audio/backend.py | 127 | except Exception: | CODE |
| HIGH | backend/python/ace-step/backend.py | 291 | except Exception: | CODE |
| HIGH | backend/python/tinygrad/backend.py | 226 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/diffusers/diffusers_dynamic_loader.py | 247 | except AttributeError: | CODE |
| HIGH | backend/python/diffusers/diffusers_dynamic_loader.py | 397 | except ImportError: | CODE |
| HIGH | backend/python/diffusers/diffusers_dynamic_loader.py | 400 | except (KeyError, AttributeError, ValueError, OSError): | CODE |
| HIGH | backend/python/llama-cpp-quantization/backend.py | 145 | except OSError: | CODE |
| HIGH | backend/python/llama-cpp-quantization/backend.py | 398 | except OSError: | CODE |
| HIGH | backend/python/vllm/backend.py | 395 | except ImportError: | CODE |
| HIGH | backend/python/vllm/backend.py | 908 | except Exception: | CODE |
| HIGH | backend/python/vllm/backend.py | 912 | except Exception: | CODE |
| HIGH | backend/python/vllm/backend.py | 170 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/vllm/backend.py | 670 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/vllm/backend.py | 479 | except Exception: | CODE |
| HIGH | backend/python/vllm/backend.py | 184 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/speaker-recognition/backend.py | 75 | except ValueError: | CODE |
| HIGH | backend/python/common/vllm_utils.py | 127 | except ValueError: | CODE |
| HIGH | backend/python/common/python_utils.py | 113 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/common/python_utils.py | 110 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/common/parent_watch_test.py | 136 | except (OSError, ValueError): | CODE |
| HIGH | backend/python/common/parent_watch_test.py | 145 | except OSError: | CODE |
| HIGH | backend/python/common/parent_watch_test.py | 141 | except OSError: | CODE |
| HIGH | backend/python/common/temp_utils.py | 21 | except OSError: | CODE |
| HIGH | backend/python/common/temp_utils.py | 35 | except OSError: | CODE |
| HIGH | backend/python/outetts/backend.py | 47 | except ValueError: | CODE |
| HIGH | backend/python/transformers/backend.py | 101 | except ValueError: | CODE |
| HIGH | backend/python/transformers/backend.py | 544 | except Exception: | CODE |
| HIGH | backend/python/transformers/backend.py | 619 | except Exception: | CODE |
| HIGH | backend/python/vllm-omni/backend.py | 150 | except Exception: | CODE |
| HIGH | backend/python/vllm-omni/backend.py | 773 | except Exception: | CODE |
| HIGH | backend/python/vllm-omni/backend.py | 495 | except Exception: | CODE |
| HIGH | backend/python/vllm-omni/backend.py | 589 | except Exception: | CODE |
| HIGH | backend/python/vllm-omni/backend.py | 489 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/mlx-distributed/backend.py | 613 | except: | CODE |
| HIGH | backend/python/mlx-distributed/backend.py | 428 | except Exception: | CODE |
| HIGH | backend/python/mlx-distributed/backend.py | 416 | except Exception: | CODE |
| HIGH | backend/python/mlx-distributed/backend.py | 441 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/whisper-medusa/backend.py | 38 | except ValueError: | CODE |
| HIGH | backend/python/mlx-vlm/backend.py | 279 | except Exception: | CODE |
| HIGH | backend/python/mlx-vlm/backend.py | 285 | except Exception: | CODE |
| HIGH | backend/python/mlx-vlm/backend.py | 377 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/trl/backend.py | 183 | except ImportError: | CODE |
| HIGH | backend/python/trl/backend.py | 658 | except (IndexError, ValueError): | CODE |
| HIGH | backend/python/trl/backend.py | 673 | except Exception: | CODE |
| HIGH | backend/python/sglang/backend.py | 380 | except Exception: | CODE |
| HIGH | backend/python/sglang/backend.py | 413 | except ImportError: | CODE |
| HIGH | backend/python/sglang/backend.py | 500 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/sglang/backend.py | 586 | except TypeError: | CODE |
| HIGH | backend/python/sglang/backend.py | 711 | except Exception: | CODE |
| HIGH | backend/python/sglang/backend.py | 235 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/sglang/backend.py | 401 | except Exception: | CODE |
| HIGH | backend/python/sglang/backend.py | 250 | except json.JSONDecodeError: | CODE |
| HIGH | backend/python/qwen-tts/backend.py | 62 | except ValueError: | CODE |
| HIGH | backend/python/qwen-tts/backend.py | 66 | except ValueError: | CODE |
| HIGH | backend/python/insightface/backend.py | 96 | except ValueError: | CODE |
| HIGH | backend/python/mlx/backend.py | 570 | except Exception: | CODE |
| HIGH | backend/python/mlx/backend.py | 277 | except Exception: | CODE |
| HIGH | backend/python/mlx/backend.py | 285 | except Exception: | CODE |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/http/react-ui/e2e/nodes-fleet-dashboard.spec.js | 17 | async function mockFullOperateNavigation(page) { | CODE |
| LOW | core/http/react-ui/src/utils/artifacts.js | 152 | export function renderMarkdownWithArtifacts(text, messageIndex) { | CODE |
| LOW | core/http/react-ui/src/utils/cmYamlComplete.js | 116 | export function createYamlCompletionSource(fields) { | CODE |
| LOW | core/http/react-ui/src/utils/transferRate.js | 3 | export function createTransferRateSampler() { | CODE |
| LOW | core/http/react-ui/src/pages/InstalledModels.jsx | 57 | export function ModelLifecycleDetailShell({ | CODE |
| LOW | core/http/react-ui/src/pages/BackendLogs.jsx | 313 | function DistributedBackendLogsResolver({ modelId, fromTimestamp }) { | CODE |
| LOW | core/http/static/talk.js | 138 | function updateStreamingTranscript(role, delta) { | CODE |
| LOW | core/http/static/talk.js | 148 | function finalizeStreamingTranscript(role, fullText) { | CODE |
| LOW | core/http/static/chat.js | 544 | function startTokensPerSecondInterval() { | CODE |
| LOW | core/http/static/chat.js | 640 | function stopTokensPerSecondInterval() { | CODE |
| LOW | core/http/static/chat.js | 707 | function updateMaxTokensPerSecondBadge(chatId, maxRate) { | CODE |
| LOW | core/http/static/chat.js | 729 | function scrollThinkingBoxToBottom() { | CODE |
| LOW | core/http/static/chat.js | 1015 | function processAndSendMessage(inputValue) { | CODE |
| LOW | core/http/static/assets/pdf.min.js | 22 | !function webpackUniversalModuleDefinition(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=t.pdfjs | CODE |
| LOW | tests/test_invariant_backend.py | 15 | def test_dataset_source_path_traversal_blocked(dataset_source): | CODE |
| LOW | backend/python/liquid-audio/backend.py | 54 | def _patch_liquid_audio_local_paths(): | CODE |
| LOW | backend/python/liquid-audio/backend.py | 69 | def _local_first_snapshot_download(repo_id, revision=None, **kwargs): | CODE |
| LOW | backend/python/liquid-audio/test.py | 51 | def test_load_finetune_mode_without_weights(self): | CODE |
| LOW | backend/python/pocket-tts/test.py | 104 | def test_tts_with_default_voice(self): | CODE |
| LOW | backend/python/ace-step/test.py | 34 | def test_sound_generation_minimal(self): | CODE |
| LOW | backend/python/tinygrad/test.py | 63 | def test_multi_call_and_thinking(self): | CODE |
| LOW | backend/python/tinygrad/test.py | 76 | def test_no_tool_call_is_passthrough(self): | CODE |
| LOW | backend/python/tinygrad/test.py | 111 | def test_keymap_renames_every_hf_key(self): | CODE |
| LOW⚡ | backend/python/tinygrad/test.py | 129 | def test_tied_embedding_fallback_when_lm_head_missing(self): | CODE |
| LOW⚡ | backend/python/tinygrad/test.py | 135 | def test_unknown_keys_are_skipped(self): | CODE |
| LOW⚡ | backend/python/tinygrad/test.py | 144 | def test_qkv_bias_models_rejected(self): | CODE |
| LOW | backend/python/nemo/backend.py | 116 | def _build_segments_with_words(self, hypothesis, stride, timestamp_granularities=None): | CODE |
| LOW⚡ | backend/python/diffusers/test.py | 199 | def test_resolve_pipeline_class_by_name(self): | CODE |
| LOW⚡ | backend/python/diffusers/test.py | 204 | def test_resolve_pipeline_class_by_name_case_insensitive(self): | CODE |
| LOW⚡ | backend/python/diffusers/test.py | 210 | def test_resolve_pipeline_class_by_task(self): | CODE |
| LOW⚡ | backend/python/diffusers/test.py | 220 | def test_resolve_pipeline_class_unknown_name_raises(self): | CODE |
| LOW⚡ | backend/python/diffusers/test.py | 230 | def test_resolve_pipeline_class_unknown_task_raises(self): | CODE |
| LOW⚡ | backend/python/diffusers/test.py | 240 | def test_resolve_pipeline_class_no_params_raises(self): | CODE |
| LOW⚡ | backend/python/diffusers/test.py | 274 | def test_discover_diffusers_classes_caches_results(self): | CODE |
| LOW⚡ | backend/python/diffusers/test.py | 282 | def test_discover_diffusers_classes_exclude_base(self): | CODE |
| LOW⚡ | backend/python/diffusers/test.py | 289 | def test_get_available_classes(self): | CODE |
| LOW | backend/python/diffusers/test.py | 112 | def test_camel_to_kebab_conversion(self): | CODE |
| LOW | backend/python/diffusers/test.py | 125 | def test_extract_task_keywords(self): | CODE |
| LOW | backend/python/diffusers/test.py | 145 | def test_discover_pipelines_finds_known_classes(self): | CODE |
| LOW | backend/python/diffusers/test.py | 166 | def test_discover_pipelines_caches_results(self): | CODE |
| LOW | backend/python/diffusers/test.py | 175 | def test_get_available_pipelines(self): | CODE |
| LOW | backend/python/diffusers/test.py | 256 | def test_get_pipeline_info_unknown_raises(self): | CODE |
| LOW | backend/python/diffusers/test.py | 263 | def test_discover_diffusers_classes_pipelines(self): | CODE |
| LOW | backend/python/diffusers/test.py | 304 | def test_load_pipeline_requires_model_id(self): | CODE |
| LOW | backend/python/diffusers/test.py | 311 | def test_resolve_with_model_id_uses_diffusion_pipeline_fallback(self): | CODE |
| LOW | backend/python/diffusers/test.py | 330 | def test_options_merged_into_pipeline_kwargs(self): | CODE |
| LOW | backend/python/diffusers/test.py | 381 | def test_text_to_image_prompt_is_passed_by_keyword(self): | CODE |
| LOW | backend/python/diffusers/test.py | 454 | def test_writes_clipped_float_samples_as_mono_pcm(self): | CODE |
| LOW | backend/python/diffusers/test.py | 478 | def test_maps_request_options_and_writes_pipeline_audio(self): | CODE |
| LOW⚡ | backend/python/diffusers/test_load_options.py | 9 | def test_includes_original_config_for_single_file(self): | CODE |
| LOW⚡ | backend/python/diffusers/test_load_options.py | 15 | def test_omits_original_config_for_pretrained_model(self): | CODE |
| LOW⚡ | backend/python/diffusers/test_load_options.py | 21 | def test_omits_empty_original_config(self): | CODE |
| LOW | backend/python/diffusers/diffusers_dynamic_loader.py | 124 | def discover_diffusers_classes( | CODE |
| LOW | backend/python/whisperx/transcript_utils.py | 4 | def require_diarization_token(diarize, token): | CODE |
| LOW⚡ | backend/python/whisperx/test_transcript_utils.py | 7 | def test_diarization_requires_hugging_face_token(self): | CODE |
| LOW⚡ | backend/python/whisperx/test_transcript_utils.py | 14 | def test_diarization_does_not_require_token_when_disabled(self): | CODE |
| LOW⚡ | backend/python/whisperx/test_transcript_utils.py | 17 | def test_seconds_are_serialized_as_nanoseconds(self): | CODE |
| LOW⚡ | backend/python/whisperx/test_transcript_utils.py | 24 | def test_failed_diarization_keeps_the_transcript(self): | CODE |
| LOW | backend/python/whisperx/test_transcript_utils.py | 35 | def test_successful_diarization_is_returned(self): | CODE |
| LOW | backend/python/chatterbox/backend.py | 55 | def split_text_at_word_boundary(text, max_length=250): | CODE |
| 215 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .devcontainer-scripts/utils.sh | 3 | # This file contains some really simple functions that are useful when building up customization scripts. | COMMENT |
| MEDIUM | backend/go/sam3-cpp/test.sh | 22 | # Create a test image (4x4 red pixel PNG) using base64 | COMMENT |
| MEDIUM | backend/python/pocket-tts/backend.py | 241 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/vibevoice/backend.py | 739 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/vibevoice/test.py | 102 | # Create a temporary directory for the output audio file | COMMENT |
| MEDIUM | backend/python/vibevoice/test.py | 142 | # Create a temporary directory for the audio file | COMMENT |
| MEDIUM | backend/python/kitten-tts/backend.py | 92 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/rerankers/backend.py | 112 | # Define the signal handler function | COMMENT |
| MEDIUM⚡ | backend/python/nemo/backend.py | 293 | # Create a single segment with the full transcription | COMMENT |
| MEDIUM | backend/python/diffusers/backend.py | 1178 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/diffusers/test.py | 347 | # Create a tiny source image for the request's src field | COMMENT |
| MEDIUM | backend/python/whisperx/backend.py | 162 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/whisperx/test.py | 71 | # Create a temporary directory for the audio file | COMMENT |
| MEDIUM | backend/python/chatterbox/backend.py | 263 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/coqui/backend.py | 113 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/moonshine/backend.py | 143 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/moonshine/test.py | 71 | # Create a temporary directory for the audio file | COMMENT |
| MEDIUM | backend/python/common/libbackend.sh | 338 | # This function is idempotent, so you can call it as many times as you want and it will | COMMENT |
| MEDIUM | backend/python/neutts/backend.py | 154 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/qwen-tts/backend.py | 966 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/rfdetr/backend.py | 154 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/kokoro/backend.py | 99 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/faster-whisper/backend.py | 101 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/fish-speech/backend.py | 469 | # Define the signal handler function | COMMENT |
| MEDIUM | backend/python/voxcpm/backend.py | 316 | # Define the signal handler function | COMMENT |
| MEDIUM | scripts/nats-auth-setup.sh | 48 | # Create the operator if it does not exist, otherwise select it. | COMMENT |
| MEDIUM | scripts/nats-auth-setup.sh | 70 | # Create the LocalAI account if it does not exist. | COMMENT |
| MEDIUM | scripts/nats-auth-setup.sh | 79 | # Create the frontend service user if it does not exist. | COMMENT |
| MEDIUM⚡ | .github/backend-matrix.yml | 4 | # This file is NOT a workflow — it has no top-level 'on:' or 'jobs:'. | COMMENT |
| MEDIUM⚡ | .github/backend-matrix.yml | 8 | # This file is the source of truth for which OS each backend is built and | COMMENT |
| MEDIUM | .github/workflows/gallery-agent.yaml | 162 | # Create a formatted list of added models with URLs | COMMENT |
| MEDIUM | .github/workflows/notify-releases.yaml | 25 | # Define the LocalAI API endpoint | COMMENT |
| MEDIUM | .github/workflows/notify-releases.yaml | 28 | # Create a JSON payload using jq to handle special characters | COMMENT |
| MEDIUM | .github/workflows/disabled/notify-models.yaml | 39 | # Define the LocalAI API endpoint | COMMENT |
| MEDIUM | .github/workflows/disabled/notify-models.yaml | 42 | # Create a JSON payload using jq to handle special characters | COMMENT |
| MEDIUM | .github/workflows/disabled/notify-models.yaml | 121 | # Define the LocalAI API endpoint | COMMENT |
| MEDIUM | .github/workflows/disabled/notify-models.yaml | 124 | # Create a JSON payload using jq to handle special characters | COMMENT |
| MEDIUM | .github/workflows/disabled/comment-pr.yaml | 39 | # Define the LocalAI API endpoint | COMMENT |
| MEDIUM | .github/workflows/disabled/comment-pr.yaml | 42 | # Create a JSON payload using jq to handle special characters | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/schema/localai.go | 291 | // ─── Face recognition ────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/schema/localai.go | 420 | // ─── Voice (speaker) recognition ─────────────────────────────────── | COMMENT |
| MEDIUM | …ttp/react-ui/src/components/identity/MoreFaceTools.jsx | 225 | // ──────────────────────────── Small shared bits ──────────────────────────── | COMMENT |
| MEDIUM | core/services/facerecognition/registry_test.go | 134 | // ─── fake gRPC backend ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/e2e-backends/backend_test.go | 879 | // ─── face recognition specs ───────────────────────────────────────── | COMMENT |
| MEDIUM | tests/e2e-backends/backend_test.go | 1068 | // ─── voice (speaker) recognition specs ────────────────────────────── | COMMENT |
| MEDIUM | tests/e2e-backends/backend_test.go | 1316 | // ─── ds4 layer-split distributed inference (opt-in, hardware-gated) ────────── | COMMENT |
| MEDIUM | backend/go/parakeet-cpp/boundary.go | 23 | // open ───────────► closed | COMMENT |
| MEDIUM | backend/go/parakeet-cpp/boundary.go | 27 | // └──────────────────┘ | COMMENT |
| MEDIUM | backend/go/vllm-cpp/govllmcpp.go | 139 | // ── Video+audio generation (ABI v12, MiniMax-H3) ──────────────────────────── | COMMENT |
| MEDIUM⚡ | backend/python/tinygrad/backend.py | 57 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/python/tinygrad/backend.py | 64 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/python/tinygrad/backend.py | 72 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/python/tinygrad/backend.py | 74 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/python/tinygrad/backend.py | 158 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/python/tinygrad/backend.py | 160 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/python/diffusers/backend.py | 262 | # ================================================================ | COMMENT |
| MEDIUM | backend/python/diffusers/backend.py | 266 | # ================================================================ | COMMENT |
| MEDIUM | backend/python/diffusers/backend.py | 477 | # ================================================================ | COMMENT |
| MEDIUM | backend/python/diffusers/backend.py | 480 | # ================================================================ | COMMENT |
| MEDIUM | backend/python/common/libbackend.sh | 34 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | backend/python/trl/reward_functions.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/python/trl/reward_functions.py | 30 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/python/trl/reward_functions.py | 116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/python/trl/reward_functions.py | 118 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/python/trl/reward_functions.py | 130 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/python/trl/reward_functions.py | 132 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/python/trl/reward_functions.py | 192 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/python/trl/reward_functions.py | 194 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/python/insightface/engines.py | 61 | # ─── Antispoofer (Silent-Face MiniFASNet) ────────────────────────────── | COMMENT |
| MEDIUM | backend/python/insightface/engines.py | 174 | # ─── InsightFaceEngine ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | backend/python/insightface/engines.py | 375 | # ─── OnnxDirectEngine ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | backend/python/insightface/engines.py | 481 | # ─── helpers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .github/backend-matrix.yml | 7 | # -------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | core/http/auth/branding_routes_test.go | 75 | user := createTestUser(db, "user@example.com", auth.RoleUser, auth.ProviderGitHub) | CODE |
| LOW⚡ | core/http/auth/branding_routes_test.go | 84 | admin := createTestUser(db, "admin@example.com", auth.RoleAdmin, auth.ProviderGitHub) | CODE |
| LOW⚡ | core/http/auth/branding_routes_test.go | 93 | admin := createTestUser(db, "admin@example.com", auth.RoleAdmin, auth.ProviderGitHub) | CODE |
| LOW | core/http/auth/middleware_test.go | 217 | user = createTestUser(db, "user@example.com", auth.RoleUser, auth.ProviderGitHub) | CODE |
| LOW | core/http/auth/middleware_test.go | 498 | admin := createTestUser(db, "admin@example.com", auth.RoleAdmin, auth.ProviderGitHub) | CODE |
| LOW | core/http/auth/middleware_test.go | 507 | user := createTestUser(db, "user@example.com", auth.RoleUser, auth.ProviderGitHub) | CODE |
| LOW | core/http/auth/middleware_test.go | 523 | admin := createTestUser(db, "admin@example.com", auth.RoleAdmin, auth.ProviderGitHub) | CODE |
| LOW | core/http/auth/middleware_test.go | 532 | user := createTestUser(db, "user@example.com", auth.RoleUser, auth.ProviderGitHub) | CODE |
| LOW | core/http/auth/middleware_test.go | 565 | user := createTestUser(db, "user@example.com", auth.RoleUser, auth.ProviderGitHub) | CODE |
| LOW⚡ | core/http/auth/roles_test.go | 35 | role := auth.AssignRole(db, "admin@example.com", "admin@example.com") | CODE |
| LOW⚡ | core/http/auth/roles_test.go | 42 | role := auth.AssignRole(db, "Admin@Example.COM", "admin@example.com") | CODE |
| LOW⚡ | core/http/auth/roles_test.go | 49 | role := auth.AssignRole(db, "other@example.com", "admin@example.com") | CODE |
| LOW⚡ | core/http/auth/roles_test.go | 69 | user := createTestUser(db, "user@example.com", auth.RoleUser, auth.ProviderGitHub) | CODE |
| LOW⚡ | core/http/auth/roles_test.go | 71 | promoted := auth.MaybePromote(db, user, "admin@example.com") | CODE |
| LOW⚡ | core/http/auth/roles_test.go | 77 | user := createTestUser(db, "admin@example.com", auth.RoleAdmin, auth.ProviderGitHub) | CODE |
| LOW⚡ | core/http/auth/oauth_email_decision_test.go | 13 | Expect(emailForRoleDecision("admin@example.com", true)). | CODE |
| LOW⚡ | core/http/auth/oauth_email_decision_test.go | 14 | To(Equal("admin@example.com")) | CODE |
| LOW⚡ | core/http/auth/oauth_email_decision_test.go | 18 | Expect(emailForRoleDecision("admin@example.com", false)). | CODE |
| LOW | core/http/auth/oauth_email_decision_test.go | 46 | role := AssignRole(db, emailForRoleDecision("admin@example.com", false), "admin@example.com") | CODE |
| LOW | core/http/auth/oauth_email_decision_test.go | 52 | role := AssignRole(db, emailForRoleDecision("admin@example.com", true), "admin@example.com") | CODE |
| LOW | core/http/react-ui/public/locales/it/chat.json | 91 | "placeholder": "Messaggio...", | CODE |
| LOW | core/http/react-ui/public/locales/it/models.json | 105 | "placeholder": "Cerca modelli...", | CODE |
| LOW | core/http/react-ui/public/locales/it/agents.json | 23 | "placeholder": "Cerca agenti...", | CODE |
| LOW | core/http/react-ui/public/locales/it/home.json | 31 | "placeholder": "Messaggio...", | CODE |
| LOW | core/http/react-ui/public/locales/it/skills.json | 25 | "placeholder": "Cerca competenze..." | CODE |
| LOW | core/http/react-ui/public/locales/zh-CN/chat.json | 91 | "placeholder": "消息...", | CODE |
| LOW | core/http/react-ui/public/locales/zh-CN/models.json | 105 | "placeholder": "搜索模型...", | CODE |
| LOW | core/http/react-ui/public/locales/zh-CN/agents.json | 23 | "placeholder": "搜索智能体...", | CODE |
| LOW | core/http/react-ui/public/locales/zh-CN/home.json | 31 | "placeholder": "消息...", | CODE |
| LOW | core/http/react-ui/public/locales/zh-CN/skills.json | 25 | "placeholder": "搜索技能..." | CODE |
| LOW | core/http/react-ui/public/locales/pt-BR/chat.json | 92 | "placeholder": "Mensagem...", | CODE |
| LOW | …re/http/react-ui/public/locales/pt-BR/modelEditor.json | 29 | "placeholder": "meu-nome-de-modelo", | CODE |
| LOW | core/http/react-ui/public/locales/pt-BR/models.json | 115 | "placeholder": "Buscar modelos...", | CODE |
| LOW | core/http/react-ui/public/locales/pt-BR/agents.json | 23 | "placeholder": "Buscar agentes...", | CODE |
| LOW | core/http/react-ui/public/locales/pt-BR/media.json | 203 | "placeholder": "Buscar vozes, idiomas ou transcrições" | CODE |
| LOW | core/http/react-ui/public/locales/pt-BR/home.json | 31 | "placeholder": "Mensagem...", | CODE |
| LOW | core/http/react-ui/public/locales/pt-BR/skills.json | 25 | "placeholder": "Buscar habilidades..." | CODE |
| LOW | core/http/react-ui/public/locales/de/chat.json | 91 | "placeholder": "Nachricht...", | CODE |
| LOW | core/http/react-ui/public/locales/de/models.json | 105 | "placeholder": "Modelle suchen...", | CODE |
| LOW | core/http/react-ui/public/locales/de/agents.json | 23 | "placeholder": "Agenten suchen...", | CODE |
| LOW | core/http/react-ui/public/locales/de/home.json | 31 | "placeholder": "Nachricht...", | CODE |
| LOW | core/http/react-ui/public/locales/de/skills.json | 25 | "placeholder": "Fähigkeiten suchen..." | CODE |
| LOW | core/http/react-ui/public/locales/ko/chat.json | 91 | "placeholder": "메시지...", | CODE |
| LOW | core/http/react-ui/public/locales/ko/models.json | 111 | "placeholder": "모델 검색...", | CODE |
| LOW | core/http/react-ui/public/locales/ko/agents.json | 23 | "placeholder": "에이전트 검색...", | CODE |
| LOW | core/http/react-ui/public/locales/ko/home.json | 31 | "placeholder": "메시지...", | CODE |
| LOW | core/http/react-ui/public/locales/ko/skills.json | 25 | "placeholder": "스킬 검색..." | CODE |
| LOW | core/http/react-ui/public/locales/id/chat.json | 91 | "placeholder": "Pesan...", | CODE |
| LOW | core/http/react-ui/public/locales/id/modelEditor.json | 29 | "placeholder": "nama-model-saya", | CODE |
| LOW | core/http/react-ui/public/locales/id/models.json | 112 | "placeholder": "Cari model...", | CODE |
| LOW | core/http/react-ui/public/locales/id/agents.json | 23 | "placeholder": "Cari agen...", | CODE |
| LOW | core/http/react-ui/public/locales/id/home.json | 31 | "placeholder": "Pesan...", | CODE |
| LOW | core/http/react-ui/public/locales/id/skills.json | 25 | "placeholder": "Cari skill..." | CODE |
| LOW | core/http/react-ui/public/locales/es/chat.json | 91 | "placeholder": "Mensaje...", | CODE |
| LOW | core/http/react-ui/public/locales/es/models.json | 105 | "placeholder": "Buscar modelos...", | CODE |
| LOW | core/http/react-ui/public/locales/es/agents.json | 23 | "placeholder": "Buscar agentes...", | CODE |
| LOW | core/http/react-ui/public/locales/es/home.json | 31 | "placeholder": "Mensaje...", | CODE |
| LOW | core/http/react-ui/public/locales/es/skills.json | 25 | "placeholder": "Buscar habilidades..." | CODE |
| LOW | core/http/react-ui/public/locales/en/chat.json | 123 | "placeholder": "Message...", | CODE |
| LOW | core/http/react-ui/public/locales/en/chat.json | 265 | "placeholder": "Search this chat", | CODE |
| 24 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_invariant_backend.py | 15 | CODE | |
| LOW | backend/python/liquid-audio/backend.py | 119 | CODE | |
| LOW | backend/python/liquid-audio/backend.py | 240 | CODE | |
| LOW | backend/python/liquid-audio/backend.py | 381 | CODE | |
| LOW | backend/python/liquid-audio/backend.py | 517 | CODE | |
| LOW | backend/python/pocket-tts/backend.py | 54 | CODE | |
| LOW | backend/python/pocket-tts/backend.py | 154 | CODE | |
| LOW | backend/python/ace-step/backend.py | 82 | CODE | |
| LOW | backend/python/ace-step/backend.py | 102 | CODE | |
| LOW | backend/python/ace-step/backend.py | 308 | CODE | |
| LOW | backend/python/vibevoice/backend.py | 56 | CODE | |
| LOW | backend/python/vibevoice/backend.py | 475 | CODE | |
| LOW | backend/python/vibevoice/backend.py | 584 | CODE | |
| LOW | backend/python/nemo/backend.py | 48 | CODE | |
| LOW | backend/python/nemo/backend.py | 227 | CODE | |
| LOW | backend/python/diffusers/backend.py | 188 | CODE | |
| LOW | backend/python/diffusers/backend.py | 529 | CODE | |
| LOW | backend/python/diffusers/backend.py | 694 | CODE | |
| LOW | backend/python/diffusers/backend.py | 978 | CODE | |
| LOW | backend/python/diffusers/diffusers_dynamic_loader.py | 124 | CODE | |
| LOW | backend/python/diffusers/diffusers_dynamic_loader.py | 313 | CODE | |
| LOW | backend/python/mlx-audio/backend.py | 67 | CODE | |
| LOW | backend/python/mlx-audio/backend.py | 303 | CODE | |
| LOW | backend/python/mlx-audio/backend.py | 382 | CODE | |
| LOW | backend/python/llama-cpp-quantization/backend.py | 362 | CODE | |
| LOW | backend/python/chatterbox/backend.py | 131 | CODE | |
| LOW | backend/python/chatterbox/backend.py | 192 | CODE | |
| LOW | backend/python/vllm/backend.py | 156 | CODE | |
| LOW | backend/python/vllm/backend.py | 401 | CODE | |
| LOW | backend/python/vllm/backend.py | 637 | CODE | |
| LOW | backend/python/speaker-recognition/engines.py | 117 | CODE | |
| LOW | backend/python/common/model_identity.py | 226 | CODE | |
| LOW | backend/python/common/temp_utils_test.py | 10 | CODE | |
| LOW | backend/python/common/temp_utils_test.py | 18 | CODE | |
| LOW | backend/python/common/temp_utils_test.py | 28 | CODE | |
| LOW | backend/python/common/python_utils.py | 10 | CODE | |
| LOW | backend/python/common/python_utils.py | 80 | CODE | |
| LOW | backend/python/transformers/backend.py | 64 | CODE | |
| LOW | backend/python/transformers/backend.py | 491 | CODE | |
| LOW | backend/python/transformers/backend.py | 557 | CODE | |
| LOW | backend/python/vllm-omni/backend.py | 74 | CODE | |
| LOW | backend/python/vllm-omni/backend.py | 344 | CODE | |
| LOW | backend/python/vllm-omni/backend.py | 468 | CODE | |
| LOW | backend/python/vllm-omni/backend.py | 653 | CODE | |
| LOW | backend/python/mlx-distributed/backend.py | 620 | CODE | |
| LOW | backend/python/mlx-distributed/backend.py | 399 | CODE | |
| LOW | backend/python/mlx-distributed/mlx_cache.py | 76 | CODE | |
| LOW | backend/python/mlx-distributed/mlx_cache.py | 169 | CODE | |
| LOW | backend/python/neutts/backend.py | 50 | CODE | |
| LOW | backend/python/mlx-vlm/backend.py | 58 | CODE | |
| LOW | backend/python/mlx-vlm/backend.py | 262 | CODE | |
| LOW | backend/python/trl/backend.py | 248 | CODE | |
| LOW | backend/python/trl/backend.py | 644 | CODE | |
| LOW | backend/python/trl/backend.py | 691 | CODE | |
| LOW | backend/python/trl/reward_functions.py | 196 | CODE | |
| LOW | backend/python/sglang/backend.py | 222 | CODE | |
| LOW | backend/python/sglang/backend.py | 624 | CODE | |
| LOW | backend/python/qwen-asr/backend.py | 98 | CODE | |
| LOW | backend/python/qwen-asr/backend.py | 202 | CODE | |
| LOW | backend/python/qwen-tts/backend.py | 86 | CODE | |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 201 | - **October 2025**: [Model Context Protocol (MCP)](https://localai.io/docs/features/mcp/) support for agentic capabiliti | CODE |
| MEDIUM | core/config/model_config.go | 286 | // agentic/multi-turn workloads that re-send a large stable prefix. | COMMENT |
| MEDIUM | core/http/endpoints/openai/realtime.go | 2403 | // maxAssistantToolTurns caps the server-side agentic loop. Mirrors the | COMMENT |
| MEDIUM | core/http/endpoints/openai/realtime.go | 2420 | // the whole agentic tool-turn recursion: a single id, the output items as they | COMMENT |
| MEDIUM | core/http/endpoints/openai/realtime.go | 2864 | // triggerResponse; every turn (including agentic recursion) shares this id. | COMMENT |
| MEDIUM | core/http/endpoints/openai/realtime.go | 3153 | // whole turn (including the agentic recursion below) completes. | COMMENT |
| MEDIUM | core/http/endpoints/openai/realtime.go | 3156 | // so the model can speak the result. Mirrors the chat-side agentic loop | COMMENT |
| MEDIUM | core/http/endpoints/openai/inference_test.go | 411 | // Truncation labeling for agentic clients (cogito): a reasoning model | COMMENT |
| MEDIUM | core/http/react-ui/src/hooks/useChat.js | 561 | // Regular SSE streaming with client-side agentic loop support | COMMENT |
| MEDIUM | core/http/react-ui/src/hooks/useChat.js | 578 | let fullToolCalls = [] // Tool calls with id for agentic loop | CODE |
| MEDIUM | core/http/react-ui/src/hooks/useChat.js | 733 | // Client-side agentic loop: check for client tool calls | COMMENT |
| MEDIUM | core/http/react-ui/src/pages/Talk.jsx | 255 | // Mirrors the chat-page agentic loop: collect args from the model's | COMMENT |
| MEDIUM | core/services/agentpool/agent_pool.go | 87 | // to provide agentic capabilities integrated directly into LocalAI. | COMMENT |
| MEDIUM | website/content/blog/localai-since-march-2023.md | 41 | [LocalAI 4.0.0](https://github.com/mudler/LocalAI/releases/tag/v4.0.0) added native agentic orchestration with the [Agen | CODE |
| MEDIUM | tests/e2e-aio/models/embeddings.yaml | 7 | # sized up to the context window (core/backend/options.go EffectiveBatchSize) so | COMMENT |
| MEDIUM | backend/go/cloud-proxy/provider_anthropic.go | 67 | // calls that share it — the win on agentic/multi-turn workloads. | COMMENT |
| MEDIUM | backend/go/cloud-proxy/provider_anthropic.go | 255 | // cache-read rate on the next agentic iteration (max 4 breakpoints; we | COMMENT |
| MEDIUM | backend/python/tinygrad/backend.py | 629 | # Clamp to context window — truncate long inputs rather than blow up. | COMMENT |
| MEDIUM | docs/content/features/voice-recognition.md | 209 | ## A parakeet-cpp bundle as the embedding model | COMMENT |
| MEDIUM | docs/content/operations/middleware.md | 762 | embedding_model: nomic-embed-text-v1.5 # any loaded embedding model | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/python/vibevoice/backend.py | 13 | CODE | |
| LOW | backend/python/kitten-tts/backend.py | 14 | CODE | |
| LOW | backend/python/tinygrad/backend.py | 28 | CODE | |
| LOW | backend/python/tinygrad/backend.py | 52 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/mistral.py | 11 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/__init__.py | 7 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/__init__.py | 9 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/__init__.py | 9 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/__init__.py | 9 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/hermes.py | 17 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/llama3_json.py | 15 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/llama3_json.py | 19 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/qwen3_xml.py | 21 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/base.py | 2 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/base.py | 4 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/base.py | 73 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/base.py | 73 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/base.py | 73 | CODE | |
| LOW | backend/python/tinygrad/tool_parsers/base.py | 73 | CODE | |
| LOW | backend/python/diffusers/backend.py | 33 | CODE | |
| LOW | backend/python/diffusers/backend.py | 33 | CODE | |
| LOW | backend/python/diffusers/backend.py | 42 | CODE | |
| LOW | backend/python/diffusers/test.py | 10 | CODE | |
| LOW | backend/python/diffusers/diffusers_dynamic_loader.py | 33 | CODE | |
| LOW | backend/python/mlx-audio/backend.py | 8 | CODE | |
| LOW | backend/python/mlx-audio/backend.py | 9 | CODE | |
| LOW | backend/python/mlx-audio/backend.py | 10 | CODE | |
| LOW | backend/python/mlx-audio/backend.py | 11 | CODE | |
| LOW | backend/python/mlx-audio/backend.py | 12 | CODE | |
| LOW | backend/python/vllm/backend.py | 11 | CODE | |
| LOW | backend/python/vllm/backend.py | 13 | CODE | |
| LOW | backend/python/vllm/backend.py | 36 | CODE | |
| LOW | backend/python/speaker-recognition/backend.py | 9 | CODE | |
| LOW | backend/python/speaker-recognition/engines.py | 20 | CODE | |
| LOW | backend/python/speaker-recognition/test.py | 10 | CODE | |
| LOW | backend/python/common/vllm_utils.py | 12 | CODE | |
| LOW | backend/python/common/vllm_utils.py | 12 | CODE | |
| LOW | backend/python/common/template/backend.py | 2 | CODE | |
| LOW | backend/python/common/template/backend.py | 3 | CODE | |
| LOW | backend/python/common/template/backend.py | 4 | CODE | |
| LOW | backend/python/transformers/backend.py | 14 | CODE | |
| LOW | backend/python/mlx-distributed/coordinator.py | 7 | CODE | |
| LOW | backend/python/mlx-distributed/coordinator.py | 8 | CODE | |
| LOW | backend/python/mlx-distributed/backend.py | 23 | CODE | |
| LOW | backend/python/mlx-vlm/backend.py | 11 | CODE | |
| LOW | backend/python/trl/backend.py | 251 | CODE | |
| LOW | backend/python/sglang/backend.py | 30 | CODE | |
| LOW | backend/python/sglang/backend.py | 31 | CODE | |
| LOW | backend/python/sglang/backend.py | 32 | CODE | |
| LOW | backend/python/sglang/backend.py | 34 | CODE | |
| LOW | backend/python/qwen-tts/backend.py | 12 | CODE | |
| LOW | backend/python/qwen-tts/backend.py | 14 | CODE | |
| LOW | backend/python/qwen-tts/test.py | 10 | CODE | |
| LOW | backend/python/rfdetr/backend.py | 21 | CODE | |
| LOW | backend/python/rfdetr/backend.py | 23 | CODE | |
| LOW | backend/python/insightface/backend.py | 15 | CODE | |
| LOW | backend/python/insightface/engines.py | 19 | CODE | |
| LOW | backend/python/insightface/test.py | 10 | CODE | |
| LOW | backend/python/insightface/smoke.py | 17 | CODE | |
| LOW | backend/python/mlx/test_mlx_cache.py | 17 | CODE | |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/gallery/upgrade.go | 296 | // Step 1: Download the new backend into the tmp directory | COMMENT |
| LOW⚡ | core/gallery/upgrade.go | 314 | // Step 2: Validate — check that run.sh exists in the new content | COMMENT |
| LOW⚡ | core/gallery/upgrade.go | 321 | // Step 3: Atomic swap — rename current to backup, then tmp to current | COMMENT |
| LOW | core/gallery/upgrade.go | 337 | // Step 4: Write updated metadata, preserving alias from old metadata | COMMENT |
| LOW⚡ | core/gallery/upgrade.go | 370 | // Step 5: Re-register backends so the model loader picks up any changes | COMMENT |
| LOW⚡ | core/gallery/upgrade.go | 375 | // Step 6: Remove backup | COMMENT |
| LOW | core/services/nodes/router_test.go | 1130 | // Step 1: cached model found on old node | COMMENT |
| LOW⚡ | core/services/nodes/router.go | 722 | // Step 1: Find and atomically lock a node with this model loaded | COMMENT |
| LOW⚡ | core/services/nodes/router.go | 727 | // Step 2: model not loaded — it has to be cold-loaded. | COMMENT |
| LOW | tests/e2e/mock_backend_test.go | 519 | // Step 1: tokenize | COMMENT |
| LOW | tests/e2e/mock_backend_test.go | 539 | // Step 2: detokenize the returned token IDs | COMMENT |
| LOW | .agents/api-endpoints-and-auth.md | 19 | ### Step 1: Create the handler | COMMENT |
| LOW | .agents/api-endpoints-and-auth.md | 36 | ### Step 2: Register routes | COMMENT |
| LOW | .agents/api-endpoints-and-auth.md | 48 | ### Step 3: Apply the right middleware | COMMENT |
| LOW | backend/python/llama-cpp-quantization/backend.py | 101 | # Step 1: Download / resolve model | COMMENT |
| LOW | backend/python/llama-cpp-quantization/backend.py | 112 | # Step 2: Convert to f16 GGUF | COMMENT |
| LOW | backend/python/llama-cpp-quantization/backend.py | 123 | # Step 3: Quantize | COMMENT |
| LOW | backend/python/trl/backend.py | 749 | # Step 1: Merge LoRA into base model | COMMENT |
| LOW | backend/python/trl/backend.py | 798 | # Step 2: Convert to GGUF using convert_hf_to_gguf.py | COMMENT |
| LOW | docs/content/getting-started/models.md | 209 | ### Step 1: Download a Model | COMMENT |
| LOW | docs/content/getting-started/models.md | 224 | ### Step 2: Create a Configuration File (Optional) | COMMENT |
| LOW | docs/content/getting-started/models.md | 241 | ### Step 3: Run LocalAI | COMMENT |
| LOW⚡ | pkg/functions/parse_test.go | 191 | // Step 1: Replace single quotes around keys and values with double quotes | COMMENT |
| LOW⚡ | pkg/functions/parse_test.go | 193 | // Step 2: Replace double quotes inside values with placeholders | COMMENT |
| LOW⚡ | pkg/functions/parse_test.go | 224 | // Step 1: Replace single quotes around keys and values with double quotes | COMMENT |
| LOW⚡ | pkg/functions/parse_test.go | 226 | // Step 2: Replace double quotes inside values with placeholders | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/python/vibevoice/backend.py | 104 | # Check if ASR mode is enabled | COMMENT |
| LOW | backend/python/vibevoice/backend.py | 194 | # Check if the directory exists | COMMENT |
| LOW | backend/python/vibevoice/test.py | 15 | # Check if we should skip ASR tests (they require large models ~14B parameters total) | COMMENT |
| LOW | backend/python/vibevoice/test.py | 188 | # Check if segments is iterable (has length) | COMMENT |
| LOW | backend/python/diffusers/backend.py | 374 | # Check if loading from single file (GGUF) | COMMENT |
| LOW | backend/python/diffusers/backend.py | 428 | # Check if loading from single file (GGUF) | COMMENT |
| LOW | backend/python/diffusers/backend.py | 659 | # Check if its a local file and not a directory ( we load lora differently for a safetensor file ) | COMMENT |
| LOW | backend/python/diffusers/diffusers_dynamic_loader.py | 485 | # Check if the class has from_single_file method | COMMENT |
| LOW⚡ | backend/python/mlx-audio/backend.py | 264 | # Check if model supports language codes (primarily Kokoro) | COMMENT |
| LOW | backend/python/mlx-audio/backend.py | 133 | # Check if model is loaded | COMMENT |
| LOW | backend/python/mlx-audio/backend.py | 156 | # Check if model supports language codes (primarily Kokoro) | COMMENT |
| LOW | backend/python/mlx-audio/backend.py | 235 | # Check if model is loaded | COMMENT |
| LOW | backend/python/llama-cpp-quantization/backend.py | 377 | # Check if the thread is still alive | COMMENT |
| LOW | backend/python/llama-cpp-quantization/backend.py | 384 | # Check if client disconnected | COMMENT |
| LOW | backend/python/chatterbox/backend.py | 68 | # Check if adding this word would exceed the limit | COMMENT |
| LOW | backend/python/chatterbox/backend.py | 216 | # Check if text exceeds 250 characters | COMMENT |
| LOW | backend/python/vllm/backend.py | 341 | # Check if we have one result at least | COMMENT |
| LOW | backend/python/moonshine/test.py | 111 | # Check if segments is iterable (has length) | COMMENT |
| LOW⚡ | backend/python/qwen-tts/backend.py | 476 | # Check if it looks like a file path (contains / or \ and ends with common text file extensions) | COMMENT |
| LOW | backend/python/qwen-tts/backend.py | 287 | # Check if it's a missing feature extractor/tokenizer error | COMMENT |
| LOW | backend/python/qwen-tts/backend.py | 506 | # Check if file exists and is readable | COMMENT |
| LOW | backend/python/qwen-tts/backend.py | 692 | # Check if dst is provided | COMMENT |
| LOW | backend/python/qwen-tts/backend.py | 753 | # Check if multi-voice mode is active (voices dict is populated) | COMMENT |
| LOW | backend/python/qwen-tts/backend.py | 821 | # Check if we should use cached prompt | COMMENT |
| LOW | backend/python/fish-speech/test.py | 95 | # Check if process died | COMMENT |
| LOW | .github/check_and_update.py | 32 | # Check if 'hasUnsafeFile' exists in the response | COMMENT |
| LOW⚡ | .github/check_and_update.py | 48 | # Check if the repo is flagged as dangerous by HF | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/gallery/importers/bark.go | 25 | // DiscoverModelConfig leaves HuggingFace nil. To keep detection robust, | COMMENT |
| MEDIUM | tests/e2e/distributed/prefix_cache_routing_test.go | 182 | // provider decision directly is the robust check. | COMMENT |
| LOW | backend/python/llama-cpp-quantization/backend.py | 203 | # If the model_path is already a GGUF file, just use it as-is | COMMENT |
| MEDIUM | backend/python/speaker-recognition/engines.py | 71 | # checkpoint (Audeering wav2vec2-large-robust-24-ft-age-gender) uses a | COMMENT |
| MEDIUM | backend/cpp/privacy-filter/package.sh | 17 | # grpc++/protobuf/absl stack) by walking ldd — robust to whichever of those are | COMMENT |
| MEDIUM | backend/cpp/ds4/dsml_parser.cpp | 334 | // Definitely a literal '<' now (no chance of more bytes arriving). | COMMENT |
| MEDIUM | .github/workflows/test-extra.yml | 604 | # harness. | COMMENT |
| MEDIUM | .github/workflows/test-extra.yml | 622 | # End-to-end transcription via the e2e-backends gRPC harness against | COMMENT |
| MEDIUM | .github/workflows/test-extra.yml | 664 | # TTSStream (PCM chunks) on the e2e-backends harness. | COMMENT |
| MEDIUM | .github/workflows/test-extra.yml | 1125 | # End-to-end TTS via the e2e-backends gRPC harness. Builds the | COMMENT |
| MEDIUM | .github/workflows/test-extra.yml | 1145 | # End-to-end transcription via the e2e-backends gRPC harness. The | COMMENT |
| MEDIUM | .github/workflows/test-extra.yml | 1184 | # End-to-end audio transform via the e2e-backends gRPC harness. The | COMMENT |
| MEDIUM | .github/workflows/tests-pii-ner-e2e.yml | 9 | # This drives the container-level harness (tests/e2e-backends) via | COMMENT |
| MEDIUM | .github/gallery-agent/testing.go | 220 | fmt.Sprintf("# %s Language Model\n\nDeveloped by %s, this model represents state-of-the-art performance in natural lan | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/gallery/upgrade.go | 296 | // Step 1: Download the new backend into the tmp directory | COMMENT |
| LOW⚡ | core/gallery/upgrade.go | 314 | // Step 2: Validate — check that run.sh exists in the new content | COMMENT |
| LOW⚡ | core/gallery/upgrade.go | 321 | // Step 3: Atomic swap — rename current to backup, then tmp to current | COMMENT |
| LOW | core/gallery/upgrade.go | 337 | // Step 4: Write updated metadata, preserving alias from old metadata | COMMENT |
| LOW⚡ | core/gallery/upgrade.go | 370 | // Step 5: Re-register backends so the model loader picks up any changes | COMMENT |
| LOW⚡ | core/gallery/upgrade.go | 375 | // Step 6: Remove backup | COMMENT |
| LOW | core/gallery/backends.go | 522 | // if doesn't exist, it might be an alias, so we need to check if we have a matching alias in | COMMENT |
| LOW | core/services/nodes/router_test.go | 1130 | // Step 1: cached model found on old node | COMMENT |
| LOW⚡ | core/services/nodes/router.go | 722 | // Step 1: Find and atomically lock a node with this model loaded | COMMENT |
| LOW⚡ | core/services/nodes/router.go | 727 | // Step 2: model not loaded — it has to be cold-loaded. | COMMENT |
| LOW | tests/e2e/mock_backend_test.go | 519 | // Step 1: tokenize | COMMENT |
| LOW | tests/e2e/mock_backend_test.go | 539 | // Step 2: detokenize the returned token IDs | COMMENT |
| LOW | backend/python/llama-cpp-quantization/backend.py | 101 | # Step 1: Download / resolve model | COMMENT |
| LOW | backend/python/llama-cpp-quantization/backend.py | 112 | # Step 2: Convert to f16 GGUF | COMMENT |
| LOW | backend/python/llama-cpp-quantization/backend.py | 123 | # Step 3: Quantize | COMMENT |
| LOW | backend/python/trl/backend.py | 749 | # Step 1: Merge LoRA into base model | COMMENT |
| LOW | backend/python/trl/backend.py | 798 | # Step 2: Convert to GGUF using convert_hf_to_gguf.py | COMMENT |
| LOW⚡ | pkg/functions/parse_test.go | 191 | // Step 1: Replace single quotes around keys and values with double quotes | COMMENT |
| LOW⚡ | pkg/functions/parse_test.go | 193 | // Step 2: Replace double quotes inside values with placeholders | COMMENT |
| LOW⚡ | pkg/functions/parse_test.go | 224 | // Step 1: Replace single quotes around keys and values with double quotes | COMMENT |
| LOW⚡ | pkg/functions/parse_test.go | 226 | // Step 2: Replace double quotes inside values with placeholders | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | core/http/static/assets/marked.js | 6 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?def | CODE |
| CRITICAL | core/http/static/assets/codemirror.min.js | 1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define | CODE |
| CRITICAL | backend/cpp/llama-cpp/grpc-server.cpp | 1627 | if (params.speculative.has_dft() && !params.speculative.draft.mparams.path.empty()) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | core/http/views/agent-task-details.html | 373 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | core/http/views/agent-task-details.html | 394 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | core/http/views/agent-task-details.html | 417 | -H "Authorization: Bearer YOUR_API_KEY" \ | CODE |
| HIGH | core/http/views/agent-task-details.html | 443 | -H "Authorization: Bearer YOUR_API_KEY"</code></pre> | CODE |
| HIGH | docs/content/features/mcp.md | 448 | api_key="your-api-key" | CODE |
| HIGH | docs/content/getting-started/troubleshooting.md | 309 | -H "Authorization: Bearer YOUR_API_KEY" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/python/diffusers/diffusers_dynamic_loader.py | 128 | Discover all subclasses of a given base class from diffusers. This function provides a generic way to discover | STRING |
| HIGH | backend/python/diffusers/diffusers_dynamic_loader.py | 318 | Resolve a pipeline class from class_name, task, or model_id. Priority: 1. If class_name is provided, look | STRING |
| HIGH | backend/python/diffusers/diffusers_dynamic_loader.py | 428 | Load a diffusers pipeline dynamically. This function resolves the appropriate pipeline class based on the prov | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | backend/python/mlx-distributed/backend.py | 605 | CODE | |
| MEDIUM | backend/python/mlx-distributed/backend.py | 606 | CODE | |
| MEDIUM | backend/python/mlx-distributed/backend.py | 610 | CODE | |
| MEDIUM | backend/python/mlx-distributed/backend.py | 615 | CODE | |
| MEDIUM | backend/python/mlx-distributed/backend.py | 617 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.distributed.yaml | 9 | # Usage: | COMMENT |
| LOW | scripts/install-fizzbee.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/model_gallery_info.py | 53 | # Example usage | STRING |
| LOW | pkg/model/watchdog.go | 79 | // Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/content/reference/architecture.md | 17 | As much as typical open source projects starts, I, [mudler](https://github.com/mudler/), was fiddling around with [llama | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pkg/huggingface-api/client_test.go | 701 | mockReadmeContent := "# Test Model\n\nThis is a test model for demonstration purposes." | CODE |
| MEDIUM | pkg/huggingface-api/client_test.go | 720 | Expect(content).To(Equal("# Test Model\n\nThis is a test model for demonstration purposes.")) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/python/vllm/backend.py | 326 | CODE | |
| LOW | backend/python/transformers/backend.py | 481 | CODE | |
| LOW | backend/python/sglang/backend.py | 370 | CODE | |
| LOW | backend/python/mlx-video/mlx_video_utils.py | 30 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/python/common/vllm_utils_test.py | 4 | cd backend/python/common && python3 -m unittest vllm_utils_test | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/python/tinygrad/tool_parsers/__init__.py | 11 | __all__ = ["ToolCall", "ToolParser", "resolve_parser"] | CODE |
| LOW | backend/python/common/vllm_utils.py | 14 | __all__ = [ | CODE |