Production-grade platform for building agentic IM bots - 生产级多平台智能机器人开发平台. 提供 Agent、知识库编排、插件系统 / Bots for Discord / Slack / LINE / Telegram / WeChat(企业微信, 企微智能机器人, 公众号) / 飞书 / 钉钉 / QQ / Satori e.g. Integrated with ChatGPT(GPT), DeepSeek, Dify, n8n, Langflow, Coze, Claude, Gemini, MiniMax, Ollama, SiliconFlow, Moonshot, GLM, openclaw / hermes agent
2694 matches across 18 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …arket/plugin-market-card/PluginMarketCardComponent.tsx | 16 | export default function PluginMarketCardComponent({ |
| LOW | …ts/plugin-install-task/PluginInstallProgressDialog.tsx | 382 | export default function PluginInstallProgressDialog() { |
| LOW | …nents/plugin-install-task/PluginInstallTaskContext.tsx | 144 | function asyncTaskToPluginInstallTask(task: AsyncTask): PluginInstallTask { |
| LOW | …nents/plugin-install-task/PluginInstallTaskContext.tsx | 196 | export function PluginInstallTaskProvider({ |
| LOW | …b/src/app/home/components/home-sidebar/HomeSidebar.tsx | 1236 | function handleAccountSettingsChange(open: boolean) { |
| LOW | …b/src/app/home/components/home-sidebar/HomeSidebar.tsx | 1254 | function handleStorageAnalysisChange(open: boolean) { |
| LOW | web/src/app/auth/space/callback/page.tsx | 33 | function getOrCreateSpaceOAuthLoginPromise( |
| LOW | web/src/app/auth/space/callback/page.tsx | 33 | function getOrCreateSpaceOAuthLoginPromise( |
| LOW | web/src/app/auth/space/callback/page.tsx | 51 | function SpaceOAuthCallbackContent() { |
| LOW | tests/test_cwe94_debug_exec.py | 31 | def test_no_exec_call_in_system_controller(): |
| LOW | tests/smoke/test_fake_message_flow.py | 46 | async def test_fake_provider_returns_text(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 87 | async def test_fake_provider_streaming(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 110 | async def test_fake_provider_timeout(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 126 | async def test_fake_provider_rate_limit(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 142 | async def test_fake_provider_captures_requests(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 164 | async def test_fake_platform_capture_outbound(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 184 | async def test_fake_platform_friend_message(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 200 | async def test_fake_platform_group_message_with_mention(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 220 | async def test_query_factories_basic(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 244 | async def test_fake_platform_send_failure(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 258 | async def test_mock_platform_adapter(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 284 | async def test_minimal_message_flow(self): |
| LOW | tests/smoke/test_fake_message_flow.py | 328 | async def test_streaming_message_flow(self): |
| LOW | tests/unit_tests/test_telemetry.py | 11 | async def test_send_tasks_are_scoped_to_manager_instance(monkeypatch): |
| LOW | tests/unit_tests/pipeline/conftest.py | 46 | def _create_mock_session_manager(self): |
| LOW | tests/unit_tests/pipeline/conftest.py | 52 | def _create_mock_model_manager(self): |
| LOW | tests/unit_tests/pipeline/conftest.py | 57 | def _create_mock_tool_manager(self): |
| LOW | tests/unit_tests/pipeline/conftest.py | 62 | def _create_mock_plugin_connector(self): |
| LOW | tests/unit_tests/pipeline/conftest.py | 67 | def _create_mock_persistence_manager(self): |
| LOW | tests/unit_tests/pipeline/conftest.py | 79 | def _create_mock_instance_config(self): |
| LOW | tests/unit_tests/pipeline/conftest.py | 87 | def _create_mock_task_manager(self): |
| LOW | tests/unit_tests/pipeline/test_config_coercion.py | 46 | def test_invalid_bool_string_raises(self): |
| LOW | tests/unit_tests/pipeline/test_config_coercion.py | 50 | def test_unknown_type_passthrough(self): |
| LOW | tests/unit_tests/pipeline/test_config_coercion.py | 54 | def test_invalid_integer_raises(self): |
| LOW | tests/unit_tests/pipeline/test_config_coercion.py | 68 | def test_coerce_integer_in_config(self): |
| LOW | tests/unit_tests/pipeline/test_config_coercion.py | 74 | def test_coerce_boolean_in_config(self): |
| LOW | tests/unit_tests/pipeline/test_config_coercion.py | 80 | def test_missing_section_skipped(self): |
| LOW | tests/unit_tests/pipeline/test_config_coercion.py | 85 | def test_missing_field_skipped(self): |
| LOW | tests/unit_tests/pipeline/test_config_coercion.py | 90 | def test_invalid_value_logs_warning(self, caplog): |
| LOW | tests/unit_tests/pipeline/test_resprule.py | 43 | async def test_group_message_no_match(mock_app, sample_query): |
| LOW | tests/unit_tests/pipeline/test_pipelinemgr.py | 22 | def get_persistence_pipeline_module(): |
| LOW | tests/unit_tests/pipeline/test_pipelinemgr.py | 27 | async def test_pipeline_manager_initialize(mock_app): |
| LOW | tests/unit_tests/pipeline/test_pipelinemgr.py | 65 | async def test_get_pipeline_by_uuid(mock_app): |
| LOW | tests/unit_tests/pipeline/test_pipelinemgr.py | 121 | async def test_runtime_pipeline_execute(mock_app, sample_query): |
| LOW | tests/unit_tests/pipeline/test_wrapper.py | 84 | async def test_message_chain_direct_append(self): |
| LOW | tests/unit_tests/pipeline/test_wrapper.py | 116 | async def test_command_response_prefix(self): |
| LOW | tests/unit_tests/pipeline/test_wrapper.py | 154 | async def test_plugin_response_direct(self): |
| LOW | tests/unit_tests/pipeline/test_wrapper.py | 190 | async def test_assistant_content_response(self): |
| LOW | tests/unit_tests/pipeline/test_wrapper.py | 238 | async def test_assistant_empty_content(self): |
| LOW | tests/unit_tests/pipeline/test_wrapper.py | 270 | async def test_assistant_tool_calls(self): |
| LOW | tests/unit_tests/pipeline/test_wrapper.py | 327 | async def test_event_prevented_interrupts(self): |
| LOW | tests/unit_tests/pipeline/test_wrapper.py | 375 | async def test_custom_reply_chain_used(self): |
| LOW | tests/unit_tests/pipeline/test_wrapper.py | 431 | async def test_bound_plugins_passed_to_event(self): |
| LOW | tests/unit_tests/pipeline/test_query_pool.py | 49 | async def test_add_query_returns_created_query_and_preserves_side_effects( |
| LOW | tests/unit_tests/pipeline/test_msgtrun.py | 41 | def get_round_truncator_module(): |
| LOW | tests/unit_tests/pipeline/test_msgtrun.py | 61 | async def test_initialize_round_truncator(self): |
| LOW | tests/unit_tests/pipeline/test_msgtrun.py | 77 | async def test_initialize_unknown_truncator_raises(self): |
| LOW | tests/unit_tests/pipeline/test_msgtrun.py | 105 | async def test_truncate_within_limit(self): |
| LOW | tests/unit_tests/pipeline/test_msgtrun.py | 135 | async def test_truncate_exceeds_limit(self): |
| LOW | tests/unit_tests/pipeline/test_msgtrun.py | 185 | async def test_truncate_empty_messages(self): |
| 1398 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/integration/persistence/test_migrations.py | 196 | except Exception as e: |
| LOW | …ts/integration/persistence/test_migrations_postgres.py | 70 | except Exception: |
| LOW | …ts/integration/persistence/test_migrations_postgres.py | 78 | except Exception: |
| LOW | tests/e2e/utils/process_manager.py | 190 | except Exception: |
| LOW | src/langbot/libs/wechatpad_api/util/http_util.py | 19 | except Exception as e: |
| LOW | src/langbot/libs/wechatpad_api/util/http_util.py | 38 | except Exception as e: |
| LOW | src/langbot/libs/official_account_api/api.py | 154 | except Exception: |
| LOW | src/langbot/libs/official_account_api/api.py | 342 | except Exception: |
| LOW | src/langbot/libs/openclaw_weixin_api/client.py | 184 | except Exception as e: |
| LOW | src/langbot/libs/openclaw_weixin_api/client.py | 594 | except Exception as e: |
| LOW | src/langbot/libs/openclaw_weixin_api/client.py | 604 | except Exception as e: |
| LOW | src/langbot/libs/openclaw_weixin_api/client.py | 614 | except Exception as e: |
| LOW | src/langbot/libs/dingtalk_api/api.py | 56 | except Exception: |
| LOW | src/langbot/libs/dingtalk_api/api.py | 232 | except Exception as e: |
| LOW | src/langbot/libs/dingtalk_api/api.py | 242 | except Exception as e: |
| LOW | src/langbot/libs/dingtalk_api/api.py | 252 | except Exception as e: |
| LOW | src/langbot/libs/dingtalk_api/api.py | 413 | except Exception: |
| LOW | src/langbot/libs/dingtalk_api/api.py | 443 | except Exception: |
| LOW | src/langbot/libs/dingtalk_api/api.py | 469 | except Exception: |
| LOW | src/langbot/libs/dingtalk_api/api.py | 510 | except Exception as e: |
| LOW | src/langbot/libs/dingtalk_api/api.py | 562 | except Exception as e: |
| LOW | src/langbot/libs/dingtalk_api/api.py | 586 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 120 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 300 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 407 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 423 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 429 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 500 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 567 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 581 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 597 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 645 | except Exception as e: |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 368 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 375 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 838 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 866 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 951 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 1052 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 1064 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 1067 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 1089 | except Exception: |
| LOW | src/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py | 54 | except Exception as e: |
| LOW | src/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py | 80 | except Exception as e: |
| LOW | src/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py | 160 | except Exception as e: |
| LOW | src/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py | 174 | except Exception as e: |
| LOW | src/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py | 188 | except Exception as e: |
| LOW | src/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py | 210 | except Exception: |
| MEDIUM | src/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py | 206 | def __init__(self, sToken, sEncodingAESKey, sReceiveId): |
| LOW | src/langbot/libs/wecom_customer_service_api/api.py | 174 | except Exception as e: |
| LOW | src/langbot/libs/wecom_customer_service_api/api.py | 241 | except Exception as e: |
| LOW | src/langbot/libs/wecom_customer_service_api/api.py | 265 | except Exception as e: |
| LOW | src/langbot/libs/wecom_api/api.py | 299 | except Exception as e: |
| LOW | src/langbot/libs/wecom_api/WXBizMsgCrypt3.py | 55 | except Exception as e: |
| LOW | src/langbot/libs/wecom_api/WXBizMsgCrypt3.py | 81 | except Exception as e: |
| LOW | src/langbot/libs/wecom_api/WXBizMsgCrypt3.py | 161 | except Exception as e: |
| LOW | src/langbot/libs/wecom_api/WXBizMsgCrypt3.py | 175 | except Exception as e: |
| LOW | src/langbot/libs/wecom_api/WXBizMsgCrypt3.py | 189 | except Exception as e: |
| LOW | src/langbot/libs/wecom_api/WXBizMsgCrypt3.py | 211 | except Exception: |
| MEDIUM | src/langbot/libs/wecom_api/WXBizMsgCrypt3.py | 207 | def __init__(self, sToken, sEncodingAESKey, sReceiveId): |
| LOW | src/langbot/libs/slack_api/api.py | 78 | except Exception as e: |
| 363 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/smoke/test_fake_message_flow.py | 10 | |
| LOW | tests/unit_tests/test_telemetry.py | 1 | |
| LOW | tests/unit_tests/pipeline/conftest.py | 10 | |
| LOW | tests/unit_tests/pipeline/test_config_coercion.py | 3 | |
| LOW | tests/unit_tests/pipeline/test_wrapper.py | 12 | |
| LOW | tests/unit_tests/pipeline/test_msgtrun.py | 11 | |
| LOW | tests/unit_tests/pipeline/test_preproc.py | 12 | |
| LOW | tests/unit_tests/pipeline/test_longtext.py | 11 | |
| LOW | tests/unit_tests/pipeline/test_chat_session_limit.py | 1 | |
| LOW | tests/unit_tests/pipeline/test_aggregator.py | 12 | |
| LOW | tests/unit_tests/pipeline/test_command_handler.py | 8 | |
| LOW | tests/unit_tests/pipeline/test_n8nsvapi.py | 11 | |
| LOW | tests/unit_tests/pipeline/test_pool.py | 7 | |
| LOW | tests/unit_tests/pipeline/test_cntfilter.py | 12 | |
| LOW | tests/unit_tests/pipeline/test_chat_handler.py | 8 | |
| LOW | tests/unit_tests/discover/test_engine.py | 7 | |
| LOW | tests/unit_tests/core/test_stage.py | 3 | |
| LOW | tests/unit_tests/core/test_migration.py | 3 | |
| LOW | tests/unit_tests/core/test_boot.py | 1 | |
| LOW | tests/unit_tests/core/test_app_config_validation.py | 7 | |
| LOW | tests/unit_tests/core/test_load_config.py | 10 | |
| LOW | tests/unit_tests/core/test_taskmgr.py | 10 | |
| LOW | tests/unit_tests/core/test_bootutils_deps.py | 3 | |
| LOW | tests/unit_tests/config/test_config_loader.py | 12 | |
| LOW | tests/unit_tests/plugin/test_connector_methods.py | 9 | |
| LOW | tests/unit_tests/plugin/test_handler.py | 6 | |
| LOW | tests/unit_tests/plugin/test_handler_actions.py | 3 | |
| LOW | tests/unit_tests/plugin/test_connector_pure.py | 8 | |
| LOW | tests/unit_tests/plugin/test_connector_static.py | 6 | |
| LOW | tests/unit_tests/plugin/test_handler_helpers.py | 7 | |
| LOW | tests/unit_tests/plugin/test_connector_ping.py | 1 | |
| LOW | tests/unit_tests/plugin/test_extract_deps.py | 9 | |
| LOW | tests/unit_tests/provider/conftest.py | 8 | |
| LOW | tests/unit_tests/provider/test_model_manager.py | 8 | |
| LOW | tests/unit_tests/provider/test_requester_base.py | 8 | |
| LOW | tests/unit_tests/provider/test_model_service.py | 1 | |
| LOW | tests/unit_tests/provider/test_session_manager.py | 8 | |
| LOW | tests/unit_tests/provider/test_tool_manager.py | 7 | |
| LOW | …nit_tests/provider/requesters/test_ollama_requester.py | 6 | |
| LOW | …_tests/provider/requesters/test_anthropic_requester.py | 6 | |
| LOW | …/unit_tests/provider/requesters/test_chatcmpl_utils.py | 6 | |
| LOW | …sts/provider/requesters/test_chatcmpl_errors_direct.py | 7 | |
| LOW | …s/unit_tests/provider/runners/test_difysvapi_runner.py | 6 | |
| LOW | tests/unit_tests/utils/test_version.py | 7 | |
| LOW | tests/unit_tests/utils/test_image.py | 7 | |
| LOW | tests/unit_tests/utils/test_proxy.py | 7 | |
| LOW | tests/unit_tests/utils/test_logcache.py | 7 | |
| LOW | tests/unit_tests/utils/test_platform.py | 8 | |
| LOW | tests/unit_tests/utils/test_pkgmgr.py | 7 | |
| LOW | tests/unit_tests/utils/test_httpclient.py | 7 | |
| LOW | tests/unit_tests/rag/test_i18n_conversion.py | 6 | |
| LOW | tests/unit_tests/rag/test_file_storage.py | 3 | |
| LOW | tests/unit_tests/rag/test_runtime_service.py | 7 | |
| LOW | tests/unit_tests/rag/test_kbmgr.py | 9 | |
| LOW | tests/unit_tests/storage/test_s3storage.py | 11 | |
| LOW | tests/unit_tests/persistence/test_database_decorator.py | 10 | |
| LOW | tests/unit_tests/persistence/test_serialize_model.py | 8 | |
| LOW | tests/unit_tests/persistence/test_mgr_methods.py | 7 | |
| LOW | tests/unit_tests/api/test_apikey_service.py | 1 | |
| LOW | tests/unit_tests/api/service/test_apikey_service.py | 9 | |
| 273 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/unit_tests/pipeline/test_n8nsvapi.py | 82 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/unit_tests/pipeline/test_n8nsvapi.py | 84 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/unit_tests/pipeline/test_n8nsvapi.py | 164 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/unit_tests/pipeline/test_n8nsvapi.py | 166 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/unit_tests/pipeline/test_n8nsvapi.py | 40 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/unit_tests/pipeline/test_n8nsvapi.py | 42 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/unit_tests/pipeline/test_n8nsvapi.py | 234 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/unit_tests/pipeline/test_n8nsvapi.py | 236 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 21 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 23 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 65 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 67 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 163 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 165 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 264 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 266 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 386 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 388 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 475 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 477 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 558 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 560 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 628 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 630 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 698 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 700 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 770 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_model_manager.py | 772 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 166 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 168 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 230 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 232 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 367 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 369 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 393 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 395 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 409 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 411 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 425 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 427 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 445 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 447 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 585 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 587 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 20 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 22 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 503 | # ============================================================================ |
| MEDIUM | tests/unit_tests/provider/test_requester_base.py | 505 | # ============================================================================ |
| MEDIUM | src/langbot/libs/openclaw_weixin_api/client.py | 483 | # ----------------------------------------------------------------------- |
| MEDIUM | src/langbot/libs/openclaw_weixin_api/client.py | 485 | # ----------------------------------------------------------------------- |
| MEDIUM | src/langbot/libs/openclaw_weixin_api/client.py | 647 | # --------------------------------------------------------------------------- |
| MEDIUM | src/langbot/libs/openclaw_weixin_api/client.py | 649 | # --------------------------------------------------------------------------- |
| MEDIUM | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 106 | # ── Public API ────────────────────────────────────────────────── |
| MEDIUM | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 313 | # ── Connection lifecycle ──────────────────────────────────────── |
| MEDIUM | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 435 | # ── Frame handling ────────────────────────────────────────────── |
| MEDIUM | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 600 | # ── Reply sending with serial queue ───────────────────────────── |
| MEDIUM | src/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py | 9 | # ------------------------------------------------------------------------ |
| MEDIUM | src/langbot/libs/wecom_api/WXBizMsgCrypt3.py | 9 | # ------------------------------------------------------------------------ |
| MEDIUM | src/langbot/pkg/core/app.py | 99 | # ========================= |
| MEDIUM | src/langbot/pkg/persistence/mgr.py | 139 | # ================================= |
| 6 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/unit_tests/plugin/test_connector_methods.py | 0 | test returns empty list when plugin system disabled. |
| HIGH | tests/unit_tests/plugin/test_connector_methods.py | 0 | test returns empty list when plugin system disabled. |
| HIGH | tests/unit_tests/plugin/test_connector_methods.py | 0 | test returns empty list when plugin system disabled. |
| HIGH | tests/unit_tests/provider/test_session_manager.py | 0 | test that __init__ stores the application reference. |
| HIGH | tests/unit_tests/provider/test_tool_manager.py | 0 | test that __init__ stores the application reference. |
| HIGH | tests/unit_tests/storage/test_s3storage.py | 0 | test that __init__ stores the application reference. |
| HIGH | tests/unit_tests/telemetry/test_telemetry.py | 0 | test that __init__ stores the application reference. |
| HIGH | tests/unit_tests/api/service/test_mcp_service.py | 0 | delete operation completes even for nonexistent uuid. |
| HIGH | tests/unit_tests/api/service/test_bot_service.py | 0 | delete operation completes even for nonexistent uuid. |
| HIGH | tests/unit_tests/api/service/test_pipeline_service.py | 0 | delete operation completes even for nonexistent uuid. |
| HIGH | tests/unit_tests/command/test_operator.py | 0 | save and clear preregistered_operators before each test. |
| HIGH | tests/unit_tests/command/test_operator.py | 0 | save and clear preregistered_operators before each test. |
| HIGH | tests/unit_tests/command/test_operator.py | 0 | save and clear preregistered_operators before each test. |
| HIGH | tests/unit_tests/command/test_cmdmgr.py | 0 | save and clear preregistered_operators before each test. |
| HIGH | tests/unit_tests/command/test_cmdmgr.py | 0 | save and clear preregistered_operators before each test. |
| HIGH | tests/unit_tests/command/test_cmdmgr.py | 0 | save and clear preregistered_operators before each test. |
| HIGH | tests/unit_tests/command/test_cmdmgr.py | 0 | save and clear preregistered_operators before each test. |
| HIGH | tests/integration/api/test_providers.py | 0 | create quart test client (module scope to avoid route re-registration). |
| HIGH | tests/integration/api/test_knowledge.py | 0 | create quart test client (module scope to avoid route re-registration). |
| HIGH | tests/integration/api/test_pipelines.py | 0 | create quart test client (module scope to avoid route re-registration). |
| HIGH | tests/integration/api/test_bots.py | 0 | create quart test client (module scope to avoid route re-registration). |
| HIGH | src/langbot/libs/official_account_api/api.py | 0 | 处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/libs/official_account_api/api.py | 0 | 处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/libs/wecom_ai_bot_api/api.py | 0 | 处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/libs/wecom_customer_service_api/api.py | 0 | 处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/libs/wecom_api/api.py | 0 | 处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/libs/slack_api/api.py | 0 | 处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/libs/qq_official_api/api.py | 0 | 处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/libs/official_account_api/api.py | 0 | 处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象 |
| HIGH | src/langbot/libs/official_account_api/api.py | 0 | 处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象 |
| HIGH | src/langbot/libs/wecom_ai_bot_api/api.py | 0 | 处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象 |
| HIGH | src/langbot/libs/wecom_customer_service_api/api.py | 0 | 处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象 |
| HIGH | src/langbot/libs/wecom_api/api.py | 0 | 处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象 |
| HIGH | src/langbot/libs/official_account_api/oaevent.py | 0 | 事件类型,例如 "message"、"event"、"text" 等。 returns: str: 事件类型。 |
| HIGH | …angbot/libs/wecom_customer_service_api/wecomcsevent.py | 0 | 事件类型,例如 "message"、"event"、"text" 等。 returns: str: 事件类型。 |
| HIGH | src/langbot/libs/wecom_api/wecomevent.py | 0 | 事件类型,例如 "message"、"event"、"text" 等。 returns: str: 事件类型。 |
| HIGH | src/langbot/libs/official_account_api/oaevent.py | 0 | 允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。 |
| HIGH | src/langbot/libs/dingtalk_api/dingtalkevent.py | 0 | 允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。 |
| HIGH | …angbot/libs/wecom_customer_service_api/wecomcsevent.py | 0 | 允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。 |
| HIGH | src/langbot/libs/wecom_api/wecomevent.py | 0 | 允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。 |
| HIGH | src/langbot/libs/official_account_api/oaevent.py | 0 | 允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。 |
| HIGH | src/langbot/libs/dingtalk_api/dingtalkevent.py | 0 | 允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。 |
| HIGH | …angbot/libs/wecom_customer_service_api/wecomcsevent.py | 0 | 允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。 |
| HIGH | src/langbot/libs/wecom_api/wecomevent.py | 0 | 允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。 |
| HIGH | src/langbot/pkg/platform/sources/qqofficial.py | 0 | 处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/pkg/platform/sources/lark.py | 0 | 处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/pkg/platform/sources/line.py | 0 | 处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/pkg/platform/sources/officialaccount.py | 0 | 处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/pkg/platform/sources/wecomcs.py | 0 | 处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/pkg/platform/sources/slack.py | 0 | 处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据 |
| HIGH | src/langbot/pkg/platform/sources/wecom.py | 0 | 处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | tests/unit_tests/rag/test_file_storage.py | 64 | kb.ap.storage_mgr.storage_provider.exists.assert_awaited_once_with('documents/test.pdf') |
| CRITICAL | tests/unit_tests/rag/test_file_storage.py | 114 | kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('archive.zip') |
| CRITICAL | tests/unit_tests/rag/test_file_storage.py | 128 | kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('archive.zip') |
| CRITICAL | tests/unit_tests/rag/test_file_storage.py | 142 | kb.ap.storage_mgr.storage_provider.size.assert_awaited_once_with('test.pdf') |
| CRITICAL | tests/unit_tests/rag/test_file_storage.py | 145 | kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('test.pdf') |
| CRITICAL | tests/unit_tests/rag/test_file_storage.py | 158 | kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('bad.pdf') |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 1122 | response: CreateMessageResponse = self.api_client.im.v1.message.create(request, req_opt) |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 1771 | response: CreateMessageResponse = self.api_client.im.v1.message.create(request, req_opt) |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 938 | response: CreateAppAccessTokenResponse = self.api_client.auth.v3.app_access_token.create(request) |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 971 | response: CreateTenantAccessTokenResponse = self.api_client.auth.v3.tenant_access_token.create(request) |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 1095 | response: CreateMessageResponse = self.api_client.im.v1.message.create(request, req_opt) |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 1335 | response: CreateCardResponse = self.api_client.cardkit.v1.card.create(request) |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 1383 | response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(request, req_opt) |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 1468 | response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(request, req_opt) |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 1506 | response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(request, req_opt) |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 1578 | response: ContentCardElementResponse = self.api_client.cardkit.v1.card_element.content(request, req_opt) |
| CRITICAL | src/langbot/pkg/platform/sources/lark.py | 1603 | media_response: ReplyMessageResponse = await self.api_client.im.v1.message.areply( |
| CRITICAL | src/langbot/pkg/api/http/service/mcp.py | 62 | self.ap.tool_mgr.mcp_tool_loader._hosted_mcp_tasks.append(task) |
| CRITICAL | src/langbot/pkg/api/http/service/mcp.py | 110 | self.ap.tool_mgr.mcp_tool_loader._hosted_mcp_tasks.append(task) |
| CRITICAL | src/langbot/pkg/api/http/service/mcp.py | 122 | self.ap.tool_mgr.mcp_tool_loader._hosted_mcp_tasks.append(task) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/unit_tests/pipeline/test_cntfilter.py | 50 | |
| LOW | tests/unit_tests/core/test_bootutils_deps.py | 114 | |
| LOW | tests/unit_tests/provider/test_model_manager.py | 71 | |
| LOW | tests/unit_tests/provider/test_model_manager.py | 564 | |
| LOW | tests/unit_tests/provider/test_model_manager.py | 76 | |
| LOW | tests/unit_tests/provider/test_model_manager.py | 568 | |
| LOW | …sts/unit_tests/api/service/test_maintenance_service.py | 455 | |
| LOW | src/langbot/libs/official_account_api/api.py | 77 | |
| LOW | src/langbot/libs/official_account_api/api.py | 264 | |
| LOW | src/langbot/libs/openclaw_weixin_api/client.py | 557 | |
| LOW | src/langbot/libs/dingtalk_api/api.py | 185 | |
| LOW | src/langbot/libs/dingtalk_api/api.py | 267 | |
| LOW | src/langbot/libs/dingtalk_api/api.py | 521 | |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 503 | |
| LOW | src/langbot/libs/wecom_ai_bot_api/ws_client.py | 630 | |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 316 | |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 380 | |
| LOW | src/langbot/libs/wecom_customer_service_api/api.py | 228 | |
| LOW | src/langbot/libs/wecom_customer_service_api/api.py | 318 | |
| LOW | src/langbot/libs/wecom_api/api.py | 263 | |
| LOW | src/langbot/libs/wecom_api/api.py | 369 | |
| LOW | src/langbot/libs/wecom_api/api.py | 429 | |
| LOW | src/langbot/libs/wecom_api/api.py | 485 | |
| LOW | src/langbot/libs/slack_api/slackevent.py | 14 | |
| LOW | src/langbot/libs/coze_server_api/client.py | 110 | |
| LOW | src/langbot/libs/qq_official_api/api.py | 281 | |
| LOW | src/langbot/libs/qq_official_api/api.py | 556 | |
| LOW | src/langbot/libs/qq_official_api/api.py | 575 | |
| LOW | src/langbot/pkg/pipeline/controller.py | 24 | |
| LOW | src/langbot/pkg/pipeline/monitoring_helper.py | 23 | |
| LOW | src/langbot/pkg/pipeline/monitoring_helper.py | 102 | |
| LOW | src/langbot/pkg/pipeline/monitoring_helper.py | 129 | |
| LOW | src/langbot/pkg/pipeline/monitoring_helper.py | 193 | |
| LOW | src/langbot/pkg/pipeline/pipelinemgr.py | 114 | |
| LOW | src/langbot/pkg/pipeline/pipelinemgr.py | 206 | |
| LOW | src/langbot/pkg/pipeline/config_coercion.py | 53 | |
| LOW | src/langbot/pkg/pipeline/resprule/rules/prefix.py | 9 | |
| LOW | src/langbot/pkg/pipeline/wrapper/wrapper.py | 26 | |
| LOW | src/langbot/pkg/pipeline/cntfilter/cntfilter.py | 57 | |
| LOW | src/langbot/pkg/pipeline/cntfilter/cntfilter.py | 92 | |
| LOW | src/langbot/pkg/pipeline/cntfilter/filters/banwords.py | 16 | |
| LOW | src/langbot/pkg/pipeline/preproc/preproc.py | 28 | |
| LOW | src/langbot/pkg/pipeline/longtext/longtext.py | 26 | |
| LOW | src/langbot/pkg/pipeline/longtext/strategies/image.py | 56 | |
| LOW | src/langbot/pkg/pipeline/longtext/strategies/image.py | 129 | |
| LOW | src/langbot/pkg/pipeline/process/handlers/command.py | 14 | |
| LOW | src/langbot/pkg/pipeline/process/handlers/chat.py | 26 | |
| LOW | src/langbot/pkg/core/app.py | 167 | |
| LOW | src/langbot/pkg/core/stages/show_notes.py | 17 | |
| LOW | src/langbot/pkg/core/stages/load_config.py | 15 | |
| LOW | src/langbot/pkg/core/stages/load_config.py | 32 | |
| LOW | src/langbot/pkg/platform/botmgr.py | 58 | |
| LOW | src/langbot/pkg/platform/botmgr.py | 80 | |
| LOW | src/langbot/pkg/platform/botmgr.py | 138 | |
| LOW | src/langbot/pkg/platform/botmgr.py | 199 | |
| LOW | src/langbot/pkg/platform/botmgr.py | 326 | |
| LOW | src/langbot/pkg/platform/sources/matrix.py | 21 | |
| LOW | src/langbot/pkg/platform/sources/matrix.py | 76 | |
| LOW | src/langbot/pkg/platform/sources/matrix.py | 496 | |
| LOW | src/langbot/pkg/platform/sources/matrix.py | 555 | |
| 149 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | run_tests.sh | 15 | # Check if pytest is installed |
| LOW | docker/deploy-k8s-test.sh | 20 | # Check if kubectl can connect to a cluster |
| LOW | tests/unit_tests/api/service/test_mcp_service.py | 460 | # Set mcp_tool_loader to None, not tool_mgr itself |
| LOW | tests/e2e/utils/process_manager.py | 59 | # Set COVERAGE_PROCESS_START to enable coverage in subprocess |
| LOW | tests/e2e/utils/process_manager.py | 105 | # Check if process died |
| LOW | src/langbot/pkg/pipeline/monitoring_helper.py | 34 | # Check if session exists, if not, record session start |
| LOW | src/langbot/pkg/pipeline/aggregator.py | 185 | # Check if buffer reached max capacity |
| LOW | src/langbot/pkg/pipeline/preproc/preproc.py | 149 | # Check if this model supports vision, if not, remove all images |
| LOW | src/langbot/pkg/core/stages/load_config.py | 61 | # Check if the environment variable is uppercase and contains __ |
| LOW | src/langbot/pkg/platform/webhook_pusher.py | 58 | # Check if any webhook responded with skip_pipeline=true |
| LOW | src/langbot/pkg/platform/webhook_pusher.py | 105 | # Check if any webhook responded with skip_pipeline=true |
| LOW | src/langbot/pkg/platform/sources/kook.py | 342 | # Check if this is a message event |
| LOW | src/langbot/pkg/platform/sources/qqofficial.py | 30 | # Check if it looks like base64 (only valid chars, reasonable length) |
| LOW | src/langbot/pkg/platform/sources/line.py | 232 | # Check if signature header exists |
| LOW | src/langbot/pkg/platform/sources/satori.py | 308 | # Check if it's a private/direct message |
| LOW | src/langbot/pkg/platform/sources/satori.py | 311 | # Check if it's a group message |
| LOW | src/langbot/pkg/platform/sources/satori.py | 720 | # Check if it's a private/direct message |
| LOW | src/langbot/pkg/platform/sources/satori.py | 724 | # Check if it's a group message |
| LOW | src/langbot/pkg/platform/sources/aiocqhttp.py | 402 | # Check if message contains a Forward component |
| LOW | src/langbot/pkg/plugin/handler.py | 618 | # Read file from storage |
| LOW | src/langbot/pkg/provider/modelmgr/modelmgr.py | 51 | # Check if space models service is disabled |
| LOW | src/langbot/pkg/utils/paths.py | 20 | # Check if main.py exists in current directory with LangBot marker |
| LOW | …persistence/alembic/versions/0003_add_rerank_models.py | 18 | # Check if table already exists (may have been created by create_all()) |
| LOW | src/langbot/pkg/api/http/controller/groups/user.py | 77 | # Check if password change is allowed |
| LOW | src/langbot/pkg/api/http/controller/groups/user.py | 220 | # Check if modifying login info is allowed |
| LOW | src/langbot/pkg/api/http/service/user.py | 68 | # Check if this user has a local password set |
| LOW | src/langbot/pkg/api/http/service/user.py | 137 | # Check if user with this Space UUID already exists |
| LOW | src/langbot/pkg/api/http/service/user.py | 155 | # Check if user with same email exists |
| LOW | src/langbot/pkg/api/http/service/user.py | 174 | # Check if system is already initialized |
| LOW | src/langbot/pkg/api/http/service/user.py | 277 | # Check if this Space account is already bound to another user |
| LOW | src/langbot/pkg/api/http/service/provider.py | 105 | # Check if any models use this provider |
| LOW | src/langbot/pkg/api/http/service/monitoring.py | 323 | # Check if any rows were updated |
| LOW | src/langbot/pkg/api/http/service/monitoring.py | 1303 | # Check if record with this feedback_id already exists |
| LOW | src/langbot/pkg/api/http/service/space.py | 48 | # Check if token is expired (with 60s buffer) |
| LOW | src/langbot/pkg/vector/vdbs/milvus.py | 138 | # Check if collection exists |
| LOW | src/langbot/pkg/vector/vdbs/milvus.py | 413 | # Check if collection exists before attempting deletion |
| LOW | src/langbot/pkg/vector/vdbs/seekdb.py | 54 | # Check if database exists using public API |
| LOW | src/langbot/pkg/vector/vdbs/seekdb.py | 131 | # Check if collection exists |
| LOW | src/langbot/pkg/vector/vdbs/seekdb.py | 238 | # Check if collection exists |
| LOW | src/langbot/pkg/vector/vdbs/seekdb.py | 343 | # Check if collection exists |
| LOW | src/langbot/pkg/vector/vdbs/seekdb.py | 444 | # Check if collection exists |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | docker/kubernetes.yaml | 2 | # This file provides Kubernetes deployment manifests for LangBot based on docker-compose.yaml |
| MEDIUM | tests/smoke/test_fake_message_flow.py | 53 | # Create a simple query |
| MEDIUM | tests/unit_tests/pipeline/test_wrapper.py | 132 | # Create a command response message |
| MEDIUM | tests/unit_tests/pipeline/test_wrapper.py | 170 | # Create a plugin response message |
| MEDIUM | tests/unit_tests/pipeline/test_longtext.py | 265 | # Create a mock adapter with bot_account_id |
| MEDIUM | tests/unit_tests/pipeline/test_chat_handler.py | 36 | # Create a default runner that yields a simple response |
| MEDIUM | tests/unit_tests/plugin/test_connector_pure.py | 36 | # Create a mock zip file with requirements.txt |
| MEDIUM | tests/unit_tests/utils/test_image.py | 90 | # Create a simple base64 string |
| MEDIUM | …unit_tests/storage/test_localstorage_path_traversal.py | 54 | # Create a file outside the storage directory |
| MEDIUM | …unit_tests/storage/test_localstorage_path_traversal.py | 194 | # Create a directory with files |
| MEDIUM | tests/unit_tests/persistence/test_serialize_model.py | 23 | # Create a simple test model |
| MEDIUM | tests/unit_tests/persistence/test_serialize_model.py | 42 | # Create a mock persistence manager |
| MEDIUM | tests/unit_tests/persistence/test_mgr_methods.py | 69 | # Create a mock result with actual attributes to simulate real result |
| MEDIUM | …sts/unit_tests/api/service/test_maintenance_service.py | 46 | # Create a proper mock object with __class__.__name__ |
| MEDIUM | tests/integration/pipeline/test_full_flow.py | 185 | # Create a simple class to mimic Prompt behavior |
| MEDIUM | tests/factories/message.py | 387 | # Create a default session |
| MEDIUM | src/langbot/pkg/platform/sources/lark.py | 108 | # Create a temporary file to store the image bytes |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | docker/kubernetes.yaml | 1 | # Kubernetes Deployment for LangBot |
| LOW | docker/kubernetes.yaml | 321 | # apiVersion: networking.k8s.io/v1 |
| LOW | docker/kubernetes.yaml | 341 | # port: |
| LOW | docker/kubernetes.yaml | 361 | # type: LoadBalancer |
| LOW | docker/kubernetes.yaml | 381 | # metadata: |
| LOW | web/src/app/infra/entities/api/index.ts | 281 | } |
| LOW | web/src/i18n/I18nProvider.tsx | 41 | // 工具函数:将 i18n 语言代码转换为 API 语言代码 |
| LOW | tests/unit_tests/command/__init__.py | 1 | # Unit tests for command module |
| LOW | src/langbot/pkg/core/stages/load_config.py | 121 | # if os.path.exists('data/config/pipeline.json'): |
| LOW | src/langbot/pkg/core/stages/load_config.py | 141 | |
| LOW | src/langbot/pkg/entity/dto/space_model.py | 1 | # [ |
| LOW | src/langbot/pkg/entity/dto/space_model.py | 21 | # "output_credits": 2500, |
| LOW | src/langbot/pkg/platform/sources/openclaw_weixin.py | 121 | # Voice with speech-to-text: use the transcribed text |
| LOW | src/langbot/pkg/platform/sources/openclaw_weixin.py | 141 | # platform_message.Voice( |
| LOW | src/langbot/pkg/platform/sources/openclaw_weixin.py | 161 | # ) |
| LOW | src/langbot/pkg/platform/sources/openclaw_weixin.py | 541 | and item.image_item.media.encrypt_query_param |
| LOW | …angbot/pkg/persistence/alembic/versions/0002_sample.py | 21 | def upgrade() -> None: |
| LOW | …angbot/pkg/persistence/alembic/versions/0002_sample.py | 41 | # {"cfg": json.dumps(config), "uuid": row[0]} |
| LOW | src/langbot/pkg/command/operators/list.py | 1 | # from __future__ import annotations |
| LOW | src/langbot/pkg/command/operators/list.py | 21 | # return |
| LOW | src/langbot/pkg/command/operators/list.py | 41 | # index += 1 |
| LOW | src/langbot/pkg/command/operators/delc.py | 1 | # from __future__ import annotations |
| LOW | src/langbot/pkg/command/operators/delc.py | 21 | # return |
| LOW | src/langbot/pkg/command/operators/delc.py | 41 | # class DelAllOperator(operator.CommandOperator): |
| LOW | src/langbot/pkg/command/operators/resend.py | 1 | # from __future__ import annotations |
| LOW | src/langbot/pkg/command/operators/resend.py | 21 | # while len(conv_msg) > 0 and conv_msg[-1].role != 'user': |
| LOW | src/langbot/pkg/command/operators/last.py | 1 | # from __future__ import annotations |
| LOW | src/langbot/pkg/command/operators/last.py | 21 | # error=command_errors.CommandOperationError('已经是第一个对话了') |
| LOW | src/langbot/pkg/command/operators/prompt.py | 1 | # from __future__ import annotations |
| LOW | src/langbot/pkg/command/operators/next.py | 1 | # from __future__ import annotations |
| LOW | src/langbot/pkg/command/operators/next.py | 21 | # ) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | src/langbot/templates/default-pipeline-config.json | 63 | "api-key": "your-api-key", |
| HIGH | src/langbot/templates/default-pipeline-config.json | 68 | "api-key": "your-api-key", |
| HIGH | src/langbot/templates/default-pipeline-config.json | 86 | "api-key": "your-api-key", |
| HIGH | src/langbot/templates/metadata/pipeline/ai.yaml | 211 | default: 'your-api-key' |
| HIGH | src/langbot/templates/metadata/pipeline/ai.yaml | 477 | default: 'your-api-key' |
| HIGH | src/langbot/templates/metadata/pipeline/ai.yaml | 522 | default: 'your-api-key' |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …p/home/knowledge/components/kb-docs/FileUploadZone.tsx | 85 | // Step 1: Upload file to server |
| LOW | …p/home/knowledge/components/kb-docs/FileUploadZone.tsx | 88 | // Step 2: Associate file with knowledge base (with optional parser) |
| LOW | web/src/app/wizard/page.tsx | 732 | // Step 0: Select Platform |
| LOW | web/src/app/wizard/page.tsx | 833 | // Step 1: Bot Configuration + Logs |
| LOW | web/src/app/wizard/page.tsx | 985 | // Step 2: Select & Configure AI Engine |
| LOW | web/src/app/wizard/page.tsx | 1167 | // Step 3: Done |
| LOW | …ot/pkg/api/http/controller/groups/platform/adapters.py | 345 | # Step 1: Init — get nonce |
| LOW | …ot/pkg/api/http/controller/groups/platform/adapters.py | 362 | # Step 2: Begin — get device_code + QR URL |
| LOW | …ot/pkg/api/http/controller/groups/platform/adapters.py | 389 | # Step 3: Poll for authorization result |
| LOW | …ot/pkg/api/http/controller/groups/platform/adapters.py | 540 | # Step 1: Generate QR code |
| LOW | …ot/pkg/api/http/controller/groups/platform/adapters.py | 563 | # Step 2: Poll for scan result |
| LOW | …/pkg/api/http/controller/groups/knowledge/migration.py | 124 | # Step 1: Install all required plugins from marketplace |
| LOW | …/pkg/api/http/controller/groups/knowledge/migration.py | 135 | # Step 2: Wait for all plugins to become available as knowledge engines |
| LOW | …/pkg/api/http/controller/groups/knowledge/migration.py | 166 | # Step 3: Restore internal knowledge bases from backup |
| LOW | …/pkg/api/http/controller/groups/knowledge/migration.py | 221 | # Step 4: Restore external knowledge bases |
| LOW | …/pkg/api/http/controller/groups/knowledge/migration.py | 309 | # Step 5: Clear migration flag |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | src/langbot/libs/openclaw_weixin_api/client.py | 564 | Complete QR code login flow with auto-retry on expiry. Args: max_retries: Max number of QR code ref |
| HIGH | src/langbot/pkg/platform/sources/discord.py | 178 | 加入语音频道 验证用户权限和频道状态后,建立到指定语音频道的连接。 支持连接复用和自动重连机制。 @author: @ydzat Args: |
| HIGH | src/langbot/pkg/platform/sources/discord.py | 880 | 加入语音频道 为指定服务器的语音频道建立连接,支持用户权限验证和连接复用。 @author: @ydzat @version: 1.0 @since: 2 |
| HIGH | src/langbot/pkg/plugin/connector.py | 629 | Parse a plugin ID string into (author, name). Args: plugin_id: Plugin ID in 'author/name' format. |
| HIGH | src/langbot/pkg/utils/image.py | 24 | 从gewechat服务器获取图片并转换为base64格式 Args: gewechat_url (str): gewechat服务器地址(用于获取图片URL) gewechat_file_url ( |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | src/langbot/pkg/entity/dto/space_model.py | 30 | # "metadata": null, |
| HIGH | src/langbot/pkg/api/http/controller/groups/system.py | 95 | { "step": int, "selected_adapter": str|null, "created_bot_uuid": str|null, |
| HIGH | src/langbot/pkg/api/http/controller/groups/system.py | 96 | "bot_saved": bool, "selected_runner": str|null } |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/unit_tests/pipeline/test_chat_handler.py | 316 | |
| MEDIUM | tests/unit_tests/pipeline/test_chat_handler.py | 359 | |
| MEDIUM | tests/unit_tests/pipeline/test_chat_handler.py | 399 | |
| MEDIUM | src/langbot/pkg/provider/runners/localagent.py | 121 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/langbot/libs/official_account_api/api.py | 172 | async def run_task(self, host: str, port: int, *args, **kwargs): |
| LOW | src/langbot/libs/official_account_api/api.py | 360 | async def run_task(self, host: str, port: int, *args, **kwargs): |
| LOW | src/langbot/libs/wecom_ai_bot_api/api.py | 1155 | async def run_task(self, host: str, port: int, *args, **kwargs): |
| LOW | src/langbot/libs/wecom_customer_service_api/api.py | 272 | async def run_task(self, host: str, port: int, *args, **kwargs): |
| LOW | src/langbot/libs/wecom_api/api.py | 303 | async def run_task(self, host: str, port: int, *args, **kwargs): |
| LOW | src/langbot/libs/slack_api/api.py | 123 | async def run_task(self, host: str, port: int, *args, **kwargs): |
| LOW | src/langbot/libs/qq_official_api/api.py | 121 | async def run_task(self, host: str, port: int, *args, **kwargs): |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/unit_tests/api/service/test_pipeline_service.py | 435 | # First call is the UPDATE - just return a Mock |
| LOW | src/langbot/pkg/platform/sources/kook.py | 136 | # If download fails, just add as plain text |
| LOW | src/langbot/pkg/platform/sources/kook.py | 155 | # Other message types, just use content as plain text |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | docker/kubernetes.yaml | 4 | # Usage: |