AI Slop Code Risk Monitor

omnimind-ai/OmniBot

SlopCodeMonitor badge for omnimind-ai/OmniBot Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Your on-phone / mobile AI Agent / Claw, capable of operating terminals and performing a wide range of tasks in the Android world || 你的手机 AI 代理,她可以操作终端,也可以完成 Android 世界的广泛任务

2.0 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for omnimind-ai/OmniBot, a Dart project with 2,077 GitHub stars. SynthScan examined 530,141 lines of code across 2067 source files, recording 291 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 2.0 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

2.0
Adjusted Signal
2.0
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
2.1K
Stars
Dart
Language
530.1K
Lines of Code
2.1K
Files
291
Pattern Hits
2026-10-31
Scan Date
0.04
HC Hit Rate

Risk Review · Payload v1

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

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 2.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 7.0/100 · LOW

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

Agent Over-Engineering Ratio 1.6/100 · LOW

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

PR Review Velocity Impact 9.1/100 · LOW

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

What These Metrics Mean

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

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 70HIGH 10MEDIUM 18LOW 193

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

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

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators70 hits · 728 pts
SeverityFileLineSnippetContext
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt77 val call = cn.com.omnimind.baselib.llm.AssistantToolCall(id = "t1", type = "function",CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt78 function = cn.com.omnimind.baselib.llm.AssistantToolCallFunction(name = name, arguments = "{}"))CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt133 cn.com.omnimind.baselib.llm.AssistantToolCall(id = id, type = "function",CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt134 function = cn.com.omnimind.baselib.llm.AssistantToolCallFunction(name = "file_read", arguments = "{}CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt160 val call = cn.com.omnimind.baselib.llm.AssistantToolCall(id = "restored-$index", type = "function",CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt161 function = cn.com.omnimind.baselib.llm.AssistantToolCallFunction(name = "file_read", arguments = "{}"))CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt176 val conversation = cn.com.omnimind.baselib.database.Conversation(id = 42, title = "test", promptTokenThreshold =CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt210 val call = cn.com.omnimind.baselib.llm.AssistantToolCall(id = "r$i", type = "function",CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt211 function = cn.com.omnimind.baselib.llm.AssistantToolCallFunction(name = "file_read", arguments = "{}"))CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt239 val call=cn.com.omnimind.baselib.llm.AssistantToolCall(id=id,type="function",CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt240 function=cn.com.omnimind.baselib.llm.AssistantToolCallFunction(name="custom_page",arguments="{}"))CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt268 val call = cn.com.omnimind.baselib.llm.AssistantToolCall(id=id,type="function",CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt269 function=cn.com.omnimind.baselib.llm.AssistantToolCallFunction(name=name,arguments="{}"))CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt359 val conversation = cn.com.omnimind.baselib.database.Conversation(CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt361 val entry = cn.com.omnimind.baselib.database.AgentConversationEntry(CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt401 val conversation = cn.com.omnimind.baselib.database.Conversation(id = 42, title = "test")CODE
CRITICAL…ind/bot/agent/AgentConversationContextCompactorTest.kt434 val conversation = cn.com.omnimind.baselib.database.Conversation(id = 42, title = "test")CODE
CRITICAL…omnimind/bot/agent/XiaowanAcpPresentationBridgeTest.kt54 val call = cn.com.omnimind.bot.agent.AssistantToolCall(CODE
CRITICAL…omnimind/bot/agent/XiaowanAcpPresentationBridgeTest.kt56 function = cn.com.omnimind.bot.agent.AssistantToolCallFunction("file_write", "{\"content\":\"<html>"),CODE
CRITICAL…/com/omnimind/bot/agent/HttpControllerResponsesTest.kt302 cn.com.omnimind.baselib.llm.AssistantToolCall(CODE
CRITICAL…/com/omnimind/bot/agent/HttpControllerResponsesTest.kt304 function = cn.com.omnimind.baselib.llm.AssistantToolCallFunction(CODE
CRITICAL…/com/omnimind/bot/agent/HttpControllerResponsesTest.kt670 cn.com.omnimind.baselib.llm.DeepSeekProvider.requestCapabilities(CODE
CRITICAL⚡…va/cn/com/omnimind/bot/agent/HttpAgentLlmClientTest.kt176 thinking = cn.com.omnimind.baselib.llm.ChatCompletionThinking(type = "enabled"),CODE
CRITICAL⚡…va/cn/com/omnimind/bot/agent/HttpAgentLlmClientTest.kt179 cn.com.omnimind.baselib.llm.ChatCompletionTool(CODE
CRITICAL⚡…va/cn/com/omnimind/bot/agent/HttpAgentLlmClientTest.kt180 function = cn.com.omnimind.baselib.llm.ChatCompletionFunction(CODE
CRITICAL…va/cn/com/omnimind/bot/agent/HttpAgentLlmClientTest.kt727 thinking = cn.com.omnimind.baselib.llm.ChatCompletionThinking(type = "enabled"),CODE
CRITICAL…va/cn/com/omnimind/bot/agent/HttpAgentLlmClientTest.kt1368 private fun simpleRequest() = cn.com.omnimind.baselib.llm.ChatCompletionRequest(CODE
CRITICAL…va/cn/com/omnimind/bot/agent/HttpAgentLlmClientTest.kt1370 cn.com.omnimind.baselib.llm.ChatCompletionMessage(CODE
CRITICAL⚡…mind/bot/agent/AgentHistoryToolOutputProjectionTest.kt73 cn.com.omnimind.baselib.llm.ChatCompletionMessage(role = "assistant", toolCalls = listOf(CODE
CRITICAL⚡…mind/bot/agent/AgentHistoryToolOutputProjectionTest.kt74 cn.com.omnimind.baselib.llm.AssistantToolCall(id = "call-a", function =CODE
CRITICAL⚡…mind/bot/agent/AgentHistoryToolOutputProjectionTest.kt75 cn.com.omnimind.baselib.llm.AssistantToolCallFunction(name = "file_read", arguments = "{}")))),CODE
CRITICAL⚡…mind/bot/agent/AgentHistoryToolOutputProjectionTest.kt76 cn.com.omnimind.baselib.llm.ChatCompletionMessage(role = "tool", toolCallId = "call-a"),CODE
CRITICAL…mnimind/bot/agent/runtime/LocalAcpSessionDeleteTest.kt45 cn.com.omnimind.baselib.database.AgentSessionBinding(7, "session-one", "/workspace", 1, 1)CODE
CRITICAL…mind/bot/agent/runtime/LocalAcpSessionListStateTest.kt57 val archived = cn.com.omnimind.baselib.database.Conversation(id = 7, title = "Task", isArchived = true)CODE
CRITICAL…d/bot/agent/runtime/AgentRuntimeProtocolPayloadTest.kt428 com.agentclientprotocol.model.SessionUpdate.ToolCallUpdate.serializer(),STRING
CRITICAL…d/bot/agent/runtime/AgentRuntimeProtocolPayloadTest.kt450 com.agentclientprotocol.model.SessionUpdate.ToolCallUpdate.serializer(),CODE
CRITICAL…omnimind/bot/agent/runtime/AcpAgentProfileStoreTest.kt237 val profile = cn.com.omnimind.baselib.llm.ModelProviderProfile(CODE
CRITICALapp/src/main/java/cn/com/omnimind/bot/App.kt95 cn.com.omnimind.baselib.llm.chatgpt.ChatGptOAuthManager.initialize(this)CODE
CRITICALapp/src/main/java/cn/com/omnimind/bot/App.kt133 cn.com.omnimind.baselib.llm.ModelSceneRegistry.init(this)CODE
CRITICAL…in/java/cn/com/omnimind/bot/ui/channel/CacheChannel.kt211 val message = cn.com.omnimind.baselib.database.Message(CODE
CRITICAL…in/java/cn/com/omnimind/bot/ui/channel/CacheChannel.kt244 val message = cn.com.omnimind.baselib.database.Message(CODE
CRITICAL…va/cn/com/omnimind/bot/omniflow/OmniFlowAppPlatform.kt133 cn.com.omnimind.bot.plugin.runtime.RuntimeSkillLocation(CODE
CRITICAL…in/java/cn/com/omnimind/bot/update/AppUpdateManager.kt623 "sdkInt" to android.os.Build.VERSION.SDK_INT.toString(),CODE
CRITICAL⚡…java/cn/com/omnimind/bot/agent/XiaowanAcpConnection.kt810 val outcome = cn.com.omnimind.bot.agent.AgentConversationContextCompactor(CODE
CRITICAL⚡…java/cn/com/omnimind/bot/agent/XiaowanAcpConnection.kt811 historyRepository = cn.com.omnimind.bot.agent.AgentConversationHistoryRepository(context),CODE
CRITICAL⚡…java/cn/com/omnimind/bot/agent/XiaowanAcpConnection.kt815 cn.com.omnimind.bot.agent.AgentWorkspaceManager(context).writeOffload(sessionId.value, "txt", outputCODE
CRITICAL…java/cn/com/omnimind/bot/agent/XiaowanAcpConnection.kt866 is AgentResult.Error -> throw cn.com.omnimind.bot.agent.AgentRuntimeErrorSupport.acpPromptFailure(result.mesCODE
CRITICAL…java/cn/com/omnimind/bot/agent/XiaowanAcpConnection.kt950 val catalog = cn.com.omnimind.bot.agent.runtime.fetchAgentProviderModels(CODE
CRITICAL…va/cn/com/omnimind/bot/agent/runtime/NaCloudRuntime.kt109 cn.com.omnimind.bot.webchat.FlutterChatSyncBridge.dispatchNaHistoryOwnerChanged(appContext)CODE
CRITICAL…va/cn/com/omnimind/bot/agent/runtime/NaCloudRuntime.kt121 cn.com.omnimind.bot.webchat.FlutterChatSyncBridge.dispatchNaHistoryOwnerChanged(appContext)CODE
CRITICAL…cn/com/omnimind/bot/agent/runtime/AgentOrchestrator.kt191 cn.com.omnimind.baselib.llm.ChatCompletionThinking(type = "disabled")CODE
CRITICAL…cn/com/omnimind/bot/agent/runtime/OmniAgentExecutor.kt193 val promptCacheKey = cn.com.omnimind.baselib.llm.PromptCacheKeyStore.forConversation(STRING
CRITICAL…cn/com/omnimind/bot/agent/runtime/OmniAgentExecutor.kt458 return cn.com.omnimind.baselib.llm.ChatCompletionMessage(STRING
CRITICAL…cn/com/omnimind/bot/agent/runtime/OmniAgentExecutor.kt505 return cn.com.omnimind.baselib.llm.ChatCompletionMessage(STRING
CRITICAL…mnimind/bot/agent/tool/handlers/TerminalToolHandler.kt806 segments += "export $key=${cn.com.omnimind.bot.termux.TermuxCommandBuilder.quoteForShell(rawValue)}"CODE
CRITICAL…mnimind/bot/agent/tool/handlers/TerminalToolHandler.kt809 segments += "cd ${cn.com.omnimind.bot.termux.TermuxCommandBuilder.quoteForShell(workingDirectory)}"CODE
CRITICAL…/bot/agent/tool/handlers/ImageGenerationToolHandler.kt216 require(!cn.com.omnimind.baselib.llm.ChatGptOAuthProvider.isOAuth(profile.sourceType)) {CODE
CRITICAL…src/main/java/cn/com/omnimind/bot/mcp/WebChatRoutes.kt348 io.ktor.http.ContentDisposition.Attachment.withParameter(CODE
CRITICAL…java/cn/com/omnimind/bot/manager/AssistsCoreManager.kt2146 cn.com.omnimind.bot.agent.WorkspaceShortMemoryEntry(STRING
CRITICAL…java/cn/com/omnimind/bot/manager/AssistsCoreManager.kt3035 val target = cn.com.omnimind.bot.agent.ChatConversationPreferences(context).lastTarget()STRING
10 more matches not shown…
Hyper-Verbose Identifiers93 hits · 112 pts
SeverityFileLineSnippetContext
LOWplugins/omni-vlm-lite/tests/test_component_bundle.py19 def test_component_contract_matches_current_runtime_layout(self) -> None:CODE
LOWplugins/omni-vlm-lite/tests/test_runtime_bundle.py59 def test_release_asset_matches_catalog(self) -> None:CODE
LOWplugins/omni-vlm-lite/tests/test_runtime_bundle.py70 def test_release_is_self_contained_mobile_component(self) -> None:CODE
LOWplugins/omni-vlm-lite/tests/test_runtime_bundle.py98 def test_release_pins_canonical_omniflow(self) -> None:CODE
LOW⚡scripts/test_agent_turn_outcome.py27 def test_codex_detail_requires_actual_persisted_exit_explanation(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py36 def test_terminal_recovery_requires_real_successful_tool(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py46 def test_terminal_completion_can_end_on_tool_without_assistant_prose(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py59 def test_tool_only_turn_can_have_official_cancellation(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py63 def test_tool_text_without_terminal_metadata_cannot_claim_cancellation(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py68 def test_inband_text_error_must_preserve_partial_output(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py74 def test_inband_tool_error_must_not_execute_buffered_tool(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py82 def test_mcp_denial_requires_one_failed_tool_and_http_category(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py93 def test_earlier_failure_cannot_satisfy_new_turn(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py96 def test_later_failure_cannot_satisfy_earlier_turn(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py99 def test_duplicate_user_admission_is_rejected(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py102 def test_current_failure_is_accepted(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py105 def test_wrong_error_category_is_rejected(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py108 def test_unrelated_turn_identity_is_rejected(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py112 def test_failure_cannot_be_reported_as_recovery(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py116 def test_cancelled_requires_official_terminal_reason(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py120 def test_cancelled_is_accepted_without_becoming_failure(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py124 def test_failure_or_success_cannot_pass_as_cancelled(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py127 def test_cancelled_but_loading_is_rejected(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py132 def test_live_scenario_requires_canonical_completion_after_freeform_reply(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py137 def test_live_reply_without_prompt_response_is_not_done(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py142 def test_quoted_live_marker_does_not_match_user_admission(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py150 def test_permission_failure_cannot_satisfy_missing_file(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py153 def test_actual_missing_path_is_accepted(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py156 def test_unknown_tool_must_identify_the_failed_capability(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py159 def test_bad_arguments_must_reach_argument_parsing(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py166 def test_current_pending_permission_is_required(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py169 def test_historical_permission_cannot_satisfy_current_wait(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py172 def test_resolved_or_unaddressable_permission_is_not_pending(self):CODE
LOW⚡scripts/test_agent_turn_outcome.py178 def test_cancelled_turn_cannot_keep_pending_permission(self):CODE
LOWscripts/test_agent_turn_outcome.py15 def test_codex_command_rejects_startup_failure_and_missing_output(self):CODE
LOWscripts/test-chat-history-query.py45 def test_index_preserves_all_pages_and_avoids_full_sort(self):CODE
LOWscripts/test-chat-history-query.py65 def test_conversation_paging_filters_before_offset_and_orders_like_sidebar(self):CODE
LOW⚡scripts/test-terminal-child-state.py10 def test_remote_read_error_with_zero_adb_exit(self):CODE
LOW⚡scripts/test-terminal-child-state.py15 def test_unpublished_pid_waits(self):CODE
LOW⚡scripts/test-terminal-child-state.py19 def test_invalid_pid_rejected(self):CODE
LOW⚡scripts/test-terminal-child-state.py22 def test_natural_expiry_cannot_satisfy_cancellation(self):CODE
LOW⚡scripts/test-terminal-child-state.py30 def test_other_owner_is_rejected(self):CODE
LOW⚡scripts/test-terminal-child-state.py32 def test_other_command_is_rejected(self):CODE
LOW⚡scripts/test-terminal-child-state.py37 def test_invalid_observation_is_rejected(self):CODE
LOWscripts/test-history-item-removal.py38 def test_removal_keeps_unloaded_history_other_conversations_and_full_payloads(self):CODE
LOWscripts/test-history-item-removal.py50 def test_checkpoint_only_invalidates_when_removed_identity_touches_prefix(self):CODE
LOW⚡scripts/test-agent-init-assertions.py18 def test_attachment_is_required_and_cancel_is_not_success(self):CODE
LOW⚡scripts/test-agent-init-assertions.py26 def test_active_requires_output_identity_and_no_terminal(self):CODE
LOW⚡scripts/test-agent-init-assertions.py34 def test_old_success_cannot_pass(self):CODE
LOW⚡scripts/test-agent-init-assertions.py36 def test_duplicate_submission(self):CODE
LOW⚡scripts/test-agent-init-assertions.py39 def test_error_cancel_and_pending_never_pass(self):CODE
LOW⚡scripts/test-agent-init-assertions.py48 def test_duplicate_tool_projection(self):CODE
LOW⚡scripts/test-terminal-host-stop.py9 def test_stop_reaches_runtime_cleanup_and_preserves_stdin(self):CODE
LOW⚡scripts/test-terminal-host-stop.py12 def test_nonzero_exit_and_stdin_are_preserved(self):CODE
LOW⚡scripts/test-terminal-host-stop.py15 def test_maintenance_launch_preserves_existing_runtime_stdio(self):CODE
LOW⚡scripts/test-terminal-host-stop.py18 def test_maintenance_never_initializes_missing_or_incomplete_rootfs(self):CODE
LOW⚡scripts/test-agent-context-checkpoint.py18 def test_same_task_checkpoint_is_stable_across_database_reopen(self):CODE
LOW⚡scripts/test-agent-context-checkpoint.py23 def test_old_summary_does_not_prove_new_compaction(self):CODE
LOW⚡scripts/test-agent-context-checkpoint.py26 def test_unfinished_tool_cannot_be_checkpoint(self):CODE
LOW⚡scripts/test-agent-context-checkpoint.py29 def test_later_task_checkpoint_is_not_accepted(self):CODE
33 more matches not shown…
Over-Commented Block53 hits · 53 pts
SeverityFileLineSnippetContext
LOWui/pubspec.yaml1name: uiCOMMENT
LOWui/pubspec.yaml121 # For details regarding adding assets from package dependencies, seeCOMMENT
LOWui/pubspec.yaml141 # For details regarding fonts from package dependencies,COMMENT
LOWui/lib/core/mixins/page_lifecycle_mixin.dart1import 'package:flutter/material.dart';COMMENT
LOWui/lib/features/home/pages/chat/chat_page.dart201 // Presentation only: target resolution/history hydration is distinct fromCOMMENT
LOW…/features/home/pages/chat/chat_page_model_context.dart461 return;COMMENT
LOW…/features/home/pages/chat/chat_page_model_context.dart901// DismissOverlayOnKeyboardHide 已提取到 lib/widgets/glass_popup.dart,COMMENT
LOW…tures/home/pages/chat/chat_page_conversation_flow.dart721 // The preserved composer remains editable for the user to send later.COMMENT
LOWui/lib/features/home/pages/chat/chat_page_ui.dart981 _conversationModeForPageMode(mode) == ConversationMode.chatOnly;COMMENT
LOW…features/home/pages/chat/utils/agent_run_timeline.dart21/// Whether an agent turn is still producing output.COMMENT
LOW…features/home/pages/chat/utils/agent_run_timeline.dart741 }COMMENT
LOW…ages/chat/utils/composer_keyboard_metrics_tracker.dart21/// - `viewPadding.bottom` can momentarily report 0 or a stale value whileCOMMENT
LOW…ome/pages/chat/utils/composer_lift_intent_tracker.dart1import 'dart:math' as math;COMMENT
LOW…tures/home/pages/chat/services/chat_runtime_state.dart61 final String mode;COMMENT
LOW…tures/home/pages/chat/services/chat_runtime_state.dart121COMMENT
LOW…tures/home/pages/chat/services/chat_runtime_state.dart241 .millisecondsSinceEpoch;COMMENT
LOWui/lib/features/home/pages/webview/webview_page.dart41 int _loadingProgress = 0;COMMENT
LOW…s/home/pages/authorize/widgets/permission_section.dart41 iconClick: item.iconClick,COMMENT
LOW…s/home/pages/authorize/widgets/permission_section.dart61 // padding: const EdgeInsets.symmetric(COMMENT
LOW…res/memory/pages/memory_center/memory_center_page.dart61 // AppTag(COMMENT
LOW…res/memory/pages/memory_center/memory_center_page.dart81 // ),COMMENT
LOW…res/memory/pages/memory_center/memory_center_page.dart101 // tags: [COMMENT
LOW…res/memory/pages/memory_center/memory_center_page.dart721 // left: 0,COMMENT
LOW…es/memory/pages/memory_center/widgets/memory_card.dart141 child:COMMENT
LOW…es/memory/pages/memory_center/widgets/memory_card.dart161 // child: SvgPicture.asset(COMMENT
LOWui/lib/theme/app_text_styles.dart41COMMENT
LOWui/lib/theme/app_text_styles.dart61 // fontFamily: fontFamily,COMMENT
LOWui/lib/theme/app_text_styles.dart81 // fontWeight: FontWeight.w400,COMMENT
LOWui/lib/theme/app_text_styles.dart101 // color: AppColors.text50,COMMENT
LOWui/lib/theme/app_text_styles.dart121 // height: 1.5,COMMENT
LOWui/lib/theme/app_text_styles.dart141 // // 特殊样式COMMENT
LOWui/lib/theme/app_text_styles.dart161 // fontFamily: fontFamily,COMMENT
LOWui/lib/theme/app_text_styles.dart181 // fontSize: 12,COMMENT
LOWui/lib/services/agent_event_reducer.dart461 // One conversation has one active turn. A delayed update from an olderCOMMENT
LOWui/lib/services/cache_service.dart121 ///COMMENT
LOWui/lib/widgets/streaming_text.dart61 final isCurrentLowSurrogate = currentUnit >= 0xDC00 && currentUnit <= 0xDFFF;COMMENT
LOWui/lib/widgets/glass_popup.dart21 /// 但触发按钮只有 24 宽),按 anchor 对齐会让 popup 几乎横跨整个屏幕、COMMENT
LOWui/lib/widgets/glass_popup.dart621 return Rect.fromLTWH(local.dx, local.dy, 0, 0);COMMENT
LOWui/lib/widgets/glass_popup.dart901 // 全部跌到 0 再触发收起 popup,popup 的反向动画(220ms)就要排在 IME 动画COMMENT
LOWui/lib/widgets/flclash/liquid_glass_capture.dart1// Adapted from chen08209/FlClash atCOMMENT
LOW…java/cn/com/omnimind/bot/agent/XiaowanAcpConnection.kt1101 // data-only images: AgentWorkspaceAttachmentSupport canCOMMENT
LOW…/com/omnimind/bot/agent/runtime/AgentRuntimeManager.kt1121 }COMMENT
LOW…a/cn/com/omnimind/bot/agent/runtime/LocalAcpRuntime.kt3801 // Never let a timeline update through without a turn id. Updates thatCOMMENT
LOW…c/main/java/cn/com/omnimind/baselib/util/SchemeUtil.kt81 val fallbackUri = "https://sj.qq.com/appdetail/$packageName"COMMENT
LOW…screens/terminal/virtualkeys/VirtualKeysConstants.java161 new VirtualKeyDisplayMap() {COMMENT
LOW…/src/test/java/com/termux/terminal/KeyHandlerTest.java61 // K3=Upper right of keypad (xterm sends "<ESC>[5~" = Page Up).COMMENT
LOW…src/test/java/com/termux/terminal/TerminalRowTest.java381 for (int point : points) {COMMENT
LOW…rc/main/java/com/termux/terminal/TerminalEmulator.java941 // for terminfo colors), and TN for termcap name (or name for terminfo name).COMMENT
LOW…rc/main/java/com/termux/terminal/TerminalEmulator.java1301 // mouse report.COMMENT
LOW…rc/main/java/com/termux/terminal/TerminalEmulator.java1321 // (4) allows modification of function-keys, overrides use of Shift-modifier for UDK.COMMENT
LOW…rc/main/java/com/termux/terminal/TerminalEmulator.java1341 // - Set it to 2 to force the modifier to be the second parameter if it would otherwise be the first.COMMENT
LOWReTerminal/core/terminal-emulator/src/main/jni/termux.c1#include <dirent.h>COMMENT
LOWworkers/app-update-worker/worker.js1061COMMENT
Cross-File Repetition5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHui/test/agent_tool_summary_card_test.dart0diff --git a/lib/main.dart b/lib/main.dart --- a/lib/main.dart +++ b/lib/main.dart @@ -1,2 +1,2 @@ -old line +new line sSTRING
HIGHui/test/agent_tool_detail_sheet_test.dart0diff --git a/lib/main.dart b/lib/main.dart --- a/lib/main.dart +++ b/lib/main.dart @@ -1,2 +1,2 @@ -old line +new line sSTRING
HIGHui/test/agent_tool_detail_body_test.dart0diff --git a/lib/main.dart b/lib/main.dart --- a/lib/main.dart +++ b/lib/main.dart @@ -1,2 +1,2 @@ -old line +new line sSTRING
HIGHui/test/services/agent_event_reducer_test.dart0diff --git a/lib/main.dart b/lib/main.dart --- a/lib/main.dart +++ b/lib/main.dart @@ -1,2 +1,2 @@ -old line +new line sSTRING
HIGHui/test/services/agent_diff_parser_test.dart0diff --git a/lib/main.dart b/lib/main.dart --- a/lib/main.dart +++ b/lib/main.dart @@ -1,2 +1,2 @@ -old line +new line sSTRING
Excessive Try-Catch Wrapping9 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUM…res/memory/pages/memory_center/memory_center_page.dart230 print('Error loading data: $e');CODE
MEDIUM…res/memory/pages/memory_center/memory_center_page.dart630 print('Error loading short memories: $e');CODE
MEDIUMui/lib/features/my/pages/my/my_page.dart58 print('Error loading vibration state: $e');CODE
MEDIUMui/lib/features/my/pages/my/my_page.dart72 print('Error loading user data: $e');CODE
MEDIUM…sk/pages/scheduled_tasks/scheduled_task_list_page.dart78 print('Error loading scheduled page data: $e');CODE
MEDIUM…sk/pages/scheduled_tasks/scheduled_task_list_page.dart104 print('Error reloading scheduled tasks: $e');CODE
MEDIUM…sk/pages/scheduled_tasks/scheduled_task_list_page.dart126 print('Error reloading exact alarms: $e');CODE
LOWscripts/upload_release_asset_to_worker.py201 except Exception:CODE
LOWscripts/upload_release_asset_to_worker.py208 except Exception as abort_error:CODE
Fake / Example Data14 hits · 14 pts
SeverityFileLineSnippetContext
LOW…est/features/my/pages/feedback/feedback_page_test.dart68 (call) async => 'user@example.com',CODE
LOW…est/features/my/pages/feedback/feedback_page_test.dart115 'user@example.com',CODE
LOW…est/features/my/pages/feedback/feedback_page_test.dart120 expect(service.submitted!['accountEmail'], 'user@example.com');CODE
LOW…est/features/my/pages/feedback/feedback_page_test.dart161 'user@example.com',CODE
LOWui/test/services/feedback_service_test.dart108 'accountEmail': 'user@example.com',CODE
LOWui/test/services/feedback_service_test.dart233 expect(await FeedbackService.loadAccountEmail(), 'user@example.com');CODE
LOW…e/pages/chat/adapters/remote_codex_content_parser.dart98 _remoteCodexFirstText([first['description'], first['placeholder']]) ??CODE
LOW…e/pages/chat/adapters/remote_codex_content_parser.dart119 item['placeholder'],CODE
LOW…e/pages/chat/adapters/remote_codex_content_parser.dart121 params?['placeholder'],CODE
LOW…/command_overlay/widgets/cards/agent_request_card.dart241 field['placeholder'],CODE
LOWui/lib/services/agent_event_reducer.dart4844 _string(first['placeholder']) ??CODE
LOWui/lib/services/agent_event_reducer.dart4890 final detail = _firstString([field['description'], field['placeholder']]);CODE
LOW…n/release_artifact/ReleaseArtifactInstrumentation.java171 Object legacy = decode("{\"a\":\"fixture\",\"b\":\"test\",\"c\":\"https://example.invalid\",\"d\":\"fake-keyCODE
LOW…n/release_artifact/ReleaseArtifactInstrumentation.java172 Object current = decode("{\"id\":\"fixture\",\"name\":\"test\",\"baseUrl\":\"https://example.invalid\",\"apiCODE
Decorative Section Separators4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUM…find-install-skills/scripts/install_with_skills_cli.sh2# ============================================================COMMENT
MEDIUM…find-install-skills/scripts/install_with_skills_cli.sh5# ============================================================COMMENT
MEDIUMscripts/install-dev.sh628# ── 1. Check device ────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/install-dev.sh657# ── 2. Build ───────────────────────────────────────────────────────────────────COMMENT
Verbosity Indicators7 hits · 10 pts
SeverityFileLineSnippetContext
LOW…s/welcome/pages/onboarding/pages/development_page.dart10/// Step 2: pick a starter development-environment preset.COMMENT
LOW…s/welcome/pages/onboarding/pages/permissions_page.dart12/// Step 4: grant the app permissions that power floating reminders,COMMENT
LOW…lcome/pages/onboarding/pages/model_inventory_page.dart12/// Step 6: review the fetched models and optionally add one manually.COMMENT
LOW…atures/welcome/pages/onboarding/pages/system_page.dart13/// Step 1: pick the local Linux distribution. Intentionally not scrollable —COMMENT
LOW…eatures/welcome/pages/onboarding/pages/tools_page.dart10/// Step 3: pick optional agents and connection tools, then review the setup.COMMENT
LOW…e/pages/onboarding/pages/provider_connection_page.dart12/// Step 5: enter the connection details for the chosen provider.COMMENT
LOWsources/research_models_dev_cloudflare_proxy.json67 "# anomalyco/models.dev \u2014 providers/cloudflare-ai-gateway/README.md\n\n- Page: GitHub code file\n- URL: httCODE
Structural Annotation Overuse7 hits · 10 pts
SeverityFileLineSnippetContext
LOW…s/welcome/pages/onboarding/pages/development_page.dart10/// Step 2: pick a starter development-environment preset.COMMENT
LOW…s/welcome/pages/onboarding/pages/permissions_page.dart12/// Step 4: grant the app permissions that power floating reminders,COMMENT
LOW…lcome/pages/onboarding/pages/model_inventory_page.dart12/// Step 6: review the fetched models and optionally add one manually.COMMENT
LOW…atures/welcome/pages/onboarding/pages/system_page.dart13/// Step 1: pick the local Linux distribution. Intentionally not scrollable —COMMENT
LOW…eatures/welcome/pages/onboarding/pages/tools_page.dart10/// Step 3: pick optional agents and connection tools, then review the setup.COMMENT
LOW…e/pages/onboarding/pages/provider_connection_page.dart12/// Step 5: enter the connection details for the chosen provider.COMMENT
LOWsources/research_models_dev_cloudflare_proxy.json67 "# anomalyco/models.dev \u2014 providers/cloudflare-ai-gateway/README.md\n\n- Page: GitHub code file\n- URL: httCODE
Empty Error Handlers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHscripts/debug-provider-proxy.py160except KeyboardInterrupt:CODE
HIGHscripts/test-terminal-host-stop.py93except ProcessLookupError: passCODE
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHscripts/verify-terminal-stdio.py14test -f local/alpine/.omnibot-rootfs-ready || exit 1CODE
HIGHscripts/verify-terminal-stdio.py16trap 'rmdir "$probe_dir" 2>/dev/null || true' EXITCODE
Deep Nesting9 hits · 9 pts
SeverityFileLineSnippetContext
LOWscripts/debug-provider-proxy.py68CODE
LOWscripts/assert-agent-turn-outcome.py6CODE
LOWscripts/upload_release_asset_to_worker.py143CODE
LOWscripts/generate_splash_animation.py69CODE
LOWscripts/test-terminal-host-stop.py18CODE
LOWscripts/test-terminal-host-stop.py53CODE
LOWscripts/audit-flutter-reachability.py16CODE
LOWscripts/performance/dart-kotlin-boundary/seed.py17CODE
LOWscripts/performance/startup/prepare.py14CODE
Modern AI Meta-Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md243├── app/ # Android host app: entry point, agent orchestration, system abilities, MCP, servicesCODE
MEDIUMui/lib/widgets/flclash/search_header.dart2// lib/ui/scaffold.dart, search_field.dart, button.dart, and motion.dart atCOMMENT
MEDIUM…ponents/compose/preferences/base/PreferenceScaffold.kt51 // retains its full viewport. One scaffold keeps its scroll and focus ownersCOMMENT
Unused Imports7 hits · 7 pts
SeverityFileLineSnippetContext
LOWplugins/omni-vlm-lite/tests/test_component_bundle.py1CODE
LOWplugins/omni-vlm-lite/tests/test_runtime_bundle.py1CODE
LOWscripts/mirror_github_release_to_cnb.py3CODE
LOWscripts/assert-agent-context-checkpoint.py5CODE
LOWscripts/debug-provider-proxy.py9CODE
LOWscripts/upload_release_asset_to_worker.py8CODE
LOWscripts/verification/release_artifact/build.py9CODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHREADME.md235export LLMTHU_API_KEY='your-api-key'CODE
AI Slop Vocabulary2 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMscripts/verification/release_artifact/build.py111 # This harness deliberately never reads project/global release signing properties.COMMENT
MEDIUMsources/research_models_dev_cloudflare_proxy.json19 "# anomalyco/models.dev\n\n- Page: GitHub repository\n- URL: https://github.com/anomalyco/models.dev\n- DescriptCODE
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMui/pubspec.yaml73 # included with your application, so that you can use the icons inCOMMENT
Self-Referential Comments1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMsources/research_models_dev_cloudflare_proxy.json27 "---\ntitle: Workers API reference\ndescription: Complete reference for the R2 in-Worker API, including bucket aCODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/install-dev.sh3# Usage:COMMENT