Agent Zero AI framework
This report summarizes scanner evidence for agent0ai/agent-zero, a Python project with 19,420 GitHub stars. SynthScan examined 326,978 lines of code across 2095 source files, recording 5075 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 21.9 (Elevated 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? 3089 finding(s).
Are imports declared and package/API names verified? 768 finding(s).
Are wrappers, guards, and repeated structures necessary? 3775 finding(s).
Which changes need focused human review? 5075 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 5075 distinct pattern matches across 24 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 | models.py | 60 | def _normalize_litellm_kwargs(values: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | models.py | 86 | def get_litellm_global_kwargs() -> dict[str, Any]: | CODE |
| LOW | models.py | 121 | def _merge_litellm_call_kwargs(*overrides: dict[str, Any] | None) -> dict[str, Any]: | CODE |
| LOW | models.py | 307 | def _is_transient_litellm_error(exc: Exception) -> bool: | CODE |
| LOW | models.py | 839 | def _get_local_embedding_model( | CODE |
| LOW | run_tunnel.py | 20 | class NoRequestLoggingWSGIRequestHandler(WSGIRequestHandler): | CODE |
| LOW | run_ui.py | 53 | def flush_and_shutdown_callback() -> None: | CODE |
| LOW | agent.py | 1029 | def _responses_state_for_model(self, model: Any) -> dict[str, Any]: | CODE |
| LOW | agent.py | 1040 | def _responses_input_items_since( | CODE |
| LOW | agent.py | 1048 | def _responses_input_items_for_message( | CODE |
| LOW | agent.py | 1062 | def _remember_llm_result_state( | CODE |
| LOW | agent.py | 1251 | async def _log_response_builtin_items(self, llm_result: LLMResult) -> None: | CODE |
| LOW | agent.py | 1265 | async def _handle_responses_computer_call(self, item: dict[str, Any]) -> None: | CODE |
| LOW | agent.py | 1321 | def _handle_responses_mcp_approval_request(self, item: dict[str, Any]) -> None: | CODE |
| LOW | agent.py | 1395 | def _computer_call_output_item( | CODE |
| LOW | agent.py | 1426 | def _clear_responses_pending_state(self) -> None: | CODE |
| LOW | prepare.py | 8 | def _retire_legacy_collabora_runtime() -> None: | CODE |
| LOW | tools/call_subordinate.py | 19 | def _subordinate_profile_labels(agent: Agent) -> dict[str, str]: | CODE |
| LOW | tools/call_subordinate.py | 27 | def _validate_subordinate_profile(agent: Agent, profile: str) -> str: | CODE |
| LOW | tools/call_subordinate.py | 120 | def get_or_create_subordinate( | CODE |
| LOW | tools/a2a_chat.py | 55 | def _extract_latest_assistant_text(task_response: Any) -> str: | CODE |
| LOW | tools/scheduler.py | 63 | def _task_schedule_from_input(schedule: Any, timezone: str | None = None) -> TaskSchedule: | CODE |
| LOW | tools/scheduler.py | 154 | def _resolve_project_metadata(self) -> tuple[str | None, str | None]: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 126 | def normalize_describe_to_version(describe: str) -> str: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 152 | def is_supported_selector_tag(tag: str) -> bool: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 157 | def sort_selector_supported_tags(tags: list[str]) -> list[str]: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 180 | def build_default_backup_name() -> str: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 198 | def normalize_backup_conflict_policy(conflict_policy: str) -> str: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 205 | def get_latest_same_major_tag( | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 232 | def ensure_latest_target_matches_current_major( | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 311 | def resolve_backup_destination( | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 403 | def should_exclude_from_usr_backup( | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 426 | def should_include_usr_backup_entry(source_file: Path, logger: AttemptLogger) -> bool: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 461 | def clean_transient_desktop_agent_state( | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 500 | def _clean_gnupg_agent_entries(gnupg_dir: Path, logger: AttemptLogger) -> int: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 661 | def has_local_rollback_changes(repo_dir: Path) -> bool: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 1346 | def installed_target_matches_request( | CODE |
| LOW | plugins/_context_window/tests/test_context_window.py | 30 | async def test_usage_follows_prompt_sources_and_reconciles_to_total(monkeypatch): | CODE |
| LOW | plugins/_context_window/tests/test_context_window.py | 96 | async def test_api_returns_only_counts_and_effective_limit(monkeypatch): | CODE |
| LOW | plugins/_context_window/tests/test_context_window.py | 133 | def test_webui_and_accounting_are_plugin_owned(): | CODE |
| LOW⚡ | plugins/_context_window/tests/test_context_window.py | 208 | def test_webui_refreshes_after_four_distinct_root_tool_calls(): | CODE |
| LOW | plugins/_context_window/tests/test_context_window.py | 257 | def test_source_prompt_extensions_are_registered(): | STRING |
| LOW | plugins/_context_window/tests/test_context_window.py | 287 | async def test_chat_stream_drains_terminal_provider_usage(monkeypatch): | STRING |
| LOW | plugins/_context_window/tests/test_context_window.py | 355 | def test_prompt_fragment_cache_is_bounded_and_content_addressed(monkeypatch): | STRING |
| LOW | plugins/_context_window/tests/test_context_window.py | 376 | def test_history_ledger_changes_without_invalidating_fragment_cache(monkeypatch): | STRING |
| LOW | plugins/_context_window/tests/test_context_window.py | 427 | def test_rendered_history_fallback_preserves_system_prompt_bucket(monkeypatch): | STRING |
| LOW | plugins/_context_window/tests/test_context_window.py | 463 | def test_provider_usage_is_optional(): | STRING |
| LOW | plugins/_context_window/helpers/usage.py | 248 | def _optional_non_negative_int(*values: Any) -> int | None: | CODE |
| LOW | plugins/_context_window/helpers/usage.py | 259 | def _optional_non_negative_float(*values: Any) -> float | None: | CODE |
| LOW | plugins/_email_integration/helpers/dispatcher.py | 96 | def parse_dispatcher_response(response: str) -> DispatchDecision: | CODE |
| LOW⚡ | plugins/_email_integration/helpers/handler.py | 594 | async def _read_attachments_via_rfc( | CODE |
| LOW | plugins/_email_integration/helpers/handler.py | 408 | def _apply_handler_model_preset(context: AgentContext, handler_cfg: dict) -> None: | CODE |
| LOW | plugins/_email_integration/helpers/handler.py | 426 | async def _send_control_email_reply( | CODE |
| LOW | plugins/_email_integration/helpers/handler.py | 454 | def _build_control_reply_subject(subject: str, thread_id: str) -> str: | CODE |
| LOW | …ui/set_messages_after_loop/sync-text-editor-results.js | 7 | export default async function syncTextEditorResultsIntoOpenEditor(context) { | CODE |
| LOW⚡ | …ui/set_messages_after_loop/sync-text-editor-results.js | 85 | function shouldSyncTextEditorResult(args = {}, payload = {}) { | CODE |
| LOW⚡ | …ui/set_messages_after_loop/sync-text-editor-results.js | 91 | function shouldOpenEditorUiFromResult(payload = {}, document = {}) { | CODE |
| LOW⚡ | …ui/set_messages_after_loop/sync-text-editor-results.js | 95 | function isExplicitEditorUiRequest(payload = {}) { | CODE |
| LOW | plugins/_editor/webui/editor-preview.js | 5 | export function renderEditorPreviewMarkdown(markdown = "", fullMarkdown = markdown) { | CODE |
| LOW | plugins/_editor/webui/editor-preview.js | 41 | export function resolveDocumentRelativePath(documentPath = "", target = "") { | CODE |
| 2471 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | plugins/_context_window/tests/test_context_window.py | 199 | assert "Number(item.agentno || 0) !== 0" in refresh_hook | CODE |
| HIGH⚡ | plugins/_context_window/tests/test_context_window.py | 215 | "const contextWindowStore = { refresh: async id => globalThis.refreshes.push(id) };", | CODE |
| HIGH | plugins/_pin_to_top/tests/test_pins.py | 132 | calls.push([path, input]); | CODE |
| HIGH⚡ | plugins/_pin_to_top/tests/test_pins.py | 168 | await store.toggleProjectPin(undefined); | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 78 | let active = document.activeElement || document.body || document.documentElement; | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 82 | return active || document.body || document.documentElement; | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 86 | if (!element) return null; | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 116 | return selection ? String(selection.toString() || "") : ""; | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 120 | let transfer = null; | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 124 | if (transfer && seedText) { | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 159 | (target || document.body || document.documentElement).dispatchEvent(event); | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 162 | text: clipboardDataText(event.clipboardData || transfer), | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 166 | function dispatchInputEvent(element, type, inputType, data = null) { | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 167 | let event = null; | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 243 | if (!dispatchInputEvent(element, "beforeinput", "deleteByCut", null)) { | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 247 | dispatchInputEvent(element, "input", "deleteByCut", null); | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 252 | if (!selection || selection.rangeCount === 0 || !String(selection.toString() || "")) { | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 252 | if (!selection || selection.rangeCount === 0 || !String(selection.toString() || "")) { | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 255 | if (!dispatchInputEvent(element, "beforeinput", "deleteByCut", null)) { | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 259 | dispatchInputEvent(element, "input", "deleteByCut", null); | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 137 | let event = null; | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 210 | if (!selection || selection.rangeCount === 0) return false; | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 279 | result.text = event.text || selectionText; | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 280 | result.handled = Boolean(result.text || event.defaultPrevented); | CODE |
| HIGH⚡ | plugins/_browser/helpers/runtime.py | 2854 | "() => globalThis.history?.length || 0", | STRING |
| HIGH | plugins/_browser/helpers/runtime.py | 1692 | "(payload) => globalThis.__spaceBrowserPageContent__.capture(payload || null)", | STRING |
| HIGH | plugins/_browser/helpers/runtime.py | 1692 | "(payload) => globalThis.__spaceBrowserPageContent__.capture(payload || null)", | STRING |
| HIGH | plugins/_browser/helpers/runtime.py | 1722 | "(payload) => globalThis.__spaceBrowserPageContent__.annotate(payload || null)", | STRING |
| HIGH | plugins/_browser/helpers/runtime.py | 1722 | "(payload) => globalThis.__spaceBrowserPageContent__.annotate(payload || null)", | STRING |
| HIGH⚡ | plugins/_desktop/helpers/desktop_session.py | 1345 | xfconf-query -c thunar -p /last-show-hidden -n -t bool -s true >/dev/null 2>&1 || true | CODE |
| HIGH⚡ | plugins/_desktop/helpers/desktop_session.py | 1346 | xfconf-query -c xfce4-desktop -p /desktop-icons/style -n -t int -s 2 >/dev/null 2>&1 || true | CODE |
| HIGH⚡ | plugins/_desktop/helpers/desktop_session.py | 1347 | xfconf-query -c xfce4-desktop -p /desktop-icons/file-icons/show-home -n -t bool -s false >/dev/null 2>&1 || true | CODE |
| HIGH⚡ | plugins/_desktop/helpers/desktop_session.py | 1348 | xfconf-query -c xfce4-desktop -p /desktop-icons/file-icons/show-filesystem -n -t bool -s false >/dev/null 2>&1 || true | CODE |
| HIGH⚡ | plugins/_desktop/helpers/desktop_session.py | 1349 | xfconf-query -c xfce4-desktop -p /desktop-icons/file-icons/show-removable -n -t bool -s false >/dev/null 2>&1 || true | CODE |
| HIGH⚡ | plugins/_desktop/helpers/desktop_session.py | 1350 | xfconf-query -c xfce4-desktop -p /desktop-icons/file-icons/show-trash -n -t bool -s false >/dev/null 2>&1 || true | CODE |
| HIGH⚡ | plugins/_desktop/helpers/desktop_session.py | 1354 | chmod +x "$launcher" 2>/dev/null || true | CODE |
| HIGH⚡ | plugins/_desktop/helpers/desktop_session.py | 1357 | gio set "$launcher" metadata::trusted true >/dev/null 2>&1 || true | CODE |
| HIGH⚡ | plugins/_desktop/helpers/desktop_session.py | 1359 | gio set -t string "$launcher" metadata::xfce-exe-checksum "$checksum" >/dev/null 2>&1 || true | CODE |
| HIGH⚡ | plugins/_desktop/helpers/desktop_session.py | 1364 | timeout 4 xfdesktop --reload >/dev/null 2>&1 || true | CODE |
| HIGH | plugins/_desktop/helpers/desktop_session.py | 1407 | f"'\"{session.profile_dir / 'prepare-xfce-profile.sh'}\" >/dev/null 2>&1 || true; exec xfce4-ses | STRING |
| HIGH⚡ | plugins/_commands/tests/test_commands_plugin.py | 83 | if (!leading.active || leading.query !== "goal") throw new Error("leading command hidden"); | CODE |
| HIGH⚡ | plugins/_commands/tests/test_commands_plugin.py | 92 | if (!resolvable.active || resolvable.query !== "goal") throw new Error("postfix resolution broke"); | CODE |
| HIGH⚡ | plugins/_commands/tests/test_commands_plugin.py | 95 | if (!reference.active || reference.query !== "src/app" || reference.start !== 8 || reference.end !== 16) throw new Error | CODE |
| HIGH⚡ | plugins/_commands/tests/test_commands_plugin.py | 98 | if (!middle.active || middle.query !== "src/app") throw new Error("caret-local reference not found"); | CODE |
| HIGH⚡ | plugins/_commands/tests/test_commands_plugin.py | 102 | if (fileQueryDirectory("../secret") !== null) throw new Error("parent traversal accepted"); | CODE |
| HIGH⚡ | plugins/_commands/tests/test_commands_plugin.py | 103 | if (fileQueryDirectory("mcp/server") !== null) throw new Error("MCP reference opened file browser"); | CODE |
| HIGH⚡ | tests/test_oauth_static.py | 95 | assert "this.connectingProvider || this.disconnectingProvider" in store_js | CODE |
| HIGH⚡ | tests/test_oauth_static.py | 135 | assert "if (model.provider && model.provider !== providerId) continue;" in store_js | CODE |
| HIGH⚡ | tests/test_oauth_static.py | 164 | assert "interval: response.interval || device.interval" in start_polling | CODE |
| HIGH⚡ | tests/test_oauth_static.py | 165 | assert "expires_at: response.expires_at || device.expires_at" in start_polling | CODE |
| HIGH | tests/test_webui_overflow.py | 51 | </head><body x-data="{ mounted: true, chosen: '', initials: 'D', avatarColor: 'blue', avatarImage: null, usage: '19% | CODE |
| HIGH | tests/test_webui_overflow.py | 64 | x-init="window.avatarMounts = (window.avatarMounts || 0) + 1" | CODE |
| HIGH | tests/test_webui_overflow.py | 262 | return r.left >= 8 && r.right <= innerWidth - 8 && r.top >= 8 && r.bottom <= innerHeight - 8; | CODE |
| HIGH | tests/test_settings_mobile.py | 51 | window.saved.push(data); | CODE |
| HIGH | tests/test_model_config_ui.py | 119 | assert '!selectedPreset.chat.vision || selectedPreset.vision.override_main' in preset_modal | CODE |
| HIGH⚡ | tests/test_file_browser_path_link.py | 23 | navigateToFolder:path=>calls.push(['navigate',path]), | CODE |
| HIGH⚡ | tests/test_file_browser_path_link.py | 24 | open:path=>calls.push(['open',path]), | CODE |
| HIGH⚡ | tests/test_file_browser_path_link.py | 25 | downloadFile:file=>calls.push(['download',file.path]), | CODE |
| HIGH⚡ | tests/test_file_browser_path_link.py | 29 | window.toastFrontendError = () => calls.push(['error']); | CODE |
| HIGH⚡ | tests/test_webui_startup_assets.py | 112 | assert index_html.count("onload=\"this.onload=null;this.rel='stylesheet'\"") == 20 | CODE |
| 197 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | models.py | 90 | except Exception: | CODE |
| LOW | models.py | 641 | except Exception as e: | CODE |
| LOW | models.py | 783 | except Exception as e: | CODE |
| LOW | preload.py | 18 | except Exception as e: | CODE |
| LOW | preload.py | 35 | except Exception as e: | CODE |
| LOW | preload.py | 44 | except Exception as e: | CODE |
| LOW | preload.py | 56 | except Exception as e: | CODE |
| MEDIUM | preload.py | 9 | def preload(): | CODE |
| LOW | run_ui.py | 68 | except Exception as e: | CODE |
| LOW | agent.py | 317 | except Exception as e: | CODE |
| LOW | agent.py | 471 | except Exception: | CODE |
| LOW | agent.py | 541 | except Exception as e: | CODE |
| LOW | agent.py | 554 | except Exception as e: | CODE |
| LOW | agent.py | 1184 | except Exception as e: | CODE |
| LOW | agent.py | 1472 | except Exception as e: | CODE |
| LOW | agent.py | 1577 | except Exception as e: | CODE |
| LOW | agent.py | 1602 | except Exception: | CODE |
| LOW | prepare.py | 16 | except Exception as exc: | CODE |
| LOW | prepare.py | 40 | except Exception as e: | CODE |
| LOW | tools/vision_load.py | 103 | except Exception as exc: | CODE |
| LOW | tools/a2a_chat.py | 132 | except Exception as e: | CODE |
| LOW | tools/skills_tool.py | 284 | except Exception: | CODE |
| LOW | tools/scheduler.py | 103 | except Exception as exc: | CODE |
| LOW | tools/scheduler.py | 164 | except Exception: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 634 | except Exception as exc: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 657 | except Exception as exc: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 733 | except Exception as exc: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 986 | except Exception as exc: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 1198 | except Exception as exc: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 1258 | except Exception as exc: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 1273 | except Exception as restore_exc: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 1412 | except Exception as exc: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 1443 | except Exception as exc: | CODE |
| LOW | docker/run/fs/exe/self_update_manager.py | 1471 | except Exception as exc: | CODE |
| LOW | docker/run/fs/exe/supervisor_event_listener.py | 38 | except Exception as e: | CODE |
| LOW | plugins/_skills/api/skills_catalog.py | 34 | except Exception as e: | CODE |
| LOW⚡ | …tegration/extensions/python/job_loop/_10_email_poll.py | 82 | except Exception as e: | CODE |
| LOW⚡ | …tegration/extensions/python/job_loop/_10_email_poll.py | 101 | except Exception: | CODE |
| LOW | plugins/_email_integration/api/test_connection.py | 50 | except Exception as e: | CODE |
| LOW | plugins/_email_integration/api/test_connection.py | 71 | except Exception as e: | CODE |
| LOW | plugins/_email_integration/api/test_connection.py | 102 | except Exception as e: | CODE |
| LOW | plugins/_email_integration/api/test_connection.py | 129 | except Exception as e: | CODE |
| LOW | plugins/_email_integration/helpers/attachment_writer.py | 35 | except Exception as e: | CODE |
| LOW⚡ | plugins/_email_integration/helpers/handler.py | 168 | except Exception as e: | CODE |
| LOW⚡ | plugins/_email_integration/helpers/handler.py | 250 | except Exception as e: | CODE |
| LOW⚡ | plugins/_email_integration/helpers/handler.py | 507 | except Exception: | CODE |
| LOW | plugins/_email_integration/helpers/handler.py | 58 | except Exception: | CODE |
| LOW | plugins/_email_integration/helpers/attachment_reader.py | 39 | except Exception as e: | CODE |
| LOW⚡ | plugins/_email_integration/helpers/imap_client.py | 70 | except Exception as e: | CODE |
| LOW | plugins/_email_integration/helpers/imap_client.py | 93 | except Exception: | CODE |
| LOW | plugins/_email_integration/helpers/imap_client.py | 125 | except Exception as e: | CODE |
| LOW | plugins/_email_integration/helpers/imap_client.py | 159 | except Exception: | CODE |
| LOW | plugins/_email_integration/helpers/imap_client.py | 184 | except Exception as e: | CODE |
| LOW⚡ | plugins/_email_integration/helpers/smtp_client.py | 116 | except Exception as e: | STRING |
| LOW | plugins/_email_integration/helpers/smtp_client.py | 143 | except Exception as e: | STRING |
| LOW | plugins/_editor/api/editor_session.py | 48 | except Exception as exc: | CODE |
| LOW | plugins/_editor/api/editor_session.py | 79 | except Exception as exc: | CODE |
| LOW | plugins/_editor/api/editor_session.py | 99 | except Exception as exc: | CODE |
| LOW | plugins/_editor/api/editor_session.py | 177 | except Exception as exc: | CODE |
| LOW | plugins/_editor/api/ws_editor.py | 38 | except Exception as exc: | CODE |
| 798 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | agent.py | 1577 | except Exception as e: | CODE |
| HIGH | agent.py | 1567 | except ValueError: | CODE |
| HIGH | agent.py | 471 | except Exception: | CODE |
| HIGH | docker/run/fs/exe/self_update_manager.py | 1061 | except ValueError: | CODE |
| HIGH | plugins/_editor/helpers/markdown_sessions.py | 455 | except Exception: | CODE |
| HIGH | plugins/_editor/helpers/markdown_sessions.py | 472 | except Exception: | CODE |
| HIGH | plugins/_editor/helpers/markdown_sessions.py | 49 | except Exception: | CODE |
| HIGH | plugins/_infection_check/helpers/checker.py | 350 | except Exception: | CODE |
| HIGH | plugins/_infection_check/helpers/checker.py | 155 | except Exception: | CODE |
| HIGH | plugins/_infection_check/helpers/checker.py | 125 | except Exception: | CODE |
| HIGH | plugins/_infection_check/helpers/checker.py | 165 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | …_integration/extensions/python/job_loop/_10_wa_poll.py | 130 | except Exception: | CODE |
| HIGH | plugins/_whatsapp_integration/helpers/wa_client.py | 71 | except Exception: | CODE |
| HIGH | plugins/_whatsapp_integration/helpers/bridge_manager.py | 506 | except Exception: | CODE |
| HIGH | plugins/_whatsapp_integration/helpers/bridge_manager.py | 558 | except Exception: | CODE |
| HIGH | plugins/_whatsapp_integration/helpers/bridge_manager.py | 416 | except OSError: | CODE |
| HIGH | plugins/_whatsapp_integration/helpers/bridge_manager.py | 546 | except (ValueError, OSError): | CODE |
| HIGH | plugins/_whatsapp_integration/helpers/bridge_manager.py | 536 | except subprocess.SubprocessError: | CODE |
| HIGH | plugins/_oauth/helpers/codex.py | 1175 | except Exception: | CODE |
| HIGH | plugins/_oauth/helpers/codex.py | 1195 | except OSError: | CODE |
| HIGH | plugins/_oauth/helpers/codex.py | 1330 | except OSError: | CODE |
| HIGH | plugins/_oauth/helpers/codex.py | 1344 | except FileNotFoundError: | CODE |
| HIGH | plugins/_oauth/helpers/codex.py | 1317 | except OSError: | CODE |
| HIGH | plugins/_oauth/helpers/summary.py | 131 | except (TypeError, ValueError): | CODE |
| HIGH | plugins/_oauth/helpers/providers/codex.py | 139 | except Exception: | CODE |
| HIGH | plugins/_oauth/helpers/providers/github_copilot.py | 438 | except FileNotFoundError: | CODE |
| HIGH | plugins/_oauth/helpers/providers/xai_grok.py | 452 | except FileNotFoundError: | CODE |
| HIGH | plugins/_oauth/helpers/providers/common.py | 117 | except (TypeError, ValueError): | CODE |
| HIGH | plugins/_oauth/helpers/providers/gemini_api.py | 463 | except FileNotFoundError: | CODE |
| HIGH | plugins/_oauth/helpers/providers/base.py | 217 | except OSError: | CODE |
| HIGH | plugins/_migrate_agents/helpers/migration.py | 216 | except ValueError: | CODE |
| HIGH | plugins/_plugin_validator/api/plugin_validator_run.py | 41 | except Exception: | CODE |
| HIGH | plugins/_time_travel/helpers/time_travel.py | 1099 | except OSError: | CODE |
| HIGH | plugins/_time_travel/helpers/retention.py | 114 | except Exception: | CODE |
| HIGH | plugins/_time_travel/helpers/retention.py | 127 | except Exception: | CODE |
| HIGH | plugins/_time_travel/helpers/retention.py | 154 | except Exception: | CODE |
| HIGH | plugins/_time_travel/helpers/retention.py | 175 | except Exception: | CODE |
| HIGH | plugins/_time_travel/helpers/retention.py | 215 | except Exception: | CODE |
| HIGH | plugins/_time_travel/helpers/retention.py | 296 | except Exception: | CODE |
| HIGH | plugins/_time_travel/helpers/retention.py | 307 | except Exception: | CODE |
| HIGH | plugins/_time_travel/helpers/retention.py | 213 | except Exception: | CODE |
| HIGH | …thon/message_loop_prompts_after/_20_browser_context.py | 58 | except Exception: | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 1300 | except ProcessLookupError: | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 2839 | except (PlaywrightError, PlaywrightTimeoutError): | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 2081 | except Exception: | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 2761 | except Exception: | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 1224 | except Exception: | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 697 | except asyncio.CancelledError: | CODE |
| HIGH | plugins/_browser/helpers/runtime.py | 1196 | except Exception: | CODE |
| HIGH | plugins/_browser/helpers/url.py | 52 | except Exception: | CODE |
| HIGH | plugins/_browser/helpers/interactive_view.py | 231 | except (OSError, subprocess.TimeoutExpired): | CODE |
| HIGH | plugins/_browser/helpers/connector_runtime.py | 459 | except asyncio.CancelledError: | CODE |
| HIGH | plugins/_model_config/api/model_override.py | 20 | except Exception: | CODE |
| HIGH | …_desktop/skills/linux-desktop/scripts/calc_set_cell.py | 191 | except Exception: | CODE |
| HIGH | plugins/_desktop/helpers/desktop_session.py | 1985 | except OSError: | CODE |
| HIGH | plugins/_desktop/helpers/desktop_session.py | 2043 | except OSError: | CODE |
| HIGH | plugins/_desktop/helpers/desktop_session.py | 2154 | except OSError: | CODE |
| HIGH | plugins/_desktop/helpers/desktop_session.py | 2440 | except OSError: | CODE |
| HIGH | plugins/_desktop/helpers/desktop_session.py | 2486 | except AttributeError: | CODE |
| HIGH | plugins/_desktop/helpers/desktop_session.py | 2590 | except Exception: | CODE |
| 117 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …extensions/python/process_chain_end/_55_email_reply.py | 55 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …extensions/python/process_chain_end/_55_email_reply.py | 57 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …tegration/extensions/python/job_loop/_10_email_poll.py | 20 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …tegration/extensions/python/job_loop/_10_email_poll.py | 22 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …tegration/extensions/python/job_loop/_10_email_poll.py | 47 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …tegration/extensions/python/job_loop/_10_email_poll.py | 49 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …tegration/extensions/python/job_loop/_10_email_poll.py | 89 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …tegration/extensions/python/job_loop/_10_email_poll.py | 91 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/dispatcher.py | 70 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/dispatcher.py | 72 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/attachment_writer.py | 12 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/attachment_writer.py | 14 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/attachment_writer.py | 21 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/attachment_writer.py | 23 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/handler.py | 172 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/handler.py | 174 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/handler.py | 255 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/handler.py | 257 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/handler.py | 511 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/handler.py | 513 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/handler.py | 590 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/handler.py | 592 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 42 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 44 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 69 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 71 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 473 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 475 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 524 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 526 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 539 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 541 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 612 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/handler.py | 614 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/attachment_reader.py | 12 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/attachment_reader.py | 14 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/attachment_reader.py | 22 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/attachment_reader.py | 24 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/imap_client.py | 28 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/imap_client.py | 30 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/imap_client.py | 43 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/imap_client.py | 45 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/imap_client.py | 74 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/imap_client.py | 76 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/imap_client.py | 237 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/imap_client.py | 239 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/imap_client.py | 314 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/imap_client.py | 316 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/smtp_client.py | 19 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/smtp_client.py | 21 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/smtp_client.py | 34 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_email_integration/helpers/smtp_client.py | 36 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | plugins/_email_integration/helpers/smtp_client.py | 122 | # ------------------------------------------------------------------ | STRING |
| MEDIUM⚡ | plugins/_email_integration/helpers/smtp_client.py | 124 | # ------------------------------------------------------------------ | STRING |
| MEDIUM | plugins/_promptinclude/helpers/scanner.py | 12 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_promptinclude/helpers/scanner.py | 14 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_promptinclude/helpers/scanner.py | 28 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_promptinclude/helpers/scanner.py | 30 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_promptinclude/helpers/scanner.py | 115 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | plugins/_promptinclude/helpers/scanner.py | 117 | # ------------------------------------------------------------------ | COMMENT |
| 88 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | initialize.py | 3 | CODE | |
| LOW | run_ui.py | 3 | CODE | |
| LOW | run_ui.py | 3 | CODE | |
| LOW | agent.py | 6 | CODE | |
| LOW | agent.py | 8 | CODE | |
| LOW | agent.py | 10 | CODE | |
| LOW | agent.py | 35 | CODE | |
| LOW | agent.py | 35 | CODE | |
| LOW | tools/search_engine.py | 1 | CODE | |
| LOW | tools/search_engine.py | 2 | CODE | |
| LOW | tools/search_engine.py | 3 | CODE | |
| LOW | tools/search_engine.py | 3 | CODE | |
| LOW | tools/search_engine.py | 3 | CODE | |
| LOW | tools/search_engine.py | 5 | CODE | |
| LOW | tools/wait.py | 1 | CODE | |
| LOW | tools/skills_tool.py | 1 | CODE | |
| LOW | tools/document_query.py | 3 | CODE | |
| LOW | docker/run/fs/exe/self_update_manager.py | 2 | CODE | |
| LOW | plugins/_skills/hooks.py | 1 | CODE | |
| LOW | plugins/_skills/api/skills_catalog.py | 1 | CODE | |
| LOW | plugins/_email_integration/helpers/attachment_writer.py | 8 | CODE | |
| LOW | …/workdir_file_mutation_after/_40_sync_open_sessions.py | 1 | CODE | |
| LOW | …or/extensions/python/webui_ws_disconnect/_50_editor.py | 1 | CODE | |
| LOW | …ge_loop_prompts_after/_55_include_editor_open_files.py | 1 | CODE | |
| LOW | …_editor/extensions/python/webui_ws_event/_50_editor.py | 1 | CODE | |
| LOW | …thon/text_editor_patch_after/_40_sync_open_sessions.py | 1 | CODE | |
| LOW | …thon/text_editor_write_after/_40_sync_open_sessions.py | 1 | CODE | |
| LOW | plugins/_editor/api/editor_session.py | 1 | CODE | |
| LOW | plugins/_editor/api/ws_editor.py | 1 | CODE | |
| LOW | plugins/_editor/helpers/markdown_sessions.py | 1 | CODE | |
| LOW | plugins/_editor/helpers/open_files_context.py | 1 | CODE | |
| LOW | …t/handle_exception/end/_80_retry_critical_exception.py | 2 | CODE | |
| LOW | …t/handle_exception/end/_80_retry_critical_exception.py | 2 | CODE | |
| LOW | …t/handle_exception/end/_80_retry_critical_exception.py | 5 | CODE | |
| LOW | …t/handle_exception/end/_80_retry_critical_exception.py | 6 | CODE | |
| LOW | …onologue/start/_10_reset_critical_exception_counter.py | 1 | CODE | |
| LOW | …onologue/start/_10_reset_critical_exception_counter.py | 1 | CODE | |
| LOW | …onologue/start/_10_reset_critical_exception_counter.py | 3 | CODE | |
| LOW | …onologue/start/_10_reset_critical_exception_counter.py | 4 | CODE | |
| LOW | …onologue/start/_10_reset_critical_exception_counter.py | 5 | CODE | |
| LOW | …onologue/start/_10_reset_critical_exception_counter.py | 6 | CODE | |
| LOW | …onologue/start/_10_reset_critical_exception_counter.py | 7 | CODE | |
| LOW | plugins/_infection_check/helpers/checker.py | 13 | CODE | |
| LOW | plugins/_infection_check/helpers/checker.py | 14 | CODE | |
| LOW | plugins/_whatsapp_integration/helpers/slash_commands.py | 2 | CODE | |
| LOW | plugins/_whatsapp_integration/helpers/number_utils.py | 3 | CODE | |
| LOW | plugins/_whatsapp_integration/helpers/bridge_manager.py | 7 | CODE | |
| LOW | …xtensions/python/startup_migration/_20_oauth_routes.py | 1 | CODE | |
| LOW | …/models/get_api_key/end/_20_oauth_account_dummy_key.py | 1 | CODE | |
| LOW | plugins/_oauth/api/start_login.py | 1 | CODE | |
| LOW | plugins/_oauth/api/models.py | 1 | CODE | |
| LOW | plugins/_oauth/api/disconnect.py | 1 | CODE | |
| LOW | plugins/_oauth/api/manual_callback.py | 1 | CODE | |
| LOW | plugins/_oauth/api/poll_device_login.py | 1 | CODE | |
| LOW | plugins/_oauth/api/start_device_login.py | 1 | CODE | |
| LOW | plugins/_oauth/api/status.py | 1 | CODE | |
| LOW | plugins/_oauth/helpers/config.py | 1 | CODE | |
| LOW | plugins/_oauth/helpers/codex.py | 1 | CODE | |
| LOW | plugins/_oauth/helpers/codex.py | 20 | CODE | |
| LOW | plugins/_oauth/helpers/usage_plans.py | 1 | CODE | |
| 431 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | models.py | 60 | CODE | |
| LOW | models.py | 202 | CODE | |
| LOW | models.py | 401 | CODE | |
| LOW | models.py | 537 | CODE | |
| LOW | models.py | 651 | CODE | |
| LOW | initialize.py | 84 | CODE | |
| LOW | agent.py | 394 | CODE | |
| LOW | agent.py | 1345 | CODE | |
| LOW | agent.py | 1435 | CODE | |
| LOW | tools/vision_load.py | 26 | CODE | |
| LOW | tools/scheduler.py | 121 | CODE | |
| LOW | docker/run/fs/exe/self_update_manager.py | 340 | CODE | |
| LOW | docker/run/fs/exe/self_update_manager.py | 990 | CODE | |
| LOW | docker/run/fs/exe/self_update_manager.py | 1101 | CODE | |
| LOW | docker/run/fs/exe/supervisor_event_listener.py | 11 | CODE | |
| LOW | plugins/_email_integration/helpers/handler.py | 73 | CODE | |
| LOW | plugins/_email_integration/helpers/imap_client.py | 263 | CODE | |
| LOW | plugins/_email_integration/helpers/imap_client.py | 318 | CODE | |
| LOW | plugins/_email_integration/helpers/imap_client.py | 401 | CODE | |
| LOW | plugins/_promptinclude/helpers/scanner.py | 132 | CODE | |
| LOW | …_integration/extensions/python/job_loop/_10_wa_poll.py | 45 | CODE | |
| LOW | plugins/_whatsapp_integration/helpers/handler.py | 67 | CODE | |
| LOW | plugins/_whatsapp_integration/helpers/handler.py | 355 | CODE | |
| LOW | plugins/_whatsapp_integration/helpers/slash_commands.py | 39 | CODE | |
| LOW | plugins/_whatsapp_integration/helpers/slash_commands.py | 95 | CODE | |
| LOW | plugins/_whatsapp_integration/helpers/slash_commands.py | 204 | CODE | |
| LOW | plugins/_whatsapp_integration/helpers/bridge_manager.py | 184 | CODE | |
| LOW | plugins/_whatsapp_integration/helpers/bridge_manager.py | 518 | CODE | |
| LOW | plugins/_oauth/helpers/codex.py | 895 | CODE | |
| LOW | plugins/_oauth/helpers/codex.py | 929 | CODE | |
| LOW | plugins/_oauth/helpers/codex.py | 983 | CODE | |
| LOW | plugins/_oauth/helpers/codex.py | 1001 | CODE | |
| LOW | plugins/_oauth/helpers/codex.py | 1076 | CODE | |
| LOW | plugins/_oauth/helpers/codex.py | 1251 | CODE | |
| LOW | plugins/_migrate_agents/helpers/migration.py | 144 | CODE | |
| LOW | plugins/_migrate_agents/helpers/migration.py | 226 | CODE | |
| LOW | plugins/_migrate_agents/helpers/migration.py | 257 | CODE | |
| LOW | plugins/_migrate_agents/helpers/migration.py | 358 | CODE | |
| LOW | plugins/_migrate_agents/helpers/migration.py | 573 | CODE | |
| LOW | plugins/_migrate_agents/helpers/migration.py | 613 | CODE | |
| LOW | plugins/_migrate_agents/helpers/migration.py | 668 | CODE | |
| LOW | plugins/_migrate_agents/helpers/migration.py | 733 | CODE | |
| LOW | …/_plugin_validator/api/plugin_validator_prepare_zip.py | 26 | CODE | |
| LOW | plugins/_time_travel/helpers/retention.py | 206 | CODE | |
| LOW | plugins/_time_travel/helpers/retention.py | 234 | CODE | |
| LOW | plugins/_browser/tools/browser.py | 30 | CODE | |
| LOW | plugins/_browser/tools/browser.py | 549 | CODE | |
| LOW | plugins/_browser/api/ws_browser.py | 256 | CODE | |
| LOW | plugins/_browser/api/ws_browser.py | 345 | CODE | |
| LOW | plugins/_browser/api/ws_browser.py | 497 | CODE | |
| LOW | plugins/_browser/api/ws_browser.py | 633 | CODE | |
| LOW | plugins/_browser/helpers/extension_manager.py | 86 | CODE | |
| LOW | plugins/_browser/helpers/runtime.py | 348 | CODE | |
| LOW | plugins/_browser/helpers/runtime.py | 3162 | CODE | |
| LOW | plugins/_browser/helpers/runtime.py | 1793 | CODE | |
| LOW | plugins/_browser/helpers/runtime.py | 1854 | CODE | |
| LOW | plugins/_browser/helpers/runtime.py | 2658 | CODE | |
| LOW | plugins/_browser/helpers/connector_runtime.py | 139 | CODE | |
| LOW | plugins/_browser/helpers/connector_runtime.py | 236 | CODE | |
| LOW | plugins/_document_query/helpers/fetch.py | 124 | CODE | |
| 222 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 99 | # Step 1: Extract full conversation text | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 106 | # Step 2: Estimate tokens, resolve model, and compute context budget | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 113 | # Step 3: Create progress log item (count user-visible messages only) | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 122 | # Step 4: Handle large histories by chunking if necessary | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 135 | # Step 5: Save pre-compaction backup before destroying history | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 138 | # Step 6: Replace history with compacted version | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 156 | # Step 7: Reset log and create response | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 165 | # Step 8: Persist and notify | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 169 | # Step 9: Force progress bar to inactive state LAST | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 204 | # Step 3: Analyze with LLM (now with validated memories) | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 239 | # Step 4: Apply consolidation decisions | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 334 | # Step 1: Extract keywords/queries for enhanced search | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 339 | # Step 2: Semantic similarity search with real scores | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 378 | # Step 5: Sort by similarity score descending | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 384 | # Step 6: Limit to max context for LLM | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 586 | # Step 1: Remove original memories being merged | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 590 | # Step 2: Insert consolidated memory | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 664 | # Step 2: Proceed with normal replacement if similarity checks pass | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 668 | # Step 3: Insert replacement memory | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 124 | # Step 1: Discover similar memories | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 158 | # Step 2: Validate that similar memories still exist (they might have been deleted by previous consolidations) | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 350 | # Step 3: Keyword-based searches with real scores | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 364 | # Step 4: Deduplicate by document ID, keep highest score per memory ID | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 621 | # Step 1: Validate similarity scores for replacement safety | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 702 | # Step 1: Update existing memories | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 731 | # Step 2: Insert the new memory only when no existing memory was updated. | COMMENT |
| LOW | docs/developer/contributing-skills.md | 97 | ### Step 1: First Step | COMMENT |
| LOW | docs/developer/contributing-skills.md | 101 | ### Step 2: Second Step | COMMENT |
| LOW | docs/developer/contributing-skills.md | 153 | ### Step 1: Identify the Need | COMMENT |
| LOW | docs/developer/contributing-skills.md | 160 | ### Step 2: Create the Structure | COMMENT |
| LOW | docs/developer/contributing-skills.md | 171 | ### Step 3: Write the SKILL.md | COMMENT |
| LOW | docs/developer/contributing-skills.md | 201 | ### Step 4: Add Supporting Files (Optional) | COMMENT |
| LOW | docs/developer/contributing-skills.md | 224 | ### Step 5: Test Your Skill | COMMENT |
| LOW | docs/setup/vps-deployment.md | 123 | ### Step 1: Create Directory Structure | COMMENT |
| LOW | docs/setup/vps-deployment.md | 137 | ### Step 2: Create Environment Configuration | COMMENT |
| LOW | docs/setup/vps-deployment.md | 156 | ### Step 3: Choose Host Port | COMMENT |
| LOW | docs/setup/vps-deployment.md | 164 | ### Step 4: Pull and Run Container | COMMENT |
| LOW | docs/setup/vps-deployment.md | 179 | ### Step 5: Verify Container | COMMENT |
| LOW⚡ | docs/setup/dev-setup.md | 27 | ## Step 0: Install required software | COMMENT |
| LOW⚡ | docs/setup/dev-setup.md | 32 | ## Step 1: Clone or download the repository | COMMENT |
| LOW⚡ | docs/setup/dev-setup.md | 39 | ## Step 2: Open project folder in your IDE | COMMENT |
| LOW⚡ | docs/setup/dev-setup.md | 48 | # Step 3: Prepare your IDE: | COMMENT |
| LOW | docs/setup/dev-setup.md | 89 | ## Step 4: Run Agent Zero in the IDE | COMMENT |
| LOW | docs/setup/dev-setup.md | 122 | ## Step 5: Run another instance of Agent Zero in Docker | COMMENT |
| LOW | docs/setup/dev-setup.md | 134 | ## Step 6: Configure SSH and RFC connection | COMMENT |
| LOW | docs/setup/installation.md | 184 | ### Step 1: Install Docker Desktop | COMMENT |
| LOW | docs/setup/installation.md | 322 | ### Step 2: Run Agent Zero | COMMENT |
| LOW | docs/setup/installation.md | 402 | ## Step 3: Configure Agent Zero | COMMENT |
| LOW⚡ | docs/guides/a2a-setup.md | 19 | ### Step 1: Open A2A Configuration | COMMENT |
| LOW⚡ | docs/guides/a2a-setup.md | 28 | ### Step 2: Get Connection URL | COMMENT |
| LOW⚡ | docs/guides/a2a-setup.md | 38 | ### Step 3: Save Configuration | COMMENT |
| LOW | docs/guides/api-integration.md | 22 | ### Step 1: Get the API Code | COMMENT |
| LOW | docs/guides/api-integration.md | 37 | ### Step 2: Provide the Code to Agent Zero | COMMENT |
| LOW | docs/guides/api-integration.md | 55 | ### Step 3: Configure API Credentials | COMMENT |
| LOW | docs/guides/api-integration.md | 86 | ### Step 4: Generate the Image | COMMENT |
| LOW⚡ | webui/js/device.js | 33 | // Step 1: Check for touch capability (touchOnly or hybrid) | COMMENT |
| LOW⚡ | webui/js/device.js | 41 | // Step 2: Check for pointer/hover capability (pointerOnly or hybrid) | COMMENT |
| LOW | webui/components/settings/external/api-examples.html | 634 | // Step 1: Send message with attachments | COMMENT |
| LOW | webui/components/settings/external/api-examples.html | 654 | // Step 2: Retrieve the uploaded file | COMMENT |
| LOW | skills/a0-create-agent/SKILL.md | 53 | ## Step 0: Progressive Intake | COMMENT |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | models.py | 926 | # Check if this is a local sentence-transformers model | COMMENT |
| LOW | plugins/_model_config/api/model_config_set.py | 71 | # Check if embedding model changed and notify | COMMENT |
| LOW | plugins/_telegram_integration/helpers/handler.py | 379 | # Check if existing context is still alive | COMMENT |
| LOW | plugins/_memory/helpers/knowledge_import.py | 143 | # Check if file has changed | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory.py | 703 | # Check if project isolation is enabled and we are in a project | COMMENT |
| LOW | plugins/_code_execution/tools/code_execution_tool.py | 213 | # Check if session is running and handle it | COMMENT |
| LOW | plugins/_code_execution/helpers/shell_ssh.py | 225 | # Check if the last byte(s) form an incomplete multi-byte UTF-8 sequence | COMMENT |
| LOW | plugins/_code_execution/helpers/shell_ssh.py | 229 | # Check if the last byte is part of a multi-byte UTF-8 sequence (continuation byte) | COMMENT |
| LOW | plugins/_text_editor/helpers/file_ops.py | 318 | # Check if current line falls in a replace/delete range | COMMENT |
| LOW | …tensions/python/process_chain_end/_50_process_queue.py | 21 | # Check if there are queued messages | COMMENT |
| LOW | …ssage_loop_prompts_before/_90_organize_history_wait.py | 26 | # Check if the task is already done | COMMENT |
| LOW | api/api_terminate_chat.py | 37 | # Check if context exists | COMMENT |
| LOW | api/api_files_get.py | 65 | # Check if file exists | COMMENT |
| LOW | api/api_reset_chat.py | 37 | # Check if context exists | COMMENT |
| LOW | api/image_get.py | 192 | # Check if specific icon exists, fallback to generic file icon | COMMENT |
| LOW | api/scheduler_task_run.py | 30 | # Check if the task exists first | COMMENT |
| LOW | api/scheduler_task_run.py | 36 | # Check if task is already running | COMMENT |
| LOW | api/scheduler_task_create.py | 52 | # Check if schedule is provided (for ScheduledTask) | COMMENT |
| LOW | api/scheduler_task_delete.py | 26 | # Check if the task exists first | COMMENT |
| LOW | helpers/functions.py | 11 | # Check if function accepts *args / **kwargs | COMMENT |
| LOW | helpers/files.py | 97 | # Read the file content | COMMENT |
| LOW | helpers/files.py | 139 | # Read the file content | COMMENT |
| LOW | helpers/files.py | 216 | # Read the file content | COMMENT |
| LOW | helpers/files.py | 224 | # Read the file content | COMMENT |
| LOW⚡ | helpers/files.py | 741 | # Check if file is binary by reading a small chunk | COMMENT |
| LOW | helpers/backup.py | 230 | # Check if the pattern starts with the backed up agent zero root | COMMENT |
| LOW | helpers/backup.py | 287 | # Check if this hidden directory is explicitly included | COMMENT |
| LOW | helpers/backup.py | 538 | # Check if file matches restore patterns | COMMENT |
| LOW | helpers/backup.py | 697 | # Check if file matches restore patterns | COMMENT |
| LOW | helpers/backup.py | 807 | # Check if the archive path starts with the backed up agent zero root | COMMENT |
| LOW | helpers/mcp_handler.py | 1651 | # Check if this is a streaming HTTP type | COMMENT |
| LOW | helpers/browser.py | 147 | # # Check if frame is still valid | COMMENT |
| LOW | helpers/browser.py | 325 | # # Check if selector is our UID, return | COMMENT |
| LOW⚡ | helpers/api.py | 68 | if request.data: # Check if there's any data | CODE |
| LOW | helpers/file_browser.py | 364 | # Check if this is a symlink (permissions start with 'l') | COMMENT |
| LOW | helpers/rfc_files.py | 383 | # Write file | COMMENT |
| LOW | helpers/rfc_files.py | 616 | # Write file | COMMENT |
| LOW | helpers/fasta2a_server.py | 399 | # Check if reconfiguration is needed | COMMENT |
| LOW | helpers/fasta2a_server.py | 460 | # Check if path matches token pattern /t-{token}/ | COMMENT |
| LOW | helpers/projects.py | 138 | # Check if cloned repo already has .a0proj | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | initialize.py | 21 | COMMENT | |
| LOW | agent.py | 661 | # exception = exception_data["exception"] | COMMENT |
| LOW | tools/scheduler.py | 301 | COMMENT | |
| LOW | docker/run/fs/etc/searxng/settings.yml | 41 | # - autocomplete | COMMENT |
| LOW | docker/run/fs/etc/searxng/settings.yml | 81 | COMMENT | |
| LOW | docker/run/fs/ins/setup_venv.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker/base/fs/etc/searxng/settings.yml | 41 | # - method | COMMENT |
| LOW | docker/base/fs/etc/searxng/settings.yml | 81 | # - name: mediathekviewweb | COMMENT |
| LOW | plugins/_email_integration/default_config.yaml | 1 | handlers: [] | COMMENT |
| LOW | plugins/_email_integration/default_config.yaml | 21 | # dispatcher_instructions: "" | COMMENT |
| LOW | plugins/_browser/default_config.yaml | 21 | # JavaScript evaluate deadline in seconds, including result/state collection. | COMMENT |
| LOW | plugins/_browser/default_config.yaml | 41 | # - warn: allow and return a warning in tool output. | COMMENT |
| LOW | plugins/_telegram_integration/default_config.yaml | 1 | bots: [] | COMMENT |
| LOW | plugins/_code_execution/helpers/shell_ssh.py | 161 | while self.shell.recv_ready() and ( | COMMENT |
| LOW | plugins/_code_execution/helpers/shell_ssh.py | 181 | # ignore_patterns=[ | COMMENT |
| LOW | webui/js/timeout.js | 1 | // function timeout(ms: number, errorMessage: string = "Operation timed out") { | COMMENT |
| LOW | webui/js/modals.js | 481 | // modal.element.addEventListener( | COMMENT |
| LOW | conf/model_providers.yaml | 1 | # Supported model providers for Agent Zero | COMMENT |
| LOW | helpers/files.py | 61 | COMMENT | |
| LOW | helpers/browser.py | 1 | # import asyncio | COMMENT |
| LOW | helpers/browser.py | 21 | # load_timeout = 10000 | COMMENT |
| LOW | helpers/browser.py | 41 | # await self.close() | COMMENT |
| LOW | helpers/browser.py | 61 | COMMENT | |
| LOW | helpers/browser.py | 81 | # # Handle page navigation events | COMMENT |
| LOW | helpers/browser.py | 101 | # self.page.on("request", handle_request) | COMMENT |
| LOW | helpers/browser.py | 121 | # url, wait_until="networkidle", timeout=Browser.load_timeout | COMMENT |
| LOW | helpers/browser.py | 141 | # for frame in self.page.frames: | COMMENT |
| LOW | helpers/browser.py | 161 | COMMENT | |
| LOW | helpers/browser.py | 181 | # # print(f"Error when extracting from main frame: {e}") | COMMENT |
| LOW | helpers/browser.py | 201 | # tag.decompose() | COMMENT |
| LOW | helpers/browser.py | 221 | # tag.attrs = attrs | COMMENT |
| LOW | helpers/browser.py | 241 | COMMENT | |
| LOW | helpers/browser.py | 261 | # for tag in structural_tags: | COMMENT |
| LOW | helpers/browser.py | 281 | # self.last_selector = selector | COMMENT |
| LOW | helpers/browser.py | 301 | COMMENT | |
| LOW | helpers/browser.py | 321 | COMMENT | |
| LOW | helpers/browser.py | 341 | # "No page is open in the browser. Please open a URL first." | COMMENT |
| LOW | helpers/browser.py | 361 | COMMENT | |
| LOW | helpers/browser.py | 381 | # if nav_count != self.navigation_count: | COMMENT |
| LOW | helpers/email_client.py | 1 | # import asyncio | COMMENT |
| LOW | helpers/email_client.py | 21 | # @dataclass | COMMENT |
| LOW | helpers/email_client.py | 41 | # username: str = "", | COMMENT |
| LOW | helpers/email_client.py | 61 | # self.username = username | COMMENT |
| LOW | helpers/email_client.py | 81 | # f"Unsupported account type: {self.account_type}. " | COMMENT |
| LOW | helpers/email_client.py | 101 | # self.client = await loop.run_in_executor(None, _sync_connect) | COMMENT |
| LOW | helpers/email_client.py | 121 | # self.exchange_account = await loop.run_in_executor(None, _sync_connect) | COMMENT |
| LOW | helpers/email_client.py | 141 | COMMENT | |
| LOW | helpers/email_client.py | 161 | # filter = filter or {} | COMMENT |
| LOW | helpers/email_client.py | 181 | COMMENT | |
| LOW | helpers/email_client.py | 201 | COMMENT | |
| LOW | helpers/email_client.py | 221 | COMMENT | |
| LOW | helpers/email_client.py | 241 | # try: | COMMENT |
| LOW | helpers/email_client.py | 261 | # email_msg = email.message_from_bytes(email_data) | COMMENT |
| LOW | helpers/email_client.py | 281 | # self, | COMMENT |
| LOW | helpers/email_client.py | 301 | # sender_pattern = filter["sender"].replace("*", "") | COMMENT |
| LOW | helpers/email_client.py | 321 | # try: | COMMENT |
| LOW | helpers/email_client.py | 341 | COMMENT | |
| LOW | helpers/email_client.py | 361 | # sender=str(ex_msg.sender.email_address) if ex_msg.sender else "", | COMMENT |
| LOW | helpers/email_client.py | 381 | # # Extract body and attachments | COMMENT |
| LOW | helpers/email_client.py | 401 | # filename = self._decode_header(filename) | COMMENT |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 99 | # Step 1: Extract full conversation text | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 106 | # Step 2: Estimate tokens, resolve model, and compute context budget | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 113 | # Step 3: Create progress log item (count user-visible messages only) | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 122 | # Step 4: Handle large histories by chunking if necessary | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 135 | # Step 5: Save pre-compaction backup before destroying history | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 138 | # Step 6: Replace history with compacted version | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 156 | # Step 7: Reset log and create response | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 165 | # Step 8: Persist and notify | COMMENT |
| LOW⚡ | plugins/_chat_compaction/helpers/compactor.py | 169 | # Step 9: Force progress bar to inactive state LAST | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 204 | # Step 3: Analyze with LLM (now with validated memories) | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 239 | # Step 4: Apply consolidation decisions | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 334 | # Step 1: Extract keywords/queries for enhanced search | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 339 | # Step 2: Semantic similarity search with real scores | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 378 | # Step 5: Sort by similarity score descending | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 384 | # Step 6: Limit to max context for LLM | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 586 | # Step 1: Remove original memories being merged | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 590 | # Step 2: Insert consolidated memory | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 664 | # Step 2: Proceed with normal replacement if similarity checks pass | COMMENT |
| LOW⚡ | plugins/_memory/helpers/memory_consolidation.py | 668 | # Step 3: Insert replacement memory | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 124 | # Step 1: Discover similar memories | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 158 | # Step 2: Validate that similar memories still exist (they might have been deleted by previous consolidations) | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 350 | # Step 3: Keyword-based searches with real scores | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 364 | # Step 4: Deduplicate by document ID, keep highest score per memory ID | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 621 | # Step 1: Validate similarity scores for replacement safety | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 702 | # Step 1: Update existing memories | COMMENT |
| LOW | plugins/_memory/helpers/memory_consolidation.py | 731 | # Step 2: Insert the new memory only when no existing memory was updated. | COMMENT |
| LOW⚡ | webui/js/device.js | 33 | // Step 1: Check for touch capability (touchOnly or hybrid) | COMMENT |
| LOW⚡ | webui/js/device.js | 41 | // Step 2: Check for pointer/hover capability (pointerOnly or hybrid) | COMMENT |
| LOW | webui/components/settings/external/api-examples.html | 634 | // Step 1: Send message with attachments | COMMENT |
| LOW | webui/components/settings/external/api-examples.html | 654 | // Step 2: Retrieve the uploaded file | COMMENT |
| LOW⚡ | helpers/skills_cli.py | 93 | ### Step 1: First Step | COMMENT |
| LOW⚡ | helpers/skills_cli.py | 97 | ### Step 2: Second Step | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/document_query.py | 5 | __all__ = ["DocumentQueryTool"] | CODE |
| LOW | plugins/_context_window/tests/test_context_window.py | 25 | def set_progress(self, _message: str) -> None: | CODE |
| LOW | plugins/_editor/helpers/markdown_sessions.py | 435 | def _set_session_base(session: MarkdownSession, doc: dict[str, Any]) -> None: | CODE |
| LOW | plugins/_oauth/helpers/providers/__init__.py | 27 | __all__ = [ | CODE |
| LOW⚡ | plugins/_browser/helpers/runtime.py | 786 | def _set_last_interacted(self, context_id: str, browser_id: int | None) -> None: | STRING |
| LOW | plugins/_browser/helpers/runtime.py | 2830 | async def _settle(self, page: Any, short: bool = False) -> None: | STRING |
| LOW | plugins/_document_query/helpers/parsers/__init__.py | 33 | __all__ = [ | CODE |
| LOW | plugins/_desktop/helpers/desktop_session.py | 2377 | def _set_registry_prop(root: ET.Element, item_path: str, prop_name: str, value: str) -> None: | STRING |
| LOW | plugins/_desktop/helpers/desktop_routes.py | 6 | __all__ = ["VirtualDesktopGateway", "install_route_hooks", "is_installed"] | CODE |
| LOW | plugins/_kokoro_tts/helpers/__init__.py | 3 | __all__ = ["runtime"] | CODE |
| LOW | plugins/_commands/helpers/commands.py | 1017 | def _set_flag_value(flags: dict[str, Any], key: str, value: Any) -> None: | CODE |
| LOW | plugins/_telegram_integration/helpers/draft_stream.py | 74 | async def update_response(context: AgentContext, response_text: str) -> None: | CODE |
| LOW | plugins/_telegram_integration/helpers/command_ui.py | 481 | def _set_session_mapping(context: AgentContext) -> None: | CODE |
| LOW | plugins/_office/helpers/artifact_editor.py | 1324 | def _set_word_paragraph_text(paragraph: ET.Element, text: str) -> None: | CODE |
| LOW | plugins/_office/helpers/artifact_editor.py | 1348 | def _set_drawing_paragraph_text(paragraph: ET.Element, text: str) -> None: | CODE |
| LOW | plugins/_office/helpers/artifact_editor.py | 1631 | def _set_matrix_value(rows: list[list[Any]], row_idx: int, col_idx: int, value: Any) -> None: | CODE |
| LOW⚡ | tests/test_http_auth_csrf.py | 27 | def _set_session(client, **values) -> None: | CODE |
| LOW⚡ | tests/test_http_auth_csrf.py | 33 | def _set_csrf_cookie(client, token: str) -> None: | CODE |
| LOW | tests/test_file_tree_visualize.py | 122 | def _set_entry_times(relative_path: str, timestamp: float) -> None: | CODE |
| LOW | tests/test_stop_agent.py | 19 | def set_progress(self, progress: str, *, active: bool) -> None: | CODE |
| LOW | tests/test_prompt_protocol.py | 12 | def set_progress(self, _message: str) -> None: | CODE |
| LOW | api/image_get.py | 117 | def _set_image_headers(response: Response, filename: str, file_ext: str) -> None: | CODE |
| LOW | helpers/watchdog.py | 411 | __all__ = [ | CODE |
| LOW | helpers/notification.py | 204 | def update_item(self, no: int, **kwargs) -> None: | CODE |
| LOW | helpers/ws_manager.py | 253 | def set_shared_ws_manager(manager: "WsManager") -> None: | CODE |
| LOW | helpers/ws_manager.py | 1645 | def set_server_restart_broadcast(self, enabled: bool) -> None: | CODE |
| LOW | helpers/localization.py | 100 | def set_timezone(self, timezone: str) -> None: | CODE |
| LOW⚡ | helpers/parallel_tools.py | 728 | def _update_parallel_child_log(job: ParallelJob) -> None: | CODE |
| LOW | helpers/defer.py | 223 | def set_result(result: Any) -> None: | CODE |
| LOW | helpers/defer.py | 229 | def set_exception(exception: BaseException) -> None: | CODE |
| LOW | helpers/settings.py | 419 | def set_runtime_settings_snapshot(settings: Settings) -> None: | CODE |
| LOW | helpers/document_query.py | 9 | __all__ = [ | CODE |
| LOW | helpers/projects.py | 704 | def set_project_subagent_enabled(name: str, profile_id: str, enabled: bool) -> None: | CODE |
| LOW | helpers/kvp.py | 40 | def set_runtime(key: str, value: Any) -> None: | CODE |
| LOW | helpers/kvp.py | 68 | def set_persistent(key: str, value: Any) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docker/base/fs/ins/install_searxng.sh | 21 | # Create the searxng directory and set ownership | COMMENT |
| MEDIUM | …sions/python/message_loop_result/_10_context_doctor.py | 109 | # Create a response log item when streaming did not create one | COMMENT |
| MEDIUM | api/scheduler_task_create.py | 73 | # Create a scheduled task | COMMENT |
| MEDIUM | api/scheduler_task_create.py | 106 | # Create a planned task | COMMENT |
| MEDIUM | api/scheduler_task_create.py | 124 | # Create an ad-hoc task | COMMENT |
| MEDIUM | helpers/print_catch.py | 11 | # Create a StringIO object to capture the output | COMMENT |
| MEDIUM | helpers/print_catch.py | 15 | # Define a function to get the current captured output | COMMENT |
| MEDIUM | helpers/settings.py | 840 | # This function is kept for backward compatibility but returns an empty dict. | COMMENT |
| MEDIUM | helpers/modules.py | 9 | T = TypeVar("T") # Define a generic type variable | CODE |
| MEDIUM | helpers/modules.py | 17 | # Create the module spec and load the module | COMMENT |
| MEDIUM | helpers/duckduckgo_search.py | 4 | # # Create an instance with custom parameters | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …components/modals/scheduler/scheduler-task-editor.html | 144 | <button @click.prevent="$store.schedulerStore.editingTask.plan.todo.spli | CODE |
| CRITICAL | …components/modals/scheduler/scheduler-task-editor.html | 349 | <button @click.prevent="$store.schedulerStore.editingTask.plan.todo.spli | CODE |
| CRITICAL | helpers/microsoft_tunnel.py | 9 | from flaredantic.core.exceptions import MicrosoftTunnelError | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | models.py | 537 | CODE | |
| LOW | models.py | 651 | CODE | |
| LOW | agent.py | 64 | CODE | |
| LOW | plugins/_browser/tools/browser.py | 30 | CODE | |
| LOW | plugins/_browser/helpers/runtime.py | 2518 | CODE | |
| LOW | plugins/_desktop/helpers/desktop_state.py | 630 | CODE | |
| LOW | plugins/_commands/helpers/commands.py | 400 | CODE | |
| LOW | plugins/_telegram_integration/helpers/draft_stream.py | 375 | CODE | |
| LOW | plugins/_memory/helpers/memory.py | 609 | CODE | |
| LOW | plugins/_code_execution/tools/code_execution_tool.py | 264 | CODE | |
| LOW | plugins/_code_execution/tools/code_execution_tool.py | 541 | CODE | |
| LOW | plugins/_office/tools/office_artifact.py | 14 | CODE | |
| LOW | plugins/_office/helpers/artifact_editor.py | 73 | CODE | |
| LOW | plugins/_office/helpers/artifact_editor.py | 148 | CODE | |
| LOW | api/rfc.py | 17 | CODE | |
| LOW | helpers/plugins.py | 658 | CODE | |
| LOW | helpers/files.py | 454 | CODE | |
| LOW | helpers/file_tree.py | 31 | CODE | |
| LOW | helpers/task_scheduler.py | 183 | CODE | |
| LOW | helpers/task_scheduler.py | 307 | CODE | |
| LOW | helpers/task_scheduler.py | 362 | CODE | |
| LOW | helpers/task_scheduler.py | 445 | CODE | |
| LOW | helpers/perplexity_search.py | 33 | CODE | |
| LOW | helpers/vector_db.py | 138 | CODE | |
| LOW | helpers/rfc.py | 41 | CODE | |
| LOW | helpers/tool.py | 74 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | preload.py | 21 | # preload embedding model | COMMENT |
| MEDIUM | agent.py | 617 | # store as last context window content | COMMENT |
| MEDIUM | tools/vision_load.py | 21 | # image token estimation for context window | COMMENT |
| MEDIUM | tools/scheduler.py | 93 | # Validate cron expression, agent might hallucinate | COMMENT |
| MEDIUM | plugins/_model_config/api/model_config_set.py | 71 | # Check if embedding model changed and notify | COMMENT |
| MEDIUM | docs/README.md | 109 | - [Multi-Agent Cooperation](guides/usage.md#multi-agent-cooperation) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/skills_tool.py | 139 | ) as e: # keep tool robust; return error instead of crashing loop | CODE |
| MEDIUM | plugins/_model_config/helpers/model_config.py | 118 | # The plugin hook resolves selection-only config. Keep this boundary robust | COMMENT |
| MEDIUM | api/ws_dev_test.py | 171 | # may process them). Only warn for events that look like dev-harness | COMMENT |
| MEDIUM | webui/js/websocket.js | 404 | // the Engine.IO handshake. This is required for seamless reconnect after backend | COMMENT |
| LOW | helpers/skills_import.py | 168 | # If relative fails due to symlink oddities, just use leaf folder name | COMMENT |
| MEDIUM | helpers/backup.py | 368 | # Add comprehensive metadata | COMMENT |
| LOW | helpers/errors.py | 48 | # If no "File" lines found, or not enough to trim, just return the original traceback | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | plugins/_commands/helpers/commands.py | 552 | Resolve a slash command invocation, executing text rendering or a Python script hook. Args: path: P | STRING |
| HIGH | helpers/file_tree.py | 43 | Render a directory tree relative to the repository base path. Parameters: relative_path: Base directory (re | STRING |
| HIGH | helpers/rfc_files.py | 314 | Find a file in the main directory or backup directories. Args: file_path: Relative file path to search | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | plugins/_browser/assets/browser-page-content.js | 1204 | const placeholderText = normalizeAttributeText(element?.getAttribute?.("placeholder")); | CODE |
| LOW | plugins/_browser/assets/browser-page-content.js | 1398 | const placeholder = normalizeAttributeText(element.getAttribute?.("placeholder")); | CODE |
| LOW | plugins/_browser/assets/browser-page-content.js | 1487 | const placeholder = normalizeAttributeText(element.getAttribute?.("placeholder")); | CODE |
| LOW⚡ | tests/test_oauth_providers.py | 194 | account_label="user@example.com", | CODE |
| LOW⚡ | tests/test_oauth_providers.py | 200 | account_label="user@example.com", | CODE |
| LOW⚡ | tests/test_oauth_providers.py | 204 | assert poll.account_label == "user@example.com" | CODE |
| LOW⚡ | tests/test_oauth_providers.py | 206 | assert callback.account_label == "user@example.com" | CODE |
| LOW | tests/test_oauth_providers.py | 364 | "account_label": "user@example.com", | CODE |
| LOW | tests/test_oauth_providers.py | 379 | assert summary["oauth_accounts"]["connected"][0]["account_label"] == "user@example.com" | CODE |
| LOW | tests/test_oauth_providers.py | 651 | account_label="user@example.com", | CODE |
| LOW | tests/test_oauth_providers.py | 675 | assert response["account_label"] == "user@example.com" | CODE |
| LOW | tests/test_oauth_gemini_api.py | 156 | "id_token": _jwt({"email": "user@example.com"}), | CODE |
| LOW | tests/test_oauth_gemini_api.py | 168 | assert result.account_label == "user@example.com" | CODE |
| LOW | tests/test_email_integration_sender.py | 57 | smtp_client.SmtpConfig("unused", username="agent@example.org"), | CODE |
| LOW | helpers/browser.py | 211 | # "placeholder", | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/developer/mcp-configuration.md | 32 | "Authorization": "Bearer YOUR_API_KEY" | CODE |
| HIGH | docs/guides/mcp-setup.md | 114 | "Authorization": "Bearer YOUR_API_KEY" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run_tunnel.py | 35 | async def handle_request(): | CODE |
| LOW | agent.py | 287 | def run_task( | CODE |
| LOW | tools/scheduler.py | 207 | async def run_task(self, **kwargs) -> Response: | CODE |
| LOW | helpers/browser.py | 92 | # async def handle_request(request): | COMMENT |
| LOW⚡ | helpers/api.py | 62 | async def handle_request(self, request: Request) -> Response: | CODE |
| LOW | helpers/fasta2a_server.py | 35 | async def run_task(self, params): | CODE |
| LOW | helpers/fasta2a_server.py | 94 | async def run_task(self, params: Any) -> None: # params: TaskSendParams | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | agents/_example/tools/example_tool.py | 4 | # don't forget to include instructions in the system prompt by creating | COMMENT |
| LOW | agents/_example/tools/example_tool.py | 4 | # don't forget to include instructions in the system prompt by creating | COMMENT |
| LOW | helpers/task_scheduler.py | 493 | # If we updated the plan, make sure to persist it | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | webui/components/settings/external/api-examples.html | 418 | // Example usage | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | webui/js/transformers@3.0.2.js | 100 | var r,a,s,i,o,l,u,d,c,p,h,m,f,g,_,w,y,b,v,x,M,T,k,$,C,S,P,E,F,A,I,z,O,B,L=Object.defineProperty,D=Object.getOwnPropertyD | CODE |