Repository Analysis

langbot-app/LangBot

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

20.4 Moderate AI signal View on GitHub
20.4
Adjusted Score
20.4
Raw Score
100%
Time Factor
2026-05-30
Last Push
16,152
Stars
Python
Language
169,889
Lines of Code
831
Files
2694
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 20HIGH 65MEDIUM 110LOW 2499

Pattern Findings

2694 matches across 18 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers1458 hits · 1478 pts
SeverityFileLineSnippet
LOW…arket/plugin-market-card/PluginMarketCardComponent.tsx16export default function PluginMarketCardComponent({
LOW…ts/plugin-install-task/PluginInstallProgressDialog.tsx382export default function PluginInstallProgressDialog() {
LOW…nents/plugin-install-task/PluginInstallTaskContext.tsx144function asyncTaskToPluginInstallTask(task: AsyncTask): PluginInstallTask {
LOW…nents/plugin-install-task/PluginInstallTaskContext.tsx196export function PluginInstallTaskProvider({
LOW…b/src/app/home/components/home-sidebar/HomeSidebar.tsx1236 function handleAccountSettingsChange(open: boolean) {
LOW…b/src/app/home/components/home-sidebar/HomeSidebar.tsx1254 function handleStorageAnalysisChange(open: boolean) {
LOWweb/src/app/auth/space/callback/page.tsx33function getOrCreateSpaceOAuthLoginPromise(
LOWweb/src/app/auth/space/callback/page.tsx33function getOrCreateSpaceOAuthLoginPromise(
LOWweb/src/app/auth/space/callback/page.tsx51function SpaceOAuthCallbackContent() {
LOWtests/test_cwe94_debug_exec.py31def test_no_exec_call_in_system_controller():
LOWtests/smoke/test_fake_message_flow.py46 async def test_fake_provider_returns_text(self):
LOWtests/smoke/test_fake_message_flow.py87 async def test_fake_provider_streaming(self):
LOWtests/smoke/test_fake_message_flow.py110 async def test_fake_provider_timeout(self):
LOWtests/smoke/test_fake_message_flow.py126 async def test_fake_provider_rate_limit(self):
LOWtests/smoke/test_fake_message_flow.py142 async def test_fake_provider_captures_requests(self):
LOWtests/smoke/test_fake_message_flow.py164 async def test_fake_platform_capture_outbound(self):
LOWtests/smoke/test_fake_message_flow.py184 async def test_fake_platform_friend_message(self):
LOWtests/smoke/test_fake_message_flow.py200 async def test_fake_platform_group_message_with_mention(self):
LOWtests/smoke/test_fake_message_flow.py220 async def test_query_factories_basic(self):
LOWtests/smoke/test_fake_message_flow.py244 async def test_fake_platform_send_failure(self):
LOWtests/smoke/test_fake_message_flow.py258 async def test_mock_platform_adapter(self):
LOWtests/smoke/test_fake_message_flow.py284 async def test_minimal_message_flow(self):
LOWtests/smoke/test_fake_message_flow.py328 async def test_streaming_message_flow(self):
LOWtests/unit_tests/test_telemetry.py11async def test_send_tasks_are_scoped_to_manager_instance(monkeypatch):
LOWtests/unit_tests/pipeline/conftest.py46 def _create_mock_session_manager(self):
LOWtests/unit_tests/pipeline/conftest.py52 def _create_mock_model_manager(self):
LOWtests/unit_tests/pipeline/conftest.py57 def _create_mock_tool_manager(self):
LOWtests/unit_tests/pipeline/conftest.py62 def _create_mock_plugin_connector(self):
LOWtests/unit_tests/pipeline/conftest.py67 def _create_mock_persistence_manager(self):
LOWtests/unit_tests/pipeline/conftest.py79 def _create_mock_instance_config(self):
LOWtests/unit_tests/pipeline/conftest.py87 def _create_mock_task_manager(self):
LOWtests/unit_tests/pipeline/test_config_coercion.py46 def test_invalid_bool_string_raises(self):
LOWtests/unit_tests/pipeline/test_config_coercion.py50 def test_unknown_type_passthrough(self):
LOWtests/unit_tests/pipeline/test_config_coercion.py54 def test_invalid_integer_raises(self):
LOWtests/unit_tests/pipeline/test_config_coercion.py68 def test_coerce_integer_in_config(self):
LOWtests/unit_tests/pipeline/test_config_coercion.py74 def test_coerce_boolean_in_config(self):
LOWtests/unit_tests/pipeline/test_config_coercion.py80 def test_missing_section_skipped(self):
LOWtests/unit_tests/pipeline/test_config_coercion.py85 def test_missing_field_skipped(self):
LOWtests/unit_tests/pipeline/test_config_coercion.py90 def test_invalid_value_logs_warning(self, caplog):
LOWtests/unit_tests/pipeline/test_resprule.py43async def test_group_message_no_match(mock_app, sample_query):
LOWtests/unit_tests/pipeline/test_pipelinemgr.py22def get_persistence_pipeline_module():
LOWtests/unit_tests/pipeline/test_pipelinemgr.py27async def test_pipeline_manager_initialize(mock_app):
LOWtests/unit_tests/pipeline/test_pipelinemgr.py65async def test_get_pipeline_by_uuid(mock_app):
LOWtests/unit_tests/pipeline/test_pipelinemgr.py121async def test_runtime_pipeline_execute(mock_app, sample_query):
LOWtests/unit_tests/pipeline/test_wrapper.py84 async def test_message_chain_direct_append(self):
LOWtests/unit_tests/pipeline/test_wrapper.py116 async def test_command_response_prefix(self):
LOWtests/unit_tests/pipeline/test_wrapper.py154 async def test_plugin_response_direct(self):
LOWtests/unit_tests/pipeline/test_wrapper.py190 async def test_assistant_content_response(self):
LOWtests/unit_tests/pipeline/test_wrapper.py238 async def test_assistant_empty_content(self):
LOWtests/unit_tests/pipeline/test_wrapper.py270 async def test_assistant_tool_calls(self):
LOWtests/unit_tests/pipeline/test_wrapper.py327 async def test_event_prevented_interrupts(self):
LOWtests/unit_tests/pipeline/test_wrapper.py375 async def test_custom_reply_chain_used(self):
LOWtests/unit_tests/pipeline/test_wrapper.py431 async def test_bound_plugins_passed_to_event(self):
LOWtests/unit_tests/pipeline/test_query_pool.py49async def test_add_query_returns_created_query_and_preserves_side_effects(
LOWtests/unit_tests/pipeline/test_msgtrun.py41def get_round_truncator_module():
LOWtests/unit_tests/pipeline/test_msgtrun.py61 async def test_initialize_round_truncator(self):
LOWtests/unit_tests/pipeline/test_msgtrun.py77 async def test_initialize_unknown_truncator_raises(self):
LOWtests/unit_tests/pipeline/test_msgtrun.py105 async def test_truncate_within_limit(self):
LOWtests/unit_tests/pipeline/test_msgtrun.py135 async def test_truncate_exceeds_limit(self):
LOWtests/unit_tests/pipeline/test_msgtrun.py185 async def test_truncate_empty_messages(self):
1398 more matches not shown…
Excessive Try-Catch Wrapping423 hits · 459 pts
SeverityFileLineSnippet
LOWtests/integration/persistence/test_migrations.py196 except Exception as e:
LOW…ts/integration/persistence/test_migrations_postgres.py70 except Exception:
LOW…ts/integration/persistence/test_migrations_postgres.py78 except Exception:
LOWtests/e2e/utils/process_manager.py190 except Exception:
LOWsrc/langbot/libs/wechatpad_api/util/http_util.py19 except Exception as e:
LOWsrc/langbot/libs/wechatpad_api/util/http_util.py38 except Exception as e:
LOWsrc/langbot/libs/official_account_api/api.py154 except Exception:
LOWsrc/langbot/libs/official_account_api/api.py342 except Exception:
LOWsrc/langbot/libs/openclaw_weixin_api/client.py184 except Exception as e:
LOWsrc/langbot/libs/openclaw_weixin_api/client.py594 except Exception as e:
LOWsrc/langbot/libs/openclaw_weixin_api/client.py604 except Exception as e:
LOWsrc/langbot/libs/openclaw_weixin_api/client.py614 except Exception as e:
LOWsrc/langbot/libs/dingtalk_api/api.py56 except Exception:
LOWsrc/langbot/libs/dingtalk_api/api.py232 except Exception as e:
LOWsrc/langbot/libs/dingtalk_api/api.py242 except Exception as e:
LOWsrc/langbot/libs/dingtalk_api/api.py252 except Exception as e:
LOWsrc/langbot/libs/dingtalk_api/api.py413 except Exception:
LOWsrc/langbot/libs/dingtalk_api/api.py443 except Exception:
LOWsrc/langbot/libs/dingtalk_api/api.py469 except Exception:
LOWsrc/langbot/libs/dingtalk_api/api.py510 except Exception as e:
LOWsrc/langbot/libs/dingtalk_api/api.py562 except Exception as e:
LOWsrc/langbot/libs/dingtalk_api/api.py586 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py120 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py300 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py407 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py423 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py429 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py500 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py567 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py581 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py597 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py645 except Exception as e:
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py368 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py375 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py838 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py866 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py951 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1052 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1064 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1067 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1089 except Exception:
LOWsrc/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py54 except Exception as e:
LOWsrc/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py80 except Exception as e:
LOWsrc/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py160 except Exception as e:
LOWsrc/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py174 except Exception as e:
LOWsrc/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py188 except Exception as e:
LOWsrc/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py210 except Exception:
MEDIUMsrc/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py206def __init__(self, sToken, sEncodingAESKey, sReceiveId):
LOWsrc/langbot/libs/wecom_customer_service_api/api.py174 except Exception as e:
LOWsrc/langbot/libs/wecom_customer_service_api/api.py241 except Exception as e:
LOWsrc/langbot/libs/wecom_customer_service_api/api.py265 except Exception as e:
LOWsrc/langbot/libs/wecom_api/api.py299 except Exception as e:
LOWsrc/langbot/libs/wecom_api/WXBizMsgCrypt3.py55 except Exception as e:
LOWsrc/langbot/libs/wecom_api/WXBizMsgCrypt3.py81 except Exception as e:
LOWsrc/langbot/libs/wecom_api/WXBizMsgCrypt3.py161 except Exception as e:
LOWsrc/langbot/libs/wecom_api/WXBizMsgCrypt3.py175 except Exception as e:
LOWsrc/langbot/libs/wecom_api/WXBizMsgCrypt3.py189 except Exception as e:
LOWsrc/langbot/libs/wecom_api/WXBizMsgCrypt3.py211 except Exception:
MEDIUMsrc/langbot/libs/wecom_api/WXBizMsgCrypt3.py207def __init__(self, sToken, sEncodingAESKey, sReceiveId):
LOWsrc/langbot/libs/slack_api/api.py78 except Exception as e:
363 more matches not shown…
Unused Imports333 hits · 314 pts
SeverityFileLineSnippet
LOWtests/smoke/test_fake_message_flow.py10
LOWtests/unit_tests/test_telemetry.py1
LOWtests/unit_tests/pipeline/conftest.py10
LOWtests/unit_tests/pipeline/test_config_coercion.py3
LOWtests/unit_tests/pipeline/test_wrapper.py12
LOWtests/unit_tests/pipeline/test_msgtrun.py11
LOWtests/unit_tests/pipeline/test_preproc.py12
LOWtests/unit_tests/pipeline/test_longtext.py11
LOWtests/unit_tests/pipeline/test_chat_session_limit.py1
LOWtests/unit_tests/pipeline/test_aggregator.py12
LOWtests/unit_tests/pipeline/test_command_handler.py8
LOWtests/unit_tests/pipeline/test_n8nsvapi.py11
LOWtests/unit_tests/pipeline/test_pool.py7
LOWtests/unit_tests/pipeline/test_cntfilter.py12
LOWtests/unit_tests/pipeline/test_chat_handler.py8
LOWtests/unit_tests/discover/test_engine.py7
LOWtests/unit_tests/core/test_stage.py3
LOWtests/unit_tests/core/test_migration.py3
LOWtests/unit_tests/core/test_boot.py1
LOWtests/unit_tests/core/test_app_config_validation.py7
LOWtests/unit_tests/core/test_load_config.py10
LOWtests/unit_tests/core/test_taskmgr.py10
LOWtests/unit_tests/core/test_bootutils_deps.py3
LOWtests/unit_tests/config/test_config_loader.py12
LOWtests/unit_tests/plugin/test_connector_methods.py9
LOWtests/unit_tests/plugin/test_handler.py6
LOWtests/unit_tests/plugin/test_handler_actions.py3
LOWtests/unit_tests/plugin/test_connector_pure.py8
LOWtests/unit_tests/plugin/test_connector_static.py6
LOWtests/unit_tests/plugin/test_handler_helpers.py7
LOWtests/unit_tests/plugin/test_connector_ping.py1
LOWtests/unit_tests/plugin/test_extract_deps.py9
LOWtests/unit_tests/provider/conftest.py8
LOWtests/unit_tests/provider/test_model_manager.py8
LOWtests/unit_tests/provider/test_requester_base.py8
LOWtests/unit_tests/provider/test_model_service.py1
LOWtests/unit_tests/provider/test_session_manager.py8
LOWtests/unit_tests/provider/test_tool_manager.py7
LOW…nit_tests/provider/requesters/test_ollama_requester.py6
LOW…_tests/provider/requesters/test_anthropic_requester.py6
LOW…/unit_tests/provider/requesters/test_chatcmpl_utils.py6
LOW…sts/provider/requesters/test_chatcmpl_errors_direct.py7
LOW…s/unit_tests/provider/runners/test_difysvapi_runner.py6
LOWtests/unit_tests/utils/test_version.py7
LOWtests/unit_tests/utils/test_image.py7
LOWtests/unit_tests/utils/test_proxy.py7
LOWtests/unit_tests/utils/test_logcache.py7
LOWtests/unit_tests/utils/test_platform.py8
LOWtests/unit_tests/utils/test_pkgmgr.py7
LOWtests/unit_tests/utils/test_httpclient.py7
LOWtests/unit_tests/rag/test_i18n_conversion.py6
LOWtests/unit_tests/rag/test_file_storage.py3
LOWtests/unit_tests/rag/test_runtime_service.py7
LOWtests/unit_tests/rag/test_kbmgr.py9
LOWtests/unit_tests/storage/test_s3storage.py11
LOWtests/unit_tests/persistence/test_database_decorator.py10
LOWtests/unit_tests/persistence/test_serialize_model.py8
LOWtests/unit_tests/persistence/test_mgr_methods.py7
LOWtests/unit_tests/api/test_apikey_service.py1
LOWtests/unit_tests/api/service/test_apikey_service.py9
273 more matches not shown…
Decorative Section Separators66 hits · 268 pts
SeverityFileLineSnippet
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py82# ---------------------------------------------------------------------------
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py84# ---------------------------------------------------------------------------
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py164# ---------------------------------------------------------------------------
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py166# ---------------------------------------------------------------------------
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py40# ---------------------------------------------------------------------------
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py42# ---------------------------------------------------------------------------
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py234# ---------------------------------------------------------------------------
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py236# ---------------------------------------------------------------------------
MEDIUMtests/unit_tests/provider/test_model_manager.py21# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py23# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py65# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py67# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py163# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py165# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py264# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py266# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py386# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py388# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py475# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py477# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py558# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py560# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py628# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py630# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py698# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py700# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py770# ============================================================================
MEDIUMtests/unit_tests/provider/test_model_manager.py772# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py166# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py168# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py230# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py232# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py367# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py369# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py393# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py395# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py409# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py411# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py425# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py427# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py445# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py447# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py585# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py587# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py20# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py22# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py503# ============================================================================
MEDIUMtests/unit_tests/provider/test_requester_base.py505# ============================================================================
MEDIUMsrc/langbot/libs/openclaw_weixin_api/client.py483 # -----------------------------------------------------------------------
MEDIUMsrc/langbot/libs/openclaw_weixin_api/client.py485 # -----------------------------------------------------------------------
MEDIUMsrc/langbot/libs/openclaw_weixin_api/client.py647# ---------------------------------------------------------------------------
MEDIUMsrc/langbot/libs/openclaw_weixin_api/client.py649# ---------------------------------------------------------------------------
MEDIUMsrc/langbot/libs/wecom_ai_bot_api/ws_client.py106 # ── Public API ──────────────────────────────────────────────────
MEDIUMsrc/langbot/libs/wecom_ai_bot_api/ws_client.py313 # ── Connection lifecycle ────────────────────────────────────────
MEDIUMsrc/langbot/libs/wecom_ai_bot_api/ws_client.py435 # ── Frame handling ──────────────────────────────────────────────
MEDIUMsrc/langbot/libs/wecom_ai_bot_api/ws_client.py600 # ── Reply sending with serial queue ─────────────────────────────
MEDIUMsrc/langbot/libs/wecom_ai_bot_api/WXBizMsgCrypt3.py9# ------------------------------------------------------------------------
MEDIUMsrc/langbot/libs/wecom_api/WXBizMsgCrypt3.py9# ------------------------------------------------------------------------
MEDIUMsrc/langbot/pkg/core/app.py99 # =========================
MEDIUMsrc/langbot/pkg/persistence/mgr.py139 # =================================
6 more matches not shown…
Cross-File Repetition51 hits · 255 pts
SeverityFileLineSnippet
HIGHtests/unit_tests/plugin/test_connector_methods.py0test returns empty list when plugin system disabled.
HIGHtests/unit_tests/plugin/test_connector_methods.py0test returns empty list when plugin system disabled.
HIGHtests/unit_tests/plugin/test_connector_methods.py0test returns empty list when plugin system disabled.
HIGHtests/unit_tests/provider/test_session_manager.py0test that __init__ stores the application reference.
HIGHtests/unit_tests/provider/test_tool_manager.py0test that __init__ stores the application reference.
HIGHtests/unit_tests/storage/test_s3storage.py0test that __init__ stores the application reference.
HIGHtests/unit_tests/telemetry/test_telemetry.py0test that __init__ stores the application reference.
HIGHtests/unit_tests/api/service/test_mcp_service.py0delete operation completes even for nonexistent uuid.
HIGHtests/unit_tests/api/service/test_bot_service.py0delete operation completes even for nonexistent uuid.
HIGHtests/unit_tests/api/service/test_pipeline_service.py0delete operation completes even for nonexistent uuid.
HIGHtests/unit_tests/command/test_operator.py0save and clear preregistered_operators before each test.
HIGHtests/unit_tests/command/test_operator.py0save and clear preregistered_operators before each test.
HIGHtests/unit_tests/command/test_operator.py0save and clear preregistered_operators before each test.
HIGHtests/unit_tests/command/test_cmdmgr.py0save and clear preregistered_operators before each test.
HIGHtests/unit_tests/command/test_cmdmgr.py0save and clear preregistered_operators before each test.
HIGHtests/unit_tests/command/test_cmdmgr.py0save and clear preregistered_operators before each test.
HIGHtests/unit_tests/command/test_cmdmgr.py0save and clear preregistered_operators before each test.
HIGHtests/integration/api/test_providers.py0create quart test client (module scope to avoid route re-registration).
HIGHtests/integration/api/test_knowledge.py0create quart test client (module scope to avoid route re-registration).
HIGHtests/integration/api/test_pipelines.py0create quart test client (module scope to avoid route re-registration).
HIGHtests/integration/api/test_bots.py0create quart test client (module scope to avoid route re-registration).
HIGHsrc/langbot/libs/official_account_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据
HIGHsrc/langbot/libs/official_account_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据
HIGHsrc/langbot/libs/wecom_ai_bot_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据
HIGHsrc/langbot/libs/wecom_customer_service_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据
HIGHsrc/langbot/libs/wecom_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据
HIGHsrc/langbot/libs/slack_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据
HIGHsrc/langbot/libs/qq_official_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据
HIGHsrc/langbot/libs/official_account_api/api.py0处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象
HIGHsrc/langbot/libs/official_account_api/api.py0处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象
HIGHsrc/langbot/libs/wecom_ai_bot_api/api.py0处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象
HIGHsrc/langbot/libs/wecom_customer_service_api/api.py0处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象
HIGHsrc/langbot/libs/wecom_api/api.py0处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象
HIGHsrc/langbot/libs/official_account_api/oaevent.py0事件类型,例如 "message"、"event"、"text" 等。 returns: str: 事件类型。
HIGH…angbot/libs/wecom_customer_service_api/wecomcsevent.py0事件类型,例如 "message"、"event"、"text" 等。 returns: str: 事件类型。
HIGHsrc/langbot/libs/wecom_api/wecomevent.py0事件类型,例如 "message"、"event"、"text" 等。 returns: str: 事件类型。
HIGHsrc/langbot/libs/official_account_api/oaevent.py0允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。
HIGHsrc/langbot/libs/dingtalk_api/dingtalkevent.py0允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。
HIGH…angbot/libs/wecom_customer_service_api/wecomcsevent.py0允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。
HIGHsrc/langbot/libs/wecom_api/wecomevent.py0允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。
HIGHsrc/langbot/libs/official_account_api/oaevent.py0允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。
HIGHsrc/langbot/libs/dingtalk_api/dingtalkevent.py0允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。
HIGH…angbot/libs/wecom_customer_service_api/wecomcsevent.py0允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。
HIGHsrc/langbot/libs/wecom_api/wecomevent.py0允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。
HIGHsrc/langbot/pkg/platform/sources/qqofficial.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据
HIGHsrc/langbot/pkg/platform/sources/lark.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据
HIGHsrc/langbot/pkg/platform/sources/line.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据
HIGHsrc/langbot/pkg/platform/sources/officialaccount.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据
HIGHsrc/langbot/pkg/platform/sources/wecomcs.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据
HIGHsrc/langbot/pkg/platform/sources/slack.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据
HIGHsrc/langbot/pkg/platform/sources/wecom.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据
Hallucination Indicators20 hits · 230 pts
SeverityFileLineSnippet
CRITICALtests/unit_tests/rag/test_file_storage.py64 kb.ap.storage_mgr.storage_provider.exists.assert_awaited_once_with('documents/test.pdf')
CRITICALtests/unit_tests/rag/test_file_storage.py114 kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('archive.zip')
CRITICALtests/unit_tests/rag/test_file_storage.py128 kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('archive.zip')
CRITICALtests/unit_tests/rag/test_file_storage.py142 kb.ap.storage_mgr.storage_provider.size.assert_awaited_once_with('test.pdf')
CRITICALtests/unit_tests/rag/test_file_storage.py145 kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('test.pdf')
CRITICALtests/unit_tests/rag/test_file_storage.py158 kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('bad.pdf')
CRITICALsrc/langbot/pkg/platform/sources/lark.py1122 response: CreateMessageResponse = self.api_client.im.v1.message.create(request, req_opt)
CRITICALsrc/langbot/pkg/platform/sources/lark.py1771 response: CreateMessageResponse = self.api_client.im.v1.message.create(request, req_opt)
CRITICALsrc/langbot/pkg/platform/sources/lark.py938 response: CreateAppAccessTokenResponse = self.api_client.auth.v3.app_access_token.create(request)
CRITICALsrc/langbot/pkg/platform/sources/lark.py971 response: CreateTenantAccessTokenResponse = self.api_client.auth.v3.tenant_access_token.create(request)
CRITICALsrc/langbot/pkg/platform/sources/lark.py1095 response: CreateMessageResponse = self.api_client.im.v1.message.create(request, req_opt)
CRITICALsrc/langbot/pkg/platform/sources/lark.py1335 response: CreateCardResponse = self.api_client.cardkit.v1.card.create(request)
CRITICALsrc/langbot/pkg/platform/sources/lark.py1383 response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(request, req_opt)
CRITICALsrc/langbot/pkg/platform/sources/lark.py1468 response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(request, req_opt)
CRITICALsrc/langbot/pkg/platform/sources/lark.py1506 response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(request, req_opt)
CRITICALsrc/langbot/pkg/platform/sources/lark.py1578 response: ContentCardElementResponse = self.api_client.cardkit.v1.card_element.content(request, req_opt)
CRITICALsrc/langbot/pkg/platform/sources/lark.py1603 media_response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(
CRITICALsrc/langbot/pkg/api/http/service/mcp.py62 self.ap.tool_mgr.mcp_tool_loader._hosted_mcp_tasks.append(task)
CRITICALsrc/langbot/pkg/api/http/service/mcp.py110 self.ap.tool_mgr.mcp_tool_loader._hosted_mcp_tasks.append(task)
CRITICALsrc/langbot/pkg/api/http/service/mcp.py122 self.ap.tool_mgr.mcp_tool_loader._hosted_mcp_tasks.append(task)
Deep Nesting209 hits · 194 pts
SeverityFileLineSnippet
LOWtests/unit_tests/pipeline/test_cntfilter.py50
LOWtests/unit_tests/core/test_bootutils_deps.py114
LOWtests/unit_tests/provider/test_model_manager.py71
LOWtests/unit_tests/provider/test_model_manager.py564
LOWtests/unit_tests/provider/test_model_manager.py76
LOWtests/unit_tests/provider/test_model_manager.py568
LOW…sts/unit_tests/api/service/test_maintenance_service.py455
LOWsrc/langbot/libs/official_account_api/api.py77
LOWsrc/langbot/libs/official_account_api/api.py264
LOWsrc/langbot/libs/openclaw_weixin_api/client.py557
LOWsrc/langbot/libs/dingtalk_api/api.py185
LOWsrc/langbot/libs/dingtalk_api/api.py267
LOWsrc/langbot/libs/dingtalk_api/api.py521
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py503
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py630
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py316
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py380
LOWsrc/langbot/libs/wecom_customer_service_api/api.py228
LOWsrc/langbot/libs/wecom_customer_service_api/api.py318
LOWsrc/langbot/libs/wecom_api/api.py263
LOWsrc/langbot/libs/wecom_api/api.py369
LOWsrc/langbot/libs/wecom_api/api.py429
LOWsrc/langbot/libs/wecom_api/api.py485
LOWsrc/langbot/libs/slack_api/slackevent.py14
LOWsrc/langbot/libs/coze_server_api/client.py110
LOWsrc/langbot/libs/qq_official_api/api.py281
LOWsrc/langbot/libs/qq_official_api/api.py556
LOWsrc/langbot/libs/qq_official_api/api.py575
LOWsrc/langbot/pkg/pipeline/controller.py24
LOWsrc/langbot/pkg/pipeline/monitoring_helper.py23
LOWsrc/langbot/pkg/pipeline/monitoring_helper.py102
LOWsrc/langbot/pkg/pipeline/monitoring_helper.py129
LOWsrc/langbot/pkg/pipeline/monitoring_helper.py193
LOWsrc/langbot/pkg/pipeline/pipelinemgr.py114
LOWsrc/langbot/pkg/pipeline/pipelinemgr.py206
LOWsrc/langbot/pkg/pipeline/config_coercion.py53
LOWsrc/langbot/pkg/pipeline/resprule/rules/prefix.py9
LOWsrc/langbot/pkg/pipeline/wrapper/wrapper.py26
LOWsrc/langbot/pkg/pipeline/cntfilter/cntfilter.py57
LOWsrc/langbot/pkg/pipeline/cntfilter/cntfilter.py92
LOWsrc/langbot/pkg/pipeline/cntfilter/filters/banwords.py16
LOWsrc/langbot/pkg/pipeline/preproc/preproc.py28
LOWsrc/langbot/pkg/pipeline/longtext/longtext.py26
LOWsrc/langbot/pkg/pipeline/longtext/strategies/image.py56
LOWsrc/langbot/pkg/pipeline/longtext/strategies/image.py129
LOWsrc/langbot/pkg/pipeline/process/handlers/command.py14
LOWsrc/langbot/pkg/pipeline/process/handlers/chat.py26
LOWsrc/langbot/pkg/core/app.py167
LOWsrc/langbot/pkg/core/stages/show_notes.py17
LOWsrc/langbot/pkg/core/stages/load_config.py15
LOWsrc/langbot/pkg/core/stages/load_config.py32
LOWsrc/langbot/pkg/platform/botmgr.py58
LOWsrc/langbot/pkg/platform/botmgr.py80
LOWsrc/langbot/pkg/platform/botmgr.py138
LOWsrc/langbot/pkg/platform/botmgr.py199
LOWsrc/langbot/pkg/platform/botmgr.py326
LOWsrc/langbot/pkg/platform/sources/matrix.py21
LOWsrc/langbot/pkg/platform/sources/matrix.py76
LOWsrc/langbot/pkg/platform/sources/matrix.py496
LOWsrc/langbot/pkg/platform/sources/matrix.py555
149 more matches not shown…
Redundant / Tautological Comments41 hits · 60 pts
SeverityFileLineSnippet
LOWrun_tests.sh15# Check if pytest is installed
LOWdocker/deploy-k8s-test.sh20# Check if kubectl can connect to a cluster
LOWtests/unit_tests/api/service/test_mcp_service.py460 # Set mcp_tool_loader to None, not tool_mgr itself
LOWtests/e2e/utils/process_manager.py59 # Set COVERAGE_PROCESS_START to enable coverage in subprocess
LOWtests/e2e/utils/process_manager.py105 # Check if process died
LOWsrc/langbot/pkg/pipeline/monitoring_helper.py34 # Check if session exists, if not, record session start
LOWsrc/langbot/pkg/pipeline/aggregator.py185 # Check if buffer reached max capacity
LOWsrc/langbot/pkg/pipeline/preproc/preproc.py149 # Check if this model supports vision, if not, remove all images
LOWsrc/langbot/pkg/core/stages/load_config.py61 # Check if the environment variable is uppercase and contains __
LOWsrc/langbot/pkg/platform/webhook_pusher.py58 # Check if any webhook responded with skip_pipeline=true
LOWsrc/langbot/pkg/platform/webhook_pusher.py105 # Check if any webhook responded with skip_pipeline=true
LOWsrc/langbot/pkg/platform/sources/kook.py342 # Check if this is a message event
LOWsrc/langbot/pkg/platform/sources/qqofficial.py30 # Check if it looks like base64 (only valid chars, reasonable length)
LOWsrc/langbot/pkg/platform/sources/line.py232 # Check if signature header exists
LOWsrc/langbot/pkg/platform/sources/satori.py308 # Check if it's a private/direct message
LOWsrc/langbot/pkg/platform/sources/satori.py311 # Check if it's a group message
LOWsrc/langbot/pkg/platform/sources/satori.py720 # Check if it's a private/direct message
LOWsrc/langbot/pkg/platform/sources/satori.py724 # Check if it's a group message
LOWsrc/langbot/pkg/platform/sources/aiocqhttp.py402 # Check if message contains a Forward component
LOWsrc/langbot/pkg/plugin/handler.py618 # Read file from storage
LOWsrc/langbot/pkg/provider/modelmgr/modelmgr.py51 # Check if space models service is disabled
LOWsrc/langbot/pkg/utils/paths.py20 # Check if main.py exists in current directory with LangBot marker
LOW…persistence/alembic/versions/0003_add_rerank_models.py18 # Check if table already exists (may have been created by create_all())
LOWsrc/langbot/pkg/api/http/controller/groups/user.py77 # Check if password change is allowed
LOWsrc/langbot/pkg/api/http/controller/groups/user.py220 # Check if modifying login info is allowed
LOWsrc/langbot/pkg/api/http/service/user.py68 # Check if this user has a local password set
LOWsrc/langbot/pkg/api/http/service/user.py137 # Check if user with this Space UUID already exists
LOWsrc/langbot/pkg/api/http/service/user.py155 # Check if user with same email exists
LOWsrc/langbot/pkg/api/http/service/user.py174 # Check if system is already initialized
LOWsrc/langbot/pkg/api/http/service/user.py277 # Check if this Space account is already bound to another user
LOWsrc/langbot/pkg/api/http/service/provider.py105 # Check if any models use this provider
LOWsrc/langbot/pkg/api/http/service/monitoring.py323 # Check if any rows were updated
LOWsrc/langbot/pkg/api/http/service/monitoring.py1303 # Check if record with this feedback_id already exists
LOWsrc/langbot/pkg/api/http/service/space.py48 # Check if token is expired (with 60s buffer)
LOWsrc/langbot/pkg/vector/vdbs/milvus.py138 # Check if collection exists
LOWsrc/langbot/pkg/vector/vdbs/milvus.py413 # Check if collection exists before attempting deletion
LOWsrc/langbot/pkg/vector/vdbs/seekdb.py54 # Check if database exists using public API
LOWsrc/langbot/pkg/vector/vdbs/seekdb.py131 # Check if collection exists
LOWsrc/langbot/pkg/vector/vdbs/seekdb.py238 # Check if collection exists
LOWsrc/langbot/pkg/vector/vdbs/seekdb.py343 # Check if collection exists
LOWsrc/langbot/pkg/vector/vdbs/seekdb.py444 # Check if collection exists
Self-Referential Comments17 hits · 52 pts
SeverityFileLineSnippet
MEDIUMdocker/kubernetes.yaml2# This file provides Kubernetes deployment manifests for LangBot based on docker-compose.yaml
MEDIUMtests/smoke/test_fake_message_flow.py53 # Create a simple query
MEDIUMtests/unit_tests/pipeline/test_wrapper.py132 # Create a command response message
MEDIUMtests/unit_tests/pipeline/test_wrapper.py170 # Create a plugin response message
MEDIUMtests/unit_tests/pipeline/test_longtext.py265 # Create a mock adapter with bot_account_id
MEDIUMtests/unit_tests/pipeline/test_chat_handler.py36 # Create a default runner that yields a simple response
MEDIUMtests/unit_tests/plugin/test_connector_pure.py36 # Create a mock zip file with requirements.txt
MEDIUMtests/unit_tests/utils/test_image.py90 # Create a simple base64 string
MEDIUM…unit_tests/storage/test_localstorage_path_traversal.py54 # Create a file outside the storage directory
MEDIUM…unit_tests/storage/test_localstorage_path_traversal.py194 # Create a directory with files
MEDIUMtests/unit_tests/persistence/test_serialize_model.py23# Create a simple test model
MEDIUMtests/unit_tests/persistence/test_serialize_model.py42 # Create a mock persistence manager
MEDIUMtests/unit_tests/persistence/test_mgr_methods.py69 # Create a mock result with actual attributes to simulate real result
MEDIUM…sts/unit_tests/api/service/test_maintenance_service.py46 # Create a proper mock object with __class__.__name__
MEDIUMtests/integration/pipeline/test_full_flow.py185 # Create a simple class to mimic Prompt behavior
MEDIUMtests/factories/message.py387 # Create a default session
MEDIUMsrc/langbot/pkg/platform/sources/lark.py108 # Create a temporary file to store the image bytes
Over-Commented Block31 hits · 31 pts
SeverityFileLineSnippet
LOWdocker/kubernetes.yaml1# Kubernetes Deployment for LangBot
LOWdocker/kubernetes.yaml321# apiVersion: networking.k8s.io/v1
LOWdocker/kubernetes.yaml341# port:
LOWdocker/kubernetes.yaml361# type: LoadBalancer
LOWdocker/kubernetes.yaml381# metadata:
LOWweb/src/app/infra/entities/api/index.ts281}
LOWweb/src/i18n/I18nProvider.tsx41// 工具函数:将 i18n 语言代码转换为 API 语言代码
LOWtests/unit_tests/command/__init__.py1# Unit tests for command module
LOWsrc/langbot/pkg/core/stages/load_config.py121 # if os.path.exists('data/config/pipeline.json'):
LOWsrc/langbot/pkg/core/stages/load_config.py141
LOWsrc/langbot/pkg/entity/dto/space_model.py1# [
LOWsrc/langbot/pkg/entity/dto/space_model.py21# "output_credits": 2500,
LOWsrc/langbot/pkg/platform/sources/openclaw_weixin.py121 # Voice with speech-to-text: use the transcribed text
LOWsrc/langbot/pkg/platform/sources/openclaw_weixin.py141 # platform_message.Voice(
LOWsrc/langbot/pkg/platform/sources/openclaw_weixin.py161 # )
LOWsrc/langbot/pkg/platform/sources/openclaw_weixin.py541 and item.image_item.media.encrypt_query_param
LOW…angbot/pkg/persistence/alembic/versions/0002_sample.py21def upgrade() -> None:
LOW…angbot/pkg/persistence/alembic/versions/0002_sample.py41 # {"cfg": json.dumps(config), "uuid": row[0]}
LOWsrc/langbot/pkg/command/operators/list.py1# from __future__ import annotations
LOWsrc/langbot/pkg/command/operators/list.py21# return
LOWsrc/langbot/pkg/command/operators/list.py41# index += 1
LOWsrc/langbot/pkg/command/operators/delc.py1# from __future__ import annotations
LOWsrc/langbot/pkg/command/operators/delc.py21# return
LOWsrc/langbot/pkg/command/operators/delc.py41# class DelAllOperator(operator.CommandOperator):
LOWsrc/langbot/pkg/command/operators/resend.py1# from __future__ import annotations
LOWsrc/langbot/pkg/command/operators/resend.py21# while len(conv_msg) > 0 and conv_msg[-1].role != 'user':
LOWsrc/langbot/pkg/command/operators/last.py1# from __future__ import annotations
LOWsrc/langbot/pkg/command/operators/last.py21# error=command_errors.CommandOperationError('已经是第一个对话了')
LOWsrc/langbot/pkg/command/operators/prompt.py1# from __future__ import annotations
LOWsrc/langbot/pkg/command/operators/next.py1# from __future__ import annotations
LOWsrc/langbot/pkg/command/operators/next.py21# )
Magic Placeholder Names6 hits · 30 pts
SeverityFileLineSnippet
HIGHsrc/langbot/templates/default-pipeline-config.json63 "api-key": "your-api-key",
HIGHsrc/langbot/templates/default-pipeline-config.json68 "api-key": "your-api-key",
HIGHsrc/langbot/templates/default-pipeline-config.json86 "api-key": "your-api-key",
HIGHsrc/langbot/templates/metadata/pipeline/ai.yaml211 default: 'your-api-key'
HIGHsrc/langbot/templates/metadata/pipeline/ai.yaml477 default: 'your-api-key'
HIGHsrc/langbot/templates/metadata/pipeline/ai.yaml522 default: 'your-api-key'
Verbosity Indicators16 hits · 26 pts
SeverityFileLineSnippet
LOW…p/home/knowledge/components/kb-docs/FileUploadZone.tsx85 // Step 1: Upload file to server
LOW…p/home/knowledge/components/kb-docs/FileUploadZone.tsx88 // Step 2: Associate file with knowledge base (with optional parser)
LOWweb/src/app/wizard/page.tsx732// Step 0: Select Platform
LOWweb/src/app/wizard/page.tsx833// Step 1: Bot Configuration + Logs
LOWweb/src/app/wizard/page.tsx985// Step 2: Select & Configure AI Engine
LOWweb/src/app/wizard/page.tsx1167// Step 3: Done
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py345 # Step 1: Init — get nonce
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py362 # Step 2: Begin — get device_code + QR URL
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py389 # Step 3: Poll for authorization result
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py540 # Step 1: Generate QR code
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py563 # Step 2: Poll for scan result
LOW…/pkg/api/http/controller/groups/knowledge/migration.py124 # Step 1: Install all required plugins from marketplace
LOW…/pkg/api/http/controller/groups/knowledge/migration.py135 # Step 2: Wait for all plugins to become available as knowledge engines
LOW…/pkg/api/http/controller/groups/knowledge/migration.py166 # Step 3: Restore internal knowledge bases from backup
LOW…/pkg/api/http/controller/groups/knowledge/migration.py221 # Step 4: Restore external knowledge bases
LOW…/pkg/api/http/controller/groups/knowledge/migration.py309 # Step 5: Clear migration flag
Docstring Block Structure5 hits · 25 pts
SeverityFileLineSnippet
HIGHsrc/langbot/libs/openclaw_weixin_api/client.py564Complete QR code login flow with auto-retry on expiry. Args: max_retries: Max number of QR code ref
HIGHsrc/langbot/pkg/platform/sources/discord.py178 加入语音频道 验证用户权限和频道状态后,建立到指定语音频道的连接。 支持连接复用和自动重连机制。 @author: @ydzat Args:
HIGHsrc/langbot/pkg/platform/sources/discord.py880 加入语音频道 为指定服务器的语音频道建立连接,支持用户权限验证和连接复用。 @author: @ydzat @version: 1.0 @since: 2
HIGHsrc/langbot/pkg/plugin/connector.py629Parse a plugin ID string into (author, name). Args: plugin_id: Plugin ID in 'author/name' format.
HIGHsrc/langbot/pkg/utils/image.py24从gewechat服务器获取图片并转换为base64格式 Args: gewechat_url (str): gewechat服务器地址(用于获取图片URL) gewechat_file_url (
Cross-Language Confusion3 hits · 15 pts
SeverityFileLineSnippet
HIGHsrc/langbot/pkg/entity/dto/space_model.py30# "metadata": null,
HIGHsrc/langbot/pkg/api/http/controller/groups/system.py95 { "step": int, "selected_adapter": str|null, "created_bot_uuid": str|null,
HIGHsrc/langbot/pkg/api/http/controller/groups/system.py96 "bot_saved": bool, "selected_runner": str|null }
Dead Code4 hits · 8 pts
SeverityFileLineSnippet
MEDIUMtests/unit_tests/pipeline/test_chat_handler.py316
MEDIUMtests/unit_tests/pipeline/test_chat_handler.py359
MEDIUMtests/unit_tests/pipeline/test_chat_handler.py399
MEDIUMsrc/langbot/pkg/provider/runners/localagent.py121
Overly Generic Function Names7 hits · 7 pts
SeverityFileLineSnippet
LOWsrc/langbot/libs/official_account_api/api.py172 async def run_task(self, host: str, port: int, *args, **kwargs):
LOWsrc/langbot/libs/official_account_api/api.py360 async def run_task(self, host: str, port: int, *args, **kwargs):
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1155 async def run_task(self, host: str, port: int, *args, **kwargs):
LOWsrc/langbot/libs/wecom_customer_service_api/api.py272 async def run_task(self, host: str, port: int, *args, **kwargs):
LOWsrc/langbot/libs/wecom_api/api.py303 async def run_task(self, host: str, port: int, *args, **kwargs):
LOWsrc/langbot/libs/slack_api/api.py123 async def run_task(self, host: str, port: int, *args, **kwargs):
LOWsrc/langbot/libs/qq_official_api/api.py121 async def run_task(self, host: str, port: int, *args, **kwargs):
AI Slop Vocabulary3 hits · 4 pts
SeverityFileLineSnippet
LOWtests/unit_tests/api/service/test_pipeline_service.py435 # First call is the UPDATE - just return a Mock
LOWsrc/langbot/pkg/platform/sources/kook.py136 # If download fails, just add as plain text
LOWsrc/langbot/pkg/platform/sources/kook.py155 # Other message types, just use content as plain text
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWdocker/kubernetes.yaml4# Usage: