AI Agent Assistant & development framework that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨
3721 matches across 15 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | runtime_bootstrap.py | 12 | def _try_patch_aiohttp_ssl_context( |
| LOW | runtime_bootstrap.py | 36 | def configure_runtime_ca_bundle(log_obj: Any | None = None) -> bool: |
| LOW | runtime_bootstrap.py | 47 | def initialize_runtime_bootstrap(log_obj: Any | None = None) -> bool: |
| LOW | astrbot/core/log.py | 232 | def _ensure_logger_enricher_filter(cls, logger: logging.Logger) -> None: |
| LOW | astrbot/core/log.py | 243 | def _ensure_logger_intercept_handler(cls, logger: logging.Logger) -> None: |
| LOW | astrbot/core/zip_updator.py | 161 | def github_api_release_parser(self, releases: list) -> list: |
| LOW | astrbot/core/zip_updator.py | 293 | def _resolve_archive_root_dir(entries: list[str]) -> str: |
| LOW | astrbot/core/zip_updator.py | 322 | def _finalize_extracted_archive( |
| LOW | astrbot/core/astr_main_agent.py | 723 | async def _compress_image_for_provider( |
| LOW | astrbot/core/astr_main_agent.py | 737 | def _is_generated_compressed_image_path( |
| LOW | astrbot/core/astr_main_agent.py | 333 | def _get_workspace_path_for_umo(umo: str) -> Path: |
| LOW | astrbot/core/astr_main_agent.py | 338 | def _apply_workspace_extra_prompt( |
| LOW | astrbot/core/astr_main_agent.py | 399 | def _filter_skills_for_current_config( |
| LOW | astrbot/core/astr_main_agent.py | 431 | async def _ensure_persona_and_skills( |
| LOW | astrbot/core/astr_main_agent.py | 641 | def _append_quoted_image_attachment(req: ProviderRequest, image_path: str) -> None: |
| LOW | astrbot/core/astr_main_agent.py | 653 | def _append_quoted_audio_attachment(req: ProviderRequest, audio_path: str) -> None: |
| LOW | astrbot/core/astr_main_agent.py | 686 | def _get_quoted_message_parser_settings( |
| LOW | astrbot/core/astr_main_agent.py | 1114 | def _proactive_cron_job_tools(req: ProviderRequest, plugin_context: Context) -> None: |
| LOW | astrbot/core/astr_main_agent.py | 1176 | def _get_fallback_chat_providers( |
| LOW | astrbot/core/astr_main_agent.py | 1211 | def _provider_supports_modality(provider: Provider, modality: str) -> bool: |
| LOW | astrbot/core/astr_main_agent.py | 1216 | def _select_image_chat_provider( |
| LOW | astrbot/core/astr_agent_tool_exec.py | 56 | def _collect_image_urls_from_args(cls, image_urls_raw: T.Any) -> list[str]: |
| LOW | astrbot/core/astr_agent_tool_exec.py | 75 | async def _collect_image_urls_from_message( |
| LOW | astrbot/core/astr_agent_tool_exec.py | 100 | async def _collect_handoff_image_urls( |
| LOW | astrbot/core/astr_agent_tool_exec.py | 188 | def _get_runtime_computer_tools( |
| LOW | astrbot/core/astr_agent_tool_exec.py | 371 | async def _execute_handoff_background( |
| LOW | astrbot/core/astr_agent_tool_exec.py | 387 | async def _run_handoff_in_background() -> None: |
| LOW | astrbot/core/astr_agent_tool_exec.py | 501 | async def _wake_main_agent_for_background_result( |
| LOW | astrbot/core/astr_agent_run_util.py | 61 | def _build_tool_call_status_message(tool_info: dict | None) -> str: |
| LOW | astrbot/core/astr_agent_run_util.py | 67 | def _build_tool_result_status_message( |
| LOW | astrbot/core/astr_agent_run_util.py | 90 | def _should_buffer_llm_result( |
| LOW | astrbot/core/astr_agent_run_util.py | 102 | def _merge_buffered_llm_chains( |
| LOW | astrbot/core/conversation_mgr.py | 28 | def register_on_session_deleted( |
| LOW | astrbot/core/conversation_mgr.py | 146 | async def delete_conversations_by_user_id(self, unified_msg_origin: str) -> None: |
| LOW | astrbot/core/conversation_mgr.py | 226 | async def get_filtered_conversations( |
| LOW | astrbot/core/conversation_mgr.py | 288 | async def update_conversation_title( |
| LOW | astrbot/core/conversation_mgr.py | 310 | async def update_conversation_persona_id( |
| LOW | astrbot/core/conversation_mgr.py | 367 | async def get_human_readable_context( |
| LOW | astrbot/core/updator.py | 25 | def terminate_child_processes(self) -> None: |
| LOW | astrbot/core/updator.py | 76 | def _build_frozen_reboot_args(self) -> list[str]: |
| LOW | astrbot/core/updator.py | 87 | def _reset_pyinstaller_environment() -> None: |
| LOW | astrbot/core/persona_error_reply.py | 9 | def normalize_persona_custom_error_message(value: object) -> str | None: |
| LOW | astrbot/core/persona_error_reply.py | 17 | def extract_persona_custom_error_message_from_persona( |
| LOW | astrbot/core/persona_error_reply.py | 26 | def extract_persona_custom_error_message_from_event(event: Any) -> str | None: |
| LOW | astrbot/core/persona_error_reply.py | 37 | def set_persona_custom_error_message_on_event( |
| LOW | astrbot/core/persona_error_reply.py | 50 | async def resolve_persona_custom_error_message( |
| LOW | astrbot/core/persona_error_reply.py | 72 | async def resolve_event_conversation_persona_id( |
| LOW | astrbot/core/core_lifecycle.py | 83 | async def _init_or_reload_subagent_orchestrator(self) -> None: |
| LOW | astrbot/core/core_lifecycle.py | 101 | def _warn_about_unset_default_chat_provider(self) -> None: |
| LOW | astrbot/core/core_lifecycle.py | 435 | async def reload_pipeline_scheduler(self, conf_id: str) -> None: |
| LOW | astrbot/core/pipeline/bootstrap.py | 34 | def ensure_builtin_stages_registered() -> None: |
| LOW | astrbot/core/pipeline/rate_limit_check/stage.py | 87 | def _remove_expired_timestamps( |
| LOW | astrbot/core/pipeline/process_stage/follow_up.py | 46 | def _get_follow_up_order_state(umo: str) -> dict[str, object]: |
| LOW | astrbot/core/pipeline/process_stage/follow_up.py | 62 | def _advance_follow_up_turn_locked(state: dict[str, object]) -> None: |
| LOW | astrbot/core/pipeline/process_stage/follow_up.py | 80 | def _allocate_follow_up_order(umo: str) -> int: |
| LOW | astrbot/core/pipeline/process_stage/follow_up.py | 111 | async def _activate_and_wait_follow_up_turn(umo: str, seq: int) -> None: |
| LOW | astrbot/core/pipeline/process_stage/follow_up.py | 150 | async def _monitor_follow_up_ticket( |
| LOW | astrbot/core/pipeline/process_stage/follow_up.py | 203 | async def prepare_follow_up_capture(capture: FollowUpCapture) -> tuple[bool, bool]: |
| LOW | astrbot/core/pipeline/process_stage/follow_up.py | 213 | async def finalize_follow_up_capture( |
| LOW | …line/process_stage/method/agent_sub_stages/internal.py | 531 | async def _record_internal_agent_stats( |
| 1768 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | main.py | 111 | except Exception as e: |
| LOW | runtime_bootstrap.py | 42 | except Exception as exc: |
| LOW | astrbot/core/persona_mgr.py | 409 | except Exception as e: |
| LOW | astrbot/core/initial_loader.py | 31 | except Exception as e: |
| LOW | astrbot/core/log.py | 353 | except Exception: |
| LOW | astrbot/core/log.py | 380 | except Exception as e: |
| LOW | astrbot/core/astrbot_config_mgr.py | 90 | except Exception: |
| LOW | astrbot/core/astrbot_config_mgr.py | 215 | except Exception as e: |
| LOW | astrbot/core/zip_updator.py | 116 | except Exception as e: |
| LOW | astrbot/core/zip_updator.py | 156 | except Exception as e: |
| LOW | astrbot/core/zip_updator.py | 241 | except Exception as e: |
| LOW | astrbot/core/zip_updator.py | 342 | except Exception: |
| LOW | astrbot/core/zip_updator.py | 363 | except Exception: |
| LOW | astrbot/core/file_token_service.py | 55 | except Exception: |
| LOW | astrbot/core/astr_main_agent.py | 732 | except Exception as exc: # noqa: BLE001 |
| LOW | astrbot/core/astr_main_agent.py | 262 | except Exception as exc: # noqa: BLE001 |
| LOW | astrbot/core/astr_main_agent.py | 350 | except Exception as exc: # noqa: BLE001 |
| LOW | astrbot/core/astr_main_agent.py | 577 | except Exception: |
| LOW | astrbot/core/astr_main_agent.py | 634 | except Exception as exc: # noqa: BLE001 |
| LOW | astrbot/core/astr_main_agent.py | 667 | except Exception as exc: # noqa: BLE001 |
| LOW | astrbot/core/astr_main_agent.py | 831 | except Exception as exc: # noqa: BLE001 |
| LOW | astrbot/core/astr_main_agent.py | 868 | except Exception as exc: # noqa: BLE001 |
| LOW | astrbot/core/astr_main_agent.py | 985 | except Exception as e: |
| LOW | astrbot/core/astr_main_agent.py | 1395 | except Exception as exc: # noqa: BLE001 |
| LOW | astrbot/core/astr_main_agent.py | 1428 | except Exception as exc: # noqa: BLE001 |
| MEDIUM | astrbot/core/astr_agent_tool_exec.py | 160 | def _run_in_background() -> None: |
| MEDIUM | astrbot/core/astr_agent_tool_exec.py | 387 | def _run_handoff_in_background() -> None: |
| LOW | astrbot/core/astr_agent_tool_exec.py | 90 | except Exception as e: |
| LOW | astrbot/core/astr_agent_tool_exec.py | 168 | except Exception as e: # noqa: BLE001 |
| LOW | astrbot/core/astr_agent_tool_exec.py | 348 | except Exception: |
| LOW | astrbot/core/astr_agent_tool_exec.py | 395 | except Exception as e: # noqa: BLE001 |
| LOW | astrbot/core/astr_agent_tool_exec.py | 439 | except Exception as e: |
| LOW | astrbot/core/astr_agent_tool_exec.py | 480 | except Exception as e: |
| LOW | astrbot/core/astr_agent_tool_exec.py | 682 | except Exception as e: |
| LOW | astrbot/core/astr_agent_tool_exec.py | 761 | except Exception: |
| LOW | astrbot/core/astr_agent_tool_exec.py | 767 | except Exception as e: |
| LOW | astrbot/core/astr_agent_tool_exec.py | 792 | except Exception as e: |
| LOW | astrbot/core/astr_agent_run_util.py | 303 | except Exception as e: |
| LOW | astrbot/core/astr_agent_run_util.py | 332 | except Exception: |
| LOW | astrbot/core/astr_agent_run_util.py | 457 | except Exception as e: |
| LOW | astrbot/core/astr_agent_run_util.py | 491 | except Exception as e: |
| LOW | astrbot/core/astr_agent_run_util.py | 551 | except Exception as e: |
| LOW | astrbot/core/astr_agent_run_util.py | 566 | except Exception as e: |
| LOW | astrbot/core/astr_agent_run_util.py | 591 | except Exception as e: |
| LOW | astrbot/core/astr_agent_run_util.py | 597 | except Exception as e: |
| LOW | astrbot/core/conversation_mgr.py | 53 | except Exception as e: |
| LOW | astrbot/core/updator.py | 126 | except Exception as e: |
| LOW | astrbot/core/persona_error_reply.py | 33 | except Exception: |
| LOW | astrbot/core/persona_error_reply.py | 45 | except Exception: |
| LOW | astrbot/core/core_lifecycle.py | 98 | except Exception as e: |
| LOW | astrbot/core/core_lifecycle.py | 187 | except Exception as e: |
| LOW | astrbot/core/core_lifecycle.py | 328 | except Exception as e: |
| LOW | astrbot/core/core_lifecycle.py | 374 | except Exception as e: |
| LOW | astrbot/core/core_lifecycle.py | 391 | except Exception as e: |
| LOW | astrbot/core/pipeline/context_utils.py | 62 | except Exception as e: |
| LOW | …bot/core/pipeline/process_stage/method/star_request.py | 54 | except Exception as e: |
| LOW | …line/process_stage/method/agent_sub_stages/internal.py | 207 | except Exception: |
| LOW | …line/process_stage/method/agent_sub_stages/internal.py | 418 | except Exception as e: |
| LOW | …line/process_stage/method/agent_sub_stages/internal.py | 431 | except Exception: |
| LOW | …line/process_stage/method/agent_sub_stages/internal.py | 570 | except Exception as e: |
| 918 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | astrbot/core/log.py | 20 | |
| LOW | astrbot/core/subagent_orchestrator.py | 1 | |
| LOW | astrbot/core/__init__.py | 7 | |
| LOW | astrbot/core/__init__.py | 13 | |
| LOW | astrbot/core/__init__.py | 16 | |
| LOW | astrbot/core/__init__.py | 19 | |
| LOW | astrbot/core/__init__.py | 25 | |
| LOW | astrbot/core/astr_main_agent.py | 1 | |
| LOW | astrbot/core/exceptions.py | 1 | |
| LOW | astrbot/core/persona_error_reply.py | 1 | |
| LOW | astrbot/core/pipeline/__init__.py | 8 | |
| LOW | astrbot/core/pipeline/__init__.py | 13 | |
| LOW | astrbot/core/pipeline/__init__.py | 13 | |
| LOW | astrbot/core/pipeline/__init__.py | 18 | |
| LOW | astrbot/core/pipeline/__init__.py | 21 | |
| LOW | astrbot/core/pipeline/__init__.py | 22 | |
| LOW | astrbot/core/pipeline/__init__.py | 23 | |
| LOW | astrbot/core/pipeline/__init__.py | 24 | |
| LOW | astrbot/core/pipeline/__init__.py | 25 | |
| LOW | astrbot/core/pipeline/__init__.py | 26 | |
| LOW | astrbot/core/pipeline/__init__.py | 27 | |
| LOW | astrbot/core/pipeline/__init__.py | 28 | |
| LOW | astrbot/core/pipeline/__init__.py | 29 | |
| LOW | astrbot/core/pipeline/__init__.py | 72 | |
| LOW | astrbot/core/pipeline/__init__.py | 73 | |
| LOW | astrbot/core/pipeline/__init__.py | 74 | |
| LOW | astrbot/core/pipeline/__init__.py | 75 | |
| LOW | astrbot/core/pipeline/__init__.py | 76 | |
| LOW | astrbot/core/pipeline/__init__.py | 77 | |
| LOW | astrbot/core/pipeline/__init__.py | 78 | |
| LOW | astrbot/core/pipeline/__init__.py | 79 | |
| LOW | astrbot/core/pipeline/__init__.py | 80 | |
| LOW | astrbot/core/pipeline/context.py | 1 | |
| LOW | astrbot/core/pipeline/stage.py | 1 | |
| LOW | astrbot/core/pipeline/process_stage/follow_up.py | 1 | |
| LOW | …e/process_stage/method/agent_sub_stages/third_party.py | 33 | |
| LOW | …e/process_stage/method/agent_sub_stages/third_party.py | 34 | |
| LOW | astrbot/core/tools/registry.py | 1 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 1 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 1 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 1 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 6 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 6 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 6 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 6 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 6 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 6 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 14 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 14 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 15 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 16 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 16 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 16 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 16 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 16 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 16 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 16 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 16 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 16 | |
| LOW | astrbot/core/tools/computer_tools/__init__.py | 16 | |
| 385 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | …ore/platform/sources/wecom_ai_bot/WXBizJsonMsgCrypt.py | 7 | # ------------------------------------------------------------------------ |
| MEDIUM | astrbot/core/star/session_llm_manager.py | 10 | # ============================================================================= |
| MEDIUM | astrbot/core/star/session_llm_manager.py | 12 | # ============================================================================= |
| MEDIUM | astrbot/core/star/session_llm_manager.py | 81 | # ============================================================================= |
| MEDIUM | astrbot/core/star/session_llm_manager.py | 83 | # ============================================================================= |
| MEDIUM | astrbot/core/star/session_llm_manager.py | 156 | # ============================================================================= |
| MEDIUM | astrbot/core/star/session_llm_manager.py | 158 | # ============================================================================= |
| MEDIUM | astrbot/core/backup/constants.py | 37 | # ============================================================ |
| MEDIUM | astrbot/core/backup/constants.py | 39 | # ============================================================ |
| MEDIUM | astrbot/core/computer/booters/bay_manager.py | 21 | # --------------------------------------------------------------------------- |
| MEDIUM | astrbot/core/computer/booters/bay_manager.py | 23 | # --------------------------------------------------------------------------- |
| MEDIUM | astrbot/core/computer/booters/bay_manager.py | 46 | # ------------------------------------------------------------------ |
| MEDIUM | astrbot/core/computer/booters/bay_manager.py | 48 | # ------------------------------------------------------------------ |
| MEDIUM | astrbot/core/computer/booters/bay_manager.py | 233 | # ------------------------------------------------------------------ |
| MEDIUM | astrbot/core/computer/booters/bay_manager.py | 235 | # ------------------------------------------------------------------ |
| MEDIUM | tests/conftest.py | 31 | # ============================================================ |
| MEDIUM | tests/conftest.py | 33 | # ============================================================ |
| MEDIUM | tests/conftest.py | 104 | # ============================================================ |
| MEDIUM | tests/conftest.py | 106 | # ============================================================ |
| MEDIUM | tests/conftest.py | 163 | # ============================================================ |
| MEDIUM | tests/conftest.py | 165 | # ============================================================ |
| MEDIUM | tests/conftest.py | 235 | # ============================================================ |
| MEDIUM | tests/conftest.py | 237 | # ============================================================ |
| MEDIUM | tests/conftest.py | 270 | # ============================================================ |
| MEDIUM | tests/conftest.py | 272 | # ============================================================ |
| MEDIUM | tests/conftest.py | 289 | # ============================================================ |
| MEDIUM | tests/conftest.py | 291 | # ============================================================ |
| MEDIUM | tests/conftest.py | 340 | # ============================================================ |
| MEDIUM | tests/conftest.py | 342 | # ============================================================ |
| MEDIUM | tests/conftest.py | 359 | # ============================================================ |
| MEDIUM | tests/conftest.py | 361 | # ============================================================ |
| MEDIUM | tests/test_shipyard_neo_booter.py | 12 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_shipyard_neo_booter.py | 14 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_shipyard_neo_booter.py | 138 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_shipyard_neo_booter.py | 140 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_shipyard_neo_booter.py | 225 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_shipyard_neo_booter.py | 227 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_profile_aware_tools.py | 277 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_profile_aware_tools.py | 279 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_profile_aware_tools.py | 11 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_profile_aware_tools.py | 13 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_profile_aware_tools.py | 56 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_profile_aware_tools.py | 58 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_profile_aware_tools.py | 164 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_profile_aware_tools.py | 166 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_computer_config.py | 16 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_computer_config.py | 18 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_computer_config.py | 169 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | tests/test_computer_config.py | 171 | # ═══════════════════════════════════════════════════════════════ |
| MEDIUM | docs/zh/use/astrbot-agent-sandbox.md | 260 | # ── 标准 Python 沙箱 ──────────────────────── |
| MEDIUM | docs/zh/use/astrbot-agent-sandbox.md | 282 | # ── 数据科学沙箱(更多资源) ────────── |
| MEDIUM | docs/zh/use/astrbot-agent-sandbox.md | 299 | # ── 浏览器 + Python 多容器沙箱 ─────── |
| MEDIUM | docs/en/use/astrbot-agent-sandbox.md | 157 | # ── Standard Python sandbox ──────────────────────── |
| MEDIUM | docs/en/use/astrbot-agent-sandbox.md | 179 | # ── Data-science sandbox (more resources) ────────── |
| MEDIUM | docs/en/use/astrbot-agent-sandbox.md | 196 | # ── Browser + Python multi-container sandbox ─────── |
| MEDIUM | scripts/start-with-neo.sh | 2 | # ────────────────────────────────────────────────────────────── |
| MEDIUM | scripts/start-with-neo.sh | 8 | # ────────────────────────────────────────────────────────────── |
| MEDIUM | scripts/start-with-neo.sh | 11 | # ── 路径 ────────────────────────────────────────────────────── |
| MEDIUM | scripts/start-with-neo.sh | 23 | # ── 颜色 ────────────────────────────────────────────────────── |
| MEDIUM | scripts/start-with-neo.sh | 35 | # ── 清理函数 ────────────────────────────────────────────────── |
| 11 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | astrbot/core/astr_main_agent.py | 274 | |
| LOW | astrbot/core/astr_main_agent.py | 431 | |
| LOW | astrbot/core/astr_main_agent.py | 748 | |
| LOW | astrbot/core/astr_main_agent.py | 1121 | |
| LOW | astrbot/core/astr_main_agent.py | 1243 | |
| LOW | astrbot/core/astr_agent_tool_exec.py | 708 | |
| LOW | astrbot/core/astr_agent_tool_exec.py | 75 | |
| LOW | astrbot/core/astr_agent_tool_exec.py | 129 | |
| LOW | astrbot/core/astr_agent_tool_exec.py | 414 | |
| LOW | astrbot/core/astr_agent_tool_exec.py | 461 | |
| LOW | astrbot/core/astr_agent_tool_exec.py | 612 | |
| LOW | astrbot/core/astr_agent_run_util.py | 115 | |
| LOW | astrbot/core/astr_agent_run_util.py | 495 | |
| LOW | astrbot/core/astr_agent_run_util.py | 572 | |
| LOW | astrbot/core/conversation_mgr.py | 367 | |
| LOW | astrbot/core/updator.py | 146 | |
| LOW | …line/process_stage/method/agent_sub_stages/internal.py | 162 | |
| LOW | …e/process_stage/method/agent_sub_stages/third_party.py | 62 | |
| LOW | …e/process_stage/method/agent_sub_stages/third_party.py | 289 | |
| LOW | astrbot/core/pipeline/result_decorate/stage.py | 104 | |
| LOW | astrbot/core/pipeline/result_decorate/stage.py | 126 | |
| LOW | astrbot/core/pipeline/waking_check/stage.py | 77 | |
| LOW | astrbot/core/pipeline/respond/stage.py | 169 | |
| LOW | astrbot/core/pipeline/preprocess_stage/stage.py | 25 | |
| LOW | astrbot/core/tools/registry.py | 33 | |
| LOW | astrbot/core/tools/message_tools.py | 81 | |
| LOW | astrbot/core/tools/message_tools.py | 127 | |
| LOW | astrbot/core/tools/computer_tools/fs.py | 762 | |
| LOW | astrbot/core/config/astrbot_config.py | 157 | |
| LOW | astrbot/core/platform/astr_message_event.py | 142 | |
| LOW | astrbot/core/platform/manager.py | 309 | |
| LOW | …bot/core/platform/sources/dingtalk/dingtalk_adapter.py | 149 | |
| LOW | …bot/core/platform/sources/dingtalk/dingtalk_adapter.py | 531 | |
| LOW | …bot/core/platform/sources/dingtalk/dingtalk_adapter.py | 748 | |
| LOW | …bot/core/platform/sources/dingtalk/dingtalk_adapter.py | 756 | |
| LOW | astrbot/core/platform/sources/kook/kook_client.py | 189 | |
| LOW | astrbot/core/platform/sources/kook/kook_client.py | 300 | |
| LOW | astrbot/core/platform/sources/kook/kook_adapter.py | 132 | |
| LOW | astrbot/core/platform/sources/kook/kook_adapter.py | 212 | |
| LOW | astrbot/core/platform/sources/kook/kook_adapter.py | 360 | |
| LOW | …atform/sources/qqofficial_webhook/qo_webhook_server.py | 99 | |
| LOW | …t/core/platform/sources/weixin_oc/weixin_oc_adapter.py | 1138 | |
| LOW | …t/core/platform/sources/weixin_oc/weixin_oc_adapter.py | 1683 | |
| LOW | …ore/platform/sources/discord/discord_platform_event.py | 128 | |
| LOW | …e/platform/sources/discord/discord_platform_adapter.py | 198 | |
| LOW | …atform/sources/aiocqhttp/aiocqhttp_platform_adapter.py | 198 | |
| LOW | …/platform/sources/aiocqhttp/aiocqhttp_message_event.py | 35 | |
| LOW | …/platform/sources/aiocqhttp/aiocqhttp_message_event.py | 70 | |
| LOW | …/platform/sources/aiocqhttp/aiocqhttp_message_event.py | 115 | |
| LOW | …/platform/sources/aiocqhttp/aiocqhttp_message_event.py | 184 | |
| LOW | astrbot/core/platform/sources/lark/lark_event.py | 194 | |
| LOW | astrbot/core/platform/sources/lark/lark_event.py | 330 | |
| LOW | astrbot/core/platform/sources/lark/lark_event.py | 434 | |
| LOW | astrbot/core/platform/sources/lark/lark_event.py | 957 | |
| LOW | astrbot/core/platform/sources/lark/lark_adapter.py | 130 | |
| LOW | astrbot/core/platform/sources/lark/lark_adapter.py | 155 | |
| LOW | astrbot/core/platform/sources/lark/lark_adapter.py | 190 | |
| LOW | astrbot/core/platform/sources/wecom/wecom_event.py | 82 | |
| LOW | astrbot/core/platform/sources/wecom/wecom_adapter.py | 311 | |
| LOW | astrbot/core/platform/sources/wecom/wecom_adapter.py | 361 | |
| 216 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | astrbot/core/platform/sources/lark/lark_event.py | 775 | response = await self.bot.im.v1.message_reaction.acreate(request) |
| CRITICAL | astrbot/core/platform/sources/lark/lark_event.py | 823 | response = await self.bot.cardkit.v1.card.acreate(request) |
| CRITICAL | astrbot/core/platform/sources/lark/lark_event.py | 889 | response = await self.bot.cardkit.v1.card_element.acontent(request) |
| CRITICAL | astrbot/core/platform/sources/lark/lark_event.py | 929 | response = await self.bot.cardkit.v1.card.asettings(request) |
| CRITICAL | astrbot/core/platform/sources/lark/lark_adapter.py | 115 | response = await self.lark_api.im.v1.message_resource.aget(request) |
| CRITICAL | astrbot/core/platform/sources/lark/lark_adapter.py | 348 | response = await self.lark_api.im.v1.message.aget(request) |
| CRITICAL | astrbot/core/provider/sources/gemini_source.py | 21 | from astrbot.core.exceptions import EmptyModelOutputError |
| CRITICAL | astrbot/core/provider/sources/anthropic_source.py | 16 | from astrbot.core.exceptions import EmptyModelOutputError |
| CRITICAL | astrbot/core/provider/sources/openai_source.py | 36 | from astrbot.core.exceptions import EmptyModelOutputError |
| CRITICAL | astrbot/core/provider/sources/openai_tts_api_source.py | 51 | async with self.client.audio.speech.with_streaming_response.create( |
| CRITICAL | astrbot/core/agent/runners/tool_loop_agent_runner.py | 32 | from astrbot.core.exceptions import EmptyModelOutputError |
| CRITICAL | astrbot/core/db/vec_db/faiss_impl/vec_db.py | 7 | from astrbot.core.exceptions import KnowledgeBaseUploadError |
| CRITICAL | astrbot/core/knowledge_base/kb_helper.py | 13 | from astrbot.core.exceptions import KnowledgeBaseUploadError |
| CRITICAL | tests/test_openai_source.py | 10 | from astrbot.core.exceptions import EmptyModelOutputError |
| CRITICAL | tests/test_anthropic_kimi_code_provider.py | 7 | from astrbot.core.exceptions import EmptyModelOutputError |
| CRITICAL | tests/test_gemini_source.py | 3 | from astrbot.core.exceptions import EmptyModelOutputError |
| CRITICAL | tests/test_kb_import.py | 11 | from astrbot.core.exceptions import KnowledgeBaseUploadError |
| CRITICAL | tests/test_tool_loop_agent_runner.py | 22 | from astrbot.core.exceptions import EmptyModelOutputError |
| CRITICAL | tests/unit/test_faiss_vec_db.py | 6 | from astrbot.core.exceptions import KnowledgeBaseUploadError |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | astrbot/core/platform/sources/kook/kook_types.py | 0 | 默认配置预期场景为发送数据,若需要使用此数据类接收数据并尽量原样json输出, 请`exclude_none=false, exclude_unset=true` |
| HIGH | astrbot/core/platform/sources/kook/kook_types.py | 0 | 默认配置预期场景为发送数据,若需要使用此数据类接收数据并尽量原样json输出, 请`exclude_none=false, exclude_unset=true` |
| HIGH | astrbot/core/platform/sources/kook/kook_types.py | 0 | 默认配置预期场景为发送数据,若需要使用此数据类接收数据并尽量原样json输出, 请`exclude_none=false, exclude_unset=true` |
| HIGH | astrbot/core/platform/sources/kook/kook_types.py | 0 | 默认配置预期场景为发送数据,若需要使用此数据类接收数据并尽量原样json输出, 请`exclude_none=false, exclude_unset=true` |
| HIGH | astrbot/core/db/po.py | 0 | persona is a set of instructions for llms to follow. it can be used to customize the behavior of llms. |
| HIGH | docs/zh/dev/star/plugin.md | 0 | persona is a set of instructions for llms to follow. it can be used to customize the behavior of llms. |
| HIGH | docs/zh/dev/star/guides/ai.md | 0 | persona is a set of instructions for llms to follow. it can be used to customize the behavior of llms. |
| HIGH | docs/en/dev/star/guides/ai.md | 0 | persona is a set of instructions for llms to follow. it can be used to customize the behavior of llms. |
| HIGH | astrbot/core/db/po.py | 0 | a list of strings, each representing a dialog to start with |
| HIGH | docs/zh/dev/star/plugin.md | 0 | a list of strings, each representing a dialog to start with |
| HIGH | docs/zh/dev/star/guides/ai.md | 0 | a list of strings, each representing a dialog to start with |
| HIGH | docs/en/dev/star/guides/ai.md | 0 | a list of strings, each representing a dialog to start with |
| HIGH | astrbot/core/db/po.py | 0 | none means use all tools for default, empty list means no tools, otherwise a list of tool names. |
| HIGH | docs/zh/dev/star/plugin.md | 0 | none means use all tools for default, empty list means no tools, otherwise a list of tool names. |
| HIGH | docs/zh/dev/star/guides/ai.md | 0 | none means use all tools for default, empty list means no tools, otherwise a list of tool names. |
| HIGH | docs/en/dev/star/guides/ai.md | 0 | none means use all tools for default, empty list means no tools, otherwise a list of tool names. |
| HIGH | astrbot/core/db/po.py | 0 | llm 人格类。 在 v4.0.0 版本及之后,推荐使用上面的 persona 类。并且, mood_imitation_dialogs 字段已被废弃。 |
| HIGH | docs/zh/dev/star/plugin.md | 0 | llm 人格类。 在 v4.0.0 版本及之后,推荐使用上面的 persona 类。并且, mood_imitation_dialogs 字段已被废弃。 |
| HIGH | docs/zh/dev/star/guides/ai.md | 0 | llm 人格类。 在 v4.0.0 版本及之后,推荐使用上面的 persona 类。并且, mood_imitation_dialogs 字段已被废弃。 |
| HIGH | tests/test_computer_fs_tools.py | 0 | <?xml version="1.0" encoding="utf-8"?> <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> |
| HIGH | tests/test_epub_parser.py | 0 | <?xml version="1.0" encoding="utf-8"?> <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> |
| HIGH | tests/test_epub_parser.py | 0 | <?xml version="1.0" encoding="utf-8"?> <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> |
| HIGH | docs/zh/dev/star/plugin.md | 0 | <div style="font-size: 32px;"> <h1 style="color: black">todo list</h1> <ul> {% for item in items %} <li>{{ item }}</li> |
| HIGH | docs/zh/dev/star/guides/html-to-pic.md | 0 | <div style="font-size: 32px;"> <h1 style="color: black">todo list</h1> <ul> {% for item in items %} <li>{{ item }}</li> |
| HIGH | docs/en/dev/star/guides/html-to-pic.md | 0 | <div style="font-size: 32px;"> <h1 style="color: black">todo list</h1> <ul> {% for item in items %} <li>{{ item }}</li> |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | astrbot/core/astrbot_config_mgr.py | 178 | 删除指定配置文件 Args: conf_id: 配置文件的 UUID Returns: bool: 删除是否成功 Raises: |
| HIGH | astrbot/core/file_token_service.py | 32 | 向令牌服务注册一个文件。 Args: file_path(str): 文件路径 timeout(float): 超时时间,单位秒(可选) Returns: |
| HIGH | astrbot/core/file_token_service.py | 76 | 根据令牌获取文件路径,使用后令牌失效。 Args: file_token(str): 注册时返回的令牌 Returns: str: 文件路径 |
| HIGH | astrbot/core/platform/platform.py | 154 | 统一 Webhook 回调入口。 支持统一 Webhook 模式的平台需要实现此方法。 当 Dashboard 收到 /api/platform/webhook/{uuid} 请求时,会调用此方法。 |
| HIGH | astrbot/core/platform/sources/misskey/misskey_api.py | 834 | 通用消息发送函数:统一处理文本+媒体发送 Args: message_type: 消息类型 ('chat', 'room', 'note') target_id: 目标ID |
| HIGH | astrbot/core/provider/sources/bailian_rerank_source.py | 126 | 解析API响应结果 Args: data: API响应数据 Returns: 重排序结果列表 Raises: Ba |
| HIGH | astrbot/core/utils/media_utils.py | 83 | 使用ffmpeg转换视频格式 Args: video_path: 原始视频文件路径 output_format: 目标格式,默认mp4 output_path: 输出文件路径,如果为 |
| HIGH | astrbot/core/agent/mcp_client.py | 592 | Call MCP tool with automatic reconnection on failure, max 2 retries. Args: tool_name: tool name |
| HIGH | astrbot/core/star/star_tools.py | 66 | 根据session(unified_msg_origin)主动发送消息 Args: session: 消息会话。通过event.session或者event.unified_msg_origin获取 |
| HIGH | astrbot/core/star/star_tools.py | 266 | 返回插件数据目录的绝对路径。 此方法会在 data/plugin_data 目录下为插件创建一个专属的数据目录。如果未提供插件名称, 会自动从调用栈中获取插件信息。 Args: |
| HIGH | astrbot/core/star/context.py | 167 | Run an agent loop that allows the LLM to call tools iteratively until a final answer is produced. If you do not |
| HIGH | astrbot/core/star/context.py | 267 | 获取当前使用的聊天模型 Provider ID。 Args: umo: unified_message_origin。消息会话来源 ID。 Returns: |
| HIGH | astrbot/core/star/context.py | 363 | 获取当前使用的用于文本生成任务的 LLM Provider(Chat_Completion 类型)。 Args: umo: unified_message_origin 值,如果传入并且用户启用了提 |
| HIGH | astrbot/core/star/context.py | 388 | 获取当前使用的用于 TTS 任务的 Provider。 Args: umo: unified_message_origin 值,如果传入,则使用该会话偏好的提供商。 Returns |
| HIGH | astrbot/core/star/context.py | 408 | 获取当前使用的用于 STT 任务的 Provider。 Args: umo: unified_message_origin 值,如果传入,则使用该会话偏好的提供商。 Returns |
| HIGH | astrbot/core/star/context.py | 449 | 根据 session(unified_msg_origin) 主动发送消息。 Args: session: 消息会话。通过 event.session 或者 event.unified_msg_or |
| HIGH | astrbot/core/knowledge_base/kb_helper.py | 588 | 从 URL 上传并处理文档(带原子性保证和失败清理) Args: url: 要提取内容的网页 URL chunk_size: 文本块大小 chunk_o |
| HIGH | astrbot/core/knowledge_base/kb_mgr.py | 369 | 从 URL 上传文档到指定的知识库 Args: kb_id: 知识库 ID url: 要提取内容的网页 URL chunk_size: 文本块大小 |
| HIGH | astrbot/core/knowledge_base/parsers/url_parser.py | 31 | 使用 Tavily API 从 URL 提取主要文本内容。 这是 web_searcher 插件中 tavily_extract_web_page 方法的简化版本, 专门为知识库模块设计,不 |
| HIGH | astrbot/core/knowledge_base/parsers/text_parser.py | 16 | 解析文本文件 尝试使用多种编码解析文件内容。 Args: file_content: 文件内容 file_name: 文件名 Return |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | astrbot/core/agent/mcp_client.py | 454 | # Create a new client session |
| MEDIUM | astrbot/core/agent/mcp_client.py | 479 | # Create a new client session |
| MEDIUM | astrbot/core/agent/mcp_client.py | 522 | # Create a new client session |
| MEDIUM | astrbot/core/db/po.py | 18 | """This class represents the statistics of bot usage across different platforms. |
| MEDIUM | astrbot/core/db/po.py | 200 | """This class represents preferences for bots.""" |
| MEDIUM | astrbot/core/db/po.py | 227 | """This class represents the message history for a specific platform. |
| MEDIUM | astrbot/core/db/po.py | 318 | """This class represents attachments for messages in AstrBot. |
| MEDIUM | astrbot/core/db/po.py | 386 | """This class represents projects for organizing ChatUI conversations. |
| MEDIUM | astrbot/core/db/po.py | 422 | """This class represents the relationship between platform sessions and ChatUI projects.""" |
| MEDIUM | tests/test_security_fixes.py | 17 | # Create an instance and test that random string generation works |
| MEDIUM | tests/test_security_fixes.py | 62 | # Create a provider with test config |
| MEDIUM | tests/test_security_fixes.py | 103 | # Create a context similar to what's used in io.py |
| MEDIUM | tests/unit/test_event_bus.py | 77 | # Create a mock event |
| MEDIUM | tests/unit/test_computer.py | 160 | # Create a test file |
| MEDIUM | tests/unit/test_core_lifecycle.py | 663 | # Create a task that completes quickly for testing |
| MEDIUM | tests/unit/test_core_lifecycle.py | 713 | # Create a mock handler |
| MEDIUM | tests/unit/test_core_lifecycle.py | 832 | # Create a mock plugin that raises exception on termination |
| MEDIUM | tests/unit/test_star_base.py | 20 | # Create a mock context with get_config method |
| MEDIUM | tests/unit/test_star_base.py | 24 | # Create a concrete Star subclass for testing |
| MEDIUM | tests/unit/test_tool_conflict_resolution.py | 79 | # Create a mock object without 'active' attribute |
| MEDIUM | tests/unit/test_config.py | 175 | # Create a path that definitely doesn't exist |
| MEDIUM | tests/agent/test_context_manager.py | 246 | # Create a mock compressor |
| MEDIUM | tests/agent/test_context_manager.py | 637 | # Create a mock compressor |
| MEDIUM | tests/agent/test_context_manager.py | 660 | # Create a mock compressor |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | k8s/astrbot/04-service-loadbalancer.yaml | 21 | # targetPort: 6195 |
| LOW | k8s/astrbot/03-service-nodeport.yaml | 21 | # - name: wecom-wh |
| LOW | astrbot/core/config/default.py | 521 | "type": "mattermost", |
| LOW | astrbot/core/config/default.py | 3481 | }, |
| LOW | astrbot/core/config/default.py | 3501 | # "type": "string", |
| LOW | …bot/core/platform/sources/dingtalk/dingtalk_adapter.py | 701 | # for segment in message_chain.chain: |
| LOW | astrbot/core/platform/sources/kook/kook_config.py | 81 | |
| LOW | astrbot/core/platform/sources/kook/kook_config.py | 101 | # # 日志配置 |
| LOW | astrbot/core/platform/sources/kook/kook_config.py | 121 | # "enable_connection_pooling": True, # 是否启用连接池 |
| LOW | astrbot/core/platform/sources/webchat/webchat_event.py | 181 | await web_chat_back_queue.put(payload) |
| LOW | astrbot/core/utils/tencent_record_helper.py | 41 | # with wave.open(wav_path, 'rb') as wav: |
| LOW | changelogs/v4.2.0.md | 1 | # What's Changed |
| LOW | changelogs/v4.2.1.md | 1 | # What's Changed |
| LOW | dashboard/src/router/MainRoutes.ts | 141 | // component: () => import('@/views/AlkaidPage.vue'), |
| LOW | .github/auto_assign.yml | 21 | |
| LOW | .github/workflows/codeql.yml | 1 | # For most projects, this workflow file will not need changing; you simply need |
| LOW | .github/workflows/codeql.yml | 61 | # Initializes the CodeQL tools for scanning. |
| LOW | openspec/config.yaml | 1 | schema: spec-driven |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | astrbot/core/utils/t2i/network_strategy.py | 34 | "T2I Shiki runtime not found at %s. Run `cd dashboard && pnpm run build:t2i-shiki-runtime` to regenerate it. |
| HIGH | astrbot/core/star/filter/command_group.py | 125 | if self.equals(event.message_str.strip()): |
| HIGH | astrbot/dashboard/routes/session_management.py | 616 | "llm_enabled": true/false/null, // 可选,null表示不修改 |
| HIGH | astrbot/dashboard/routes/session_management.py | 617 | "tts_enabled": true/false/null, // 可选 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | astrbot/core/tools/computer_tools/fs.py | 709 | # Check if file exists |
| LOW | astrbot/core/provider/sources/openai_source.py | 788 | # Check if this looks like OpenAI content-part format |
| LOW | astrbot/core/provider/sources/openai_source.py | 807 | # Check if the string is a JSON-encoded list (e.g., "[{'type': 'text', ...}]") |
| LOW | astrbot/core/utils/trace.py | 53 | # Check if trace recording is enabled |
| LOW | astrbot/core/agent/mcp_client.py | 545 | # Check if already reconnecting (useful for logging) |
| LOW | astrbot/core/computer/booters/boxlite.py | 49 | # Read file content |
| LOW | astrbot/cli/utils/plugin.py | 219 | # Check if plugin exists |
| LOW | scripts/start-with-neo.sh | 198 | # Check if process is still alive |
| LOW | .github/auto_assign.yml | 19 | # Set 0 to add all the reviewers (default: 0) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | astrbot/core/knowledge_base/kb_helper.py | 88 | # More robust regex to handle potential LLM formatting errors (spaces, newlines in tags) |
| MEDIUM | dashboard/src/components/chat/LiveOrb.vue | 187 | // Repeat once to make it seamless |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | .github/workflows/codeql.yml | 55 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scripts/start-with-neo.sh | 5 | # Usage: |