AI Slop Code RIsk Monitor

zhayujie/CowAgent

Open-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.

33.9 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for zhayujie/CowAgent, a Python project with 47,322 GitHub stars. SynthScan examined 262,600 lines of code across 1072 source files, recording 6454 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 33.9 (High 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.

33.9
Adjusted Signal
33.9
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
47.3K
Stars
Python
Language
262.6K
Lines of Code
1.1K
Files
6.5K
Pattern Hits
2026-10-12
Scan Date
0.25
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 55.1/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 12.3/100 · LOW

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

Agent Over-Engineering Ratio 76.3/100 · CRITICAL

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

PR Review Velocity Impact 82.1/100 · CRITICAL

Which changes need focused human review? 6454 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 2HIGH 268MEDIUM 611LOW 5573

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 6454 distinct pattern matches across 20 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.

Hyper-Verbose Identifiers3236 hits · 3532 pts
SeverityFileLineSnippetContext
LOW⚡config.py478def _quarantine_corrupted_config(config_path):CODE
LOWconfig.py443def _mask_sensitive_recursive(obj):CODE
LOWconfig.py798def _sync_skill_config_to_env(skill_section) -> int:CODE
LOWconfig.py828def sync_image_generation_custom_provider_env(CODE
LOWconfig.py946def get_weixin_credentials_path(instance_id: str = ""):CODE
LOW⚡app.py748def _scaffold_subagent_assets():CODE
LOWapp.py59def _resolve_startup_channels(raw_channel):CODE
LOWapp.py672def _warn_if_legacy_workspace_data_exists():CODE
LOWplugins/plugin_manager.py283 def _apply_desktop_plugin_denylist(self):CODE
LOWplugins/cow_cli/cow_cli.py891 def _resolve_bot_type_for_model(model_name: str) -> str:CODE
LOWplugins/cow_cli/cow_cli.py1529 def _resolve_active_embedding():CODE
LOWplugins/cow_cli/cow_cli.py1827 def _create_standalone_flush_manager():CODE
LOWbridge/agent_bridge.py31def add_openai_compatible_support(bot_instance):CODE
LOWbridge/agent_bridge.py394 def _normalized_reasoning_effort(self):CODE
LOWbridge/agent_bridge.py1121 def _strip_speaker_prefix_from_messages(self, messages: list) -> list:CODE
LOWbridge/agent_bridge.py1414 def clear_all_model_fallbacks(self) -> int:CODE
LOWbridge/agent_bridge.py1443 def sync_session_messages_from_store(CODE
LOWbridge/agent_bridge.py2055 def _pre_persist_user_message(CODE
LOWbridge/agent_bridge.py2173 def remember_scheduled_output(CODE
LOWbridge/agent_bridge.py2307 def _prune_scheduled_in_memory(cls, agent, keep_last_n: int) -> None:CODE
LOWbridge/agent_bridge.py2471 def _refresh_conditional_tools(agent):CODE
LOW⚡bridge/agent_initializer.py1118 def _initialize_skill_manager(self, workspace_root: str, session_id: Optional[str] = None):CODE
LOWbridge/agent_initializer.py248 def _restore_conversation_history(CODE
LOWbridge/agent_initializer.py672 def _filter_text_only_messages(messages: list) -> list:CODE
LOWbridge/agent_event_handler.py83 def _handle_tool_execution_start(self, data):CODE
LOWbridge/agent_event_handler.py86 def _handle_tool_execution_end(self, data):CODE
LOWtests/test_image_generation_custom_provider.py43def test_sync_selected_custom_image_provider_to_env(monkeypatch):CODE
LOWtests/test_image_generation_custom_provider.py63def test_build_providers_uses_explicit_custom_provider(monkeypatch):CODE
LOWtests/test_image_generation_custom_provider.py91def test_build_providers_keeps_pinned_model_on_aggregator(monkeypatch):CODE
LOWtests/test_image_generation_custom_provider.py102def test_build_providers_drops_model_aggregator_does_not_serve(monkeypatch):CODE
LOWtests/test_image_generation_custom_provider.py112def test_build_providers_does_not_fallback_for_missing_custom_provider(CODE
LOWtests/test_atomic_private_staging.py29def test_a_private_target_is_staged_privately(tmp_path):CODE
LOWtests/test_atomic_private_staging.py37def test_a_new_file_keeps_the_umask_default(tmp_path):CODE
LOWtests/test_dingtalk_image_caption_once.py14def test_image_is_sent_without_its_caption_after_the_caption_bubble():CODE
LOWtests/test_chunker_budget.py13def test_chunks_fit_budget_and_keep_source_line_ranges(text):CODE
LOWtests/test_chunker_budget.py27def test_overlap_keeps_the_tail_when_it_fits():CODE
LOWtests/test_chunker_budget.py35def test_long_line_fragments_and_neighbor_lines_fit_budget():CODE
LOWtests/test_agent_stream_reasoning_field.py27 def _validate_and_fix_messages(self):CODE
LOWtests/test_agent_stream_reasoning_field.py30 def _catalog_max_output_tokens(self):CODE
LOWtests/test_agent_stream_reasoning_field.py55def test_reasoning_field_is_routed_to_the_thinking_channel():CODE
LOWtests/test_agent_stream_reasoning_field.py79def test_reasoning_content_still_wins_over_reasoning():CODE
LOWtests/test_agent_stream_reasoning_field.py97def test_thinking_field_is_also_accepted():CODE
LOWtests/test_agent_stream_reasoning_field.py112def test_list_shaped_reasoning_does_not_crash():CODE
LOWtests/test_agent_stream_reasoning_field.py130def test_non_string_reasoning_is_ignored():CODE
LOWtests/test_time_check.py16 def test_default_end_of_day_stop_time_allows_messages(self):CODE
LOW⚡tests/test_shared_history_alias.py78def test_default_agent_is_named_by_alias(svc, monkeypatch, authors, expected):CODE
LOW⚡tests/test_shared_history_alias.py82def test_unreadable_roster_keeps_stored_author(svc, monkeypatch):CODE
LOW⚡tests/test_shared_history_alias.py92def test_single_agent_install_is_unchanged(monkeypatch):CODE
LOW⚡tests/test_shared_history_alias.py97def test_user_turns_carry_no_author(svc, monkeypatch):CODE
LOW⚡tests/test_shared_history_alias.py102def test_persistence_off_yields_no_history(svc, monkeypatch):CODE
LOW⚡tests/test_shared_history_alias.py106def test_outside_agent_id_maps_only_the_default(svc):CODE
LOWtests/test_memory_rerank.py76def fake_sentence_transformers(monkeypatch):CODE
LOWtests/test_memory_rerank.py96def test_rerank_reorders_by_reranker_score():CODE
LOW⚡tests/test_memory_rerank.py107def test_rerank_is_noop_without_reranker():CODE
LOW⚡tests/test_memory_rerank.py114def test_rerank_failure_keeps_fused_order(reranker):CODE
LOW⚡tests/test_memory_rerank.py120def test_search_applies_min_score_before_rerank():CODE
LOW⚡tests/test_memory_rerank.py145def test_sigmoid_maps_to_unit_interval():CODE
LOW⚡tests/test_memory_rerank.py151def test_create_reranker_disabled_without_provider(provider):CODE
LOW⚡tests/test_memory_rerank.py155def test_create_reranker_unknown_provider_is_disabled():CODE
LOW⚡tests/test_memory_rerank.py159def test_local_reranker_is_shared_and_loads_lazily(fake_sentence_transformers):CODE
3176 more matches not shown…
Decorative Section Separators485 hits · 1623 pts
SeverityFileLineSnippetContext
MEDIUMrun.sh4# ============================COMMENT
MEDIUMrun.sh6# ============================COMMENT
MEDIUM⚡run.sh31# ============================COMMENT
MEDIUM⚡run.sh33# ============================COMMENT
MEDIUM⚡plugins/cow_cli/cow_cli.py352 # ------------------------------------------------------------------COMMENT
MEDIUM⚡plugins/cow_cli/cow_cli.py354 # ------------------------------------------------------------------COMMENT
MEDIUM⚡plugins/cow_cli/cow_cli.py625 # ------------------------------------------------------------------COMMENT
MEDIUM⚡plugins/cow_cli/cow_cli.py627 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py307 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py309 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py426 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py430 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py504 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py508 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py549 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py551 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py660 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py662 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py725 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py727 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py762 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py764 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py926 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py928 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py979 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py981 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1437 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1439 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1838 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1840 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1964 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1966 # ------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_wechatmp_passive_claim_and_cache_leak.py168# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_wechatmp_passive_claim_and_cache_leak.py170# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_wechatmp_passive_claim_and_cache_leak.py243# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_wechatmp_passive_claim_and_cache_leak.py245# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_doc_edit.py50# ----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_doc_edit.py52# ----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_doc_edit.py87# ----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_doc_edit.py89# ----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_doc_edit.py133# ----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_doc_edit.py135# ----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_doc_edit.py314# ----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_doc_edit.py316# ----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_doc_edit.py419# ----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_doc_edit.py421# ----------------------------------------------------------------------COMMENT
MEDIUMtests/test_doc_edit.py225# ----------------------------------------------------------------------COMMENT
MEDIUMtests/test_doc_edit.py227# ----------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_root_config_atomic_write.py94# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_root_config_atomic_write.py96# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_root_config_atomic_write.py120# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_root_config_atomic_write.py122# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_security_ssrf_path_traversal.py138# =============================================================================COMMENT
MEDIUM⚡tests/test_security_ssrf_path_traversal.py140# =============================================================================COMMENT
MEDIUMtests/test_security_ssrf_path_traversal.py23# =============================================================================COMMENT
MEDIUMtests/test_security_ssrf_path_traversal.py25# =============================================================================COMMENT
MEDIUM⚡tests/test_artifact_index.py263# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_artifact_index.py265# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_channel_instances.py14# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_channel_instances.py16# ---------------------------------------------------------------------------COMMENT
425 more matches not shown…
Excessive Try-Catch Wrapping1378 hits · 1270 pts
SeverityFileLineSnippetContext
MEDIUMconfig.py411def load_user_datas(self):CODE
MEDIUMconfig.py422def save_user_datas(self):CODE
MEDIUMconfig.py458def drag_sensitive(config):CODE
LOW⚡config.py472 except Exception as e:CODE
LOWconfig.py396 except Exception as e:CODE
LOWconfig.py418 except Exception as e:CODE
LOWconfig.py429 except Exception as e:CODE
LOWconfig.py489 except Exception as e:CODE
LOWconfig.py548 except Exception as write_err:CODE
LOWconfig.py590 except Exception:CODE
LOWconfig.py720 except Exception:CODE
LOWconfig.py908 except Exception as e:CODE
MEDIUMapp.py527def _cleanup():CODE
MEDIUMapp.py794def run():CODE
LOW⚡app.py737 except Exception as e:CODE
LOW⚡app.py744 except Exception as e:CODE
LOWapp.py95 except Exception as e:CODE
LOWapp.py231 except Exception as e:CODE
LOWapp.py269 except Exception:CODE
LOWapp.py294 except Exception as e:CODE
LOWapp.py335 except Exception as e:CODE
LOWapp.py363 except Exception as e:CODE
LOWapp.py401 except Exception:CODE
LOWapp.py482 except Exception as e:CODE
LOWapp.py513 except Exception:CODE
LOWapp.py521 except Exception as e:CODE
LOWapp.py532 except Exception:CODE
LOWapp.py555 except Exception as e:CODE
LOWapp.py564 except Exception as e:CODE
LOWapp.py580 except Exception as e:CODE
LOWapp.py610 except Exception:CODE
LOWapp.py624 except Exception as e:CODE
LOWapp.py643 except Exception as e:CODE
LOWapp.py651 except Exception as e:CODE
LOWapp.py668 except Exception as e:CODE
LOWapp.py704 except Exception as e:CODE
LOWapp.py783 except Exception as e:CODE
LOWapp.py790 except Exception as e:CODE
LOWapp.py858 except Exception as e:CODE
LOWdocker/agent-mail/entrypoint.sh51except Exception as e:CODE
LOWplugins/plugin.py42 except Exception as e:CODE
LOWplugins/plugin_manager.py178 except Exception as e:CODE
LOWplugins/plugin_manager.py206 except Exception as e:CODE
LOWplugins/plugin_manager.py244 except Exception as e:CODE
LOWplugins/plugin_manager.py370 except Exception as e:CODE
LOW⚡plugins/plugin_manager.py392 except Exception as e:CODE
LOW⚡plugins/plugin_manager.py402 except Exception as e:CODE
LOW⚡plugins/plugin_manager.py411 except Exception as e:CODE
LOWplugins/plugin_manager.py437 except Exception as e:CODE
LOWplugins/plugin_manager.py461 except Exception as e:CODE
LOWplugins/role/role.py78 except Exception as e:CODE
LOWplugins/role/role.py103 except Exception as e:CODE
LOWplugins/linkai/linkai.py296 except Exception as e:CODE
LOWplugins/linkai/midjourney.py291 except Exception as e:CODE
LOWplugins/linkai/midjourney.py435 except Exception as e:CODE
LOWplugins/linkai/utils.py40 except Exception:CODE
LOWplugins/linkai/utils.py63 except Exception:CODE
MEDIUMplugins/cow_cli/cow_cli.py1500def _run():CODE
MEDIUMplugins/cow_cli/cow_cli.py1687def _run():CODE
LOW⚡plugins/cow_cli/cow_cli.py346 except Exception as e:CODE
1318 more matches not shown…
Empty Error Handlers189 hits · 938 pts
SeverityFileLineSnippetContext
HIGHapp.py856except KeyboardInterrupt:CODE
HIGHapp.py532except Exception:CODE
HIGHapp.py610except Exception:CODE
HIGHapp.py480except ValueError:CODE
HIGHapp.py269except Exception:CODE
HIGHplugins/cow_cli/cow_cli.py1310except Exception:CODE
HIGHbridge/agent_bridge.py907except Exception:CODE
HIGHbridge/agent_bridge.py1592except Exception:CODE
HIGHbridge/agent_bridge.py1752except Exception:CODE
HIGHbridge/agent_bridge.py1782except Exception:CODE
HIGHbridge/agent_bridge.py1833except Exception:CODE
HIGHbridge/agent_bridge.py1796except Exception:CODE
HIGHbridge/agent_bridge.py1884except Exception:CODE
HIGHbridge/agent_bridge.py1889except Exception:CODE
HIGHtests/test_wechatmp_passive_claim_and_cache_leak.py272except IndexError:CODE
HIGHtests/test_oversized_context_files.py142except Exception:CODE
HIGHtests/test_evolution.py694except Exception:CODE
HIGHtests/test_chat_channel_consume_loop_survives.py109except RuntimeError:CODE
HIGHagent/admin.py798except (OSError, NotImplementedError):CODE
HIGHagent/admin.py400except KeyError:CODE
HIGHagent/admin.py902except OSError:CODE
HIGHagent/tools/tool_manager.py479except Exception:CODE
HIGHagent/tools/web_fetch/web_fetch.py439except Exception:CODE
HIGHagent/tools/scheduler/task_store.py260except Exception:CODE
HIGHagent/tools/scheduler/task_store.py135except Exception:CODE
HIGHagent/tools/scheduler/integration.py560except Exception:CODE
HIGHagent/tools/scheduler/scheduler_tool.py569except Exception:CODE
HIGHagent/tools/scheduler/scheduler_tool.py593except Exception:CODE
HIGHagent/tools/scheduler/recipient_store.py143except (KeyError, TypeError, ValueError):CODE
HIGHagent/tools/mcp/service.py354except Exception:CODE
HIGHagent/tools/mcp/mcp_oauth.py44except OSError:CODE
HIGHagent/tools/mcp/mcp_oauth.py72except OSError:CODE
HIGHagent/tools/mcp/mcp_client.py398except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py683except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py687except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py238except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py261except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py403except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py664except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py781except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py808except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py940except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py246except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py768except Exception:CODE
HIGHagent/tools/mcp/mcp_client.py945except Exception:CODE
HIGHagent/tools/bash/bash.py115except Exception:CODE
HIGHagent/tools/bash/bash.py196except Exception:CODE
HIGHagent/tools/bash/bash.py260except OSError:CODE
HIGHagent/tools/bash/background.py99except (OSError, ValueError):CODE
HIGHagent/tools/bash/background.py120except OSError:CODE
HIGHagent/tools/bash/decode.py37except (UnicodeDecodeError, LookupError):CODE
HIGHagent/tools/edit/edit.py245except Exception:CODE
HIGHagent/tools/browser/browser_service.py356except OSError:CODE
HIGHagent/tools/browser/browser_service.py1117except Exception:CODE
HIGHagent/tools/browser/browser_service.py876except Exception:CODE
HIGHagent/tools/browser/browser_env.py164except OSError:CODE
HIGHagent/tools/env_config/env_config.py121except OSError:CODE
HIGHagent/tools/send/send.py120except Exception:CODE
HIGHagent/multiagent/transport.py222except Exception:CODE
HIGHagent/memory/conversation_store.py2337except Exception:CODE
129 more matches not shown…
Unused Imports403 hits · 354 pts
SeverityFileLineSnippetContext
LOWapp.py15CODE
LOWapp.py24CODE
LOWplugins/__init__.py1CODE
LOWplugins/__init__.py2CODE
LOWplugins/plugin.py3CODE
LOWplugins/plugin_manager.py15CODE
LOWplugins/role/__init__.py1CODE
LOWplugins/role/role.py13CODE
LOWplugins/linkai/__init__.py1CODE
LOWplugins/linkai/linkai.py4CODE
LOWplugins/linkai/linkai.py12CODE
LOWplugins/dungeon/dungeon.py11CODE
LOWplugins/dungeon/__init__.py1CODE
LOWplugins/finish/__init__.py1CODE
LOWplugins/finish/finish.py8CODE
LOWplugins/cow_cli/__init__.py1CODE
LOWplugins/godcmd/godcmd.py16CODE
LOWplugins/godcmd/__init__.py1CODE
LOWplugins/hello/hello.py8CODE
LOWplugins/hello/__init__.py1CODE
LOWplugins/banwords/banwords.py10CODE
LOWplugins/banwords/__init__.py1CODE
LOWplugins/keyword/__init__.py1CODE
LOWplugins/keyword/keyword.py12CODE
LOWplugins/tool/tool.py10CODE
LOWplugins/tool/tool.py11CODE
LOWtests/test_scheduler_run_records.py7CODE
LOWtests/test_tool_path_and_eval.py8CODE
LOWtests/test_robustness_fixes.py13CODE
LOWtests/test_robustness_fixes.py77CODE
LOWtests/test_cow_cli_skill_uninstall_traversal.py17CODE
LOWtests/test_bash_background.py9CODE
LOWtests/test_cloud_channel_dispatch.py13CODE
LOWtests/test_log_tail.py32CODE
LOWtests/test_syntax_gate.py72CODE
LOWtests/test_syntax_gate.py80CODE
LOWtests/test_syntax_gate.py90CODE
LOWtests/test_token_budget_trim.py12CODE
LOWtests/test_knowledge_path_advertised.py9CODE
LOWtests/test_web_channel_disconnect.py114CODE
LOWtests/test_web_bind_failure.py18CODE
LOWtests/test_memory_index_rel_path.py13CODE
LOWtests/test_memory_sync_shared_root.py17CODE
LOWtests/test_read_edit_improvements.py322CODE
LOWtests/test_dingtalk_richtext_without_images.py21CODE
LOWtests/test_config_subagent_toggle.py20CODE
LOWtests/test_read_shared_knowledge.py10CODE
LOWtests/test_evolution.py559CODE
LOWtests/test_evolution.py662CODE
LOWtests/test_minimax_provider.py115CODE
LOWagent/registry.py8CODE
LOWagent/team_addressing.py9CODE
LOWagent/team.py20CODE
LOWagent/admin.py3CODE
LOWagent/routing.py11CODE
LOWagent/tools/__init__.py2CODE
LOWagent/tools/__init__.py3CODE
LOWagent/tools/__init__.py6CODE
LOWagent/tools/__init__.py7CODE
LOWagent/tools/__init__.py8CODE
343 more matches not shown…
Deep Nesting405 hits · 313 pts
SeverityFileLineSnippetContext
LOWconfig.py493CODE
LOWconfig.py760CODE
LOWapp.py442CODE
LOWapp.py708CODE
LOWapp.py748CODE
LOWapp.py201CODE
LOWapp.py307CODE
LOWplugins/plugin_manager.py181CODE
LOWplugins/plugin_manager.py235CODE
LOWplugins/plugin_manager.py308CODE
LOWplugins/plugin_manager.py365CODE
LOWplugins/role/role.py44CODE
LOWplugins/role/role.py85CODE
LOWplugins/role/role.py106CODE
LOWplugins/role/role.py127CODE
LOWplugins/linkai/midjourney.py81CODE
LOWplugins/linkai/midjourney.py106CODE
LOWplugins/linkai/midjourney.py268CODE
LOWplugins/dungeon/dungeon.py64CODE
LOWplugins/cow_cli/cow_cli.py468CODE
LOWplugins/cow_cli/cow_cli.py983CODE
LOWplugins/cow_cli/cow_cli.py1037CODE
LOWplugins/cow_cli/cow_cli.py1441CODE
LOWplugins/godcmd/godcmd.py230CODE
LOWplugins/banwords/banwords.py28CODE
LOWplugins/banwords/lib/WordsSearch.py78CODE
LOWplugins/banwords/lib/WordsSearch.py186CODE
LOWplugins/banwords/lib/WordsSearch.py229CODE
LOWplugins/keyword/keyword.py49CODE
LOWplugins/tool/tool.py49CODE
LOWbridge/agent_bridge.py433CODE
LOWbridge/agent_bridge.py503CODE
LOWbridge/agent_bridge.py634CODE
LOWbridge/agent_bridge.py724CODE
LOWbridge/agent_bridge.py1500CODE
LOWbridge/agent_bridge.py1985CODE
LOWbridge/agent_bridge.py2307CODE
LOWbridge/agent_bridge.py2317CODE
LOWbridge/agent_initializer.py248CODE
LOWbridge/agent_initializer.py389CODE
LOWbridge/agent_initializer.py544CODE
LOWbridge/agent_initializer.py625CODE
LOWbridge/agent_initializer.py672CODE
LOWbridge/agent_initializer.py938CODE
LOWbridge/agent_initializer.py1053CODE
LOWbridge/agent_initializer.py1190CODE
LOWbridge/agent_initializer.py1288CODE
LOWbridge/agent_event_handler.py35CODE
LOWbridge/bridge.py134CODE
LOWtests/conftest.py57CODE
LOWtests/test_web_sse_replay.py45CODE
LOWtests/test_web_console_assets.py219CODE
LOWtests/test_openai_voice.py87CODE
LOWtests/test_openai_voice.py108CODE
LOWtests/test_wechatmp_image_type.py83CODE
LOWtests/test_models_handler.py143CODE
LOWtests/test_models_handler.py168CODE
LOWtests/test_models_handler.py194CODE
LOWtests/trajectory_eval.py49CODE
LOWtests/test_evolution.py557CODE
345 more matches not shown…
Cross-Language Confusion42 hits · 260 pts
SeverityFileLineSnippetContext
HIGHtests/test_task_store_atomic_save.py137@pytest.mark.parametrize("corrupt", ["{broken json", '{"tasks": []}', '{"tasks": {"bad": null}}'])CODE
HIGH⚡tests/test_doc_edit.py434 assert "if (!edit || edit.saving) return" in storeCODE
HIGHtests/test_doc_edit.py475 assert "expected_mtime: args.expectedMtime ?? null," in clientCODE
HIGH⚡tests/test_artifact_index.py277 f"cd {tmp_path}/websites && cp plan.html {backup} && python3 - <<'PY'\n"CODE
HIGHtests/test_permission_flag_driven_writes.py53 "sort -o out.txt in.txt && echo done",CODE
HIGHtests/test_scheduler_toggle_missing.py6therefore produced ``{"status": "success", "task": null}`` -- a success toastSTRING
HIGH⚡tests/test_bash_exit_codes.py39 chain = 'find / -iname "*x*" 2>/dev/null; echo "---"; find ~ -iname "*y*" 2>/dev/null'CODE
HIGH⚡tests/test_bash_exit_codes.py76 "false && grep hello f.txt",CODE
HIGH⚡tests/test_bash_exit_codes.py77 "false && grep hello f.txt || false && grep hello f.txt",CODE
HIGH⚡tests/test_bash_exit_codes.py77 "false && grep hello f.txt || false && grep hello f.txt",CODE
HIGH⚡tests/test_bash_exit_codes.py78 "false && cat f.txt | grep hello",CODE
HIGH⚡tests/test_bash_exit_codes.py90 "true && grep zzzz f.txt", "false || grep zzzz f.txt",CODE
HIGH⚡tests/test_bash_exit_codes.py90 "true && grep zzzz f.txt", "false || grep zzzz f.txt",CODE
HIGH⚡tests/test_bash_exit_codes.py102 "false && cat f.txt; grep zzzz f.txt",CODE
HIGH⚡tests/test_bash_exit_codes.py103 "false && cat f.txt\ngrep zzzz f.txt",CODE
HIGHtests/test_workspace_edit.py462 assert "expected_mtime: args.expectedMtime ?? null," in clientCODE
HIGHtests/test_workspace_edit.py471 assert "if (!edit || edit.saving) return" in storeCODE
HIGHagent/tools/scheduler/time_utils.py60 A stored schedule that is not a mapping (null, a string) declares no zone.STRING
HIGHagent/tools/bash/bash.py632 corrections.append("chain commands with && instead of ;")STRING
HIGH⚡agent/tools/browser/browser_service.py135 return t ? t : null;CODE
HIGH⚡agent/tools/browser/browser_service.py137 if (node.nodeType !== Node.ELEMENT_NODE) return null;CODE
HIGH⚡agent/tools/browser/browser_service.py139 if (SKIP.has(tag)) return null;CODE
HIGH⚡agent/tools/browser/browser_service.py140 if (!visible(node)) return null;CODE
HIGH⚡agent/tools/browser/browser_service.py145 if (r !== null) {CODE
HIGH⚡agent/tools/browser/browser_service.py146 if (typeof r === "string") children.push(r);CODE
HIGH⚡agent/tools/browser/browser_service.py147 else children.push(r);CODE
HIGH⚡agent/tools/browser/browser_service.py156 if (children.length === 0) return null;CODE
HIGH⚡agent/tools/browser/browser_service.py162 if (nativeInteractive || implicitInteractive) {CODE
HIGH⚡agent/tools/browser/browser_service.py172 if (!directText && children.length === 0) {CODE
HIGH⚡agent/tools/browser/browser_service.py188 obj.name = node.name || undefined;CODE
HIGH⚡agent/tools/browser/browser_service.py188 obj.name = node.name || undefined;CODE
HIGH⚡agent/tools/browser/browser_service.py189 obj.value = node.value || undefined;CODE
HIGH⚡agent/tools/browser/browser_service.py189 obj.value = node.value || undefined;CODE
HIGH⚡agent/tools/browser/browser_service.py190 obj.placeholder = node.placeholder || undefined;CODE
HIGH⚡agent/tools/browser/browser_service.py190 obj.placeholder = node.placeholder || undefined;CODE
HIGHagent/tools/browser/browser_service.py83 if (role && CLICKABLE_ROLES.has(role)) return true;CODE
HIGHagent/tools/browser/browser_service.py110 if (ariaLabel && ariaLabel.trim()) return true;CODE
HIGHagent/tools/browser/browser_service.py112 if (title && title.trim()) return true;CODE
HIGHagent/tools/browser/browser_service.py212 if (children.length === 1 && typeof children[0] === "string") {CODE
HIGHagent/tools/browser/browser_service.py1187 "ref => (window.__cowRefMap && window.__cowRefMap[ref]) || null", refCODE
HIGHchannel/web/api/menu.py163 """GET /api/menu -> {menu: null | {groups}}; POST {menu} saves, {menu: null} resets."""STRING
HIGHchannel/web/api/workspace.py327 """Bind a session to a project directory, or clear it (project_dir=null)."""STRING
Cross-File Repetition27 hits · 135 pts
SeverityFileLineSnippetContext
HIGHtests/test_custom_provider.py0install a fresh config as the global config used by conf().STRING
HIGHtests/test_fallback_provider_credentials.py0install a fresh config as the global config used by conf().STRING
HIGHtests/test_custom_provider_handlers.py0install a fresh config as the global config used by conf().STRING
HIGHtests/test_doc_edit.py0write lf-only bytes; path.write_text would translate to crlf on windows.STRING
HIGHtests/test_workspace_edit.py0write lf-only bytes; path.write_text would translate to crlf on windows.STRING
HIGHtests/test_edit_write_atomic.py0write lf-only bytes; path.write_text would translate to crlf on windows.STRING
HIGHmodels/openai_compatible_bot.py0convert tools from claude format to dashscope format claude format: {name, description, input_schema} dashscope format: STRING
HIGHmodels/zhipuai/zhipuai_bot.py0convert tools from claude format to dashscope format claude format: {name, description, input_schema} dashscope format: STRING
HIGHmodels/dashscope/dashscope_bot.py0convert tools from claude format to dashscope format claude format: {name, description, input_schema} dashscope format: STRING
HIGHmodels/moonshot/moonshot_bot.py0convert tools from claude format to openai format. claude: {name, description, input_schema} openai: {type: "function", STRING
HIGHmodels/doubao/doubao_bot.py0convert tools from claude format to openai format. claude: {name, description, input_schema} openai: {type: "function", STRING
HIGHmodels/deepseek/deepseek_bot.py0convert tools from claude format to openai format. claude: {name, description, input_schema} openai: {type: "function", STRING
HIGHmodels/baidu/baidu_wenxin_session.py0returns the number of tokens used by a list of messages.STRING
HIGHmodels/minimax/minimax_session.py0returns the number of tokens used by a list of messages.STRING
HIGHmodels/chatgpt/chat_gpt_session.py0returns the number of tokens used by a list of messages.STRING
HIGHmodels/linkai/link_ai_bot.py0get api configuration for openai-compatible base classSTRING
HIGHmodels/chatgpt/chat_gpt_bot.py0get api configuration for openai-compatible base classSTRING
HIGHmodels/openai/open_ai_bot.py0get api configuration for openai-compatible base classSTRING
HIGHchannel/discord/discord_channel.py0fast-path: /cancel calls cancel_session directly without going through agent.STRING
HIGHchannel/telegram/telegram_channel.py0fast-path: /cancel calls cancel_session directly without going through agent.STRING
HIGHchannel/slack/slack_channel.py0fast-path: /cancel calls cancel_session directly without going through agent.STRING
HIGHchannel/discord/discord_channel.py0split long text preferring line breaks to keep markdown structure intact.STRING
HIGHchannel/telegram/telegram_channel.py0split long text preferring line breaks to keep markdown structure intact.STRING
HIGHchannel/slack/slack_channel.py0split long text preferring line breaks to keep markdown structure intact.STRING
HIGHchannel/discord/discord_message.py0local download directory, aligned with other channels (workspace tmp).STRING
HIGHchannel/telegram/telegram_message.py0local download directory, aligned with other channels (workspace tmp).STRING
HIGHchannel/slack/slack_message.py0local download directory, aligned with other channels (workspace tmp).STRING
Redundant / Tautological Comments48 hits · 75 pts
SeverityFileLineSnippetContext
LOWconfig.py310 # Set 0 to disable the manual cap and follow the model window instead.COMMENT
LOWconfig.py322 # Set enabled to false to withhold the subagent tool entirely.COMMENT
LOW⚡run.sh25# Check if using BashCOMMENT
LOWrun.sh1025# Check if service is runningCOMMENT
LOWrun.sh1030# Check if cow CLI is availableCOMMENT
LOWbridge/agent_bridge.py1847 # Check if there are files to send (from send/read tool)COMMENT
LOWagent/tools/tool_manager.py146 # Check if __all__ is definedCOMMENT
LOWagent/tools/read/read.py167 # Check if file exists. Both misses below name the tool that answersCOMMENT
LOW⚡agent/tools/read/read.py197 # Check if readableCOMMENT
LOW⚡agent/tools/read/read.py205 # Check if image - return metadata for sendingCOMMENT
LOW⚡agent/tools/read/read.py209 # Check if video/audio/binary/archive - return metadata onlyCOMMENT
LOW⚡agent/tools/read/read.py217 # Check if PDFCOMMENT
LOW⚡agent/tools/read/read.py221 # Check if Office document (.docx, .xlsx, .pptx, etc.)COMMENT
LOWagent/tools/read/read.py464 # Read file (utf-8-sig strips BOM automatically on Windows)COMMENT
LOWagent/tools/utils/truncate.py100 # Check if no truncation is neededCOMMENT
LOWagent/tools/utils/truncate.py116 # Check if first line alone exceeds byte limitCOMMENT
LOWagent/tools/utils/truncate.py195 # Check if no truncation is neededCOMMENT
LOWagent/tools/bash/bash.py320 # Check if we need to save full output to temp fileSTRING
LOW⚡agent/tools/edit/edit.py101 # Check if file existsCOMMENT
LOW⚡agent/tools/edit/edit.py105 # Check if readable/writableCOMMENT
LOW⚡agent/tools/edit/edit.py110 # Read the file's bytes instead of opening it in text mode. ACOMMENT
LOWagent/tools/send/send.py70 # Check if file existsCOMMENT
LOWagent/tools/send/send.py74 # Check if readableCOMMENT
LOWagent/memory/chunker.py88 # Check if adding this line would exceed limitCOMMENT
LOWagent/protocol/agent_stream.py1106 # Check if this is a file to sendCOMMENT
LOWagent/protocol/agent_stream.py1673 # Check if this is a context overflow error. Use the singleCOMMENT
LOWagent/protocol/agent_stream.py1843 # Check if error is rate limit (429)COMMENT
LOWagent/protocol/agent_stream.py1846 # Check if error is retryable (timeout, connection, server busy, etc.)COMMENT
LOWagent/prompt/workspace.py45 # Check if this is a brand new workspace (AGENT.md not yet created).COMMENT
LOWagent/skills/config.py235 # Check if value is truthyCOMMENT
LOWmodels/openai_compatible_bot.py399 # Check if already in OpenAI formatCOMMENT
LOWmodels/openai_compatible_bot.py463 # Check if this is a tool result message (user role with tool_result blocks)COMMENT
LOWmodels/openai_compatible_bot.py497 # Check if this is an assistant message with tool_use blocksCOMMENT
LOWmodels/zhipuai/zhipuai_bot.py481 # Check if already in ZhipuAI/OpenAI formatCOMMENT
LOWmodels/zhipuai/zhipuai_bot.py520 # Check if this is a tool result message (user role with tool_result blocks)COMMENT
LOWmodels/zhipuai/zhipuai_bot.py531 # Check if this is an assistant message with tool_use blocksCOMMENT
LOWmodels/dashscope/dashscope_bot.py591 # Check if already in DashScope/OpenAI formatCOMMENT
LOWmodels/dashscope/dashscope_bot.py661 # Check if this is a tool result message (user role with tool_result blocks)COMMENT
LOWmodels/dashscope/dashscope_bot.py672 # Check if this is an assistant message with tool_use blocksCOMMENT
LOWmodels/chatgpt/chat_gpt_bot.py202 # Check if file existsCOMMENT
LOWchannel/channel.py155 # Check if agent mode is enabledCOMMENT
LOWchannel/dingtalk/dingtalk_channel.py865 # Check if msg exists (for scheduled tasks, msg might be None)COMMENT
LOW⚡channel/feishu/feishu_channel.py2127 # Check if it's a local file path (file:// protocol)COMMENT
LOWchannel/feishu/feishu_channel.py983 # Check if we can reply to an existing message (need msg_id)COMMENT
LOWchannel/feishu/feishu_channel.py1860 # Check if it's a local file path (file:// protocol)COMMENT
LOWchannel/web/api/config.py249 # Check if password was cleared: if there was a password before clearing,COMMENT
LOWchannel/wecom_bot/wecom_bot_channel.py525 # Check if this is a response to a pending requestCOMMENT
LOWskills/skill-creator/scripts/init_skill.py208 # Check if directory already existsCOMMENT
Modern AI Meta-Vocabulary22 hits · 72 pts
SeverityFileLineSnippetContext
MEDIUMconfig.py288 # Optional native multi-agent registry. When empty or omitted, CowAgentCOMMENT
MEDIUMconfig.py134 "qwen_node_id": "", # id used by workflow-orchestration models; keep it an empty string if qwen_node_id is unusedCODE
MEDIUMbridge/agent_bridge.py472 # reasoning trace, but still benefit from the higher answerCOMMENT
MEDIUMbridge/agent_bridge.py544 # reasoning trace, but still benefit from the higher answerCOMMENT
MEDIUMbridge/agent_bridge.py2133 # Thinking-only models need their reasoning trace in storedCOMMENT
MEDIUMbridge/agent_initializer.py182 # from the effective model's context window (seeCOMMENT
MEDIUMtests/test_agent_trim_new_messages.py40 # 2. trim oldest turns if this run overflows the context windowCOMMENT
MEDIUM⚡tests/test_knowledge_graph_rel_path.py42 (root / "concepts/rag.md").write_text("# RAG\n", encoding="utf-8")CODE
MEDIUM⚡tests/test_knowledge_graph_rel_path.py44 "# DeepSeek\nsee [RAG](../concepts/rag.md)\n", encoding="utf-8"CODE
MEDIUM⚡tests/test_evolution.py94# Test scaffoldingCOMMENT
MEDIUMtests/test_knowledge_service.py473 (root / "concepts/rag.md").write_text("# RAG", encoding="utf-8")CODE
MEDIUMagent/tools/mcp/tool_retrieval.py196 # embedding model; ranking across dims is meaningless.COMMENT
MEDIUM⚡agent/memory/embedding/provider.py78# default_model : default embedding model nameCOMMENT
MEDIUMagent/memory/embedding/factory.py19# Track whether the embedding model log has been printed in this process,COMMENT
MEDIUM⚡agent/protocol/agent_stream.py2749 # Step 2: Calculate the token budget (context window - output reserve - system prompt)COMMENT
MEDIUM⚡agent/protocol/agent_stream.py2750 # Get context window from agent (based on model)COMMENT
MEDIUM⚡agent/protocol/agent_stream.py2775 # overflows the model context window;COMMENT
MEDIUMagent/protocol/agent.py29# Known model families: total context window (tokens) and, when the providerCOMMENT
MEDIUMagent/protocol/agent.py457 # Reserve ~10% of context window, with min 10K and max 200KCOMMENT
MEDIUMagent/prompt/workspace.py160 # Truncate MEMORY.md to protect context window (frozen snapshot)COMMENT
MEDIUMcli/commands/backup.py527 # multi-agent restore.COMMENT
MEDIUMchannel/web/api/models.py1326 # Researched specs (context window / max output) for built-in presetCOMMENT
Over-Commented Block82 hits · 72 pts
SeverityFileLineSnippetContext
LOWconfig.py41 # chatgpt model; when use_azure_chatgpt is true, this is the Azure model deployment nameCOMMENT
LOWconfig.py301 # Routes inbound conversations to an agent. Each entry needs channel_typeCOMMENT
LOWconfig.py321 # short-lived worker with its own context, and gets back only the result.COMMENT
LOWconfig.py561 _migrate_chat_fallback(config)COMMENT
LOWdocker/entrypoint.sh1#!/bin/bashCOMMENT
LOWplugins/keyword/keyword.py61COMMENT
LOWplugins/tool/README.md121###### 发送短信COMMENT
LOWbridge/agent_bridge.py101 _session_model = NoneCOMMENT
LOWbridge/agent_bridge.py1541 # its roster on every inbound message. Materialize it into theCOMMENT
LOWbridge/agent_initializer.py21COMMENT
LOWtests/test_permission_shell_substitution.py101COMMENT
LOWdesktop/electron-builder.win.js101async function customSign(configuration) {COMMENT
LOWdesktop/src/renderer/src/product/types.ts1// ============================================================COMMENT
LOWdesktop/src/renderer/src/product/types.ts21COMMENT
LOWdesktop/src/renderer/src/product/types.ts61 hideProviderSelect?: booleanCOMMENT
LOWdesktop/src/renderer/src/product/types.ts81// external destinations without touching core code.COMMENT
LOWdesktop/src/renderer/src/theme/themes.ts1// ============================================================COMMENT
LOWdesktop/src/renderer/src/hooks/useBackend.ts1import { useState, useEffect, useCallback, useRef } from 'react'COMMENT
LOW…sktop/src/renderer/src/hooks/useSchedulerNotifyPoll.ts1import { useEffect } from 'react'COMMENT
LOWdesktop/src/renderer/src/api/client.ts181 // carries it: web.py merges query + form fields and a duplicate collapsesCOMMENT
LOW…src/renderer/src/pages/settings/ModelCatalogEditor.tsx1import React, { useMemo, useState } from 'react'COMMENT
LOWdesktop/src/renderer/src/store/onboardingStore.ts1import { create } from 'zustand'COMMENT
LOWdesktop/src/main/updater.ts41// A bundled app-config may point the updater at a different feed origin. WhenCOMMENT
LOWdesktop/src/main/updater.ts201COMMENT
LOWdesktop/src/main/index.ts21// Kept in sync with COW_DATA_DIR in python-manager.ts so the desktop shellCOMMENT
LOWdesktop/src/main/index.ts621 // Electron docs, `openAtLogin` only reports true when getLoginItemSettings()COMMENT
LOWdesktop/src/main/app-icon.ts21const MAX_ICON_BYTES = 4 * 1024 * 1024COMMENT
LOWdesktop/src/main/python-manager.ts21export const DESKTOP_BACKEND_PORT = 9876COMMENT
LOWdesktop/src/main/python-manager.ts81 private process: ChildProcess | null = nullCOMMENT
LOWdesktop/src/main/python-manager.ts101 // Rolling tail of backend output. A startup that never reaches "ready" isCOMMENT
LOWdesktop/src/main/themes.ts1import { app, ipcMain } from 'electron'COMMENT
LOWagent/tools/mcp/mcp_client.py141 # complete the browser authorization. Callers can surface this state.COMMENT
LOWagent/tools/browser/browser_service.py441 self._context = NoneCOMMENT
LOWagent/tools/browser/browser_service.py481 # Resolve which browser engine to drive (system Chrome vs downloadedCOMMENT
LOWagent/memory/chunker.py141 chars += line_charsCOMMENT
LOWagent/memory/conversation_store.py621 self._db_path = db_pathCOMMENT
LOWagent/memory/manager.py441 "source": source,COMMENT
LOWagent/memory/embedding/provider.py61 @propertyCOMMENT
LOWagent/memory/embedding/provider.py81# needs_client_truncate : whether to slice + L2-normalize on the client sideCOMMENT
LOWagent/chat/service.py461 # We cannot simply slice at original_length (it exceeds theCOMMENT
LOWagent/protocol/agent_stream.py881 # every turn), a sub agent spawn or a delegation; this run adopts it.COMMENT
LOWagent/protocol/agent_stream.py1561 except Exception as e:COMMENT
LOWagent/protocol/agent.py141 self.memory_manager = memory_manager # Memory manager for auto memory flushCOMMENT
LOWagent/protocol/agent.py541 # value is both correct and free. get_full_system_prompt() would re-readCOMMENT
LOWmodels/claudeapi/claude_api_bot.py61COMMENT
LOWmodels/openai/open_ai_bot.py161 # which calls /chat/completions via our shared HTTP client. The previousCOMMENT
LOWchannel/channel.py21 # Multi-instance support. All optional and empty by default, so aCOMMENT
LOWchannel/feishu/feishu_channel.py861 isgroup=is_group,COMMENT
LOWchannel/web/core/channel.py321 """Build a callback that publishes agent events to the SSE replay log."""COMMENT
LOWchannel/web/static/js/core/notify.js121// The global runs poller is the single source of scheduler notifications (theCOMMENT
LOWchannel/web/static/js/core/auth.js1/* Login screen, logout, and the 401 handling around fetch.COMMENT
LOWchannel/web/static/js/core/router.js1/* Address-bar routing: mirrors the current view and tab into the URL path, soCOMMENT
LOWchannel/web/static/js/core/router.js181 // Settle the address bar on whatever ended up on screen. Usually itCOMMENT
LOWchannel/web/static/js/core/nav.js181 }COMMENT
LOWchannel/web/static/js/views/agents.js941 _paintCoreFileStatus('pending', '');COMMENT
LOWchannel/web/static/js/views/models.js1/* Model configuration tab: vendors, capabilities, fallbacks.COMMENT
LOWchannel/web/static/js/views/models.js261 }COMMENT
LOWchannel/web/static/js/views/models.js1361 // Capabilities that can be in "auto" mode show a fallback hint rightCOMMENT
LOWchannel/web/static/js/views/models.js1941 // capability provider dropdowns. The .active row already shows theCOMMENT
LOWchannel/web/static/js/views/models.js2081function closeVendorModal() {COMMENT
22 more matches not shown…
Magic Placeholder Names10 hits · 55 pts
SeverityFileLineSnippetContext
HIGHbridge/bridge.py121 return v != "" and v not in ("YOUR API KEY", "YOUR_API_KEY")CODE
HIGH…sktop/src/renderer/src/pages/skills/McpEditorModal.tsx333 placeholder="Authorization=Bearer YOUR_API_KEY"CODE
HIGHagent/memory/embedding/provider.py234 if not self.api_key or self.api_key in ["", "YOUR API KEY", "YOUR_API_KEY"]:CODE
HIGHagent/memory/embedding/provider.py380 if not self.api_key or self.api_key in ["", "YOUR API KEY", "YOUR_API_KEY"]:CODE
HIGH⚡agent/memory/embedding/factory.py48 if openai_api_key and openai_api_key not in ["", "YOUR API KEY", "YOUR_API_KEY"]:CODE
HIGH⚡agent/memory/embedding/factory.py64 if linkai_api_key and linkai_api_key not in ["", "YOUR API KEY", "YOUR_API_KEY"]:CODE
HIGHagent/memory/embedding/factory.py182 if value in ["", "YOUR API KEY", "YOUR_API_KEY"]:CODE
HIGHchannel/web/core/channel.py675 if val and val not in ("YOUR API KEY", "YOUR_API_KEY"):CODE
HIGHchannel/web/core/providers.py161 return bool(value) and value not in ("", "YOUR API KEY", "YOUR_API_KEY")CODE
HIGHchannel/web/templates/modals/mcp-editor.html63 <textarea id="mcp-field-headers" rows="2" class="cap-input cap-input-mono resize-y" spellcheCODE
Modern Structural Boilerplate47 hits · 46 pts
SeverityFileLineSnippetContext
LOWplugins/banwords/lib/WordsSearch.py10__all__ = ['WordsSearch']CODE
LOWbridge/agent_bridge.py289 def set_agent_default(self, provider: Optional[str], model: Optional[str]) -> None:CODE
LOWbridge/agent_bridge.py301 def set_session_override(self, provider: Optional[str], model: Optional[str]) -> None:CODE
LOWagent/registry.py335 def set_default(self, agent_id: str) -> None:CODE
LOWagent/registry.py415def set_agent_registry(registry: Optional[AgentRegistry]) -> None:CODE
LOWagent/routing.py108def set_agent_router(router: Optional[AgentRouter]) -> None:CODE
LOWagent/tools/__init__.py147__all__ = [CODE
LOWagent/tools/write/__init__.py3__all__ = ['Write']CODE
LOWagent/tools/web_search/__init__.py3__all__ = ["WebSearch"]CODE
LOWagent/tools/memory/__init__.py10__all__ = ['MemorySearchTool', 'MemoryGetTool']CODE
LOWagent/tools/search_files/__init__.py3__all__ = ['SearchFiles']CODE
LOWagent/tools/read/__init__.py3__all__ = ['Read']CODE
LOWagent/tools/scheduler/__init__.py7__all__ = ["SchedulerTool"]CODE
LOWagent/tools/evolution_undo/__init__.py3__all__ = ["EvolutionUndoTool"]CODE
LOWagent/tools/utils/__init__.py33__all__ = [CODE
LOWagent/tools/mcp/__init__.py4__all__ = ["McpClient", "McpClientRegistry", "McpTool"]CODE
LOWagent/tools/mcp/mcp_client.py57def set_reload_callback(fn) -> None:CODE
LOWagent/tools/bash/bash.py103 def set_cwd(self, cwd: str) -> None:STRING
LOWagent/tools/bash/__init__.py3__all__ = ['Bash']CODE
LOWagent/tools/edit/__init__.py3__all__ = ['Edit']CODE
LOWagent/tools/browser/__init__.py3__all__ = ["BrowserTool"]CODE
LOWagent/tools/env_config/__init__.py3__all__ = ['EnvConfig']CODE
LOWagent/tools/agent_delegate/__init__.py5__all__ = ["AgentDelegateTool", "DelegationPolicy"]CODE
LOWagent/tools/ls/__init__.py3__all__ = ['Ls']CODE
LOWagent/tools/current_time/__init__.py3__all__ = ['TimeTool', 'current_time_info']CODE
LOWagent/tools/send/__init__.py3__all__ = ['Send']CODE
LOWagent/tools/subagent/__init__.py3__all__ = ["SubagentTool", "format_results"]CODE
LOWagent/multiagent/transport.py177def set_transport(transport: Optional[PeerTransport]) -> None:CODE
LOWagent/multiagent/__init__.py27__all__ = [CODE
LOWagent/memory/config.py139def set_global_memory_config(config: Optional[MemoryConfig]) -> None:CODE
LOWagent/memory/__init__.py43__all__ = [CODE
LOWagent/memory/storage.py1023 def set_meta(self, key: str, value: str) -> None:CODE
LOWagent/memory/embedding/__init__.py31__all__ = [CODE
LOWagent/chat/__init__.py3__all__ = ["ChatService"]CODE
LOWagent/workspace/__init__.py5__all__ = ["WorkspaceService", "project_store", "session_prefs"]CODE
LOWagent/protocol/task.py88 def update_status(self, status: TaskStatus) -> None:CODE
LOWagent/protocol/__init__.py19__all__ = [CODE
LOWagent/prompt/__init__.py8__all__ = [CODE
LOWagent/evolution/__init__.py16__all__ = [CODE
LOWagent/skills/__init__.py21__all__ = [CODE
LOWagent/permission/__init__.py16__all__ = [CODE
LOWagent/subagent/__init__.py24__all__ = [CODE
LOWmodels/openai/openai_compat.py148__all__ = [CODE
LOWcli/update_service.py24logger = logging.getLogger(__name__)CODE
LOWchannel/file_cache.py9logger = logging.getLogger(__name__)CODE
LOW⚡channel/weixin/weixin_channel.py362 def _update_context_token(self, user_id: str, token: str) -> None:CODE
LOWcommon/channel_registry.py20def set_channel_manager(manager) -> None:CODE
Self-Referential Comments15 hits · 44 pts
SeverityFileLineSnippetContext
MEDIUMbridge/agent_bridge.py45 # Create a temporary mixin class that combines the bot with OpenAI compatibilityCOMMENT
MEDIUM⚡tests/test_security_ssrf_path_traversal.py147 # Create a minimal SkillManager mock with custom_dir set.COMMENT
MEDIUMagent/tools/tool_manager.py176 # Create a temporary instance to get the nameCOMMENT
MEDIUMagent/tools/tool_manager.py240 # Create a temporary instance to get the nameCOMMENT
MEDIUMagent/tools/tool_manager.py797 # Create a new instanceCOMMENT
MEDIUMagent/tools/tool_manager.py821 # Create a temporary instance to get schemaCOMMENT
MEDIUMagent/tools/scheduler/integration.py805 # Create a unique session_id for this scheduled task to avoid polluting user's conversationCOMMENT
MEDIUMagent/tools/bash/bash.py298 # Create a mock result with helpful error messageSTRING
MEDIUMagent/memory/summarizer.py938 # Create main MEMORY.md in workspace root (always needed for bootstrap)COMMENT
MEDIUMagent/chat/service.py359 # Create a copy of messages for this executionCOMMENT
MEDIUMagent/protocol/agent.py815 # Create a copy of messages for this execution to avoid concurrent modificationCOMMENT
MEDIUMagent/prompt/workspace.py60 # Create the memory subdirectoryCOMMENT
MEDIUMchannel/web/api/models.py1721 # Creating a new provider — api_base is mandatory.COMMENT
MEDIUMchannel/wechatmp/passive_reply.py18# This class is instantiated once per queryCOMMENT
MEDIUMchannel/wechatmp/active_reply.py14# This class is instantiated once per queryCOMMENT
Structural Annotation Overuse24 hits · 44 pts
SeverityFileLineSnippetContext
LOWrun.sh1251 # Step 0: choose the install/UI language. Everything after this is localized.COMMENT
LOWagent/tools/vision/vision.py252 # Step 1: preferred provider — explicit `tools.vision.provider`COMMENT
LOWagent/tools/vision/vision.py263 # Step 2: auto-discovery chain as fallbackCOMMENT
LOW⚡agent/memory/storage.py844 # Step 2: Trigram FTS5 — CJK/mixed queries, plus fallback when unicode61COMMENT
LOW⚡agent/memory/storage.py854 # Step 3: LIKE fallback — last resort (FTS5 unavailable, CJK queriesCOMMENT
LOWagent/memory/storage.py829 # Step 1: Standard FTS5 (unicode61) — pure ASCII queries only.COMMENT
LOW⚡agent/protocol/agent_stream.py464 # Step 2: append a stable "interrupted" marker so the LLM sees aCOMMENT
LOW⚡agent/protocol/agent_stream.py2740 # Step 0: Truncate large tool results in historical turns (30K -> 10K)COMMENT
LOW⚡agent/protocol/agent_stream.py2743 # Step 1: 识别完整轮次COMMENT
LOW⚡agent/protocol/agent_stream.py2749 # Step 2: Calculate the token budget (context window - output reserve - system prompt)COMMENT
LOW⚡agent/protocol/agent_stream.py2773 # Step 3: Trim to satisfy BOTH constraints (AND):COMMENT
LOWagent/protocol/agent_stream.py432 # Step 1: close any orphaned tool_use in the trailing assistantCOMMENT
LOW⚡channel/web/static/js/core/markdown.js214 // Step 1: replace markdown-it anchor tags whose href points to a video file.COMMENT
LOW⚡channel/web/static/js/core/markdown.js219 // Step 2: replace any remaining bare video URLs in text nodes (not inside HTML tags).COMMENT
LOW⚡channel/web/static/js/core/markdown.js237 // Step 1: anchor whose href points to an image file -> replace with <img> preview.COMMENT
LOW⚡channel/web/static/js/core/markdown.js242 // Step 2: bare image URLs left in text nodes (rare — markdown-it's linkify usually catches them).COMMENT
LOWchannel/web/static/js/views/tasks-modal.js105// Step 1: load the channel instances the console can deliver through, then wireCOMMENT
LOWchannel/web/static/js/views/tasks-modal.js156// Step 2: the recipient dropdown appears only after a channel is picked, listingCOMMENT
LOWskills/skill-creator/SKILL.md135### Step 1: Understanding the Skill with Concrete ExamplesCOMMENT
LOWskills/skill-creator/SKILL.md152### Step 2: Planning the Reusable Skill ContentsCOMMENT
LOWskills/skill-creator/SKILL.md185### Step 3: Initialize the SkillCOMMENT
LOWskills/skill-creator/SKILL.md220### Step 4: Edit the SkillCOMMENT
LOWskills/skill-creator/SKILL.md370### Step 5: Validate (Optional)COMMENT
LOWskills/skill-creator/SKILL.md392### Step 6: IterateCOMMENT
Verbosity Indicators18 hits · 35 pts
SeverityFileLineSnippetContext
LOWrun.sh1251 # Step 0: choose the install/UI language. Everything after this is localized.COMMENT
LOWagent/tools/vision/vision.py252 # Step 1: preferred provider — explicit `tools.vision.provider`COMMENT
LOWagent/tools/vision/vision.py263 # Step 2: auto-discovery chain as fallbackCOMMENT
LOW⚡agent/memory/storage.py844 # Step 2: Trigram FTS5 — CJK/mixed queries, plus fallback when unicode61COMMENT
LOW⚡agent/memory/storage.py854 # Step 3: LIKE fallback — last resort (FTS5 unavailable, CJK queriesCOMMENT
LOWagent/memory/storage.py829 # Step 1: Standard FTS5 (unicode61) — pure ASCII queries only.COMMENT
LOW⚡agent/protocol/agent_stream.py464 # Step 2: append a stable "interrupted" marker so the LLM sees aCOMMENT
LOW⚡agent/protocol/agent_stream.py2740 # Step 0: Truncate large tool results in historical turns (30K -> 10K)COMMENT
LOW⚡agent/protocol/agent_stream.py2743 # Step 1: 识别完整轮次COMMENT
LOW⚡agent/protocol/agent_stream.py2749 # Step 2: Calculate the token budget (context window - output reserve - system prompt)COMMENT
LOW⚡agent/protocol/agent_stream.py2773 # Step 3: Trim to satisfy BOTH constraints (AND):COMMENT
LOWagent/protocol/agent_stream.py432 # Step 1: close any orphaned tool_use in the trailing assistantCOMMENT
LOW⚡channel/web/static/js/core/markdown.js214 // Step 1: replace markdown-it anchor tags whose href points to a video file.COMMENT
LOW⚡channel/web/static/js/core/markdown.js219 // Step 2: replace any remaining bare video URLs in text nodes (not inside HTML tags).COMMENT
LOW⚡channel/web/static/js/core/markdown.js237 // Step 1: anchor whose href points to an image file -> replace with <img> preview.COMMENT
LOW⚡channel/web/static/js/core/markdown.js242 // Step 2: bare image URLs left in text nodes (rare — markdown-it's linkify usually catches them).COMMENT
LOWchannel/web/static/js/views/tasks-modal.js105// Step 1: load the channel instances the console can deliver through, then wireCOMMENT
LOWchannel/web/static/js/views/tasks-modal.js156// Step 2: the recipient dropdown appears only after a channel is picked, listingCOMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALtests/test_browser_scroll_amount.py25 assert tool._service.scroll.call_args.kwargs.get("amount", 500) == expectedCODE
CRITICALagent/tools/browser/browser_service.py640 return pw._impl_obj._connection._transport.on_error_future.done()CODE
AI Structural Patterns15 hits · 14 pts
SeverityFileLineSnippetContext
LOWagent/admin.py376CODE
LOWagent/admin.py479CODE
LOWagent/memory/conversation_store.py1331CODE
LOWagent/memory/conversation_store.py1517CODE
LOWagent/memory/embedding/provider.py191CODE
LOWagent/protocol/agent.py98CODE
LOWagent/prompt/builder.py83CODE
LOWagent/prompt/builder.py38CODE
LOWagent/skills/loader.py74CODE
LOWmodels/xunfei/xunfei_spark_bot.py267CODE
LOWmodels/xunfei/xunfei_spark_bot.py181CODE
LOWmodels/openai/openai_http_client.py205CODE
LOWmodels/openai/openai_http_client.py238CODE
LOWchannel/web/core/_common.py550CODE
LOWvoice/ali/ali_api.py189CODE
AI Slop Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
LOW⚡config.py470 # the log with a full traceback here — just return it unmasked.COMMENT
LOWagent/memory/manager.py265 # No embeddings, just use NoneCOMMENT
MEDIUMagent/memory/manager.py382 # on any sibling helpers — keeps it robust against partial reloadsCOMMENT
MEDIUMagent/evolution/executor.py549 # plus legacy watched changes used by the deterministic test harness.COMMENT
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/test_terminal_image_download.py106 response = FakeResponse([b"placeholder"])CODE
LOWagent/tools/browser/browser_service.py382 for attr in ("type", "name", "href", "alt", "role", "ariaLabel", "placeholder", "value"):CODE