AI Slop Code RIsk Monitor

AstrBotDevs/AstrBot

AI Agent Assistant & development framework that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨

17.6 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for AstrBotDevs/AstrBot, a Python project with 41,682 GitHub stars. SynthScan examined 426,612 lines of code across 1703 source files, recording 6126 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 17.6 (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.

17.6
Adjusted Signal
17.6
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
41.7K
Stars
Python
Language
426.6K
Lines of Code
1.7K
Files
6.1K
Pattern Hits
2026-10-12
Scan Date
0.19
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 40.2/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 4131 finding(s).

Hallucinated Dependency & Supply Chain Risk 9.1/100 · LOW

Are imports declared and package/API names verified? 600 finding(s).

Agent Over-Engineering Ratio 48.1/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 4986 finding(s).

PR Review Velocity Impact 62.0/100 · HIGH

Which changes need focused human review? 6126 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 29HIGH 299MEDIUM 183LOW 5615

Directory Score Breakdown

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.

Pattern Findings

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

Hyper-Verbose Identifiers3556 hits · 3253 pts
SeverityFileLineSnippetContext
LOWruntime_bootstrap.py12def _try_patch_aiohttp_ssl_context(CODE
LOW⚡runtime_bootstrap.py36def configure_runtime_ca_bundle(log_obj: Any | None = None) -> bool:CODE
LOW⚡runtime_bootstrap.py47def initialize_runtime_bootstrap(log_obj: Any | None = None) -> bool:CODE
LOWastrbot/core/log.py258 def _ensure_logger_enricher_filter(cls, logger: logging.Logger) -> None:CODE
LOWastrbot/core/log.py269 def _ensure_logger_intercept_handler(cls, logger: logging.Logger) -> None:CODE
LOWastrbot/core/log.py296 def _load_plugin_level_overrides(cls) -> dict[str, str]:CODE
LOWastrbot/core/log.py375 def _effective_plugin_log_level(cls, plugin_name: str) -> int:CODE
LOWastrbot/core/astr_main_agent.py400async def _get_workspace_path_for_umo(umo: str, plugin_context: Context) -> Path:CODE
LOWastrbot/core/astr_main_agent.py422async def _apply_workspace_extra_prompt(CODE
LOWastrbot/core/astr_main_agent.py508def _filter_skills_for_current_config(CODE
LOWastrbot/core/astr_main_agent.py540async def _ensure_persona_and_skills(CODE
LOWastrbot/core/astr_main_agent.py810def _append_quoted_audio_attachment(req: ProviderRequest, audio_path: str) -> None:CODE
LOWastrbot/core/astr_main_agent.py856def _get_quoted_message_parser_settings(CODE
LOWastrbot/core/astr_main_agent.py1242def _proactive_cron_job_tools(req: ProviderRequest, plugin_context: Context) -> None:CODE
LOWastrbot/core/astr_main_agent.py1285def _apply_web_search_citation_prompt(CODE
LOWastrbot/core/astr_main_agent.py1338def _get_fallback_chat_providers(CODE
LOWastrbot/core/astr_main_agent.py1372def _provider_supports_modality(provider: Provider, modality: str) -> bool:CODE
LOWastrbot/core/astr_main_agent.py1379def _select_image_chat_provider(CODE
LOWastrbot/core/astr_main_agent.py1406def _matches_provider_wake_prefix(CODE
LOWastrbot/core/desktop_runtime.py14def is_desktop_managed_backend() -> bool:CODE
LOWastrbot/core/desktop_runtime.py18def get_desktop_session_secret() -> str | None:CODE
LOWastrbot/core/desktop_runtime.py29def is_desktop_session_auth_enabled() -> bool:CODE
LOWastrbot/core/desktop_runtime.py48def verify_desktop_session_secret(CODE
LOWastrbot/core/astr_agent_tool_exec.py63 def _collect_image_urls_from_args(cls, image_urls_raw: T.Any) -> list[str]:CODE
LOWastrbot/core/astr_agent_tool_exec.py82 async def _collect_image_urls_from_message(CODE
LOWastrbot/core/astr_agent_tool_exec.py107 async def _collect_handoff_image_urls(CODE
LOWastrbot/core/astr_agent_tool_exec.py209 def _get_runtime_computer_tools(CODE
LOWastrbot/core/astr_agent_tool_exec.py405 async def _execute_handoff_background(CODE
LOWastrbot/core/astr_agent_tool_exec.py424 async def _run_handoff_in_background() -> None:CODE
LOWastrbot/core/astr_agent_tool_exec.py539 async def _wake_main_agent_for_background_result(CODE
LOWastrbot/core/zip_updater.py267 def _resolve_archive_root_dir(entries: list[str]) -> str:CODE
LOWastrbot/core/zip_updater.py296 def _finalize_extracted_archive(CODE
LOWastrbot/core/astr_agent_run_util.py61def _build_tool_call_status_message(tool_info: dict | None) -> str:CODE
LOWastrbot/core/astr_agent_run_util.py67def _build_tool_result_status_message(CODE
LOWastrbot/core/astr_agent_run_util.py90def _should_buffer_llm_result(CODE
LOWastrbot/core/astr_agent_run_util.py102def _merge_buffered_llm_chains(CODE
LOWastrbot/core/conversation_mgr.py30 def register_on_session_deleted(CODE
LOWastrbot/core/conversation_mgr.py160 async def delete_conversations_by_user_id(self, unified_msg_origin: str) -> None:CODE
LOWastrbot/core/conversation_mgr.py240 async def get_filtered_conversations(CODE
LOWastrbot/core/conversation_mgr.py310 async def update_conversation_title(CODE
LOWastrbot/core/conversation_mgr.py335 async def update_conversation_persona_id(CODE
LOWastrbot/core/conversation_mgr.py392 async def get_human_readable_context(CODE
LOWastrbot/core/process_restart.py19def _terminate_child_processes() -> None:CODE
LOWastrbot/core/process_restart.py66def _build_frozen_restart_args() -> list[str]:CODE
LOWastrbot/core/process_restart.py78def _reset_pyinstaller_environment() -> None:CODE
LOWastrbot/core/workspace.py22def normalize_umo_for_workspace(umo: str) -> str:CODE
LOWastrbot/core/workspace.py35def normalize_project_workspace_type(value: Any) -> str:CODE
LOWastrbot/core/workspace.py121def resolve_project_workspace_root(project: Any, *, fallback_umo: str) -> Path:CODE
LOWastrbot/core/workspace.py191async def resolve_workspace_root_for_umo(CODE
LOW⚡astrbot/core/persona_error_reply.py9def normalize_persona_custom_error_message(value: object) -> str | None:CODE
LOW⚡astrbot/core/persona_error_reply.py17def extract_persona_custom_error_message_from_persona(CODE
LOW⚡astrbot/core/persona_error_reply.py26def extract_persona_custom_error_message_from_event(event: Any) -> str | None:CODE
LOW⚡astrbot/core/persona_error_reply.py37def set_persona_custom_error_message_on_event(CODE
LOW⚡astrbot/core/persona_error_reply.py50async def resolve_persona_custom_error_message(CODE
LOWastrbot/core/persona_error_reply.py72async def resolve_event_conversation_persona_id(CODE
LOWastrbot/core/core_lifecycle.py99 async def _init_or_reload_subagent_orchestrator(self) -> None:CODE
LOWastrbot/core/core_lifecycle.py117 def _warn_about_unset_default_chat_provider(self) -> None:CODE
LOWastrbot/core/core_lifecycle.py472 async def reload_pipeline_scheduler(self, conf_id: str) -> None:CODE
LOWastrbot/core/pipeline/bootstrap.py34def ensure_builtin_stages_registered() -> None:CODE
LOWastrbot/core/pipeline/rate_limit_check/stage.py94 def _remove_expired_timestamps(CODE
3496 more matches not shown…
Excessive Try-Catch Wrapping1011 hits · 1041 pts
SeverityFileLineSnippetContext
LOWmain.py114 except Exception as e:STRING
LOW⚡runtime_bootstrap.py42 except Exception as exc:CODE
LOWastrbot/core/persona_mgr.py493 except Exception as e:CODE
LOWastrbot/core/initial_loader.py31 except Exception as e:CODE
LOWastrbot/core/log.py362 except Exception:CODE
LOWastrbot/core/log.py501 except Exception:CODE
LOWastrbot/core/log.py523 except Exception:CODE
LOWastrbot/core/log.py564 except Exception as e:CODE
LOWastrbot/core/astrbot_config_mgr.py118 except Exception:CODE
LOWastrbot/core/astrbot_config_mgr.py252 except Exception as e:CODE
LOWastrbot/core/file_token_service.py64 except Exception:CODE
LOWastrbot/core/dashboard_assets.py333 except Exception as exc:CODE
LOWastrbot/core/astr_main_agent.py329 except Exception as exc: # noqa: BLE001CODE
LOWastrbot/core/astr_main_agent.py418 except Exception:CODE
LOWastrbot/core/astr_main_agent.py436 except Exception as exc: # noqa: BLE001CODE
LOWastrbot/core/astr_main_agent.py704 except Exception:CODE
LOWastrbot/core/astr_main_agent.py796 except Exception as exc: # noqa: BLE001CODE
LOWastrbot/core/astr_main_agent.py824 except Exception as exc: # noqa: BLE001CODE
LOWastrbot/core/astr_main_agent.py954 except Exception as exc:CODE
LOWastrbot/core/astr_main_agent.py991 except Exception as exc: # noqa: BLE001CODE
LOWastrbot/core/astr_main_agent.py1113 except Exception as e:CODE
LOWastrbot/core/astr_main_agent.py1503 except Exception as exc:CODE
LOWastrbot/core/astr_main_agent.py1532 except Exception as exc: # noqa: BLE001CODE
LOWastrbot/core/astr_main_agent.py1569 except Exception as exc:CODE
LOWastrbot/core/astr_main_agent.py1599 except Exception as exc: # noqa: BLE001CODE
LOWastrbot/core/astr_main_agent.py1662 except Exception as exc: # noqa: BLE001CODE
LOWastrbot/core/astr_main_agent.py1789 except Exception as exc: # noqa: BLE001CODE
LOWastrbot/core/updater.py183 except Exception:CODE
LOWastrbot/core/updater.py355 except Exception as exc:CODE
LOWastrbot/core/updater.py368 except Exception:CODE
LOWastrbot/core/updater.py469 except Exception as exc:CODE
MEDIUMastrbot/core/astr_agent_tool_exec.py177def _run_in_background() -> None:CODE
MEDIUMastrbot/core/astr_agent_tool_exec.py424def _run_handoff_in_background() -> None:CODE
LOWastrbot/core/astr_agent_tool_exec.py97 except Exception as e:CODE
LOWastrbot/core/astr_agent_tool_exec.py185 except Exception as e: # noqa: BLE001CODE
LOWastrbot/core/astr_agent_tool_exec.py376 except Exception:CODE
LOWastrbot/core/astr_agent_tool_exec.py432 except Exception as e: # noqa: BLE001CODE
LOWastrbot/core/astr_agent_tool_exec.py477 except Exception as e:CODE
LOWastrbot/core/astr_agent_tool_exec.py518 except Exception as e:CODE
LOWastrbot/core/astr_agent_tool_exec.py768 except Exception as e:CODE
LOWastrbot/core/astr_agent_tool_exec.py847 except Exception:CODE
LOWastrbot/core/astr_agent_tool_exec.py853 except Exception as e:CODE
LOWastrbot/core/astr_agent_tool_exec.py879 except Exception as e:CODE
LOWastrbot/core/zip_updater.py183 except Exception as e:CODE
LOWastrbot/core/zip_updater.py316 except Exception:CODE
LOWastrbot/core/zip_updater.py341 except Exception:CODE
LOWastrbot/core/astr_agent_run_util.py320 except Exception as e:CODE
LOWastrbot/core/astr_agent_run_util.py349 except Exception:CODE
LOWastrbot/core/astr_agent_run_util.py478 except Exception as e:CODE
LOWastrbot/core/astr_agent_run_util.py512 except Exception as e:CODE
LOWastrbot/core/astr_agent_run_util.py572 except Exception as e:CODE
LOWastrbot/core/astr_agent_run_util.py587 except Exception as e:CODE
LOWastrbot/core/astr_agent_run_util.py619 except Exception as e:CODE
LOWastrbot/core/astr_agent_run_util.py625 except Exception as e:CODE
LOWastrbot/core/conversation_mgr.py55 except Exception as e:CODE
LOWastrbot/core/process_restart.py145 except Exception as exc:CODE
LOWastrbot/core/workspace.py179 except Exception:CODE
LOW⚡astrbot/core/persona_error_reply.py33 except Exception:CODE
LOW⚡astrbot/core/persona_error_reply.py45 except Exception:CODE
LOWastrbot/core/core_lifecycle.py114 except Exception as e:CODE
951 more matches not shown…
Docstring Block Structure138 hits · 690 pts
SeverityFileLineSnippetContext
HIGHAGENTS.md84Brief description of the function. Args: user_id: Description of the ID. force_refresh: DescriptionSTRING
HIGHastrbot/core/astrbot_config_mgr.py220Delete a configuration profile. Args: conf_id: Configuration profile ID. Returns: STRING
HIGHastrbot/core/file_token_service.py44Register a file for token-authorized access. Args: file_path: The local file path or file URI. STRING
HIGHastrbot/core/file_token_service.py84Resolve a file path, consuming the token only when it is single-use. Args: file_token: The token reSTRING
HIGHastrbot/core/dashboard_assets.py47Normalize a Dashboard version for comparison. Args: version: Version with an optional ``v`` prefix. ReSTRING
HIGHastrbot/core/astr_main_agent.py715Describe prepared images, preserving animation semantics. Args: provider_id: Caption provider ID. cSTRING
HIGHastrbot/core/updater.py144Download, validate, and apply matching Core and Dashboard packages. Args: version: Release tag or cSTRING
HIGHastrbot/core/updater.py394Download an AstrBot core update package without applying it. Args: latest: Whether to download the STRING
HIGHastrbot/core/updater.py483Apply a previously downloaded AstrBot core update package. Args: zip_path: Core update zip archive STRING
HIGHastrbot/core/workspace.py95Resolve a custom workspace path. Args: path: Stored workspace path. Relative values are rooted under AstrBoSTRING
HIGHastrbot/core/workspace.py122Resolve the workspace root from a project record. Args: project: Project-like object with workspace fields.STRING
HIGHastrbot/core/repository.py59Parse a public GitHub repository URL. Args: url: HTTP(S) GitHub URL, optionally ending in ``.git`` STRING
HIGHastrbot/core/repository.py144Normalize a repository locator without changing its transport. Args: url: GitHub shorthand, HTTP(S), SSH, oSTRING
HIGHastrbot/core/repository.py180Parse a repository locator without exposing its transfer implementation. Args: url: GitHub shorthand, HTTP(STRING
HIGHastrbot/core/tools/web_search_tools.py80Return the current key and advance the round-robin index. Args: provider_settings: Provider settingSTRING
HIGHastrbot/core/tools/web_search_tools.py189Call the Tavily Search API with API key failover. Args: provider_settings: Provider settings containing TavSTRING
HIGHastrbot/core/tools/web_search_tools.py250Call the Tavily Extract API with API key failover. Args: provider_settings: Provider settings containing TaSTRING
HIGHastrbot/core/tools/web_search_tools.py309Call the BoCha Search API with API key failover. Args: provider_settings: Provider settings containing BoChSTRING
HIGHastrbot/core/tools/web_search_tools.py375Call the Brave Search API with API key failover. Args: provider_settings: Provider settings containing BravSTRING
HIGHastrbot/core/tools/web_search_tools.py436Call the Firecrawl Search API with API key failover. Args: provider_settings: Provider settings containing STRING
HIGHastrbot/core/tools/web_search_tools.py502Call the Firecrawl Scrape API with API key failover. Args: provider_settings: Provider settings containing STRING
HIGHastrbot/core/tools/web_search_tools.py1255Call the AnySearch /v1/search endpoint and return normalized results. AnySearch also serves anonymous traffic with STRING
HIGHastrbot/core/config/agent_runner.py86Return an isolated default configuration for an Agent Runner type. Args: runner_type: Short runner type namSTRING
HIGHastrbot/core/config/agent_runner.py173Validate and normalize a complete Agent Runner configuration. Args: agent_runner: Untrusted root Agent RunnSTRING
HIGHastrbot/core/platform/platform.py171统一 Webhook 回调入口。 支持统一 Webhook 模式的平台需要实现此方法。 当 Dashboard 收到 /api/platform/webhook/{uuid} 请求时,会调用此方法。 STRING
HIGHastrbot/core/platform/sources/kook/kook_client.py78Gets and validates an object payload from a KOOK API endpoint. Args: url: Absolute KOOK API endpoinSTRING
HIGHastrbot/core/platform/sources/lark/lark_event.py201Send one IM message, retrying rejected private sends by chat ID once. Args: lark_client: Lark API cSTRING
HIGH…urces/weixin_official_account/weixin_offacc_adapter.py514Creates a Weixin Official Account message event. Args: message: AstrBot message object to wrap. STRING
HIGHastrbot/core/platform/sources/misskey/misskey_api.py834通用消息发送函数:统一处理文本+媒体发送 Args: message_type: 消息类型 ('chat', 'room', 'note') target_id: 目标ID STRING
HIGHastrbot/core/platform/sources/mattermost/client.py94Gets one page of channel membership records. Args: channel_id: Mattermost channel identifier. STRING
HIGHastrbot/core/platform/sources/mattermost/client.py129Gets user profiles in one Mattermost batch request. Args: user_ids: Mattermost user identifiers to STRING
HIGH…atform/sources/qqofficial/qqofficial_chunked_upload.py68Compute the hashes required by QQ in one pass over a file. Args: file_path: Local file to hash. ReturnSTRING
HIGH…atform/sources/qqofficial/qqofficial_chunked_upload.py101Read exactly one requested file part. Args: file_path: Local file to read. offset: Zero-based byte STRING
HIGH…atform/sources/qqofficial/qqofficial_chunked_upload.py144Upload a file for one C2C user. Args: file_path: Local file to upload. file_type: QQ meSTRING
HIGH…atform/sources/qqofficial/qqofficial_chunked_upload.py177Upload a file for one QQ group. Args: file_path: Local file to upload. file_type: QQ meSTRING
HIGH…atform/sources/qqofficial/qqofficial_chunked_upload.py210Run the shared QQ chunk transfer flow for one destination path. Args: file_path: Local file to uploSTRING
HIGH…atform/sources/qqofficial/qqofficial_chunked_upload.py546Call QQ directly so business error codes remain available. qq-botpy's response handler discards the structured STRING
HIGH…core/platform/sources/qqofficial/login_registration.py104Decrypt the AppSecret returned by QQ bot QR binding. Args: encrypted_secret: Base64 payload containing 12-bSTRING
HIGH…core/platform/sources/qqofficial/login_registration.py242Poll a QQ Official Bot QR binding task once. Args: platform_config: Platform configuration from the dashboaSTRING
HIGH…latform/sources/qqofficial/qqofficial_message_event.py751Upload media to a QQ group or C2C session. Args: file_source: Local file path or remote URL to uploSTRING
HIGHastrbot/core/provider/func_tool_manager.py1079Asynchronously activate a registered function-calling tool. Args: name: Tool name. starSTRING
HIGHastrbot/core/provider/manager.py231Resolve a provider preference with configuration fallbacks. Args: provider_type: Provider type to rSTRING
HIGHastrbot/core/provider/sources/bailian_rerank_source.py143解析API响应结果 Args: data: API响应数据 Returns: 重排序结果列表 Raises: BaSTRING
HIGH…trbot/core/provider/sources/openai_responses_source.py306Send a non-streaming Responses API request. Args: payloads: Prepared Responses API payload. STRING
HIGH…trbot/core/provider/sources/openai_responses_source.py377Send a streaming Responses API request. Args: payloads: Prepared Responses API payload. STRING
HIGH…trbot/core/provider/sources/openai_responses_source.py496Normalize a Responses API response into AstrBot's LLM response. Args: response: SDK Responses API rSTRING
HIGHastrbot/core/utils/upload.py33Stream an uploaded file to disk in 1 MiB blocks. The payload lands in a uniquely named sibling temp file and is STRING
HIGHastrbot/core/utils/media_utils.py301Decode a base64 payload while tolerating omitted padding. Args: payload: Base64 payload without a data URI STRING
HIGHastrbot/core/utils/media_utils.py1080Encode an owned frame below the byte limit while preserving transparency. Args: image: Decoded frame owned STRING
HIGHastrbot/core/utils/media_utils.py1271Prepare an image, reusing compliant local files without copying them. Args: image_ref: Source reference accSTRING
HIGHastrbot/core/utils/media_utils.py1452Convert a video file with ffmpeg. Args: video_path: Source video file path. output_format: Target fSTRING
HIGHastrbot/core/utils/media_utils.py1541Convert an audio file to the requested format with ffmpeg. Args: audio_path: Source audio file path. STRING
HIGHastrbot/core/utils/media_utils.py1667Ensure the audio path points to wav format by extension/guess and convert when needed. If the file appears to alreaSTRING
HIGHastrbot/core/utils/media_utils.py1712Ensure JPEG-compatible still images point to a JPEG file. Args: image_path: Local image path to inspect andSTRING
HIGHastrbot/core/utils/media_utils.py1875Extract a JPEG cover frame from a video. Args: video_path: Source video file path. output_path: OptSTRING
HIGHastrbot/core/utils/async_generator.py12Advance and close a generator in one task, only when a caller requests it. Args: generator: Generator ownedSTRING
HIGHastrbot/core/utils/toml_parser.py7Read one quoted TOML string value and return its tail. Args: value: Raw value text that starts with a quoteSTRING
HIGHastrbot/core/utils/toml_parser.py35Read a simple inline TOML string array. Args: raw_value: Raw dependency array text, including the surroundiSTRING
HIGHastrbot/core/utils/toml_parser.py76Read project dependencies from a pyproject.toml file. Args: pyproject_path: Path to the pyproject.toml fileSTRING
HIGHastrbot/core/utils/tencent_record_helper.py17Decode a Tencent Silk file to 24 kHz mono PCM WAV. Args: silk_path: Input Tencent Silk file path. oSTRING
78 more matches not shown…
Empty Error Handlers125 hits · 625 pts
SeverityFileLineSnippetContext
HIGHastrbot/core/log.py439except ValueError:CODE
HIGHastrbot/core/log.py166except asyncio.QueueFull:CODE
HIGHastrbot/core/log.py309except (OSError, ValueError):CODE
HIGHastrbot/core/log.py523except Exception:CODE
HIGHastrbot/core/astr_main_agent.py704except Exception:CODE
HIGHastrbot/core/astr_main_agent.py1333except ValueError:CODE
HIGHastrbot/core/astr_agent_run_util.py315except asyncio.CancelledError:CODE
HIGHastrbot/core/astr_agent_run_util.py325except asyncio.CancelledError:CODE
HIGHastrbot/core/astr_agent_run_util.py179except asyncio.CancelledError:CODE
HIGHastrbot/core/process_restart.py38except psutil.NoSuchProcess:CODE
HIGHastrbot/core/persona_error_reply.py45except Exception:CODE
HIGHastrbot/core/core_lifecycle.py350except asyncio.CancelledError:CODE
HIGHastrbot/core/core_lifecycle.py417except asyncio.CancelledError:CODE
HIGHastrbot/core/pipeline/process_stage/follow_up.py242except asyncio.CancelledError:CODE
HIGHastrbot/core/tools/message_tools.py159except Exception:CODE
HIGHastrbot/core/config/astrbot_config.py375except FileNotFoundError:CODE
HIGHastrbot/core/platform/sources/kook/kook_client.py263except Exception:CODE
HIGHastrbot/core/platform/sources/kook/kook_client.py567except asyncio.CancelledError:CODE
HIGHastrbot/core/platform/sources/kook/kook_client.py295except Exception:CODE
HIGHastrbot/core/platform/sources/kook/kook_adapter.py204except asyncio.CancelledError:CODE
HIGH…t/core/platform/sources/weixin_oc/weixin_oc_adapter.py258except asyncio.CancelledError:CODE
HIGH…ore/platform/sources/discord/discord_platform_event.py483except Exception:CODE
HIGH…/platform/sources/aiocqhttp/aiocqhttp_message_event.py60except Exception:CODE
HIGHastrbot/core/platform/sources/wecom/wecom_adapter.py545except Exception as _:CODE
HIGH…urces/weixin_official_account/weixin_offacc_adapter.py554except Exception as _:CODE
HIGH…trbot/core/platform/sources/misskey/misskey_adapter.py222except Exception:CODE
HIGH…trbot/core/platform/sources/misskey/misskey_adapter.py556except Exception:CODE
HIGH…trbot/core/platform/sources/misskey/misskey_adapter.py497except Exception:CODE
HIGH…trbot/core/platform/sources/misskey/misskey_adapter.py512except Exception:CODE
HIGHastrbot/core/platform/sources/misskey/misskey_api.py84except Exception:CODE
HIGHastrbot/core/platform/sources/misskey/misskey_api.py164except Exception:CODE
HIGHastrbot/core/platform/sources/misskey/misskey_api.py173except Exception:CODE
HIGHastrbot/core/platform/sources/misskey/misskey_api.py180except Exception:CODE
HIGHastrbot/core/platform/sources/misskey/misskey_api.py187except Exception:CODE
HIGHastrbot/core/platform/sources/misskey/misskey_api.py725except Exception:CODE
HIGHastrbot/core/platform/sources/misskey/misskey_api.py740except Exception:CODE
HIGHastrbot/core/platform/sources/misskey/misskey_utils.py518except Exception:CODE
HIGHastrbot/core/platform/sources/misskey/misskey_utils.py501except Exception:CODE
HIGH…atform/sources/wecom_ai_bot/wecomai_long_connection.py87except asyncio.CancelledError:CODE
HIGHastrbot/core/platform/sources/line/line_api.py344except Exception:CODE
HIGHastrbot/core/platform/sources/satori/satori_adapter.py251except asyncio.CancelledError:CODE
HIGHastrbot/core/platform/sources/satori/satori_adapter.py195except asyncio.CancelledError:CODE
HIGH…bot/core/platform/sources/webchat/webchat_queue_mgr.py66except asyncio.QueueFull:CODE
HIGH…form/sources/qqofficial/qqofficial_platform_adapter.py749except Exception:CODE
HIGHastrbot/core/provider/provider.py320except Exception:CODE
HIGHastrbot/core/provider/provider.py294except Exception:CODE
HIGHastrbot/core/provider/func_tool_manager.py686except BaseException:CODE
HIGHastrbot/core/provider/func_tool_manager.py693except Exception:CODE
HIGHastrbot/core/provider/manager.py981except asyncio.CancelledError:CODE
HIGHastrbot/core/provider/sources/edge_tts_source.py122except Exception:CODE
HIGHastrbot/core/provider/sources/edge_tts_source.py131except Exception:CODE
HIGH…trbot/core/provider/sources/ollama_embedding_source.py60except (ValueError, TypeError):CODE
HIGHastrbot/core/provider/sources/gemini_source.py1203except Exception:CODE
HIGHastrbot/core/provider/sources/anthropic_source.py148except ImportError:CODE
HIGHastrbot/core/provider/sources/openai_source.py353except ImportError:CODE
HIGHastrbot/core/provider/sources/openai_source.py850except (TypeError, ValueError):CODE
HIGHastrbot/core/provider/sources/genie_tts.py122except OSError:CODE
HIGHastrbot/core/message/components.py363except OSError:CODE
HIGHastrbot/core/message/components.py188except OSError:CODE
HIGHastrbot/core/message/components.py205except OSError:CODE
65 more matches not shown…
Unused Imports534 hits · 478 pts
SeverityFileLineSnippetContext
LOWastrbot/core/log.py32CODE
LOWastrbot/core/subagent_orchestrator.py1CODE
LOWastrbot/core/__init__.py7CODE
LOWastrbot/core/__init__.py13CODE
LOWastrbot/core/__init__.py16CODE
LOWastrbot/core/__init__.py19CODE
LOWastrbot/core/__init__.py25CODE
LOWastrbot/core/astr_main_agent.py1CODE
LOWastrbot/core/exceptions.py1CODE
LOWastrbot/core/workspace.py1CODE
LOWastrbot/core/persona_error_reply.py1CODE
LOWastrbot/core/pipeline/__init__.py8CODE
LOWastrbot/core/pipeline/__init__.py13CODE
LOWastrbot/core/pipeline/__init__.py13CODE
LOWastrbot/core/pipeline/__init__.py18CODE
LOWastrbot/core/pipeline/__init__.py21CODE
LOWastrbot/core/pipeline/__init__.py22CODE
LOWastrbot/core/pipeline/__init__.py23CODE
LOWastrbot/core/pipeline/__init__.py24CODE
LOWastrbot/core/pipeline/__init__.py25CODE
LOWastrbot/core/pipeline/__init__.py26CODE
LOWastrbot/core/pipeline/__init__.py27CODE
LOWastrbot/core/pipeline/__init__.py28CODE
LOWastrbot/core/pipeline/__init__.py29CODE
LOWastrbot/core/pipeline/__init__.py72CODE
LOWastrbot/core/pipeline/__init__.py73CODE
LOWastrbot/core/pipeline/__init__.py74CODE
LOWastrbot/core/pipeline/__init__.py75CODE
LOWastrbot/core/pipeline/__init__.py76CODE
LOWastrbot/core/pipeline/__init__.py77CODE
LOWastrbot/core/pipeline/__init__.py78CODE
LOWastrbot/core/pipeline/__init__.py79CODE
LOWastrbot/core/pipeline/__init__.py80CODE
LOWastrbot/core/pipeline/context.py1CODE
LOWastrbot/core/pipeline/stage.py1CODE
LOWastrbot/core/pipeline/process_stage/follow_up.py1CODE
LOW…e/process_stage/method/agent_sub_stages/third_party.py31CODE
LOW…e/process_stage/method/agent_sub_stages/third_party.py32CODE
LOWastrbot/core/pipeline/waking_check/umo_auto_name.py1CODE
LOWastrbot/core/tools/registry.py1CODE
LOWastrbot/core/tools/computer_tools/__init__.py1CODE
LOWastrbot/core/tools/computer_tools/__init__.py1CODE
LOWastrbot/core/tools/computer_tools/__init__.py1CODE
LOWastrbot/core/tools/computer_tools/__init__.py6CODE
LOWastrbot/core/tools/computer_tools/__init__.py6CODE
LOWastrbot/core/tools/computer_tools/__init__.py6CODE
LOWastrbot/core/tools/computer_tools/__init__.py6CODE
LOWastrbot/core/tools/computer_tools/__init__.py6CODE
LOWastrbot/core/tools/computer_tools/__init__.py6CODE
LOWastrbot/core/tools/computer_tools/__init__.py14CODE
LOWastrbot/core/tools/computer_tools/__init__.py14CODE
LOWastrbot/core/tools/computer_tools/__init__.py15CODE
LOWastrbot/core/tools/computer_tools/__init__.py15CODE
LOWastrbot/core/tools/computer_tools/__init__.py15CODE
LOWastrbot/core/tools/computer_tools/__init__.py16CODE
LOWastrbot/core/tools/computer_tools/__init__.py16CODE
LOWastrbot/core/tools/computer_tools/__init__.py16CODE
LOWastrbot/core/tools/computer_tools/__init__.py16CODE
LOWastrbot/core/tools/computer_tools/__init__.py16CODE
LOWastrbot/core/tools/computer_tools/__init__.py16CODE
474 more matches not shown…
Decorative Section Separators106 hits · 374 pts
SeverityFileLineSnippetContext
MEDIUM…ore/platform/sources/wecom_ai_bot/WXBizJsonMsgCrypt.py7# ------------------------------------------------------------------------COMMENT
MEDIUM⚡astrbot/core/star/session_llm_manager.py10 # =============================================================================COMMENT
MEDIUM⚡astrbot/core/star/session_llm_manager.py12 # =============================================================================COMMENT
MEDIUM⚡astrbot/core/star/session_llm_manager.py81 # =============================================================================COMMENT
MEDIUM⚡astrbot/core/star/session_llm_manager.py83 # =============================================================================COMMENT
MEDIUMastrbot/core/star/session_llm_manager.py157 # =============================================================================COMMENT
MEDIUMastrbot/core/star/session_llm_manager.py159 # =============================================================================COMMENT
MEDIUMastrbot/core/backup/constants.py38# ============================================================COMMENT
MEDIUMastrbot/core/backup/constants.py40# ============================================================COMMENT
MEDIUMastrbot/core/computer/booters/bay_manager.py21# ---------------------------------------------------------------------------COMMENT
MEDIUMastrbot/core/computer/booters/bay_manager.py23# ---------------------------------------------------------------------------COMMENT
MEDIUMastrbot/core/computer/booters/bay_manager.py46 # ------------------------------------------------------------------COMMENT
MEDIUMastrbot/core/computer/booters/bay_manager.py48 # ------------------------------------------------------------------COMMENT
MEDIUM⚡astrbot/core/computer/booters/bay_manager.py233 # ------------------------------------------------------------------COMMENT
MEDIUM⚡astrbot/core/computer/booters/bay_manager.py235 # ------------------------------------------------------------------COMMENT
MEDIUM⚡tests/conftest.py29# ============================================================COMMENT
MEDIUM⚡tests/conftest.py31# ============================================================COMMENT
MEDIUMtests/conftest.py102# ============================================================COMMENT
MEDIUMtests/conftest.py104# ============================================================COMMENT
MEDIUMtests/conftest.py181# ============================================================COMMENT
MEDIUMtests/conftest.py183# ============================================================COMMENT
MEDIUMtests/conftest.py253# ============================================================COMMENT
MEDIUMtests/conftest.py255# ============================================================COMMENT
MEDIUMtests/conftest.py288# ============================================================COMMENT
MEDIUMtests/conftest.py290# ============================================================COMMENT
MEDIUMtests/conftest.py307# ============================================================COMMENT
MEDIUMtests/conftest.py309# ============================================================COMMENT
MEDIUMtests/conftest.py364# ============================================================COMMENT
MEDIUMtests/conftest.py366# ============================================================COMMENT
MEDIUMtests/conftest.py383# ============================================================COMMENT
MEDIUMtests/conftest.py385# ============================================================COMMENT
MEDIUMtests/test_shipyard_neo_booter.py11# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_shipyard_neo_booter.py13# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_shipyard_neo_booter.py137# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_shipyard_neo_booter.py139# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_shipyard_neo_booter.py224# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_shipyard_neo_booter.py226# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_pip_installer.py1881# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_pip_installer.py1883# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py83# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py85# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py129# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py131# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py192# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py194# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py248# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py250# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py265# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py267# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py317# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_dashscope_embedding_source.py319# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_dashscope_embedding_source.py44# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_dashscope_embedding_source.py46# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_profile_aware_tools.py272# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUM⚡tests/test_profile_aware_tools.py274# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_profile_aware_tools.py10# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_profile_aware_tools.py12# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_profile_aware_tools.py55# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_profile_aware_tools.py57# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMtests/test_profile_aware_tools.py159# ═══════════════════════════════════════════════════════════════COMMENT
46 more matches not shown…
Hallucination Indicators29 hits · 290 pts
SeverityFileLineSnippetContext
CRITICALastrbot/core/platform/sources/lark/lark_event.py92 response = await self.bot.im.v1.chat.aget(request)CODE
CRITICALastrbot/core/platform/sources/lark/lark_event.py144 members_response = await self.bot.im.v1.chat_members.aget(CODE
CRITICALastrbot/core/platform/sources/lark/lark_event.py984 response = await self.bot.im.v1.message_reaction.acreate(request)CODE
CRITICALastrbot/core/platform/sources/lark/lark_event.py1032 response = await self.bot.cardkit.v1.card.acreate(request)CODE
CRITICALastrbot/core/platform/sources/lark/lark_event.py1098 response = await self.bot.cardkit.v1.card_element.acontent(request)CODE
CRITICALastrbot/core/platform/sources/lark/lark_event.py1138 response = await self.bot.cardkit.v1.card.asettings(request)CODE
CRITICALastrbot/core/platform/sources/lark/lark_adapter.py124 response = await self.lark_api.im.v1.message_resource.aget(request)CODE
CRITICALastrbot/core/platform/sources/lark/lark_adapter.py393 response = await self.lark_api.im.v1.message.aget(request)CODE
CRITICALastrbot/core/platform/sources/lark/lark_adapter.py661 self.lark_api.contact.v3.user.aget(request),CODE
CRITICAL…trbot/core/provider/sources/gemini_embedding_source.py40 self.client._api_client._http_options.headers.pop("user-agent", None)CODE
CRITICALastrbot/core/provider/sources/gemini_source.py19from astrbot.core.exceptions import EmptyModelOutputErrorCODE
CRITICALastrbot/core/provider/sources/gemini_source.py122 self.client._api_client._http_options.headers.pop("user-agent", None)CODE
CRITICALastrbot/core/provider/sources/anthropic_source.py17from astrbot.core.exceptions import EmptyModelOutputErrorCODE
CRITICALastrbot/core/provider/sources/openai_source.py29from astrbot.core.exceptions import EmptyModelOutputErrorCODE
CRITICALastrbot/core/provider/sources/gemini_tts_source.py45 self.client._api_client._http_options.headers.pop("user-agent", None)CODE
CRITICALastrbot/core/provider/sources/openai_tts_api_source.py52 async with self.client.audio.speech.with_streaming_response.create(CODE
CRITICAL…trbot/core/provider/sources/openai_responses_source.py13from astrbot.core.exceptions import EmptyModelOutputErrorCODE
CRITICALastrbot/core/agent/runners/tool_loop_agent_runner.py31from astrbot.core.exceptions import EmptyModelOutputErrorCODE
CRITICALastrbot/core/db/vec_db/faiss_impl/vec_db.py7from astrbot.core.exceptions import KnowledgeBaseUploadErrorCODE
CRITICALastrbot/core/knowledge_base/kb_helper.py13from astrbot.core.exceptions import KnowledgeBaseUploadErrorCODE
CRITICALastrbot/dashboard/api/chat.py263 return ok(request.app.state.services.config_profiles.list_profiles())CODE
CRITICALtests/test_lark_sender_name.py93 adapter.lark_api.contact.v3.user.aget.assert_awaited_once()CODE
CRITICALtests/test_openai_source.py16from astrbot.core.exceptions import EmptyModelOutputErrorCODE
CRITICALtests/test_anthropic_kimi_code_provider.py10from astrbot.core.exceptions import EmptyModelOutputErrorCODE
CRITICALtests/test_gemini_source.py10from astrbot.core.exceptions import EmptyModelOutputErrorCODE
CRITICALtests/test_kb_import.py10from astrbot.core.exceptions import KnowledgeBaseUploadErrorCODE
CRITICALtests/test_tool_loop_agent_runner.py23from astrbot.core.exceptions import EmptyModelOutputErrorCODE
CRITICALtests/unit/test_kb_upload_atomicity.py26from astrbot.core.exceptions import KnowledgeBaseUploadErrorCODE
CRITICALtests/unit/test_faiss_vec_db.py8from astrbot.core.exceptions import KnowledgeBaseUploadErrorCODE
Deep Nesting334 hits · 280 pts
SeverityFileLineSnippetContext
LOWastrbot/core/platform_message_history_mgr.py32CODE
LOWastrbot/core/dashboard_assets.py377CODE
LOWastrbot/core/astr_main_agent.py341CODE
LOWastrbot/core/astr_main_agent.py540CODE
LOWastrbot/core/astr_main_agent.py867CODE
LOWastrbot/core/astr_main_agent.py1249CODE
LOWastrbot/core/astr_main_agent.py1427CODE
LOWastrbot/core/astr_agent_tool_exec.py794CODE
LOWastrbot/core/astr_agent_tool_exec.py82CODE
LOWastrbot/core/astr_agent_tool_exec.py136CODE
LOWastrbot/core/astr_agent_tool_exec.py452CODE
LOWastrbot/core/astr_agent_tool_exec.py499CODE
LOWastrbot/core/astr_agent_tool_exec.py685CODE
LOWastrbot/core/astr_agent_run_util.py115CODE
LOWastrbot/core/astr_agent_run_util.py516CODE
LOWastrbot/core/astr_agent_run_util.py593CODE
LOWastrbot/core/conversation_mgr.py392CODE
LOWastrbot/core/workspace.py121CODE
LOW…line/process_stage/method/agent_sub_stages/internal.py59CODE
LOW…line/process_stage/method/agent_sub_stages/internal.py166CODE
LOW…e/process_stage/method/agent_sub_stages/third_party.py55CODE
LOW…e/process_stage/method/agent_sub_stages/third_party.py280CODE
LOWastrbot/core/pipeline/result_decorate/stage.py104CODE
LOWastrbot/core/pipeline/result_decorate/stage.py126CODE
LOWastrbot/core/pipeline/waking_check/umo_auto_name.py74CODE
LOWastrbot/core/pipeline/waking_check/stage.py82CODE
LOWastrbot/core/pipeline/respond/stage.py190CODE
LOWastrbot/core/pipeline/preprocess_stage/stage.py99CODE
LOWastrbot/core/tools/registry.py33CODE
LOWastrbot/core/tools/web_search_tools.py1251CODE
LOWastrbot/core/tools/cron_tools.py102CODE
LOWastrbot/core/tools/message_tools.py133CODE
LOWastrbot/core/tools/message_tools.py209CODE
LOWastrbot/core/tools/message_tools.py405CODE
LOWastrbot/core/tools/computer_tools/shell.py357CODE
LOWastrbot/core/tools/computer_tools/fs.py581CODE
LOWastrbot/core/tools/computer_tools/fs.py848CODE
LOWastrbot/core/tools/computer_tools/fs.py1044CODE
LOWastrbot/core/config/astrbot_config.py192CODE
LOWastrbot/core/platform/astr_message_event.py144CODE
LOWastrbot/core/platform/manager.py319CODE
LOW…bot/core/platform/sources/dingtalk/dingtalk_adapter.py164CODE
LOW…bot/core/platform/sources/dingtalk/dingtalk_adapter.py564CODE
LOW…bot/core/platform/sources/dingtalk/dingtalk_adapter.py794CODE
LOW…bot/core/platform/sources/dingtalk/dingtalk_adapter.py800CODE
LOWastrbot/core/platform/sources/kook/kook_event.py212CODE
LOWastrbot/core/platform/sources/kook/kook_client.py300CODE
LOWastrbot/core/platform/sources/kook/kook_client.py411CODE
LOWastrbot/core/platform/sources/kook/kook_adapter.py129CODE
LOWastrbot/core/platform/sources/kook/kook_adapter.py209CODE
LOWastrbot/core/platform/sources/kook/kook_adapter.py357CODE
LOW…atform/sources/qqofficial_webhook/qo_webhook_server.py169CODE
LOW…t/core/platform/sources/weixin_oc/weixin_oc_adapter.py1165CODE
LOW…t/core/platform/sources/weixin_oc/weixin_oc_adapter.py1720CODE
LOW…ore/platform/sources/discord/discord_platform_event.py141CODE
LOW…ore/platform/sources/discord/discord_platform_event.py286CODE
LOW…e/platform/sources/discord/discord_platform_adapter.py217CODE
LOW…atform/sources/aiocqhttp/aiocqhttp_platform_adapter.py198CODE
LOW…/platform/sources/aiocqhttp/aiocqhttp_message_event.py36CODE
LOW…/platform/sources/aiocqhttp/aiocqhttp_message_event.py71CODE
274 more matches not shown…
Cross-File Repetition33 hits · 165 pts
SeverityFileLineSnippetContext
HIGH…bot/core/platform/sources/dingtalk/dingtalk_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGHastrbot/core/platform/sources/kook/kook_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGHastrbot/core/platform/sources/lark/lark_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGHastrbot/core/platform/sources/wecom/wecom_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGH…trbot/core/platform/sources/misskey/misskey_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGH…/core/platform/sources/wecom_ai_bot/wecomai_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGHastrbot/core/platform/sources/line/line_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGHastrbot/core/platform/sources/telegram/tg_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGHastrbot/core/platform/sources/slack/slack_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGH…core/platform/sources/mattermost/mattermost_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGHastrbot/core/platform/sources/satori/satori_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGH…trbot/core/platform/sources/webchat/webchat_adapter.py0creates a wecom ai bot message event. args: message: astrbot message object to wrap. returns: created wecom ai bot messaSTRING
HIGHastrbot/core/platform/sources/wecom/wecom_kf_message.py0mit license copyright (c) 2021 lxns-network permission is hereby granted, free of charge, to any person obtaining a copySTRING
HIGHastrbot/core/platform/sources/wecom/wecom_kf.py0mit license copyright (c) 2021 lxns-network permission is hereby granted, free of charge, to any person obtaining a copySTRING
HIGHastrbot/core/message/components.py0mit license copyright (c) 2021 lxns-network permission is hereby granted, free of charge, to any person obtaining a copySTRING
HIGHastrbot/core/db/po.py0persona is a set of instructions for llms to follow. it can be used to customize the behavior of llms.STRING
HIGHdocs/zh/dev/star/plugin.md0persona is a set of instructions for llms to follow. it can be used to customize the behavior of llms.STRING
HIGHdocs/zh/dev/star/guides/ai.md0persona is a set of instructions for llms to follow. it can be used to customize the behavior of llms.STRING
HIGHdocs/en/dev/star/guides/ai.md0persona is a set of instructions for llms to follow. it can be used to customize the behavior of llms.STRING
HIGHastrbot/core/db/po.py0a list of strings, each representing a dialog to start withSTRING
HIGHdocs/zh/dev/star/plugin.md0a list of strings, each representing a dialog to start withSTRING
HIGHdocs/zh/dev/star/guides/ai.md0a list of strings, each representing a dialog to start withSTRING
HIGHdocs/en/dev/star/guides/ai.md0a list of strings, each representing a dialog to start withSTRING
HIGHastrbot/core/db/po.py0none means use all tools for default, empty list means no tools, otherwise a list of tool names.STRING
HIGHdocs/zh/dev/star/plugin.md0none means use all tools for default, empty list means no tools, otherwise a list of tool names.STRING
HIGHdocs/zh/dev/star/guides/ai.md0none means use all tools for default, empty list means no tools, otherwise a list of tool names.STRING
HIGHdocs/en/dev/star/guides/ai.md0none means use all tools for default, empty list means no tools, otherwise a list of tool names.STRING
HIGHastrbot/core/db/po.py0llm 人格类。 在 v4.0.0 版本及之后,推荐使用上面的 persona 类。并且, mood_imitation_dialogs 字段已被废弃。STRING
HIGHdocs/zh/dev/star/plugin.md0llm 人格类。 在 v4.0.0 版本及之后,推荐使用上面的 persona 类。并且, mood_imitation_dialogs 字段已被废弃。STRING
HIGHdocs/zh/dev/star/guides/ai.md0llm 人格类。 在 v4.0.0 版本及之后,推荐使用上面的 persona 类。并且, mood_imitation_dialogs 字段已被废弃。STRING
HIGHdocs/zh/dev/star/plugin.md0<div style="font-size: 32px;"> <h1 style="color: black">todo list</h1> <ul> {% for item in items %} <li>{{ item }}</li> STRING
HIGHdocs/zh/dev/star/guides/html-to-pic.md0<div style="font-size: 32px;"> <h1 style="color: black">todo list</h1> <ul> {% for item in items %} <li>{{ item }}</li> STRING
HIGHdocs/en/dev/star/guides/html-to-pic.md0<div style="font-size: 32px;"> <h1 style="color: black">todo list</h1> <ul> {% for item in items %} <li>{{ item }}</li> STRING
Modern Structural Boilerplate118 hits · 114 pts
SeverityFileLineSnippetContext
LOWruntime_bootstrap.py9logger = logging.getLogger(__name__)CODE
LOWastrbot/core/log.py223 def _setup_loguru(cls) -> None:CODE
LOWastrbot/core/log.py242 def _setup_root_bridge(cls) -> None:CODE
LOWastrbot/core/log.py326 def set_plugin_log_level(cls, plugin_name: str, level: str | None) -> None:CODE
LOWastrbot/core/log.py406 def set_queue_handler(cls, logger: logging.Logger, log_broker: LogBroker) -> None:CODE
LOWastrbot/core/dashboard_assets.py17__all__ = [CODE
LOWastrbot/core/astr_main_agent.py244def _set_llm_error_message(event: AstrMessageEvent, message: str) -> None:CODE
LOWastrbot/core/umop_config_router.py63 async def update_routing_data(self, new_routing: dict[str, str]) -> None:CODE
LOWastrbot/core/umop_config_router.py83 async def update_route(self, umo: str, conf_id: str) -> None:CODE
LOWastrbot/core/updater.py33__all__ = ["AstrBotUpdater", "UpdateProgress", "UpdateProgressCallback"]CODE
LOWastrbot/core/zip_updater.py18__all__ = ["ReleaseInfo"]CODE
LOWastrbot/core/process_restart.py16__all__ = ["restart_process"]CODE
LOWastrbot/core/repository.py6__all__ = [CODE
LOWastrbot/core/pipeline/bootstrap.py52__all__ = ["ensure_builtin_stages_registered"]CODE
LOWastrbot/core/pipeline/stage_order.py15__all__ = ["STAGES_ORDER"]CODE
LOWastrbot/core/pipeline/__init__.py82__all__ = [CODE
LOWastrbot/core/tools/registry.py335__all__ = [CODE
LOWastrbot/core/tools/knowledge_base_tools.py145__all__ = [CODE
LOWastrbot/core/tools/web_search_tools.py1445__all__ = [CODE
LOWastrbot/core/tools/cron_tools.py385__all__ = [CODE
LOWastrbot/core/tools/message_tools.py564__all__ = [CODE
LOWastrbot/core/tools/computer_tools/__init__.py34__all__ = [CODE
LOW…bot/core/tools/computer_tools/shipyard_neo/__init__.py16__all__ = [CODE
LOWastrbot/core/config/__init__.py4__all__ = [CODE
LOWastrbot/core/platform/__init__.py6__all__ = [CODE
LOWastrbot/core/platform/astr_message_event.py222 def set_extra(self, key, value) -> None:CODE
LOWastrbot/core/platform/astr_message_event.py319 def set_result(self, result: MessageEventResult | str) -> None:CODE
LOW…atform/sources/qqofficial_webhook/qo_webhook_server.py122 def _setup_connection(self) -> None:CODE
LOW…tform/sources/qqofficial_webhook/qo_webhook_adapter.py30 def set_platform(self, platform: "QQOfficialWebhookPlatformAdapter") -> None:CODE
LOWastrbot/core/platform/sources/lark/server.py200 def set_callback(self, callback: Callable[[dict], Awaitable[None]]) -> None:CODE
LOWastrbot/core/platform/sources/wecom_ai_bot/__init__.py9__all__ = [CODE
LOW…t/core/platform/sources/wecom_ai_bot/wecomai_server.py45 def _setup_routes(self) -> None:CODE
LOWastrbot/core/platform/sources/slack/client.py43 def _setup_routes(self) -> None:CODE
LOW…form/sources/qqofficial/qqofficial_platform_adapter.py42def _set_raw_message_fields(message: Any, data: dict[str, Any]) -> None:CODE
LOW…form/sources/qqofficial/qqofficial_platform_adapter.py189 def set_platform(self, platform: QQOfficialPlatformAdapter) -> None:CODE
LOWastrbot/core/provider/provider.py39 def set_model(self, model_name: str) -> None:CODE
LOWastrbot/core/provider/provider.py91 def set_key(self, key: str) -> None:CODE
LOWastrbot/core/provider/entites.py11__all__ = [CODE
LOWastrbot/core/provider/__init__.py4__all__ = ["Provider", "ProviderMetaData", "STTProvider"]CODE
LOWastrbot/core/provider/manager.py934 async def update_provider(self, origin_provider_id: str, new_config: dict) -> None:CODE
LOWastrbot/core/provider/sources/gemini_source.py1066 def set_key(self, key) -> None:CODE
LOWastrbot/core/provider/sources/anthropic_source.py462 def _update_usage(self, token_usage: TokenUsage, usage: MessageDeltaUsage) -> None:CODE
LOWastrbot/core/provider/sources/anthropic_source.py1080 def set_key(self, key: str) -> None:CODE
LOWastrbot/core/provider/sources/openai_source.py1381 def set_key(self, key) -> None:CODE
LOWastrbot/core/provider/sources/gsv_selfhosted_source.py89 async def _set_model_weights(self) -> None:CODE
LOWastrbot/core/utils/totp.py116def set_pending_totp_secret(secret: str | None) -> None:CODE
LOWastrbot/core/utils/totp.py127def set_rotation_verified(value: bool) -> None:CODE
LOWastrbot/core/utils/quoted_message_parser.py8__all__ = [CODE
LOWastrbot/core/utils/llm_metadata.py38async def update_llm_metadata() -> None:CODE
LOWastrbot/core/utils/t2i/template_manager.py174 def update_template(self, name: str, content: str) -> None:CODE
LOWastrbot/core/utils/quoted_message/__init__.py5__all__ = [CODE
LOWastrbot/core/agent/runners/__init__.py3__all__ = ["BaseAgentRunner"]CODE
LOWastrbot/core/star/session_llm_manager.py42 async def set_llm_status_for_session(session_id: str, enabled: bool) -> None:CODE
LOWastrbot/core/star/session_llm_manager.py113 async def set_tts_status_for_session(session_id: str, enabled: bool) -> None:CODE
LOWastrbot/core/star/config.py67def update_config(namespace: str, key: str, value) -> None:CODE
LOWastrbot/core/star/__init__.py10__all__ = [CODE
LOWastrbot/core/star/updater.py34__all__ = ["PLUGIN_METADATA_FILENAMES"]CODE
LOWastrbot/core/star/register/__init__.py28__all__ = [CODE
LOWastrbot/core/star/filter/__init__.py15__all__ = ["AstrBotConfig", "AstrMessageEvent", "HandlerFilter", "MessageType"]CODE
LOWastrbot/core/db/vec_db/faiss_impl/__init__.py9__all__ = ["FaissVecDB"]CODE
58 more matches not shown…
Self-Referential Comments26 hits · 70 pts
SeverityFileLineSnippetContext
MEDIUMastrbot/core/utils/media_utils.py1470 # Create an output path when the caller does not provide one.COMMENT
MEDIUMastrbot/core/agent/mcp_client.py559 # Create a new client sessionCOMMENT
MEDIUMastrbot/core/agent/mcp_client.py605 # Create a new client sessionCOMMENT
MEDIUMastrbot/core/agent/mcp_client.py648 # Create a new client sessionCOMMENT
MEDIUMastrbot/core/db/po.py25 """This class represents the statistics of bot usage across different platforms.STRING
MEDIUMastrbot/core/db/po.py220 """This class represents preferences for bots."""STRING
MEDIUMastrbot/core/db/po.py247 """This class represents the message history for a specific platform.STRING
MEDIUMastrbot/core/db/po.py370 """This class represents attachments for messages in AstrBot.STRING
MEDIUMastrbot/core/db/po.py457 """This class represents projects for organizing ChatUI conversations.STRING
MEDIUMastrbot/core/db/po.py497 """This class represents the relationship between platform sessions and ChatUI projects."""STRING
MEDIUMtests/test_security_fixes.py17 # Create an instance and test that random string generation worksCOMMENT
MEDIUMtests/test_security_fixes.py62 # Create a provider with test configCOMMENT
MEDIUMtests/test_security_fixes.py103 # Create a context similar to what's used in io.pyCOMMENT
MEDIUMtests/unit/test_event_bus.py77 # Create a mock eventCOMMENT
MEDIUMtests/unit/test_computer.py165 # Create a test fileCOMMENT
MEDIUMtests/unit/test_core_lifecycle.py672 # Create a task that completes quickly for testingCOMMENT
MEDIUMtests/unit/test_core_lifecycle.py722 # Create a mock handlerCOMMENT
MEDIUMtests/unit/test_core_lifecycle.py841 # Create a mock plugin that raises exception on terminationCOMMENT
MEDIUM⚡tests/unit/test_star_base.py22 # Create a mock context with get_config methodCOMMENT
MEDIUM⚡tests/unit/test_star_base.py26 # Create a concrete Star subclass for testingCOMMENT
MEDIUM⚡tests/unit/test_tool_conflict_resolution.py77 # Create a mock object without 'active' attributeCOMMENT
MEDIUMtests/unit/test_datetime_storage.py88 # Create the old schema independently of the current model metadata.COMMENT
MEDIUMtests/unit/test_config.py260 # Create a path that definitely doesn't existCOMMENT
MEDIUMtests/agent/test_context_manager.py554 # Create a mock compressorCOMMENT
MEDIUMtests/agent/test_context_manager.py1008 # Create a mock compressorCOMMENT
MEDIUMtests/agent/test_context_manager.py1031 # Create a mock compressorCOMMENT
Fake / Example Data34 hits · 34 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_qqofficial_group_message_create.py245 mention = At(qq="placeholder")CODE
LOWtests/test_plugin_manager.py492 zip_file_path.write_text("placeholder", encoding="utf-8")CODE
LOWtests/test_plugin_manager.py536 zip_file_path.write_text("placeholder", encoding="utf-8")CODE
LOWtests/test_quoted_message_parser.py97 id="placeholder", chain=[Plain(text="quoted content")], message_str=""CODE
LOWtests/test_quoted_message_parser.py347 reply = Reply(id="placeholder", chain=[Image(file=file_uri)], message_str="")CODE
LOWtests/test_quoted_message_parser.py366 id="placeholder", chain=[Image(file=str(non_image_file))], message_str=""CODE
LOWdashboard/src/i18n/locales/ru-RU/features/chat.json17 "placeholder": "Спросите что угодно...",CODE
LOWdashboard/src/i18n/locales/ru-RU/features/chat.json99 "placeholder": "Спросить об этом фрагменте..."CODE
LOWdashboard/src/i18n/locales/ru-RU/features/config.json144 "placeholder": "Поиск по настройкам (поле/описание/подсказка)",CODE
LOWdashboard/src/i18n/locales/ru-RU/features/console.json15 "placeholder": "Фильтровать логи по ключевому слову"CODE
LOW…rc/i18n/locales/ru-RU/features/session-management.json35 "placeholder": "Поиск сессии..."CODE
LOWdashboard/src/i18n/locales/ru-RU/features/command.json84 "placeholder": "Поиск команд..."CODE
LOW…shboard/src/i18n/locales/ru-RU/features/extension.json23 "placeholder": "Поиск плагинов...",CODE
LOWdashboard/src/i18n/locales/ja-JP/features/chat.json17 "placeholder": "何でも聞いてください",CODE
LOWdashboard/src/i18n/locales/ja-JP/features/chat.json99 "placeholder": "この内容についてさらに質問…"CODE
LOWdashboard/src/i18n/locales/ja-JP/features/config.json144 "placeholder": "設定項目を検索(フィールド名/説明/ヒント)",CODE
LOWdashboard/src/i18n/locales/ja-JP/features/console.json15 "placeholder": "キーワードでログを絞り込む"CODE
LOW…rc/i18n/locales/ja-JP/features/session-management.json35 "placeholder": "セッションを検索…"CODE
LOWdashboard/src/i18n/locales/ja-JP/features/command.json84 "placeholder": "コマンドを検索…"CODE
LOW…shboard/src/i18n/locales/ja-JP/features/extension.json23 "placeholder": "プラグインを検索…",CODE
LOWdashboard/src/i18n/locales/zh-CN/features/chat.json17 "placeholder": "想问什么都可以",CODE
LOWdashboard/src/i18n/locales/zh-CN/features/chat.json99 "placeholder": "继续追问这段内容..."CODE
LOWdashboard/src/i18n/locales/zh-CN/features/config.json144 "placeholder": "搜索配置项(字段名/描述/提示)",CODE
LOWdashboard/src/i18n/locales/zh-CN/features/console.json15 "placeholder": "按关键词过滤日志"CODE
LOW…rc/i18n/locales/zh-CN/features/session-management.json35 "placeholder": "搜索会话..."CODE
LOWdashboard/src/i18n/locales/zh-CN/features/command.json84 "placeholder": "搜索指令..."CODE
LOW…shboard/src/i18n/locales/zh-CN/features/extension.json23 "placeholder": "搜索插件...",CODE
LOWdashboard/src/i18n/locales/en-US/features/chat.json17 "placeholder": "Ask anything...",CODE
LOWdashboard/src/i18n/locales/en-US/features/chat.json99 "placeholder": "Ask about this excerpt..."CODE
LOWdashboard/src/i18n/locales/en-US/features/config.json144 "placeholder": "Search config items (key/description/hint)",CODE
LOWdashboard/src/i18n/locales/en-US/features/console.json15 "placeholder": "Filter logs by keyword"CODE
LOW…rc/i18n/locales/en-US/features/session-management.json35 "placeholder": "Search sessions..."CODE
LOWdashboard/src/i18n/locales/en-US/features/command.json84 "placeholder": "Search commands..."CODE
LOW…shboard/src/i18n/locales/en-US/features/extension.json23 "placeholder": "Search extensions...",CODE
AI Structural Patterns35 hits · 28 pts
SeverityFileLineSnippetContext
LOWastrbot/core/platform/astr_message_event.py425CODE
LOW…atform/sources/qqofficial_webhook/qo_webhook_server.py159CODE
LOWastrbot/core/platform/sources/discord/components.py12CODE
LOWastrbot/core/platform/sources/misskey/misskey_api.py474CODE
LOW…latform/sources/qqofficial/qqofficial_message_event.py857CODE
LOWastrbot/core/provider/provider.py100CODE
LOWastrbot/core/provider/provider.py139CODE
LOWastrbot/core/provider/entities.py83CODE
LOWastrbot/core/provider/entities.py389CODE
LOWastrbot/core/provider/sources/gemini_source.py900CODE
LOWastrbot/core/provider/sources/gemini_source.py972CODE
LOWastrbot/core/provider/sources/anthropic_source.py812CODE
LOWastrbot/core/provider/sources/anthropic_source.py890CODE
LOWastrbot/core/provider/sources/openai_source.py1192CODE
LOWastrbot/core/provider/sources/openai_source.py1275CODE
LOWastrbot/core/utils/shared_preferences.py299CODE
LOWastrbot/core/agent/runners/tool_loop_agent_runner.py210CODE
LOWastrbot/core/star/context.py218CODE
LOWastrbot/core/star/command_management.py226CODE
LOWastrbot/core/star/filter/command.py64CODE
LOWastrbot/core/db/__init__.py634CODE
LOWastrbot/core/db/__init__.py727CODE
LOWastrbot/core/db/__init__.py746CODE
LOWastrbot/core/db/sqlite.py1713CODE
LOWastrbot/core/db/sqlite.py1784CODE
LOWastrbot/core/db/sqlite.py2527CODE
LOWastrbot/core/db/sqlite.py2564CODE
LOWastrbot/core/knowledge_base/kb_helper.py727CODE
LOWastrbot/core/knowledge_base/kb_mgr.py87CODE
LOWastrbot/core/knowledge_base/kb_mgr.py187CODE
LOWastrbot/core/computer/booters/local.py263CODE
LOWastrbot/core/computer/booters/local.py969CODE
LOWastrbot/dashboard/api/conversations.py124CODE
LOWastrbot/dashboard/api/conversations.py250CODE
LOWtests/test_qqofficial_group_message_create.py38CODE
Over-Commented Block17 hits · 17 pts
SeverityFileLineSnippetContext
LOWk8s/astrbot/04-service-loadbalancer.yaml21 # targetPort: 6195COMMENT
LOWk8s/astrbot/03-service-nodeport.yaml21 # - name: wecom-whCOMMENT
LOWastrbot/core/config/default.py561 # "webchat_link_path": "",COMMENT
LOWastrbot/core/config/default.py3981 },COMMENT
LOWastrbot/core/config/default.py4001 # "condition": {COMMENT
LOWastrbot/core/platform/sources/kook/kook_config.py81COMMENT
LOWastrbot/core/platform/sources/kook/kook_config.py101# # 日志配置COMMENT
LOWastrbot/core/platform/sources/kook/kook_config.py121# "enable_connection_pooling": True, # 是否启用连接池COMMENT
LOWastrbot/core/platform/sources/webchat/webchat_event.py221 payload["text"] = textCOMMENT
LOWastrbot/core/utils/shared_preferences.py41 # In-memory overlay of preferences written through this process. It givesCOMMENT
LOWchangelogs/v4.2.0.md1# What's ChangedCOMMENT
LOWchangelogs/v4.2.1.md1# What's ChangedCOMMENT
LOWdashboard/src/router/MainRoutes.ts281 // path: '/alkaid',COMMENT
LOW.github/auto_assign.yml21COMMENT
LOW.github/workflows/codeql.yml1# For most projects, this workflow file will not need changing; you simply needCOMMENT
LOW.github/workflows/codeql.yml61 # Initializes the CodeQL tools for scanning.COMMENT
LOWopenspec/config.yaml1schema: spec-drivenCOMMENT
Cross-Language Confusion3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHastrbot/core/utils/t2i/network_strategy.py34 "T2I Shiki runtime not found at %s. Run `cd dashboard && pnpm run build:t2i-shiki-runtime` to regenerate it.CODE
HIGHastrbot/core/star/filter/command_group.py134 if self.equals(event.message_str.strip()):CODE
HIGHtests/test_mimo_api_sources.py474 text = '{"choices":[{"message":null}]}'CODE
Redundant / Tautological Comments9 hits · 14 pts
SeverityFileLineSnippetContext
LOWastrbot/core/tools/computer_tools/fs.py991 # Check if file existsCOMMENT
LOWastrbot/core/provider/sources/openai_source.py774 # Check if this looks like OpenAI content-part formatCOMMENT
LOWastrbot/core/provider/sources/openai_source.py793 # Check if the string is a JSON-encoded list (e.g., "[{'type': 'text', ...}]")COMMENT
LOWastrbot/core/utils/trace.py53 # Check if trace recording is enabledCOMMENT
LOWastrbot/core/agent/mcp_client.py790 # Set running_event to unblock any waiting tasksCOMMENT
LOWastrbot/core/computer/booters/boxlite.py49 # Read file contentCOMMENT
LOWastrbot/cli/utils/plugin.py300 # Check if plugin existsCOMMENT
LOWscripts/start-with-neo.sh198 # Check if process is still aliveCOMMENT
LOW.github/auto_assign.yml19# Set 0 to add all the reviewers (default: 0)COMMENT
Modern AI Meta-Vocabulary4 hits · 11 pts
SeverityFileLineSnippetContext
MEDIUM…core/agent/runners/dashscope/dashscope_agent_runner.py184 # RAG 引用脚标格式化COMMENT
MEDIUM…core/agent/runners/dashscope/dashscope_agent_runner.py342 # 添加 RAG 引用COMMENT
MEDIUMdocs/en/providers/agent-runners/dashscope.md7On the [Alibaba Cloud Bailian Application](https://bailian.console.aliyun.com/app-center#/app-center) website, click to CODE
MEDIUMdocs/en/use/knowledge-base.md21## Step 1: Configure an embedding model {#configuring-embedding-model}COMMENT
Structural Annotation Overuse5 hits · 8 pts
SeverityFileLineSnippetContext
LOWdocs/en/use/knowledge-base.md21## Step 1: Configure an embedding model {#configuring-embedding-model}COMMENT
LOWdocs/en/use/knowledge-base.md42## Step 2: Create a knowledge base {#creating-a-knowledge-base}COMMENT
LOWdocs/en/use/knowledge-base.md58## Step 3: Upload material {#uploading-files}COMMENT
LOWdocs/en/use/knowledge-base.md94## Step 4: Test retrieval firstCOMMENT
LOWdocs/en/use/knowledge-base.md104## Step 5: Use it in a conversation {#using-the-knowledge-base}COMMENT
AI Slop Vocabulary2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMastrbot/core/knowledge_base/kb_helper.py95 # More robust regex to handle potential LLM formatting errors (spaces, newlines in tags)STRING
MEDIUMdashboard/src/components/chat/LiveOrb.vue187 // Repeat once to make it seamlessCOMMENT
Dead Code2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_cron_manager.py833CODE
MEDIUMtests/unit/test_kb_upload_atomicity.py80CODE
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/codeql.yml55 # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize howCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOW⚡scripts/start-with-neo.sh5# Usage:COMMENT
Overly Generic Function Names3 hits · 2 pts
SeverityFileLineSnippetContext
LOWastrbot/core/platform/webhook_server.py107 async def run_task(CODE
LOWtests/test_updater_socks.py1447 def handle_request(request: httpx.Request) -> httpx.Response:CODE
LOWtests/test_updater_socks.py1493 def handle_request(request: httpx.Request) -> httpx.Response: # noqa: ARG001CODE