Repository Analysis

zhayujie/CowAgent

Open-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-model, multi-channel. Lightweight, extensible, one-line install. (formerly chatgpt-on-wechat)

28.3 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of zhayujie/CowAgent, a Python project with 46,710 GitHub stars. SynthScan v2.0 examined 158,289 lines of code across 547 source files, recording 3372 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 28.3 places this repository in the Moderate AI signal band.

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

28.3
Adjusted Score
28.3
Raw Score
100%
Time Factor
2026-08-27
Last Push
46.7K
Stars
Python
Language
158.3K
Lines of Code
547
Files
3.4K
Pattern Hits
2026-08-29
Scan Date
0.10
HC Hit Rate

What These Metrics Mean

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

Score History

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

Severity Breakdown

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

CRITICAL 0HIGH 56MEDIUM 471LOW 2845

Directory Score Breakdown

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

Pattern Findings

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

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

Decorative Section Separators371 hits · 1188 pts
SeverityFileLineSnippetContext
MEDIUMrun.sh4# ============================COMMENT
MEDIUMrun.sh6# ============================COMMENT
MEDIUMrun.sh31# ============================COMMENT
MEDIUMrun.sh33# ============================COMMENT
MEDIUMplugins/cow_cli/cow_cli.py345 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py347 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py300 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py302 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py415 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py419 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py493 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py497 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py538 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py540 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py587 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py589 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py624 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py626 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py689 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py691 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py726 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py728 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py894 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py896 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py947 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py949 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1349 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1351 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1740 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1742 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1867 # ------------------------------------------------------------------COMMENT
MEDIUMplugins/cow_cli/cow_cli.py1869 # ------------------------------------------------------------------COMMENT
MEDIUMtests/test_security_ssrf_path_traversal.py138# =============================================================================COMMENT
MEDIUMtests/test_security_ssrf_path_traversal.py140# =============================================================================COMMENT
MEDIUMtests/test_security_ssrf_path_traversal.py23# =============================================================================COMMENT
MEDIUMtests/test_security_ssrf_path_traversal.py25# =============================================================================COMMENT
MEDIUMtests/test_robustness_fixes.py20# =============================================================================COMMENT
MEDIUMtests/test_robustness_fixes.py22# =============================================================================COMMENT
MEDIUMtests/test_robustness_fixes.py67# =============================================================================COMMENT
MEDIUMtests/test_robustness_fixes.py69# =============================================================================COMMENT
MEDIUMtests/test_mcp_tool_retrieval.py66# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_retrieval.py68# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_retrieval.py107# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_retrieval.py109# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_retrieval.py125# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_retrieval.py127# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_retrieval.py167# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_tool_retrieval.py169# --------------------------------------------------------------------------COMMENT
MEDIUMtests/test_bash_config_propagation.py17# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_bash_config_propagation.py19# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_bash_config_propagation.py44# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_bash_config_propagation.py46# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_bash_config_propagation.py105# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_bash_config_propagation.py107# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_bash_config_propagation.py182# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_bash_config_propagation.py184# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_evolution.py93# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_evolution.py95# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_evolution.py28# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_evolution.py30# ---------------------------------------------------------------------------COMMENT
311 more matches not shown…
Hyper-Verbose Identifiers1012 hits · 1081 pts
SeverityFileLineSnippetContext
LOWconfig.py438def _quarantine_corrupted_config(config_path):CODE
LOWconfig.py403def _mask_sensitive_recursive(obj):CODE
LOWconfig.py745def _sync_skill_config_to_env(skill_section) -> int:CODE
LOWconfig.py775def sync_image_generation_custom_provider_env(CODE
LOWconfig.py893def get_weixin_credentials_path():CODE
LOWapp.py492def _scaffold_subagent_assets():CODE
LOWapp.py416def _warn_if_legacy_workspace_data_exists():CODE
LOWplugins/plugin_manager.py213 def _apply_desktop_plugin_denylist(self):CODE
LOWplugins/cow_cli/cow_cli.py859 def _resolve_bot_type_for_model(model_name: str) -> str:CODE
LOWplugins/cow_cli/cow_cli.py1441 def _resolve_active_embedding():CODE
LOWplugins/cow_cli/cow_cli.py1727 def _create_standalone_flush_manager():CODE
LOWbridge/agent_bridge.py29def add_openai_compatible_support(bot_instance):CODE
LOWbridge/agent_bridge.py173 def _normalized_reasoning_effort(self):CODE
LOWbridge/agent_bridge.py659 def sync_session_messages_from_store(CODE
LOWbridge/agent_bridge.py1144 def _pre_persist_user_message(CODE
LOWbridge/agent_bridge.py1258 def remember_scheduled_output(CODE
LOWbridge/agent_bridge.py1390 def _prune_scheduled_in_memory(cls, agent, keep_last_n: int) -> None:CODE
LOWbridge/agent_bridge.py1554 def _refresh_conditional_tools(agent):CODE
LOWbridge/agent_initializer.py573 def _initialize_skill_manager(self, workspace_root: str, session_id: Optional[str] = None):CODE
LOWbridge/agent_initializer.py163 def _restore_conversation_history(self, agent, session_id: str) -> None:CODE
LOWbridge/agent_initializer.py212 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.py84def test_build_providers_does_not_fallback_for_missing_custom_provider(CODE
LOWtests/test_time_check.py16 def test_default_end_of_day_stop_time_allows_messages(self):CODE
LOWtests/test_reasoning_capabilities.py135def test_linkai_hides_unsupported_or_unverified_passthrough_models():CODE
LOWtests/test_reasoning_capabilities.py141def test_openai_is_hidden_until_responses_api_runtime_support_exists():CODE
LOWtests/test_reasoning_capabilities.py147def test_custom_provider_is_hidden_by_default():CODE
LOWtests/test_reasoning_capabilities.py153def test_unsupported_provider_returns_hidden_capability():CODE
LOWtests/test_reasoning_capabilities.py159def test_normalize_returns_provider_default_for_invalid_value():CODE
LOWtests/test_reasoning_capabilities.py189def test_resolve_returns_stored_per_model_value_without_rewriting():CODE
LOWtests/test_reasoning_capabilities.py195def test_resolve_prefers_raw_provider_key_over_base_key():CODE
LOWtests/test_reasoning_capabilities.py202def test_resolve_falls_back_to_base_provider_key():CODE
LOWtests/test_reasoning_capabilities.py209def test_resolve_falls_back_to_legacy_global_value_when_no_per_model_entry():CODE
LOWtests/test_reasoning_capabilities.py213def test_resolve_invalid_stored_value_falls_to_model_default_not_remap():CODE
LOWtests/test_reasoning_capabilities.py218def test_resolve_does_not_apply_legacy_remap_to_valid_per_model_value():CODE
LOWtests/test_reasoning_capabilities.py223def test_resolve_unsupported_provider_returns_none():CODE
LOWtests/test_reasoning_capabilities.py227def test_resolve_non_dict_by_model_degrades_to_legacy():CODE
LOWtests/test_reasoning_capabilities.py17def test_deepseek_exposes_native_effort_values():CODE
LOWtests/test_reasoning_capabilities.py31def test_zhipu_exposes_native_effort_values_without_disable_aliases():CODE
LOWtests/test_reasoning_capabilities.py58def test_older_claude_models_hide_effort_control():CODE
LOWtests/test_reasoning_capabilities.py75def test_dashscope_glm_exposes_high_max_effort_values():CODE
LOWtests/test_reasoning_capabilities.py83def test_dashscope_deepseek_keeps_the_model_native_effort_values():CODE
LOWtests/test_reasoning_capabilities.py99def test_dashscope_other_qwen_models_hide_effort_control():CODE
LOWtests/test_reasoning_capabilities.py118def test_linkai_exposes_known_passthrough_effort_models():CODE
LOWtests/test_reasoning_capabilities.py244def test_normalization_always_outputs_valid_native_enum():CODE
LOWtests/test_agent_delegation.py63def test_policy_defaults_to_other_agents_and_honors_allowlist():CODE
LOWtests/test_agent_delegation.py75def test_delegate_lists_only_enabled_allowed_targets():CODE
LOWtests/test_agent_delegation.py87def test_delegate_runs_target_with_source_attribution_and_private_relay_session():CODE
LOWtests/test_agent_delegation.py107def test_delegate_rejects_disabled_unknown_and_disallowed_targets():CODE
LOWtests/test_agent_delegation.py124def test_delegate_rejects_cycles_and_depth_overflow():CODE
LOWtests/test_agent_delegation.py145def test_delegate_enforces_message_limit():CODE
LOWtests/test_agent_delegation.py175def test_delegate_timeout_cancels_target_run_without_blocking_caller():CODE
LOWtests/test_claude_effort.py8def test_claude_tool_call_maps_reasoning_effort_to_output_config(monkeypatch):CODE
LOWtests/test_claude_effort.py29def test_claude_tool_call_preserves_existing_output_config(monkeypatch):CODE
LOWtests/test_custom_provider.py70 def test_legacy_fallback_when_no_providers(self):CODE
LOWtests/test_custom_provider.py87 def test_provider_selected_by_id(self):CODE
LOWtests/test_custom_provider.py102 def test_id_not_found_falls_back_to_legacy(self):CODE
952 more matches not shown…
Excessive Try-Catch Wrapping1047 hits · 970 pts
SeverityFileLineSnippetContext
MEDIUMconfig.py371def load_user_datas(self):CODE
MEDIUMconfig.py382def save_user_datas(self):CODE
MEDIUMconfig.py418def drag_sensitive(config):CODE
LOWconfig.py432 except Exception as e:CODE
LOWconfig.py356 except Exception as e:CODE
LOWconfig.py378 except Exception as e:CODE
LOWconfig.py389 except Exception as e:CODE
LOWconfig.py449 except Exception as e:CODE
LOWconfig.py508 except Exception as write_err:CODE
LOWconfig.py546 except Exception:CODE
LOWconfig.py702 except Exception:CODE
LOWconfig.py855 except Exception as e:CODE
LOWapp.py481 except Exception as e:CODE
LOWapp.py488 except Exception as e:CODE
LOWapp.py93 except Exception as e:CODE
LOWapp.py131 except Exception:CODE
LOWapp.py156 except Exception as e:CODE
LOWapp.py197 except Exception as e:CODE
LOWapp.py225 except Exception as e:CODE
LOWapp.py309 except Exception as e:CODE
LOWapp.py343 except Exception as e:CODE
LOWapp.py352 except Exception as e:CODE
LOWapp.py368 except Exception as e:CODE
LOWapp.py398 except Exception:CODE
LOWapp.py412 except Exception as e:CODE
LOWapp.py448 except Exception as e:CODE
LOWapp.py527 except Exception as e:CODE
LOWapp.py534 except Exception as e:CODE
LOWapp.py597 except Exception as e:CODE
LOWplugins/plugin.py43 except Exception as e:CODE
LOWplugins/plugin_manager.py111 except Exception as e:CODE
LOWplugins/plugin_manager.py139 except Exception as e:CODE
LOWplugins/plugin_manager.py176 except Exception as e:CODE
LOWplugins/plugin_manager.py300 except Exception as e:CODE
LOWplugins/plugin_manager.py322 except Exception as e:CODE
LOWplugins/plugin_manager.py332 except Exception as e:CODE
LOWplugins/plugin_manager.py341 except Exception as e:CODE
LOWplugins/plugin_manager.py367 except Exception as e:CODE
LOWplugins/plugin_manager.py391 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.py293 except Exception as e:CODE
LOWplugins/linkai/midjourney.py437 except Exception as e:CODE
LOWplugins/linkai/utils.py49 except Exception as e:CODE
MEDIUMplugins/cow_cli/cow_cli.py1412def _run():CODE
MEDIUMplugins/cow_cli/cow_cli.py1587def _run():CODE
LOWplugins/cow_cli/cow_cli.py339 except Exception as e:CODE
LOWplugins/cow_cli/cow_cli.py100 except Exception as e:CODE
LOWplugins/cow_cli/cow_cli.py513 except Exception:CODE
LOWplugins/cow_cli/cow_cli.py608 except Exception as e:CODE
LOWplugins/cow_cli/cow_cli.py829 except Exception as e:CODE
LOWplugins/cow_cli/cow_cli.py850 except Exception as e:CODE
LOWplugins/cow_cli/cow_cli.py911 except Exception as e:CODE
LOWplugins/cow_cli/cow_cli.py1002 except Exception as e:CODE
LOWplugins/cow_cli/cow_cli.py1083 except Exception as e:CODE
LOWplugins/cow_cli/cow_cli.py1128 except Exception as e:CODE
LOWplugins/cow_cli/cow_cli.py1176 except Exception as e:CODE
LOWplugins/cow_cli/cow_cli.py1229 except Exception:CODE
LOWplugins/cow_cli/cow_cli.py1334 except Exception as e:CODE
987 more matches not shown…
Unused Imports312 hits · 300 pts
SeverityFileLineSnippetContext
LOWconfig.py4CODE
LOWapp.py14CODE
LOWplugins/__init__.py1CODE
LOWplugins/__init__.py2CODE
LOWplugins/plugin.py3CODE
LOWplugins/plugin_manager.py12CODE
LOWplugins/plugin_manager.py14CODE
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/cow_cli/cow_cli.py1729CODE
LOWplugins/godcmd/godcmd.py10CODE
LOWplugins/godcmd/godcmd.py17CODE
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.py10CODE
LOWplugins/tool/tool.py10CODE
LOWplugins/tool/tool.py11CODE
LOWtests/test_tool_path_and_eval.py8CODE
LOWtests/test_robustness_fixes.py13CODE
LOWtests/test_robustness_fixes.py77CODE
LOWtests/test_bash_background.py9CODE
LOWtests/test_syntax_gate.py72CODE
LOWtests/test_syntax_gate.py80CODE
LOWtests/test_syntax_gate.py90CODE
LOWtests/test_web_bind_failure.py18CODE
LOWtests/test_config_subagent_toggle.py20CODE
LOWtests/test_evolution.py559CODE
LOWtests/test_evolution.py662CODE
LOWtests/test_minimax_provider.py10CODE
LOWtests/test_minimax_provider.py12CODE
LOWtests/test_minimax_provider.py75CODE
LOWtests/test_knowledge_service.py3CODE
LOWagent/registry.py8CODE
LOWagent/routing.py3CODE
LOWagent/routing.py9CODE
LOWagent/tools/tool_manager.py5CODE
LOWagent/tools/tool_manager.py5CODE
LOWagent/tools/__init__.py2CODE
LOWagent/tools/__init__.py3CODE
LOWagent/tools/__init__.py6CODE
LOWagent/tools/__init__.py7CODE
LOWagent/tools/__init__.py8CODE
LOWagent/tools/__init__.py9CODE
LOWagent/tools/__init__.py10CODE
LOWagent/tools/__init__.py11CODE
LOWagent/tools/__init__.py12CODE
LOWagent/tools/__init__.py15CODE
LOWagent/tools/__init__.py16CODE
252 more matches not shown…
Deep Nesting351 hits · 279 pts
SeverityFileLineSnippetContext
LOWconfig.py453CODE
LOWconfig.py707CODE
LOWapp.py269CODE
LOWapp.py452CODE
LOWapp.py492CODE
LOWapp.py67CODE
LOWapp.py169CODE
LOWplugins/plugin_manager.py114CODE
LOWplugins/plugin_manager.py167CODE
LOWplugins/plugin_manager.py238CODE
LOWplugins/plugin_manager.py295CODE
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.py270CODE
LOWplugins/linkai/utils.py33CODE
LOWplugins/dungeon/dungeon.py64CODE
LOWplugins/cow_cli/cow_cli.py457CODE
LOWplugins/cow_cli/cow_cli.py951CODE
LOWplugins/cow_cli/cow_cli.py1005CODE
LOWplugins/cow_cli/cow_cli.py1353CODE
LOWplugins/godcmd/godcmd.py214CODE
LOWplugins/banwords/banwords.py24CODE
LOWplugins/banwords/lib/WordsSearch.py78CODE
LOWplugins/banwords/lib/WordsSearch.py186CODE
LOWplugins/banwords/lib/WordsSearch.py229CODE
LOWplugins/keyword/keyword.py47CODE
LOWplugins/tool/tool.py49CODE
LOWbridge/agent_bridge.py207CODE
LOWbridge/agent_bridge.py272CODE
LOWbridge/agent_bridge.py398CODE
LOWbridge/agent_bridge.py709CODE
LOWbridge/agent_bridge.py1074CODE
LOWbridge/agent_bridge.py1390CODE
LOWbridge/agent_bridge.py1400CODE
LOWbridge/agent_initializer.py163CODE
LOWbridge/agent_initializer.py212CODE
LOWbridge/agent_initializer.py399CODE
LOWbridge/agent_initializer.py508CODE
LOWbridge/agent_initializer.py633CODE
LOWbridge/agent_initializer.py731CODE
LOWbridge/agent_event_handler.py35CODE
LOWbridge/bridge.py134CODE
LOWtests/test_web_sse_replay.py44CODE
LOWtests/test_models_handler.py143CODE
LOWtests/test_models_handler.py168CODE
LOWtests/test_evolution.py557CODE
LOWtests/test_evolution.py718CODE
LOWagent/registry.py273CODE
LOWagent/tools/tool_manager.py136CODE
LOWagent/tools/tool_manager.py206CODE
LOWagent/tools/tool_manager.py260CODE
LOWagent/tools/tool_manager.py472CODE
LOWagent/tools/write/write.py44CODE
LOWagent/tools/web_fetch/web_fetch.py198CODE
LOWagent/tools/web_fetch/web_fetch.py267CODE
LOWagent/tools/web_fetch/web_fetch.py346CODE
291 more matches not shown…
Cross-Language Confusion27 hits · 162 pts
SeverityFileLineSnippetContext
HIGHtests/test_bash_exit_codes.py39 chain = 'find / -iname "*x*" 2>/dev/null; echo "---"; find ~ -iname "*y*" 2>/dev/null'CODE
HIGHagent/tools/bash/bash.py591 corrections.append("chain commands with && instead of ;")STRING
HIGHagent/tools/browser/browser_service.py134 return t ? t : null;CODE
HIGHagent/tools/browser/browser_service.py136 if (node.nodeType !== Node.ELEMENT_NODE) return null;CODE
HIGHagent/tools/browser/browser_service.py138 if (SKIP.has(tag)) return null;CODE
HIGHagent/tools/browser/browser_service.py139 if (!visible(node)) return null;CODE
HIGHagent/tools/browser/browser_service.py144 if (r !== null) {CODE
HIGHagent/tools/browser/browser_service.py145 if (typeof r === "string") children.push(r);CODE
HIGHagent/tools/browser/browser_service.py146 else children.push(r);CODE
HIGHagent/tools/browser/browser_service.py155 if (children.length === 0) return null;CODE
HIGHagent/tools/browser/browser_service.py161 if (nativeInteractive || implicitInteractive) {CODE
HIGHagent/tools/browser/browser_service.py171 if (!directText && children.length === 0) {CODE
HIGHagent/tools/browser/browser_service.py187 obj.name = node.name || undefined;CODE
HIGHagent/tools/browser/browser_service.py187 obj.name = node.name || undefined;CODE
HIGHagent/tools/browser/browser_service.py188 obj.value = node.value || undefined;CODE
HIGHagent/tools/browser/browser_service.py188 obj.value = node.value || undefined;CODE
HIGHagent/tools/browser/browser_service.py189 obj.placeholder = node.placeholder || undefined;CODE
HIGHagent/tools/browser/browser_service.py189 obj.placeholder = node.placeholder || undefined;CODE
HIGHagent/tools/browser/browser_service.py82 if (role && CLICKABLE_ROLES.has(role)) return true;CODE
HIGHagent/tools/browser/browser_service.py109 if (ariaLabel && ariaLabel.trim()) return true;CODE
HIGHagent/tools/browser/browser_service.py111 if (title && title.trim()) return true;CODE
HIGHagent/tools/browser/browser_service.py211 if (children.length === 1 && typeof children[0] === "string") {CODE
HIGHagent/tools/browser/browser_service.py1127 const el = window.__cowRefMap && window.__cowRefMap[{ref}];CODE
HIGHagent/tools/browser/browser_service.py1155 const el = window.__cowRefMap && window.__cowRefMap[{ref}];CODE
HIGHagent/tools/browser/browser_service.py1184 const el = window.__cowRefMap && window.__cowRefMap[{ref}];CODE
HIGHagent/tools/browser/browser_service.py1185 if (!el || el.tagName.toLowerCase() !== "select")CODE
HIGHchannel/web/web_channel.py6604 """Bind a session to a project directory, or clear it (project_dir=null)."""STRING
Cross-File Repetition21 hits · 105 pts
SeverityFileLineSnippetContext
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 Comments50 hits · 80 pts
SeverityFileLineSnippetContext
LOWconfig.py283 # Set enabled to false to withhold the subagent tool entirely.COMMENT
LOWrun.sh25# Check if using BashCOMMENT
LOWrun.sh1034# Check if service is runningCOMMENT
LOWrun.sh1039# Check if cow CLI is availableCOMMENT
LOWbridge/agent_bridge.py938 # Check if there are files to send (from send/read tool)COMMENT
LOWagent/tools/tool_manager.py146 # Check if __all__ is definedCOMMENT
LOWagent/tools/write/write.py89 # Write fileCOMMENT
LOWagent/tools/read/read.py157 # Check if file exists. Both misses below name the tool that answersCOMMENT
LOWagent/tools/read/read.py178 # Check if readableCOMMENT
LOWagent/tools/read/read.py186 # Check if image - return metadata for sendingCOMMENT
LOWagent/tools/read/read.py190 # Check if video/audio/binary/archive - return metadata onlyCOMMENT
LOWagent/tools/read/read.py198 # Check if PDFCOMMENT
LOWagent/tools/read/read.py202 # Check if Office document (.docx, .xlsx, .pptx, etc.)COMMENT
LOWagent/tools/read/read.py418 # Read file (utf-8-sig strips BOM automatically on Windows)COMMENT
LOWagent/tools/scheduler/scheduler_tool.py354 # Check if it's relative time (e.g., "+5s", "+10m", "+1h", "+1d")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.py313 # Check if we need to save full output to temp fileSTRING
LOWagent/tools/edit/edit.py85 # Check if file existsCOMMENT
LOWagent/tools/edit/edit.py89 # Check if readable/writableCOMMENT
LOWagent/tools/edit/edit.py94 # Read fileCOMMENT
LOWagent/tools/edit/edit.py194 # Write fileCOMMENT
LOWagent/tools/send/send.py65 # Check if file existsCOMMENT
LOWagent/tools/send/send.py69 # Check if readableCOMMENT
LOWagent/memory/chunker.py85 # Check if adding this line would exceed limitCOMMENT
LOWagent/protocol/agent_stream.py881 # Check if this is a file to sendCOMMENT
LOWagent/protocol/agent_stream.py1293 # Check if this is a context overflow error. Use the singleCOMMENT
LOWagent/protocol/agent_stream.py1438 # Check if error is rate limit (429)COMMENT
LOWagent/protocol/agent_stream.py1441 # 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.py264 # Check if already in OpenAI formatCOMMENT
LOWmodels/openai_compatible_bot.py328 # Check if this is a tool result message (user role with tool_result blocks)COMMENT
LOWmodels/openai_compatible_bot.py362 # Check if this is an assistant message with tool_use blocksCOMMENT
LOWmodels/zhipuai/zhipuai_bot.py462 # Check if already in ZhipuAI/OpenAI formatCOMMENT
LOWmodels/zhipuai/zhipuai_bot.py501 # Check if this is a tool result message (user role with tool_result blocks)COMMENT
LOWmodels/zhipuai/zhipuai_bot.py512 # Check if this is an assistant message with tool_use blocksCOMMENT
LOWmodels/dashscope/dashscope_bot.py576 # Check if already in DashScope/OpenAI formatCOMMENT
LOWmodels/dashscope/dashscope_bot.py646 # Check if this is a tool result message (user role with tool_result blocks)COMMENT
LOWmodels/dashscope/dashscope_bot.py657 # Check if this is an assistant message with tool_use blocksCOMMENT
LOWmodels/chatgpt/chat_gpt_bot.py180 # Check if file existsCOMMENT
LOWchannel/channel.py75 # Check if agent mode is enabledCOMMENT
LOWchannel/dingtalk/dingtalk_channel.py727 # Check if msg exists (for scheduled tasks, msg might be None)COMMENT
LOWchannel/feishu/feishu_channel.py2012 # Check if it's a local file path (file:// protocol)COMMENT
LOWchannel/feishu/feishu_channel.py895 # Check if we can reply to an existing message (need msg_id)COMMENT
LOWchannel/feishu/feishu_channel.py1763 # Check if it's a local file path (file:// protocol)COMMENT
LOWchannel/web/web_channel.py2846 # Check if password was cleared: if there was a password before clearing,COMMENT
LOWchannel/wecom_bot/wecom_bot_channel.py453 # 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-Vocabulary15 hits · 48 pts
SeverityFileLineSnippetContext
MEDIUMconfig.py261 # Optional native multi-agent registry. When empty or omitted, CowAgentCOMMENT
MEDIUMconfig.py111 "qwen_node_id": "", # id used by workflow-orchestration models; keep it an empty string if qwen_node_id is unusedCODE
MEDIUMbridge/agent_bridge.py241 # reasoning trace, but still benefit from the higher answerCOMMENT
MEDIUMbridge/agent_bridge.py308 # reasoning trace, but still benefit from the higher answerCOMMENT
MEDIUMbridge/agent_bridge.py1222 # Thinking-only models need their reasoning trace in storedCOMMENT
MEDIUMtests/test_agent_trim_new_messages.py35 # 2. trim oldest turns if this run overflows the context windowCOMMENT
MEDIUMtests/test_evolution.py94# Test scaffoldingCOMMENT
MEDIUMtests/test_knowledge_service.py307 (root / "concepts/rag.md").write_text("# RAG", encoding="utf-8")CODE
MEDIUMagent/tools/mcp/tool_retrieval.py116 # embedding model; ranking across dims is meaningless.COMMENT
MEDIUMagent/memory/embedding/provider.py69# default_model : default embedding model nameCOMMENT
MEDIUMagent/memory/embedding/factory.py20# Track whether the embedding model log has been printed in this process,COMMENT
MEDIUMagent/protocol/agent_stream.py2177 # Get context window from agent (based on model)COMMENT
MEDIUMagent/protocol/agent.py357 # Reserve ~10% of context window, with min 10K and max 200KCOMMENT
MEDIUMagent/prompt/workspace.py159 # Truncate MEMORY.md to protect context window (frozen snapshot)COMMENT
MEDIUMcli/commands/backup.py482 # multi-agent restore.COMMENT
Over-Commented Block50 hits · 46 pts
SeverityFileLineSnippetContext
LOWconfig.py261 # Optional native multi-agent registry. When empty or omitted, CowAgentCOMMENT
LOWdocker/entrypoint.sh1#!/bin/bashCOMMENT
LOWplugins/tool/README.md121###### 发送短信COMMENT
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/theme/themes.ts1// ============================================================COMMENT
LOWdesktop/src/renderer/src/hooks/useBackend.ts1import { useState, useEffect, useCallback, useRef } 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/index.ts21// Kept in sync with COW_DATA_DIR in python-manager.ts so the desktop shellCOMMENT
LOWdesktop/src/main/index.ts441 ipcMain.handle('window-close', () => mainWindow?.close())COMMENT
LOWdesktop/src/main/index.ts501 setUpdateLanguage(lang)COMMENT
LOWdesktop/src/main/python-manager.ts21COMMENT
LOWdesktop/src/main/python-manager.ts81 private backendPath: stringCOMMENT
LOWdesktop/src/main/python-manager.ts101 private healthTimer: ReturnType<typeof setInterval> | null = nullCOMMENT
LOWdesktop/src/main/python-manager.ts861 // Wall-clock deadline rather than an attempt counter: if the machineCOMMENT
LOWdesktop/src/main/themes.ts1import { app, ipcMain } from 'electron'COMMENT
LOWagent/tools/browser/browser_service.py441COMMENT
LOWagent/memory/embedding/provider.py61# ---------------------------------------------------------------------------COMMENT
LOWagent/chat/service.py321 # We cannot simply slice at original_length (it exceeds theCOMMENT
LOWagent/chat/service.py481 # Markdown links for files the send tool uploaded, held until the turn'sCOMMENT
LOWagent/protocol/agent_stream.py41# MAX_REASONING_STREAM_CHARS so that storage / stream / display all match.COMMENT
LOWagent/protocol/agent_stream.py1201 tools_schema.append({COMMENT
LOWagent/protocol/agent.py601 # If executor cleared its messages (context overflow / message format error),COMMENT
LOWmodels/openai/open_ai_bot.py161 # which calls /chat/completions via our shared HTTP client. The previousCOMMENT
LOWmodels/openai/openai_http_client.py361 },COMMENT
LOWchannel/feishu/feishu_channel.py1341 # current_text 只承载当前正在流式渲染的那张卡片的内容;message_end / agent_endCOMMENT
LOWchannel/web/web_channel.py3221 "qianfan": [const.ERNIE_45_TURBO_VL],COMMENT
LOWchannel/web/web_channel.py3241 const.DOUBAO_SEED_2_1_PRO,COMMENT
LOWchannel/web/static/js/console.js8461COMMENT
LOWchannel/web/static/js/console.js11601 const action = task.action || {};COMMENT
LOWvoice/xunfei/xunfei_tts.py1# -*- coding:utf-8 -*-COMMENT
LOWvoice/xunfei/xunfei_asr.py1# -*- coding:utf-8 -*-COMMENT
LOWvoice/xunfei/xunfei_voice.py1#####################################################################COMMENT
LOWvoice/xunfei/xunfei_voice.py61 # 识别本地文件COMMENT
LOW.github/workflows/release.yml1name: Release DesktopCOMMENT
LOW.github/workflows/release.yml181 env:COMMENT
LOW.github/workflows/release.yml201 # vice versa. electron-builder reads a single CSC_LINK/CSC_KEY_PASSWORDCOMMENT
LOW.github/workflows/release.yml221 # Never let electron-builder publish: our publish target is a genericCOMMENT
LOW.github/workflows/release.yml381 VER: ${{ steps.ver.outputs.version }}COMMENT
LOW.github/workflows/release-overlay-win7.yml1name: Release Desktop Overlay (Win7 legacy)COMMENT
LOW.github/workflows/release-overlay-win7.yml21# cdn.link-ai.tech/linkai-desktop/. Standard win and Win7 win are both theCOMMENT
LOW.github/workflows/release-overlay-win7.yml41# IMPORTANT for end users: Win7 must have SP1 + update KB2533623 (or the rollupCOMMENT
LOW.github/workflows/release-overlay-win7.yml201 echo "signtool.exe not found in downloaded archive" >&2COMMENT
LOW.github/workflows/release-win7.yml1name: Release Desktop (Win7 legacy)COMMENT
LOW.github/workflows/release-win7.yml121 echo "SIGNTOOL_PATH=$(cygpath -w "$exe")" >> "$GITHUB_ENV"COMMENT
LOW.github/workflows/release-overlay.yml1name: Release Desktop OverlayCOMMENT
LOW.github/workflows/release-overlay.yml21# filenames built from productName) is redacted too. Don't add steps that dumpCOMMENT
Magic Placeholder Names8 hits · 45 pts
SeverityFileLineSnippetContext
HIGHbridge/bridge.py121 return v != "" and v not in ("YOUR API KEY", "YOUR_API_KEY")CODE
HIGHagent/memory/embedding/provider.py225 if not self.api_key or self.api_key in ["", "YOUR API KEY", "YOUR_API_KEY"]:CODE
HIGHagent/memory/embedding/provider.py353 if not self.api_key or self.api_key in ["", "YOUR API KEY", "YOUR_API_KEY"]:CODE
HIGHagent/memory/embedding/factory.py45 if openai_api_key and openai_api_key not in ["", "YOUR API KEY", "YOUR_API_KEY"]:CODE
HIGHagent/memory/embedding/factory.py61 if linkai_api_key and linkai_api_key not in ["", "YOUR API KEY", "YOUR_API_KEY"]:CODE
HIGHagent/memory/embedding/factory.py172 if value in ["", "YOUR API KEY", "YOUR_API_KEY"]:CODE
HIGHchannel/web/web_channel.py1159 if val and val not in ("YOUR API KEY", "YOUR_API_KEY"):CODE
HIGHchannel/web/web_channel.py3300 return bool(value) and value not in ("", "YOUR API KEY", "YOUR_API_KEY")CODE
Self-Referential Comments15 hits · 44 pts
SeverityFileLineSnippetContext
MEDIUMbridge/agent_bridge.py43 # Create a temporary mixin class that combines the bot with OpenAI compatibilityCOMMENT
MEDIUMtests/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.py730 # Create a new instanceCOMMENT
MEDIUMagent/tools/tool_manager.py754 # Create a temporary instance to get schemaCOMMENT
MEDIUMagent/tools/scheduler/integration.py297 # Create a unique session_id for this scheduled task to avoid polluting user's conversationCOMMENT
MEDIUMagent/tools/bash/bash.py291 # Create a mock result with helpful error messageSTRING
MEDIUMagent/memory/summarizer.py872 # Create main MEMORY.md in workspace root (always needed for bootstrap)COMMENT
MEDIUMagent/chat/service.py238 # Create a copy of messages for this executionCOMMENT
MEDIUMagent/protocol/agent.py572 # Create a copy of messages for this execution to avoid concurrent modificationCOMMENT
MEDIUMagent/prompt/workspace.py60 # Create the memory subdirectoryCOMMENT
MEDIUMchannel/web/web_channel.py4227 # 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.py16# This class is instantiated once per queryCOMMENT
Structural Annotation Overuse22 hits · 41 pts
SeverityFileLineSnippetContext
LOWrun.sh1260 # Step 0: choose the install/UI language. Everything after this is localized.COMMENT
LOWagent/tools/vision/vision.py247 # Step 1: preferred provider — explicit `tools.vision.provider`COMMENT
LOWagent/tools/vision/vision.py258 # Step 2: auto-discovery chain as fallbackCOMMENT
LOWagent/memory/storage.py777 # Step 2: Trigram FTS5 — CJK/mixed queries, plus fallback when unicode61COMMENT
LOWagent/memory/storage.py787 # Step 3: LIKE fallback — last resort (FTS5 unavailable, or CJK tokensCOMMENT
LOWagent/memory/storage.py762 # Step 1: Standard FTS5 (unicode61) — pure ASCII queries only.COMMENT
LOWagent/protocol/agent_stream.py398 # Step 2: append a stable "interrupted" marker so the LLM sees aCOMMENT
LOWagent/protocol/agent_stream.py2140 # Step 0: Truncate large tool results in historical turns (30K -> 10K)COMMENT
LOWagent/protocol/agent_stream.py2143 # Step 1: 识别完整轮次COMMENT
LOWagent/protocol/agent_stream.py2149 # Step 2: 轮次限制 - 超出时移除前一半,保留后一半COMMENT
LOWagent/protocol/agent_stream.py2176 # Step 3: Token 限制 - 保留完整轮次COMMENT
LOWagent/protocol/agent_stream.py366 # Step 1: close any orphaned tool_use in the trailing assistantCOMMENT
LOWchannel/web/static/js/console.js1680 // Step 1: replace markdown-it anchor tags whose href points to a video file.COMMENT
LOWchannel/web/static/js/console.js1685 // Step 2: replace any remaining bare video URLs in text nodes (not inside HTML tags).COMMENT
LOWchannel/web/static/js/console.js1703 // Step 1: anchor whose href points to an image file -> replace with <img> preview.COMMENT
LOWchannel/web/static/js/console.js1708 // Step 2: bare image URLs left in text nodes (rare — markdown-it's linkify usually catches them).COMMENT
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
Modern Structural Boilerplate40 hits · 40 pts
SeverityFileLineSnippetContext
LOWplugins/banwords/lib/WordsSearch.py10__all__ = ['WordsSearch']CODE
LOWbridge/agent_bridge.py112 def set_session_override(self, provider: Optional[str], model: Optional[str]) -> None:CODE
LOWagent/registry.py244 def set_default(self, agent_id: str) -> None:CODE
LOWagent/registry.py322def set_agent_registry(registry: Optional[AgentRegistry]) -> None:CODE
LOWagent/routing.py168def set_agent_router(router: Optional[AgentRouter]) -> None:CODE
LOWagent/tools/__init__.py129__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.py45def 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/send/__init__.py3__all__ = ['Send']CODE
LOWagent/tools/subagent/__init__.py3__all__ = ["SubagentTool", "format_results"]CODE
LOWagent/memory/config.py139def set_global_memory_config(config: Optional[MemoryConfig]) -> None:CODE
LOWagent/memory/__init__.py33__all__ = [CODE
LOWagent/memory/embedding/__init__.py30__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
LOWchannel/file_cache.py8logger = logging.getLogger(__name__)CODE
LOWchannel/weixin/weixin_channel.py219 def _update_context_token(self, user_id: str, token: str) -> None:CODE
Verbosity Indicators16 hits · 32 pts
SeverityFileLineSnippetContext
LOWrun.sh1260 # Step 0: choose the install/UI language. Everything after this is localized.COMMENT
LOWagent/tools/vision/vision.py247 # Step 1: preferred provider — explicit `tools.vision.provider`COMMENT
LOWagent/tools/vision/vision.py258 # Step 2: auto-discovery chain as fallbackCOMMENT
LOWagent/memory/storage.py777 # Step 2: Trigram FTS5 — CJK/mixed queries, plus fallback when unicode61COMMENT
LOWagent/memory/storage.py787 # Step 3: LIKE fallback — last resort (FTS5 unavailable, or CJK tokensCOMMENT
LOWagent/memory/storage.py762 # Step 1: Standard FTS5 (unicode61) — pure ASCII queries only.COMMENT
LOWagent/protocol/agent_stream.py398 # Step 2: append a stable "interrupted" marker so the LLM sees aCOMMENT
LOWagent/protocol/agent_stream.py2140 # Step 0: Truncate large tool results in historical turns (30K -> 10K)COMMENT
LOWagent/protocol/agent_stream.py2143 # Step 1: 识别完整轮次COMMENT
LOWagent/protocol/agent_stream.py2149 # Step 2: 轮次限制 - 超出时移除前一半,保留后一半COMMENT
LOWagent/protocol/agent_stream.py2176 # Step 3: Token 限制 - 保留完整轮次COMMENT
LOWagent/protocol/agent_stream.py366 # Step 1: close any orphaned tool_use in the trailing assistantCOMMENT
LOWchannel/web/static/js/console.js1680 // Step 1: replace markdown-it anchor tags whose href points to a video file.COMMENT
LOWchannel/web/static/js/console.js1685 // Step 2: replace any remaining bare video URLs in text nodes (not inside HTML tags).COMMENT
LOWchannel/web/static/js/console.js1703 // Step 1: anchor whose href points to an image file -> replace with <img> preview.COMMENT
LOWchannel/web/static/js/console.js1708 // Step 2: bare image URLs left in text nodes (rare — markdown-it's linkify usually catches them).COMMENT
AI Slop Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
LOWconfig.py430 # the log with a full traceback here — just return it unmasked.COMMENT
LOWagent/memory/manager.py215 # No embeddings, just use NoneCOMMENT
MEDIUMagent/memory/manager.py313 # on any sibling helpers — keeps it robust against partial reloadsCOMMENT
MEDIUMagent/evolution/executor.py547 # plus legacy watched changes used by the deterministic test harness.COMMENT
AI Structural Patterns10 hits · 10 pts
SeverityFileLineSnippetContext
LOWagent/memory/conversation_store.py1089CODE
LOWagent/memory/embedding/provider.py182CODE
LOWagent/protocol/agent.py14CODE
LOWagent/prompt/builder.py82CODE
LOWagent/prompt/builder.py37CODE
LOWagent/skills/loader.py45CODE
LOWmodels/xunfei/xunfei_spark_bot.py269CODE
LOWmodels/xunfei/xunfei_spark_bot.py183CODE
LOWmodels/openai/openai_http_client.py138CODE
LOWvoice/ali/ali_api.py184CODE
Fake / Example Data1 hit · 0 pts
SeverityFileLineSnippetContext
LOWagent/tools/browser/browser_service.py380 for attr in ("type", "name", "href", "alt", "role", "ariaLabel", "placeholder", "value"):CODE