Repository Analysis

langbot-app/LangBot

Production-grade platform for building agentic IM bots - 生产级多平台智能机器人开发平台/ Agent、知识库编排、插件系统 / Bots for Discord / Slack / LINE / Telegram / WeChat(企业微信, 企微智能机器人, 公众号) / 飞书 / 钉钉 / QQ / Matrix e.g. Integrated with ChatGPT(GPT), DeepSeek, Dify, n8n, Langflow, Coze, Claude, Gemini, GLM, Ollama, SiliconFlow, Moonshot, openclaw / hermes agent, deerflow

19.4 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of langbot-app/LangBot, a Python project with 16,876 GitHub stars. SynthScan v2.0 examined 245,503 lines of code across 1096 source files, recording 3816 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 19.4 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

19.4
Adjusted Score
19.4
Raw Score
100%
Time Factor
2026-07-13
Last Push
16.9K
Stars
Python
Language
245.5K
Lines of Code
1.1K
Files
3.8K
Pattern Hits
2026-07-14
Scan Date
0.09
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 26HIGH 73MEDIUM 199LOW 3518

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 3816 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers2133 hits · 2077 pts
SeverityFileLineSnippetContext
LOW…arket/plugin-market-card/PluginMarketCardComponent.tsx15export default function PluginMarketCardComponent({CODE
LOW…ts/plugin-install-task/PluginInstallProgressDialog.tsx399export default function PluginInstallProgressDialog() {CODE
LOW…nents/plugin-install-task/PluginInstallTaskContext.tsx150function asyncTaskToPluginInstallTask(task: AsyncTask): PluginInstallTask {CODE
LOW…nents/plugin-install-task/PluginInstallTaskContext.tsx210export function PluginInstallTaskProvider({CODE
LOW…b/src/app/home/components/home-sidebar/HomeSidebar.tsx217function createEmptyListExpansionState(): SidebarListExpansionState {CODE
LOW…b/src/app/home/components/home-sidebar/HomeSidebar.tsx286async function refreshEnabledMCPConnections() {CODE
LOW…b/src/app/home/components/home-sidebar/HomeSidebar.tsx481 function handleListExpansionToggle(id: EntityCategoryId, expanded: boolean) {CODE
LOW…b/src/app/home/components/home-sidebar/HomeSidebar.tsx1658 function handleSettingsSectionChange(section: SettingsSection) {CODE
LOW…/src/app/home/components/models-dialog/ModelsPanel.tsx190 async function loadRequesterSupportTypes() {CODE
LOW…home/components/dynamic-form/ToolResourceSelectors.tsx141function hasReliableSourceMetadata(tool: PluginTool) {CODE
LOW…rc/app/home/skills/components/skill-form/SkillForm.tsx748 async function handleDirectoryImportConfirm() {CODE
LOWweb/src/app/home/monitoring/utils/conversationTurns.ts55export function hasRenderableMessageContent(content?: string): boolean {CODE
LOWweb/src/app/home/add-extension/page.tsx515 async function handleGithubAddressSubmit() {CODE
LOWweb/src/app/auth/space/callback/page.tsx33function getOrCreateSpaceOAuthLoginPromise(CODE
LOWweb/src/app/auth/space/callback/page.tsx33function getOrCreateSpaceOAuthLoginPromise(CODE
LOWweb/src/app/auth/space/callback/page.tsx51function SpaceOAuthCallbackContent() {CODE
LOWtests/test_cwe94_debug_exec.py21def test_no_exec_call_in_system_controller():CODE
LOWtests/smoke/test_fake_message_flow.py46 async def test_fake_provider_returns_text(self):CODE
LOWtests/smoke/test_fake_message_flow.py87 async def test_fake_provider_streaming(self):CODE
LOWtests/smoke/test_fake_message_flow.py110 async def test_fake_provider_timeout(self):CODE
LOWtests/smoke/test_fake_message_flow.py126 async def test_fake_provider_rate_limit(self):CODE
LOWtests/smoke/test_fake_message_flow.py142 async def test_fake_provider_captures_requests(self):CODE
LOWtests/smoke/test_fake_message_flow.py164 async def test_fake_platform_capture_outbound(self):CODE
LOWtests/smoke/test_fake_message_flow.py184 async def test_fake_platform_friend_message(self):CODE
LOWtests/smoke/test_fake_message_flow.py200 async def test_fake_platform_group_message_with_mention(self):CODE
LOWtests/smoke/test_fake_message_flow.py220 async def test_query_factories_basic(self):CODE
LOWtests/smoke/test_fake_message_flow.py247 async def test_fake_platform_send_failure(self):CODE
LOWtests/smoke/test_fake_message_flow.py261 async def test_mock_platform_adapter(self):CODE
LOWtests/smoke/test_fake_message_flow.py287 async def test_minimal_message_flow(self):CODE
LOWtests/smoke/test_fake_message_flow.py331 async def test_streaming_message_flow(self):CODE
LOWtests/unit_tests/test_skill_service.py35 async def test_create_skill_refused_when_box_disabled(self):CODE
LOWtests/unit_tests/test_skill_service.py41 async def test_create_skill_refused_when_box_failed(self):CODE
LOWtests/unit_tests/test_skill_service.py47 async def test_update_skill_refused_when_box_disabled(self):CODE
LOWtests/unit_tests/test_skill_service.py53 async def test_write_skill_file_refused_when_box_disabled(self):CODE
LOWtests/unit_tests/test_skill_service.py59 async def test_install_from_github_refused_when_box_disabled(self):CODE
LOWtests/unit_tests/test_skill_service.py65 async def test_install_from_zip_upload_refused_when_box_disabled(self):CODE
LOWtests/unit_tests/test_skill_service.py71 async def test_create_skill_refused_when_box_service_missing_entirely(self):CODE
LOWtests/unit_tests/test_skill_service.py79 async def test_list_skills_returns_empty_when_box_unavailable(self):CODE
LOWtests/unit_tests/test_skill_service.py86 async def test_read_skill_file_refused_when_box_unavailable(self):CODE
LOWtests/unit_tests/test_preproc.py112async def test_preproc_enables_skill_authoring_tools_when_skill_service_available():CODE
LOWtests/unit_tests/test_preproc.py130async def test_preproc_disables_skill_authoring_tools_when_skill_service_missing():CODE
LOWtests/unit_tests/test_preproc.py148async def test_preproc_disables_mcp_resource_tools_when_agent_reading_is_disabled():CODE
LOWtests/unit_tests/test_preproc.py168async def test_preproc_injects_skill_index_into_system_prompt():CODE
LOWtests/unit_tests/test_preproc.py189async def test_preproc_respects_pipeline_bound_skills_subset():CODE
LOWtests/unit_tests/test_preproc.py214async def test_preproc_skips_injection_when_addendum_is_empty():CODE
LOWtests/unit_tests/test_paths.py6def test_get_data_root_uses_source_root_in_repo_checkout():CODE
LOWtests/unit_tests/test_paths.py13def test_get_data_path_joins_under_data_root():CODE
LOWtests/unit_tests/test_paths.py20def test_get_data_root_honors_env_override(monkeypatch, tmp_path):CODE
LOWtests/unit_tests/test_telemetry.py11async def test_send_tasks_are_scoped_to_manager_instance(monkeypatch):CODE
LOWtests/unit_tests/pipeline/conftest.py55 def _create_mock_session_manager(self):CODE
LOWtests/unit_tests/pipeline/conftest.py61 def _create_mock_model_manager(self):CODE
LOWtests/unit_tests/pipeline/conftest.py66 def _create_mock_tool_manager(self):CODE
LOWtests/unit_tests/pipeline/conftest.py71 def _create_mock_plugin_connector(self):CODE
LOWtests/unit_tests/pipeline/conftest.py76 def _create_mock_persistence_manager(self):CODE
LOWtests/unit_tests/pipeline/conftest.py88 def _create_mock_instance_config(self):CODE
LOWtests/unit_tests/pipeline/conftest.py96 def _create_mock_task_manager(self):CODE
LOWtests/unit_tests/pipeline/test_config_coercion.py46 def test_invalid_bool_string_raises(self):CODE
LOWtests/unit_tests/pipeline/test_config_coercion.py50 def test_unknown_type_passthrough(self):CODE
LOWtests/unit_tests/pipeline/test_config_coercion.py54 def test_invalid_integer_raises(self):CODE
LOWtests/unit_tests/pipeline/test_config_coercion.py68 def test_coerce_integer_in_config(self):CODE
2073 more matches not shown…
Excessive Try-Catch Wrapping604 hits · 616 pts
SeverityFileLineSnippetContext
LOWtests/integration_tests/box/test_box_mcp_integration.py47 except Exception:CODE
LOWtests/integration_tests/box/test_box_integration.py55 except Exception:CODE
LOWtests/integration/persistence/test_migrations.py212 except Exception as e:CODE
LOW…ts/integration/persistence/test_migrations_postgres.py84 except Exception:CODE
LOW…ts/integration/persistence/test_migrations_postgres.py92 except Exception:CODE
LOWtests/integration/vector/test_valkey_search.py93 except Exception as exc: # noqa: BLE001CODE
LOWtests/integration/vector/test_valkey_search.py103 except Exception:CODE
LOWtests/e2e/utils/process_manager.py207 except Exception:CODE
LOWdocs/review/box-architecture.md478except Exception as e:CODE
LOWexamples/http-bot/playground.py90 except Exception:CODE
LOWexamples/http-bot/playground.py133 except Exception:CODE
LOWskills/skills/langbot-plugin-dev/SKILL.md164except Exception:CODE
LOWsrc/langbot/libs/wechatpad_api/util/http_util.py19 except Exception as e:CODE
LOWsrc/langbot/libs/wechatpad_api/util/http_util.py38 except Exception as e:CODE
LOWsrc/langbot/libs/official_account_api/api.py154 except Exception:CODE
LOWsrc/langbot/libs/official_account_api/api.py342 except Exception:CODE
LOWsrc/langbot/libs/openclaw_weixin_api/client.py184 except Exception as e:CODE
LOWsrc/langbot/libs/openclaw_weixin_api/client.py594 except Exception as e:CODE
LOWsrc/langbot/libs/openclaw_weixin_api/client.py604 except Exception as e:CODE
LOWsrc/langbot/libs/openclaw_weixin_api/client.py614 except Exception as e:CODE
LOWsrc/langbot/libs/dingtalk_api/card_callback.py104 except Exception as e:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py288 except Exception as e:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py298 except Exception as e:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py308 except Exception as e:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py96 except Exception:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py112 except Exception:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py469 except Exception:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py515 except Exception:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py542 except Exception:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py594 except Exception as e:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py688 except Exception:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py737 except Exception:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py785 except Exception:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py823 except Exception:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py875 except Exception:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py922 except Exception as e:CODE
LOWsrc/langbot/libs/dingtalk_api/api.py946 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py621 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py627 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py152 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py353 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py380 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py498 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py605 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py705 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py776 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py794 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py837 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py851 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py876 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py924 except Exception as e:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py415 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py422 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py960 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1718 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1746 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1847 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1929 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1934 except Exception:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1984 except Exception:CODE
544 more matches not shown…
Decorative Section Separators136 hits · 489 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py92# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py94# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py175# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py177# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py49# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py51# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py246# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/pipeline/test_n8nsvapi.py248# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/box/test_box_service.py1358# ── BoxHostMountMode.NONE tests ─────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/box/test_box_service.py1623# ── Attachment passthrough (inbound / outbound) ─────────────────────────────COMMENT
MEDIUMtests/unit_tests/box/test_box_service.py660# ── Truncation tests ──────────────────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/box/test_box_service.py783# ── Profile tests ─────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/box/test_box_service.py1041# ── Observability tests ───────────────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/box/test_box_service.py1142# ── In-process RPC client/server tests ─────────────────────────────────COMMENT
MEDIUMtests/unit_tests/box/test_box_service.py1273# ── RPC-based delete/create/conflict tests ────────────────────────────COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py22# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py24# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py149# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py151# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py172# ── MCPServerBoxConfig ──────────────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py220# ── Path Rewriting ──────────────────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py321# ── host_path Inference ─────────────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py368# ── Build Box Session Payload ───────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py439# ── Build Box Process Payload ───────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py497# ── Python Workspace Preparation ────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py575# ── get_runtime_info_dict ───────────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/provider/test_mcp_box_integration.py724# ── Box config parsing ──────────────────────────────────────────────COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py21# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py23# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py65# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py67# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py163# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py165# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py264# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py266# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py386# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py388# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py475# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py477# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py562# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py564# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py632# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py634# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py708# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py710# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py780# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_model_manager.py782# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py167# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py169# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py231# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py233# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py372# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py374# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py398# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py400# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py414# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py416# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py430# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py432# ============================================================================COMMENT
MEDIUMtests/unit_tests/provider/test_requester_base.py450# ============================================================================COMMENT
76 more matches not shown…
Unused Imports373 hits · 345 pts
SeverityFileLineSnippetContext
LOWtests/smoke/test_fake_message_flow.py10CODE
LOWtests/unit_tests/test_preproc.py1CODE
LOWtests/unit_tests/test_telemetry.py1CODE
LOWtests/unit_tests/pipeline/conftest.py10CODE
LOWtests/unit_tests/pipeline/conftest.py19CODE
LOWtests/unit_tests/pipeline/test_config_coercion.py3CODE
LOWtests/unit_tests/pipeline/test_chat_handler_logging.py1CODE
LOWtests/unit_tests/pipeline/test_wrapper.py12CODE
LOWtests/unit_tests/pipeline/test_msgtrun.py11CODE
LOWtests/unit_tests/pipeline/test_preproc.py12CODE
LOWtests/unit_tests/pipeline/test_longtext.py11CODE
LOWtests/unit_tests/pipeline/test_chat_session_limit.py1CODE
LOWtests/unit_tests/pipeline/test_aggregator.py12CODE
LOWtests/unit_tests/pipeline/test_command_handler.py8CODE
LOWtests/unit_tests/pipeline/test_n8nsvapi.py11CODE
LOWtests/unit_tests/pipeline/test_pool.py7CODE
LOWtests/unit_tests/pipeline/test_cntfilter.py12CODE
LOW…it_tests/pipeline/test_wrapper_outbound_attachments.py13CODE
LOWtests/unit_tests/pipeline/test_chat_handler.py8CODE
LOWtests/unit_tests/discover/test_engine.py7CODE
LOWtests/unit_tests/box/test_box_connector.py1CODE
LOWtests/unit_tests/box/test_workspace.py1CODE
LOWtests/unit_tests/box/test_box_service.py1CODE
LOWtests/unit_tests/core/test_stage.py3CODE
LOWtests/unit_tests/core/test_boot.py1CODE
LOWtests/unit_tests/core/test_app_config_validation.py8CODE
LOWtests/unit_tests/core/test_load_config.py11CODE
LOWtests/unit_tests/core/test_bootutils_log.py9CODE
LOWtests/unit_tests/core/test_taskmgr.py11CODE
LOWtests/unit_tests/core/test_bootutils_deps.py3CODE
LOWtests/unit_tests/config/test_config_loader.py12CODE
LOW…t_tests/platform/test_websocket_adapter_attachments.py10CODE
LOWtests/unit_tests/platform/test_qqofficial_api.py178CODE
LOWtests/unit_tests/plugin/test_connector_methods.py10CODE
LOWtests/unit_tests/plugin/test_handler.py6CODE
LOWtests/unit_tests/plugin/test_handler_actions.py3CODE
LOWtests/unit_tests/plugin/test_connector_pure.py8CODE
LOWtests/unit_tests/plugin/test_connector_static.py7CODE
LOWtests/unit_tests/plugin/test_handler_helpers.py8CODE
LOWtests/unit_tests/plugin/test_connector_ping.py1CODE
LOWtests/unit_tests/plugin/test_extract_deps.py10CODE
LOWtests/unit_tests/provider/test_mcp_resources.py1CODE
LOWtests/unit_tests/provider/test_mcp_box_integration.py7CODE
LOWtests/unit_tests/provider/conftest.py8CODE
LOWtests/unit_tests/provider/test_model_manager.py8CODE
LOWtests/unit_tests/provider/test_mcp_remote_transport.py1CODE
LOWtests/unit_tests/provider/test_requester_base.py8CODE
LOW…ts/unit_tests/provider/test_localagent_sandbox_exec.py1CODE
LOWtests/unit_tests/provider/test_skill_tools.py1CODE
LOWtests/unit_tests/provider/test_tool_manager_native.py1CODE
LOWtests/unit_tests/provider/test_model_service.py1CODE
LOWtests/unit_tests/provider/test_session_manager.py9CODE
LOWtests/unit_tests/provider/test_tool_manager.py8CODE
LOW…_tests/provider/test_localagent_inbound_attachments.py15CODE
LOW…s/unit_tests/provider/runners/test_difysvapi_runner.py6CODE
LOWtests/unit_tests/utils/test_image.py7CODE
LOWtests/unit_tests/utils/test_proxy.py7CODE
LOWtests/unit_tests/utils/test_logcache.py7CODE
LOWtests/unit_tests/utils/test_platform.py9CODE
LOWtests/unit_tests/utils/test_pkgmgr.py7CODE
313 more matches not shown…
Hallucination Indicators26 hits · 300 pts
SeverityFileLineSnippetContext
CRITICALtests/unit_tests/provider/test_mcp_box_integration.py821 assert ap.box_service.build_spec.call_args.kwargs.get('skip_host_mount_validation', False) is FalseCODE
CRITICALtests/unit_tests/rag/test_file_storage.py64 kb.ap.storage_mgr.storage_provider.exists.assert_awaited_once_with('documents/test.pdf')CODE
CRITICALtests/unit_tests/rag/test_file_storage.py114 kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('archive.zip')CODE
CRITICALtests/unit_tests/rag/test_file_storage.py128 kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('archive.zip')CODE
CRITICALtests/unit_tests/rag/test_file_storage.py142 kb.ap.storage_mgr.storage_provider.size.assert_awaited_once_with('test.pdf')CODE
CRITICALtests/unit_tests/rag/test_file_storage.py145 kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('test.pdf')CODE
CRITICALtests/unit_tests/rag/test_file_storage.py158 kb.ap.storage_mgr.storage_provider.delete.assert_awaited_once_with('bad.pdf')CODE
CRITICALtests/integration/api/test_embed.py206 fake_embed_app.platform_mgr.websocket_proxy_bot.adapter.get_websocket_messages.assert_called_with(CODE
CRITICALtests/integration/api/test_embed.py256 fake_embed_app.platform_mgr.websocket_proxy_bot.adapter.reset_session.assert_called_with(CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py1489 response: CreateMessageResponse = self.api_client.im.v1.message.create(request, req_opt)CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py3046 response: CreateMessageResponse = self.api_client.im.v1.message.create(request, req_opt)CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py1305 response: CreateAppAccessTokenResponse = self.api_client.auth.v3.app_access_token.create(request)CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py1338 response: CreateTenantAccessTokenResponse = self.api_client.auth.v3.tenant_access_token.create(request)CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py1462 response: CreateMessageResponse = self.api_client.im.v1.message.create(request, req_opt)CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py1732 response: CreateCardResponse = self.api_client.cardkit.v1.card.create(request)CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py1787 response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(request, req_opt)CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py1878 response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(request, req_opt)CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py1969 response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(request, req_opt)CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py2007 response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(request, req_opt)CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py2157 response: ContentCardElementResponse = await self.api_client.cardkit.v1.card_element.acontent(CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py2261 media_response: ReplyMessageResponse = await self.api_client.im.v1.message.areply(CODE
CRITICALsrc/langbot/pkg/platform/sources/lark.py2763 response: UpdateCardResponse = await self.api_client.cardkit.v1.card.aupdate(request, req_opt)CODE
CRITICALsrc/langbot/pkg/plugin/connector.py296 self.ap.tool_mgr.mcp_tool_loader._hosted_mcp_tasks.append(mcp_task)CODE
CRITICALsrc/langbot/pkg/api/http/service/mcp.py73 self.ap.tool_mgr.mcp_tool_loader._hosted_mcp_tasks.append(task)CODE
CRITICALsrc/langbot/pkg/api/http/service/mcp.py121 self.ap.tool_mgr.mcp_tool_loader._hosted_mcp_tasks.append(task)CODE
CRITICALsrc/langbot/pkg/api/http/service/mcp.py133 self.ap.tool_mgr.mcp_tool_loader._hosted_mcp_tasks.append(task)CODE
Cross-File Repetition42 hits · 210 pts
SeverityFileLineSnippetContext
HIGHtests/unit_tests/box/test_box_service.py0in-process connection backed by asyncio queues — no real io.STRING
HIGHtests/integration_tests/box/test_box_mcp_integration.py0in-process connection backed by asyncio queues — no real io.STRING
HIGHtests/integration_tests/box/test_box_integration.py0in-process connection backed by asyncio queues — no real io.STRING
HIGHtests/unit_tests/provider/test_session_manager.py0test that __init__ stores the application reference.STRING
HIGHtests/unit_tests/provider/test_tool_manager.py0test that __init__ stores the application reference.STRING
HIGHtests/unit_tests/storage/test_s3storage.py0test that __init__ stores the application reference.STRING
HIGHtests/unit_tests/telemetry/test_telemetry.py0test that __init__ stores the application reference.STRING
HIGHtests/unit_tests/api/service/test_mcp_service.py0delete operation completes even for nonexistent uuid.STRING
HIGHtests/unit_tests/api/service/test_bot_service.py0delete operation completes even for nonexistent uuid.STRING
HIGHtests/unit_tests/api/service/test_pipeline_service.py0delete operation completes even for nonexistent uuid.STRING
HIGHtests/integration/api/test_providers.py0create quart test client (module scope to avoid route re-registration).STRING
HIGHtests/integration/api/test_knowledge.py0create quart test client (module scope to avoid route re-registration).STRING
HIGHtests/integration/api/test_pipelines.py0create quart test client (module scope to avoid route re-registration).STRING
HIGHtests/integration/api/test_bots.py0create quart test client (module scope to avoid route re-registration).STRING
HIGHsrc/langbot/libs/official_account_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/libs/wecom_ai_bot_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/libs/wecom_customer_service_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/libs/wecom_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/libs/slack_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/libs/qq_official_api/api.py0处理回调请求(统一 webhook 模式,显式传递 request)。 args: req: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/libs/official_account_api/api.py0处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象STRING
HIGHsrc/langbot/libs/wecom_ai_bot_api/api.py0处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象STRING
HIGHsrc/langbot/libs/wecom_customer_service_api/api.py0处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象STRING
HIGHsrc/langbot/libs/wecom_api/api.py0处理回调请求的内部实现,包括 get 验证和 post 消息接收。 args: req: quart request 对象STRING
HIGHsrc/langbot/libs/official_account_api/oaevent.py0事件类型,例如 "message"、"event"、"text" 等。 returns: str: 事件类型。STRING
HIGH…angbot/libs/wecom_customer_service_api/wecomcsevent.py0事件类型,例如 "message"、"event"、"text" 等。 returns: str: 事件类型。STRING
HIGHsrc/langbot/libs/wecom_api/wecomevent.py0事件类型,例如 "message"、"event"、"text" 等。 returns: str: 事件类型。STRING
HIGHsrc/langbot/libs/official_account_api/oaevent.py0允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。STRING
HIGHsrc/langbot/libs/dingtalk_api/dingtalkevent.py0允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。STRING
HIGH…angbot/libs/wecom_customer_service_api/wecomcsevent.py0允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。STRING
HIGHsrc/langbot/libs/wecom_api/wecomevent.py0允许通过属性访问数据中的任意字段。 args: key (str): 字段名。 returns: optional[any]: 字段值。STRING
HIGHsrc/langbot/libs/official_account_api/oaevent.py0允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。STRING
HIGHsrc/langbot/libs/dingtalk_api/dingtalkevent.py0允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。STRING
HIGH…angbot/libs/wecom_customer_service_api/wecomcsevent.py0允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。STRING
HIGHsrc/langbot/libs/wecom_api/wecomevent.py0允许通过属性设置数据中的任意字段。 args: key (str): 字段名。 value (any): 字段值。STRING
HIGHsrc/langbot/pkg/platform/sources/qqofficial.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/pkg/platform/sources/lark.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/pkg/platform/sources/line.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/pkg/platform/sources/officialaccount.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/pkg/platform/sources/wecomcs.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/pkg/platform/sources/slack.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据STRING
HIGHsrc/langbot/pkg/platform/sources/wecom.py0处理统一 webhook 请求。 args: bot_uuid: bot 的 uuid path: 子路径(如果有的话) request: quart request 对象 returns: 响应数据STRING
Deep Nesting229 hits · 188 pts
SeverityFileLineSnippetContext
LOWtests/unit_tests/pipeline/test_cntfilter.py50CODE
LOWtests/unit_tests/core/test_bootutils_deps.py118CODE
LOWtests/unit_tests/provider/test_model_manager.py71CODE
LOWtests/unit_tests/provider/test_model_manager.py568CODE
LOWtests/unit_tests/provider/test_model_manager.py76CODE
LOWtests/unit_tests/provider/test_model_manager.py572CODE
LOW…sts/unit_tests/api/service/test_maintenance_service.py451CODE
LOWexamples/http-bot/client.py138CODE
LOWsrc/langbot/libs/official_account_api/api.py77CODE
LOWsrc/langbot/libs/official_account_api/api.py264CODE
LOWsrc/langbot/libs/openclaw_weixin_api/client.py557CODE
LOWsrc/langbot/libs/dingtalk_api/card_callback.py70CODE
LOWsrc/langbot/libs/dingtalk_api/api.py241CODE
LOWsrc/langbot/libs/dingtalk_api/api.py323CODE
LOWsrc/langbot/libs/dingtalk_api/api.py881CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py708CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py909CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py363CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py427CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py878CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1498CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1909CODE
LOWsrc/langbot/libs/wecom_customer_service_api/api.py228CODE
LOWsrc/langbot/libs/wecom_customer_service_api/api.py318CODE
LOWsrc/langbot/libs/wecom_api/api.py263CODE
LOWsrc/langbot/libs/wecom_api/api.py369CODE
LOWsrc/langbot/libs/wecom_api/api.py429CODE
LOWsrc/langbot/libs/wecom_api/api.py485CODE
LOWsrc/langbot/libs/slack_api/slackevent.py14CODE
LOWsrc/langbot/libs/coze_server_api/client.py110CODE
LOWsrc/langbot/libs/deerflow_api/stream_utils.py12CODE
LOWsrc/langbot/libs/deerflow_api/stream_utils.py163CODE
LOWsrc/langbot/libs/deerflow_api/stream_utils.py178CODE
LOWsrc/langbot/libs/qq_official_api/api.py225CODE
LOWsrc/langbot/libs/qq_official_api/api.py484CODE
LOWsrc/langbot/libs/qq_official_api/api.py860CODE
LOWsrc/langbot/libs/qq_official_api/api.py879CODE
LOWsrc/langbot/pkg/pipeline/controller.py24CODE
LOWsrc/langbot/pkg/pipeline/monitoring_helper.py23CODE
LOWsrc/langbot/pkg/pipeline/monitoring_helper.py102CODE
LOWsrc/langbot/pkg/pipeline/monitoring_helper.py129CODE
LOWsrc/langbot/pkg/pipeline/monitoring_helper.py193CODE
LOWsrc/langbot/pkg/pipeline/pipelinemgr.py123CODE
LOWsrc/langbot/pkg/pipeline/pipelinemgr.py217CODE
LOWsrc/langbot/pkg/pipeline/config_coercion.py53CODE
LOWsrc/langbot/pkg/pipeline/resprule/rules/prefix.py9CODE
LOWsrc/langbot/pkg/pipeline/wrapper/wrapper.py72CODE
LOWsrc/langbot/pkg/pipeline/cntfilter/cntfilter.py57CODE
LOWsrc/langbot/pkg/pipeline/cntfilter/cntfilter.py92CODE
LOWsrc/langbot/pkg/pipeline/cntfilter/filters/banwords.py16CODE
LOWsrc/langbot/pkg/pipeline/preproc/preproc.py43CODE
LOWsrc/langbot/pkg/pipeline/longtext/longtext.py26CODE
LOWsrc/langbot/pkg/pipeline/longtext/strategies/image.py56CODE
LOWsrc/langbot/pkg/pipeline/longtext/strategies/image.py129CODE
LOWsrc/langbot/pkg/pipeline/process/handlers/command.py15CODE
LOWsrc/langbot/pkg/pipeline/process/handlers/chat.py28CODE
LOWsrc/langbot/pkg/box/service.py712CODE
LOWsrc/langbot/pkg/box/service.py1237CODE
LOWsrc/langbot/pkg/box/service.py1240CODE
LOWsrc/langbot/pkg/core/app.py174CODE
169 more matches not shown…
Cross-Language Confusion17 hits · 105 pts
SeverityFileLineSnippetContext
HIGHtests/unit_tests/box/test_workspace.py57 assert '_LB_SYSTEM_PYTHON="$(command -v python3 || command -v python || true)"' in commandCODE
HIGHtests/unit_tests/provider/test_mcp_box_integration.py512 assert '_LB_SYSTEM_PYTHON="$(command -v python3 || command -v python || true)"' in commandCODE
HIGHtests/unit_tests/provider/test_skill_tools.py271 assert '_LB_SYSTEM_PYTHON="$(command -v python3 || command -v python || true)"' in commandCODE
HIGHtests/integration_tests/box/test_box_mcp_integration.py322 args=['-c', 'echo done && exit 0'],CODE
HIGHexamples/http-bot/playground.py286 if(obj!==undefined){const p=document.createElement('pre');CODE
HIGHexamples/http-bot/playground.py287 p.textContent=typeof obj==='string'?obj:JSON.stringify(obj,null,2);e.appendChild(p)}CODE
HIGHsrc/langbot/pkg/box/workspace.py149 _LB_SYSTEM_PYTHON="$(command -v python3 || command -v python || true)"CODE
HIGHsrc/langbot/pkg/box/workspace.py208 while ! mkdir "$_LB_LOCK_DIR" 2>/dev/null; doCODE
HIGHsrc/langbot/pkg/box/workspace.py210 _LB_LOCK_OWNER="$(cat "$_LB_LOCK_DIR/pid" 2>/dev/null || true)"CODE
HIGHsrc/langbot/pkg/box/workspace.py211 if [ -n "$_LB_LOCK_OWNER" ] && kill -0 "$_LB_LOCK_OWNER" 2>/dev/null; thenCODE
HIGHsrc/langbot/pkg/box/workspace.py216 rm -rf "$_LB_LOCK_DIR" 2>/dev/null || trueCODE
HIGHsrc/langbot/pkg/box/workspace.py217 if mkdir "$_LB_LOCK_DIR" 2>/dev/null; thenCODE
HIGHsrc/langbot/pkg/box/workspace.py226 printf '%s\\n' "$$" > "$_LB_LOCK_DIR/pid" 2>/dev/null || trueCODE
HIGHsrc/langbot/pkg/box/workspace.py229 rm -rf "$_LB_LOCK_DIR" >/dev/null 2>&1 || trueCODE
HIGHsrc/langbot/pkg/entity/dto/space_model.py30# "metadata": null,COMMENT
HIGHsrc/langbot/pkg/api/http/controller/groups/system.py108 { "step": int, "selected_adapter": str|null, "created_bot_uuid": str|null,STRING
HIGHsrc/langbot/pkg/api/http/controller/groups/system.py109 "bot_saved": bool, "selected_runner": str|null }STRING
Redundant / Tautological Comments48 hits · 71 pts
SeverityFileLineSnippetContext
LOWrun_tests.sh15# Check if pytest is installedCOMMENT
LOWdocker/deploy-k8s-test.sh20# Check if kubectl can connect to a clusterCOMMENT
LOWtests/unit_tests/api/service/test_mcp_service.py527 # Set mcp_tool_loader to None, not tool_mgr itselfCOMMENT
LOWtests/e2e/utils/process_manager.py70 # Set COVERAGE_PROCESS_START to enable coverage in subprocessCOMMENT
LOWtests/e2e/utils/process_manager.py118 # Check if process diedSTRING
LOWsrc/langbot/pkg/pipeline/monitoring_helper.py34 # Check if session exists, if not, record session startCOMMENT
LOWsrc/langbot/pkg/pipeline/aggregator.py185 # Check if buffer reached max capacityCOMMENT
LOWsrc/langbot/pkg/pipeline/preproc/preproc.py182 # Check if this model supports vision, if not, remove all imagesCOMMENT
LOWsrc/langbot/pkg/core/stages/load_config.py61 # Check if the environment variable is uppercase and contains __COMMENT
LOWsrc/langbot/pkg/platform/webhook_pusher.py58 # Check if any webhook responded with skip_pipeline=trueCOMMENT
LOWsrc/langbot/pkg/platform/webhook_pusher.py105 # Check if any webhook responded with skip_pipeline=trueCOMMENT
LOWsrc/langbot/pkg/platform/sources/kook.py342 # Check if this is a message eventCOMMENT
LOWsrc/langbot/pkg/platform/sources/qqofficial.py36 # Check if it looks like base64 (only valid chars, reasonable length)COMMENT
LOWsrc/langbot/pkg/platform/sources/line.py232 # Check if signature header existsCOMMENT
LOWsrc/langbot/pkg/platform/sources/satori.py308 # Check if it's a private/direct messageCOMMENT
LOWsrc/langbot/pkg/platform/sources/satori.py311 # Check if it's a group messageCOMMENT
LOWsrc/langbot/pkg/platform/sources/satori.py720 # Check if it's a private/direct messageCOMMENT
LOWsrc/langbot/pkg/platform/sources/satori.py724 # Check if it's a group messageCOMMENT
LOWsrc/langbot/pkg/platform/sources/aiocqhttp.py532 # Check if message contains a Forward componentCOMMENT
LOWsrc/langbot/pkg/plugin/handler.py656 # Read file from storageCOMMENT
LOWsrc/langbot/pkg/plugin/connector.py266 # Check if MCP server already existsCOMMENT
LOW…/langbot/pkg/provider/tools/loaders/skill_authoring.py34 # Check if sandbox backend is available (same check as native tools)COMMENT
LOWsrc/langbot/pkg/provider/modelmgr/modelmgr.py82 # Check if space models service is disabledCOMMENT
LOWsrc/langbot/pkg/provider/modelmgr/modelmgr.py345 # Check if requester manifest specifies litellm_providerCOMMENT
LOWsrc/langbot/pkg/provider/runners/difysvapi.py1016 # Check if this is a form action resume (button click or text match)COMMENT
LOWsrc/langbot/pkg/provider/runners/difysvapi.py1523 # Check if this is a form action resume (button click or text match)COMMENT
LOWsrc/langbot/pkg/provider/runners/difysvapi.py1652 # Check if this is a form action resume (button click or text match)COMMENT
LOWsrc/langbot/pkg/provider/runners/difysvapi.py2108 # Check if this is a form action resume (button click or text match)COMMENT
LOW…persistence/alembic/versions/0003_add_rerank_models.py18 # Check if table already exists (may have been created by create_all())COMMENT
LOWsrc/langbot/pkg/api/http/controller/groups/user.py77 # Check if password change is allowedCOMMENT
LOWsrc/langbot/pkg/api/http/controller/groups/user.py198 # Check if modifying login info is allowedCOMMENT
LOWsrc/langbot/pkg/api/http/controller/groups/user.py227 # Check if modifying login info is allowedCOMMENT
LOWsrc/langbot/pkg/api/http/service/user.py75 # Check if this user has a local password setCOMMENT
LOWsrc/langbot/pkg/api/http/service/user.py138 # Check if user with this Space UUID already existsCOMMENT
LOWsrc/langbot/pkg/api/http/service/user.py156 # Check if user with same email existsCOMMENT
LOWsrc/langbot/pkg/api/http/service/user.py175 # Check if system is already initializedCOMMENT
LOWsrc/langbot/pkg/api/http/service/user.py277 # Check if this Space account is already bound to another userCOMMENT
LOWsrc/langbot/pkg/api/http/service/provider.py105 # Check if any models use this providerCOMMENT
LOWsrc/langbot/pkg/api/http/service/monitoring.py443 # Check if any rows were updatedCOMMENT
LOWsrc/langbot/pkg/api/http/service/monitoring.py1684 # Check if record with this feedback_id already existsCOMMENT
LOWsrc/langbot/pkg/api/http/service/space.py48 # Check if token is expired (with 60s buffer)COMMENT
LOWsrc/langbot/pkg/vector/vdbs/milvus.py138 # Check if collection existsCOMMENT
LOWsrc/langbot/pkg/vector/vdbs/milvus.py413 # Check if collection exists before attempting deletionCOMMENT
LOWsrc/langbot/pkg/vector/vdbs/seekdb.py54 # Check if database exists using public APICOMMENT
LOWsrc/langbot/pkg/vector/vdbs/seekdb.py131 # Check if collection existsCOMMENT
LOWsrc/langbot/pkg/vector/vdbs/seekdb.py238 # Check if collection existsCOMMENT
LOWsrc/langbot/pkg/vector/vdbs/seekdb.py343 # Check if collection existsCOMMENT
LOWsrc/langbot/pkg/vector/vdbs/seekdb.py444 # Check if collection existsCOMMENT
Self-Referential Comments20 hits · 63 pts
SeverityFileLineSnippetContext
MEDIUMdocker/kubernetes.yaml2# This file provides Kubernetes deployment manifests for LangBot based on docker-compose.yamlCOMMENT
MEDIUMtests/smoke/test_fake_message_flow.py53 # Create a simple queryCOMMENT
MEDIUMtests/unit_tests/pipeline/test_wrapper.py174 # Create a command response messageCOMMENT
MEDIUMtests/unit_tests/pipeline/test_wrapper.py212 # Create a plugin response messageCOMMENT
MEDIUMtests/unit_tests/pipeline/test_longtext.py261 # Create a mock adapter with bot_account_idCOMMENT
MEDIUMtests/unit_tests/pipeline/test_chat_handler.py37 # Create a default runner that yields a simple responseCOMMENT
MEDIUMtests/unit_tests/plugin/test_connector_pure.py36 # Create a mock zip file with requirements.txtCOMMENT
MEDIUMtests/unit_tests/utils/test_image.py88 # Create a simple base64 stringCOMMENT
MEDIUM…unit_tests/storage/test_localstorage_path_traversal.py54 # Create a file outside the storage directoryCOMMENT
MEDIUM…unit_tests/storage/test_localstorage_path_traversal.py186 # Create a directory with filesCOMMENT
MEDIUMtests/unit_tests/persistence/test_serialize_model.py24# Create a simple test modelCOMMENT
MEDIUMtests/unit_tests/persistence/test_serialize_model.py43 # Create a mock persistence managerCOMMENT
MEDIUMtests/unit_tests/persistence/test_mgr_methods.py70 # Create a mock result with actual attributes to simulate real resultCOMMENT
MEDIUM…sts/unit_tests/api/service/test_maintenance_service.py46 # Create a proper mock object with __class__.__name__COMMENT
MEDIUMtests/integration_tests/box/test_box_mcp_integration.py347 # Create a session (container gets current instance ID label)COMMENT
MEDIUMtests/integration/pipeline/test_full_flow.py192 # Create a simple class to mimic Prompt behaviorCOMMENT
MEDIUMtests/factories/message.py393 # Create a default sessionCOMMENT
MEDIUMsrc/langbot/pkg/skill/activation.py13# This file is kept for potential future extensions but the text markerCOMMENT
MEDIUMsrc/langbot/pkg/platform/sources/lark.py317 # Create a temporary file to store the image bytesCOMMENT
MEDIUM…/langbot/pkg/provider/tools/loaders/skill_authoring.py145 # Create the skillCOMMENT
Magic Placeholder Names9 hits · 45 pts
SeverityFileLineSnippetContext
HIGH…ponents/api-integration-dialog/ApiIntegrationPanel.tsx504 {`X-API-Key: <your-api-key>CODE
HIGH…ponents/api-integration-dialog/ApiIntegrationPanel.tsx506Authorization: Bearer <your-api-key>`}CODE
HIGH…ponents/api-integration-dialog/ApiIntegrationPanel.tsx522 "headers": { "X-API-Key": "<your-api-key>" }CODE
HIGHsrc/langbot/templates/default-pipeline-config.json64 "api-key": "your-api-key",CODE
HIGHsrc/langbot/templates/default-pipeline-config.json69 "api-key": "your-api-key",CODE
HIGHsrc/langbot/templates/default-pipeline-config.json87 "api-key": "your-api-key",CODE
HIGHsrc/langbot/templates/metadata/pipeline/ai.yaml327 default: 'your-api-key'CODE
HIGHsrc/langbot/templates/metadata/pipeline/ai.yaml593 default: 'your-api-key'CODE
HIGHsrc/langbot/templates/metadata/pipeline/ai.yaml638 default: 'your-api-key'CODE
Modern Structural Boilerplate37 hits · 39 pts
SeverityFileLineSnippetContext
LOWtests/factories/__init__.py59__all__ = [CODE
LOWtests/e2e/conftest.py17logger = logging.getLogger(__name__)CODE
LOWtests/e2e/utils/process_manager.py16logger = logging.getLogger(__name__)CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py308 def set_card_action_callback(self, callback: Callable) -> None:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py317 def set_card_source(self, source: Optional[dict]) -> None:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1621 def set_card_source(self, source: Optional[dict]) -> None:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1626 def set_feedback_callback(self, callback: Callable) -> None:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py1634 def set_card_action_callback(self, callback: Callable) -> None:CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py134 def set_pending_form(self, stream_id: str, form_data: dict, task_id: str) -> None:CODE
LOWsrc/langbot/libs/weknora_api/__init__.py4__all__ = ['AsyncWeKnoraClient', 'WeKnoraAPIError']CODE
LOWsrc/langbot/libs/dify_service_api/__init__.py4__all__ = ['client', 'errors']CODE
LOWsrc/langbot/libs/deerflow_api/__init__.py5__all__ = ['AsyncDeerFlowClient', 'DeerFlowAPIError', 'stream_utils']CODE
LOWsrc/langbot/pkg/pipeline/config_coercion.py5logger = logging.getLogger(__name__)CODE
LOWsrc/langbot/pkg/box/__init__.py5__all__ = ['BoxWorkspaceSession']CODE
LOWsrc/langbot/pkg/skill/__init__.py3__all__ = ['SkillManager']CODE
LOW…c/langbot/pkg/platform/sources/web_page_bot_adapter.py35 def set_ws_adapter(self, ws_adapter) -> None:CODE
LOWsrc/langbot/pkg/platform/sources/websocket_adapter.py18logger = logging.getLogger(__name__)CODE
LOWsrc/langbot/pkg/platform/sources/http_bot.py114 def set_bot_uuid(self, bot_uuid: str) -> None:CODE
LOWsrc/langbot/pkg/platform/sources/websocket_manager.py11logger = logging.getLogger(__name__)CODE
LOWsrc/langbot/pkg/provider/runners/difysvapi.py75def _set_pending_form(session_key: PendingFormKey, form_data: dict[str, typing.Any]) -> None:CODE
LOW…/alembic/versions/0008_add_mcp_resource_preferences.py52def _update_preferences(conn: sa.Connection, uuid: str, preferences: dict[str, Any]) -> None:CODE
LOWsrc/langbot/pkg/api/mcp/__init__.py14__all__ = ['LangBotMCPServer']CODE
LOW…gbot/pkg/api/http/controller/groups/pipelines/embed.py26logger = logging.getLogger(__name__)CODE
LOW…api/http/controller/groups/pipelines/websocket_chat.py13logger = logging.getLogger(__name__)CODE
LOWsrc/langbot/pkg/api/http/service/user.py234 async def set_password(self, user_email: str, new_password: str, current_password: str | None = None) -> None:CODE
LOWsrc/langbot/pkg/api/http/service/provider.py90 async def update_provider(self, provider_uuid: str, provider_data: dict) -> None:CODE
LOWsrc/langbot/pkg/api/http/service/provider.py198 async def update_space_model_provider_api_keys(self, api_key: str) -> None:CODE
LOWsrc/langbot/pkg/api/http/service/model.py198 async def update_llm_model(self, model_uuid: str, model_data: dict) -> None:CODE
LOWsrc/langbot/pkg/api/http/service/model.py362 async def update_embedding_model(self, model_uuid: str, model_data: dict) -> None:CODE
LOWsrc/langbot/pkg/api/http/service/model.py522 async def update_rerank_model(self, model_uuid: str, model_data: dict) -> None:CODE
LOWsrc/langbot/pkg/api/http/service/bot.py121 async def update_bot(self, bot_uuid: str, bot_data: dict) -> None:CODE
LOWsrc/langbot/pkg/api/http/service/mcp.py90 async def update_mcp_server(self, server_uuid: str, server_data: dict) -> None:CODE
LOWsrc/langbot/pkg/api/http/service/pipeline.py117 async def update_pipeline(self, pipeline_uuid: str, pipeline_data: dict) -> None:CODE
LOWsrc/langbot/pkg/api/http/service/apikey.py86 async def update_api_key(self, key_id: int, name: str = None, description: str = None) -> None:CODE
LOWsrc/langbot/pkg/api/http/service/knowledge.py154 async def update_knowledge_base(self, kb_uuid: str, kb_data: dict) -> None:CODE
LOWsrc/langbot/pkg/telemetry/features.py49def set_value(query: pipeline_query.Query, group: str, value: typing.Any) -> None:CODE
LOWsrc/langbot/pkg/vector/filter_utils.py21logger = logging.getLogger(__name__)CODE
Over-Commented Block40 hits · 38 pts
SeverityFileLineSnippetContext
LOWdocker/docker-compose.yaml21 # The Box sandbox runtime is optional. It is only started when you runCOMMENT
LOWdocker/kubernetes.yaml1# Kubernetes Deployment for LangBotCOMMENT
LOWdocker/kubernetes.yaml181---COMMENT
LOWdocker/kubernetes.yaml481 targetPort: 2289COMMENT
LOWdocker/kubernetes.yaml501# spec:COMMENT
LOWdocker/kubernetes.yaml521# Service for LangBot with LoadBalancer (Alternative to Ingress)COMMENT
LOWdocker/kubernetes.yaml541# targetPort: 2280COMMENT
LOWdocker/kubernetes.yaml561# ports:COMMENT
LOWweb/src/app/infra/entities/api/index.ts301// name: string;COMMENT
LOWweb/src/i18n/I18nProvider.tsx41// 工具函数:将 i18n 语言代码转换为 API 语言代码COMMENT
LOWsrc/langbot/libs/wecom_ai_bot_api/ws_client.py121COMMENT
LOWsrc/langbot/pkg/pipeline/preproc/preproc.py261COMMENT
LOWsrc/langbot/pkg/box/service.py341 # IM/webchat attachments (images, voices, files) reach the LLM asCOMMENT
LOWsrc/langbot/pkg/core/stages/load_config.py121 # if os.path.exists('data/config/pipeline.json'):COMMENT
LOWsrc/langbot/pkg/core/stages/load_config.py141COMMENT
LOWsrc/langbot/pkg/entity/dto/space_model.py1# [COMMENT
LOWsrc/langbot/pkg/entity/dto/space_model.py21# "output_credits": 2500,COMMENT
LOWsrc/langbot/pkg/platform/sources/openclaw_weixin.py121 # Voice with speech-to-text: use the transcribed textCOMMENT
LOWsrc/langbot/pkg/platform/sources/openclaw_weixin.py141 # platform_message.Voice(COMMENT
LOWsrc/langbot/pkg/platform/sources/openclaw_weixin.py161 # )COMMENT
LOWsrc/langbot/pkg/platform/sources/openclaw_weixin.py541 and item.image_item.media.encrypt_query_paramCOMMENT
LOWsrc/langbot/pkg/platform/sources/dingtalk.py481 )COMMENT
LOWsrc/langbot/pkg/platform/sources/qqofficial.py221 self._ws_task: asyncio.Task = NoneCOMMENT
LOWsrc/langbot/pkg/provider/tools/loaders/mcp_stdio.py261 )COMMENT
LOW…angbot/pkg/persistence/alembic/versions/0002_sample.py21def upgrade() -> None:COMMENT
LOW…angbot/pkg/persistence/alembic/versions/0002_sample.py41 # {"cfg": json.dumps(config), "uuid": row[0]}COMMENT
LOWsrc/langbot/pkg/command/operators/list.py1# from __future__ import annotationsCOMMENT
LOWsrc/langbot/pkg/command/operators/list.py21# returnCOMMENT
LOWsrc/langbot/pkg/command/operators/list.py41# index += 1COMMENT
LOWsrc/langbot/pkg/command/operators/delc.py1# from __future__ import annotationsCOMMENT
LOWsrc/langbot/pkg/command/operators/delc.py21# returnCOMMENT
LOWsrc/langbot/pkg/command/operators/delc.py41# class DelAllOperator(operator.CommandOperator):COMMENT
LOWsrc/langbot/pkg/command/operators/resend.py1# from __future__ import annotationsCOMMENT
LOWsrc/langbot/pkg/command/operators/resend.py21# while len(conv_msg) > 0 and conv_msg[-1].role != 'user':COMMENT
LOWsrc/langbot/pkg/command/operators/last.py1# from __future__ import annotationsCOMMENT
LOWsrc/langbot/pkg/command/operators/last.py21# error=command_errors.CommandOperationError('已经是第一个对话了')COMMENT
LOWsrc/langbot/pkg/command/operators/prompt.py1# from __future__ import annotationsCOMMENT
LOWsrc/langbot/pkg/command/operators/next.py1# from __future__ import annotationsCOMMENT
LOWsrc/langbot/pkg/command/operators/next.py21# )COMMENT
LOWsrc/langbot/pkg/vector/vdbs/valkey_search.py41# default is 250ms, which is too low for vector KNN (``FT.SEARCH ... =>[KNN]``)COMMENT
Verbosity Indicators20 hits · 32 pts
SeverityFileLineSnippetContext
LOW…p/home/knowledge/components/kb-docs/FileUploadZone.tsx86 // Step 1: Upload file to serverCOMMENT
LOW…p/home/knowledge/components/kb-docs/FileUploadZone.tsx89 // Step 2: Associate file with knowledge base (with optional parser)COMMENT
LOWweb/src/app/wizard/page.tsx740// Step 0: Select PlatformCOMMENT
LOWweb/src/app/wizard/page.tsx841// Step 1: Bot Configuration + LogsCOMMENT
LOWweb/src/app/wizard/page.tsx994// Step 2: Select & Configure AI EngineCOMMENT
LOWweb/src/app/wizard/page.tsx1176// Step 3: DoneCOMMENT
LOWsrc/langbot/libs/dify_service_api/v1/client.py137 # Step 1: Submit the formCOMMENT
LOWsrc/langbot/libs/dify_service_api/v1/client.py152 # Step 2: Stream resumed workflow eventsCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py377 # Step 1: Init — get nonceCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py394 # Step 2: Begin — get device_code + QR URLCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py421 # Step 3: Poll for authorization resultCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py572 # Step 1: Generate QR codeCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py595 # Step 2: Poll for scan resultCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py748 # Step 1: create_bind_task — register our AES key, get task_idCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py782 # Step 2: poll_bind_result until completed (status=2) or expired (3).COMMENT
LOW…/pkg/api/http/controller/groups/knowledge/migration.py124 # Step 1: Install all required plugins from marketplaceCOMMENT
LOW…/pkg/api/http/controller/groups/knowledge/migration.py135 # Step 2: Wait for all plugins to become available as knowledge enginesCOMMENT
LOW…/pkg/api/http/controller/groups/knowledge/migration.py166 # Step 3: Restore internal knowledge bases from backupCOMMENT
LOW…/pkg/api/http/controller/groups/knowledge/migration.py221 # Step 4: Restore external knowledge basesCOMMENT
LOW…/pkg/api/http/controller/groups/knowledge/migration.py309 # Step 5: Clear migration flagCOMMENT
Modern AI Meta-Vocabulary12 hits · 32 pts
SeverityFileLineSnippetContext
MEDIUMARCHITECTURE.md139## Provider, RAG, and ToolsCOMMENT
MEDIUMtests/README.md101│ ├── rag/ # RAG testsCODE
MEDIUMtests/unit_tests/provider/test_litellmchat.py1089 # Check embedding model is detectedCOMMENT
MEDIUMtests/unit_tests/api/service/test_provider_service.py369 embedding_result.first = Mock(return_value=Mock(spec=EmbeddingModel)) # Has embedding modelCODE
MEDIUMtests/integration/api/test_knowledge.py108 # RAG managerCOMMENT
MEDIUM…s/langbot-testing/references/langrag-knowledge-base.md63## Local-Agent RAG CheckCOMMENT
MEDIUMsrc/langbot/pkg/core/stages/build_app.py171 # Initialize RAG Runtime Service for pluginsCOMMENT
MEDIUMsrc/langbot/pkg/entity/persistence/rag.py13 # New fields for plugin-based RAGCOMMENT
MEDIUMsrc/langbot/pkg/plugin/handler.py507 # ================= RAG Capability Handlers =================COMMENT
MEDIUMsrc/langbot/pkg/plugin/handler.py1176 # ================= RAG Capability Callers (LangBot -> Runtime) =================COMMENT
MEDIUMsrc/langbot/pkg/provider/runners/localagent.py41# generously so it never interrupts legitimate multi-step agentic workflows.STRING
MEDIUMsrc/langbot/pkg/vector/vdbs/valkey_search.py54# Fixed, indexed metadata schema. LangBot's RAG layer stores ``file_id`` onCOMMENT
Structural Annotation Overuse20 hits · 32 pts
SeverityFileLineSnippetContext
LOW…p/home/knowledge/components/kb-docs/FileUploadZone.tsx86 // Step 1: Upload file to serverCOMMENT
LOW…p/home/knowledge/components/kb-docs/FileUploadZone.tsx89 // Step 2: Associate file with knowledge base (with optional parser)COMMENT
LOWweb/src/app/wizard/page.tsx740// Step 0: Select PlatformCOMMENT
LOWweb/src/app/wizard/page.tsx841// Step 1: Bot Configuration + LogsCOMMENT
LOWweb/src/app/wizard/page.tsx994// Step 2: Select & Configure AI EngineCOMMENT
LOWweb/src/app/wizard/page.tsx1176// Step 3: DoneCOMMENT
LOWsrc/langbot/libs/dify_service_api/v1/client.py137 # Step 1: Submit the formCOMMENT
LOWsrc/langbot/libs/dify_service_api/v1/client.py152 # Step 2: Stream resumed workflow eventsCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py377 # Step 1: Init — get nonceCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py394 # Step 2: Begin — get device_code + QR URLCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py421 # Step 3: Poll for authorization resultCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py572 # Step 1: Generate QR codeCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py595 # Step 2: Poll for scan resultCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py748 # Step 1: create_bind_task — register our AES key, get task_idCOMMENT
LOW…ot/pkg/api/http/controller/groups/platform/adapters.py782 # Step 2: poll_bind_result until completed (status=2) or expired (3).COMMENT
LOW…/pkg/api/http/controller/groups/knowledge/migration.py124 # Step 1: Install all required plugins from marketplaceCOMMENT
LOW…/pkg/api/http/controller/groups/knowledge/migration.py135 # Step 2: Wait for all plugins to become available as knowledge enginesCOMMENT
LOW…/pkg/api/http/controller/groups/knowledge/migration.py166 # Step 3: Restore internal knowledge bases from backupCOMMENT
LOW…/pkg/api/http/controller/groups/knowledge/migration.py221 # Step 4: Restore external knowledge basesCOMMENT
LOW…/pkg/api/http/controller/groups/knowledge/migration.py309 # Step 5: Clear migration flagCOMMENT
Docstring Block Structure5 hits · 25 pts
SeverityFileLineSnippetContext
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 refSTRING
HIGHsrc/langbot/pkg/platform/sources/discord.py181 加入语音频道 验证用户权限和频道状态后,建立到指定语音频道的连接。 支持连接复用和自动重连机制。 @author: @ydzat Args: STRING
HIGHsrc/langbot/pkg/platform/sources/discord.py973 加入语音频道 为指定服务器的语音频道建立连接,支持用户权限验证和连接复用。 @author: @ydzat @version: 1.0 @since: 2STRING
HIGHsrc/langbot/pkg/plugin/connector.py850Parse a plugin ID string into (author, name). Args: plugin_id: Plugin ID in 'author/name' format. STRING
HIGHsrc/langbot/pkg/utils/image.py24从gewechat服务器获取图片并转换为base64格式 Args: gewechat_url (str): gewechat服务器地址(用于获取图片URL) gewechat_file_url (STRING
AI Slop Vocabulary6 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMweb/src/app/home/layout.tsx56// Map a /home route to the i18n key for its type-level title. Used as a robustCOMMENT
MEDIUMtests/unit_tests/utils/test_paths.py37 # ``main.py`` instead of relying on the cwd. That makes it robust to whereCOMMENT
LOWtests/unit_tests/api/service/test_pipeline_service.py439 # First call is the UPDATE - just return a MockCOMMENT
LOWsrc/langbot/pkg/platform/sources/kook.py136 # If download fails, just add as plain textCOMMENT
LOWsrc/langbot/pkg/platform/sources/kook.py155 # Other message types, just use content as plain textCOMMENT
LOWsrc/langbot/pkg/platform/sources/telegram.py353 # If edit fails (e.g. message too long), just passCOMMENT
AI Structural Patterns17 hits · 11 pts
SeverityFileLineSnippetContext
LOWtests/unit_tests/api/service/test_bot_service.py23CODE
LOWscripts/build_dingtalk_card_template.py275CODE
LOWsrc/langbot/libs/dingtalk_api/api.py606CODE
LOWsrc/langbot/libs/qq_official_api/api.py819CODE
LOWsrc/langbot/pkg/box/workspace.py274CODE
LOWsrc/langbot/pkg/plugin/handler.py933CODE
LOWsrc/langbot/pkg/plugin/handler.py1078CODE
LOWsrc/langbot/pkg/plugin/handler.py1165CODE
LOWsrc/langbot/pkg/plugin/handler.py1174CODE
LOWsrc/langbot/pkg/plugin/handler.py1187CODE
LOWsrc/langbot/pkg/plugin/handler.py1206CODE
LOWsrc/langbot/pkg/plugin/handler.py1215CODE
LOWsrc/langbot/pkg/plugin/handler.py1262CODE
LOWsrc/langbot/pkg/rag/knowledge/kbmgr.py351CODE
LOWsrc/langbot/pkg/api/http/service/monitoring.py205CODE
LOWsrc/langbot/pkg/api/http/service/monitoring.py292CODE
LOWsrc/langbot/pkg/api/http/service/monitoring.py1634CODE
Dead Code5 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit_tests/pipeline/test_chat_handler.py336CODE
MEDIUMtests/unit_tests/pipeline/test_chat_handler.py384CODE
MEDIUMtests/unit_tests/pipeline/test_chat_handler.py429CODE
MEDIUM…s/unit_tests/provider/runners/test_difysvapi_runner.py27CODE
MEDIUMsrc/langbot/pkg/provider/runners/localagent.py276CODE
Fake / Example Data9 hits · 8 pts
SeverityFileLineSnippetContext
LOWweb/tests/e2e/login.spec.ts13 await page.getByPlaceholder('Enter email address').fill('admin@example.com');CODE
LOW…c/app/home/components/home-sidebar/FeedbackPopover.tsx137 placeholder={tf('placeholder')}CODE
LOWtests/unit_tests/box/test_box_service.py1324 spec = BoxSpec.model_validate({'cmd': 'placeholder', 'session_id': 'r-create-1'})CODE
LOWtests/integration/api/test_smoke.py96 app.user_service.authenticate = AsyncMock(return_value='fake_token')CODE
LOWtests/integration/api/test_smoke.py100 app.user_service.generate_jwt_token = AsyncMock(return_value='fake_token')CODE
LOWscripts/build_dingtalk_card_template.py158 'placeholder': _dynamic_string_var('input_placeholder'),CODE
LOWscripts/build_dingtalk_card_template.py221 'placeholder': _dynamic_string_var('select_placeholder'),CODE
LOWsrc/langbot/pkg/platform/sources/lark.py2326 'placeholder': {'tag': 'plain_text', 'content': '请选择'},CODE
LOWsrc/langbot/pkg/platform/sources/lark.py2360 'placeholder': {'tag': 'plain_text', 'content': '请输入'},CODE
Overly Generic Function Names7 hits · 7 pts
SeverityFileLineSnippetContext
LOWsrc/langbot/libs/official_account_api/api.py172 async def run_task(self, host: str, port: int, *args, **kwargs):CODE
LOWsrc/langbot/libs/official_account_api/api.py360 async def run_task(self, host: str, port: int, *args, **kwargs):CODE
LOWsrc/langbot/libs/wecom_ai_bot_api/api.py2125 async def run_task(self, host: str, port: int, *args, **kwargs):CODE
LOWsrc/langbot/libs/wecom_customer_service_api/api.py272 async def run_task(self, host: str, port: int, *args, **kwargs):CODE
LOWsrc/langbot/libs/wecom_api/api.py303 async def run_task(self, host: str, port: int, *args, **kwargs):CODE
LOWsrc/langbot/libs/slack_api/api.py123 async def run_task(self, host: str, port: int, *args, **kwargs):CODE
LOWsrc/langbot/libs/qq_official_api/api.py278 async def run_task(self, host: str, port: int, *args, **kwargs):CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWdocker/kubernetes.yaml6# Usage:COMMENT