Repository Analysis

assafelovic/gpt-researcher

An autonomous agent that conducts deep research on any data using any LLM providers

20.8 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of assafelovic/gpt-researcher, a Python project with 28,295 GitHub stars. SynthScan v2.0 examined 62,703 lines of code across 525 source files, recording 873 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 20.8 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).

20.8
Adjusted Score
20.8
Raw Score
100%
Time Factor
2026-07-13
Last Push
28.3K
Stars
Python
Language
62.7K
Lines of Code
525
Files
873
Pattern Hits
2026-07-14
Scan Date
0.02
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 12MEDIUM 166LOW 695

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 873 distinct pattern matches across 22 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.

Excessive Try-Catch Wrapping200 hits · 238 pts
SeverityFileLineSnippetContext
LOWcli.py204 except Exception as e:CODE
LOWcli.py347 except Exception as e:CODE
LOWcli.py356 except Exception as e:CODE
LOWjson_schema_generator.py28 except Exception as e:CODE
LOWevals/hallucination_eval/run_eval.py188 except Exception as e:CODE
LOWevals/hallucination_eval/evaluate.py51 except Exception as e:CODE
LOWevals/simple_evals/run_eval.py34 except Exception:CODE
LOWevals/simple_evals/run_eval.py142 except Exception as e:CODE
LOWevals/simple_evals/run_eval.py244 except Exception as e:CODE
LOWevals/simple_evals/run_eval.py258 except Exception as e:CODE
LOWgpt_researcher/agent.py326 except Exception as e:CODE
LOWgpt_researcher/scraper/scraper.py167 except Exception as e:CODE
LOWgpt_researcher/scraper/utils.py54 except Exception as e:CODE
MEDIUMgpt_researcher/scraper/utils.py66 print(f"Error parsing dimension value {value}: {e}")CODE
LOWgpt_researcher/scraper/utils.py90 except Exception as e:CODE
LOWgpt_researcher/scraper/pymupdf/pymupdf.py31 except Exception:CODE
LOWgpt_researcher/scraper/pymupdf/pymupdf.py78 except Exception as e:CODE
MEDIUMgpt_researcher/scraper/pymupdf/pymupdf.py79 print(f"Error loading PDF : {self.link} {e}")CODE
LOWgpt_researcher/scraper/firecrawl/firecrawl.py80 except Exception as e:CODE
LOWgpt_researcher/scraper/beautiful_soup/beautiful_soup.py54 except Exception as e:CODE
LOWgpt_researcher/scraper/beautiful_soup/beautiful_soup.py67 except Exception as e:CODE
LOW…_researcher/scraper/web_base_loader/web_base_loader.py41 except Exception as e:CODE
LOWgpt_researcher/scraper/browser/browser.py51 except Exception as e:CODE
MEDIUMgpt_researcher/scraper/browser/browser.py52 print(f"An error occurred during scraping: {str(e)}")CODE
LOWgpt_researcher/scraper/browser/browser.py117 except Exception as e:CODE
LOWgpt_researcher/scraper/browser/browser.py160 except Exception as e:CODE
LOWgpt_researcher/scraper/browser/browser.py188 except Exception as e:CODE
MEDIUMgpt_researcher/scraper/browser/browser.py63def _import_selenium(self):CODE
LOWgpt_researcher/scraper/browser/nodriver_scraper.py55 except Exception:CODE
LOWgpt_researcher/scraper/browser/nodriver_scraper.py102 except Exception as e:CODE
LOWgpt_researcher/scraper/browser/nodriver_scraper.py124 except Exception as e:CODE
LOWgpt_researcher/scraper/browser/nodriver_scraper.py180 except Exception as e:CODE
LOWgpt_researcher/scraper/browser/nodriver_scraper.py246 except Exception as e:CODE
LOWgpt_researcher/scraper/browser/nodriver_scraper.py259 except Exception as e:CODE
MEDIUMgpt_researcher/scraper/browser/nodriver_scraper.py138def create_browser():CODE
LOWgpt_researcher/scraper/tavily_extract/tavily_extract.py60 except Exception as e:CODE
LOWgpt_researcher/retrievers/utils.py41 except Exception as e:CODE
LOWgpt_researcher/retrievers/utils.py104 except Exception as e:CODE
LOWgpt_researcher/retrievers/duckduckgo/duckduckgo.py26 except Exception as e:CODE
MEDIUMgpt_researcher/retrievers/duckduckgo/duckduckgo.py27 print(f"Error: {e}. Failed fetching sources. Resulting in empty response.")CODE
LOWgpt_researcher/retrievers/crw/crw.py121 except Exception as e:CODE
MEDIUMgpt_researcher/retrievers/crw/crw.py122 print(f"Error: {e}. Failed fetching sources. Resulting in empty response.")CODE
LOWgpt_researcher/retrievers/google/google.py34 except Exception:CODE
LOWgpt_researcher/retrievers/google/google.py48 except Exception:CODE
LOWgpt_researcher/retrievers/google/google.py77 except Exception:CODE
LOWgpt_researcher/retrievers/google/google.py96 except Exception:CODE
LOWgpt_researcher/retrievers/bing/bing.py34 except Exception:CODE
LOWgpt_researcher/retrievers/bing/bing.py74 except Exception as e:CODE
MEDIUM…archer/retrievers/semantic_scholar/semantic_scholar.py43 print(f"An error occurred while accessing Semantic Scholar API: {e}")CODE
LOWgpt_researcher/retrievers/searchapi/searchapi.py30 except Exception:CODE
LOWgpt_researcher/retrievers/searchapi/searchapi.py80 except Exception as e:CODE
MEDIUMgpt_researcher/retrievers/searchapi/searchapi.py81 print(f"Error: {e}. Failed fetching sources. Resulting in empty response.")CODE
LOWgpt_researcher/retrievers/mcp/retriever.py190 except Exception as e:CODE
LOWgpt_researcher/retrievers/mcp/retriever.py198 except Exception as e:CODE
LOWgpt_researcher/retrievers/mcp/retriever.py260 except Exception:CODE
LOWgpt_researcher/retrievers/mcp/retriever.py262 except Exception:CODE
LOWgpt_researcher/retrievers/mcp/retriever.py280 except Exception:CODE
LOWgpt_researcher/retrievers/mcp/retriever.py294 except Exception as e:CODE
LOWgpt_researcher/retrievers/mcp/retriever.py321 except Exception as e:CODE
LOWgpt_researcher/retrievers/mcp/__init__.py28except Exception as e:CODE
140 more matches not shown…
Unused Imports206 hits · 204 pts
SeverityFileLineSnippetContext
LOWcli.py24CODE
LOWevals/hallucination_eval/run_eval.py16CODE
LOWevals/hallucination_eval/evaluate.py5CODE
LOWevals/hallucination_eval/evaluate.py6CODE
LOWevals/hallucination_eval/evaluate.py6CODE
LOWevals/hallucination_eval/evaluate.py8CODE
LOWevals/simple_evals/simpleqa_eval.py6CODE
LOWevals/simple_evals/simpleqa_eval.py7CODE
LOWevals/simple_evals/simpleqa_eval.py8CODE
LOWevals/simple_evals/simpleqa_eval.py11CODE
LOWevals/simple_evals/simpleqa_eval.py11CODE
LOWevals/simple_evals/simpleqa_eval.py11CODE
LOWevals/simple_evals/simpleqa_eval.py12CODE
LOWgpt_researcher/__init__.py1CODE
LOWgpt_researcher/agent.py8CODE
LOWgpt_researcher/agent.py21CODE
LOWgpt_researcher/scraper/__init__.py1CODE
LOWgpt_researcher/scraper/__init__.py2CODE
LOWgpt_researcher/scraper/__init__.py3CODE
LOWgpt_researcher/scraper/__init__.py4CODE
LOWgpt_researcher/scraper/__init__.py5CODE
LOWgpt_researcher/scraper/__init__.py6CODE
LOWgpt_researcher/scraper/__init__.py7CODE
LOWgpt_researcher/scraper/__init__.py8CODE
LOWgpt_researcher/scraper/__init__.py9CODE
LOW…_researcher/scraper/web_base_loader/web_base_loader.py2CODE
LOWgpt_researcher/scraper/browser/browser.py1CODE
LOWgpt_researcher/scraper/browser/browser.py13CODE
LOWgpt_researcher/scraper/browser/browser.py13CODE
LOWgpt_researcher/scraper/browser/browser.py18CODE
LOWgpt_researcher/scraper/browser/browser.py70CODE
LOWgpt_researcher/scraper/browser/nodriver_scraper.py8CODE
LOWgpt_researcher/scraper/browser/processing/html.py2CODE
LOWgpt_researcher/retrievers/__init__.py1CODE
LOWgpt_researcher/retrievers/__init__.py2CODE
LOWgpt_researcher/retrievers/__init__.py3CODE
LOWgpt_researcher/retrievers/__init__.py4CODE
LOWgpt_researcher/retrievers/__init__.py5CODE
LOWgpt_researcher/retrievers/__init__.py6CODE
LOWgpt_researcher/retrievers/__init__.py7CODE
LOWgpt_researcher/retrievers/__init__.py8CODE
LOWgpt_researcher/retrievers/__init__.py9CODE
LOWgpt_researcher/retrievers/__init__.py10CODE
LOWgpt_researcher/retrievers/__init__.py11CODE
LOWgpt_researcher/retrievers/__init__.py12CODE
LOWgpt_researcher/retrievers/__init__.py13CODE
LOWgpt_researcher/retrievers/__init__.py14CODE
LOWgpt_researcher/retrievers/__init__.py15CODE
LOWgpt_researcher/retrievers/__init__.py16CODE
LOWgpt_researcher/retrievers/__init__.py17CODE
LOWgpt_researcher/retrievers/__init__.py18CODE
LOWgpt_researcher/retrievers/__init__.py19CODE
LOWgpt_researcher/retrievers/__init__.py20CODE
LOWgpt_researcher/retrievers/utils.py10CODE
LOWgpt_researcher/retrievers/duckduckgo/duckduckgo.py1CODE
LOWgpt_researcher/retrievers/mcp/retriever.py14CODE
LOWgpt_researcher/retrievers/mcp/retriever.py232CODE
LOWgpt_researcher/retrievers/mcp/__init__.py13CODE
LOWgpt_researcher/retrievers/brave/__init__.py1CODE
LOWgpt_researcher/retrievers/tavily/tavily_search.py10CODE
146 more matches not shown…
Decorative Section Separators46 hits · 161 pts
SeverityFileLineSnippetContext
MEDIUMcli.py27# =============================================================================COMMENT
MEDIUMcli.py29# =============================================================================COMMENT
MEDIUMcli.py36# =====================================COMMENT
MEDIUMcli.py38# =====================================COMMENT
MEDIUMcli.py46# =====================================COMMENT
MEDIUMcli.py48# =====================================COMMENT
MEDIUMcli.py86# =====================================COMMENT
MEDIUMcli.py88# =====================================COMMENT
MEDIUMcli.py97# =====================================COMMENT
MEDIUMcli.py99# =====================================COMMENT
MEDIUMcli.py108# =====================================COMMENT
MEDIUMcli.py110# =====================================COMMENT
MEDIUMcli.py72# =====================================COMMENT
MEDIUMcli.py74# =====================================COMMENT
MEDIUMcli.py121# =====================================COMMENT
MEDIUMcli.py123# =====================================COMMENT
MEDIUMcli.py137# =============================================================================COMMENT
MEDIUMcli.py139# =============================================================================COMMENT
MEDIUMcli.py261# =============================================================================COMMENT
MEDIUMcli.py263# =============================================================================COMMENT
MEDIUMcli.py319 # ------------------------------------------------------------------COMMENT
MEDIUMcli.py322 # ------------------------------------------------------------------COMMENT
MEDIUMterraform/variables.tf171# ==============================================================================COMMENT
MEDIUMterraform/variables.tf173# ==============================================================================COMMENT
MEDIUMterraform/variables.tf203# ==============================================================================COMMENT
MEDIUMterraform/variables.tf205# ==============================================================================COMMENT
MEDIUM…roposals/high-quality-content-scraping-architecture.md318# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUM…roposals/high-quality-content-scraping-architecture.md320# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUM…roposals/high-quality-content-scraping-architecture.md325# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUM…roposals/high-quality-content-scraping-architecture.md327# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUM…roposals/high-quality-content-scraping-architecture.md334# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUM…roposals/high-quality-content-scraping-architecture.md336# ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMdocs/docs/proposals/adaptive-deep-research.md198 # ═══════════════════════════════════════════════════════COMMENT
MEDIUMdocs/docs/proposals/adaptive-deep-research.md200 # ═══════════════════════════════════════════════════════COMMENT
MEDIUMdocs/docs/proposals/adaptive-deep-research.md217 # ═══════════════════════════════════════════════════════COMMENT
MEDIUMdocs/docs/proposals/adaptive-deep-research.md219 # ═══════════════════════════════════════════════════════COMMENT
MEDIUMdocs/docs/proposals/adaptive-deep-research.md235 # ═══════════════════════════════════════════════════════COMMENT
MEDIUMdocs/docs/proposals/adaptive-deep-research.md237 # ═══════════════════════════════════════════════════════COMMENT
MEDIUMdocs/docs/proposals/adaptive-deep-research.md246 # ═══════════════════════════════════════════════════════════COMMENT
MEDIUMdocs/docs/proposals/adaptive-deep-research.md248 # ═══════════════════════════════════════════════════════════COMMENT
MEDIUMdocs/docs/proposals/adaptive-deep-research.md452 # ═══════════════════════════════════════════════════════════════STRING
MEDIUMdocs/docs/proposals/adaptive-deep-research.md454 # ═══════════════════════════════════════════════════════════════STRING
MEDIUMdeep_agents/benchmark_data/build_corpus.py61# ---------------------------------------------------------------------------COMMENT
MEDIUMdeep_agents/benchmark_data/build_corpus.py64# ---------------------------------------------------------------------------COMMENT
MEDIUMdeep_agents/benchmark_data/build_corpus.py124# ---------------------------------------------------------------------------STRING
MEDIUMdeep_agents/benchmark_data/build_corpus.py126# ---------------------------------------------------------------------------STRING
Hyper-Verbose Identifiers151 hits · 160 pts
SeverityFileLineSnippetContext
LOWgpt_researcher/prompts.py40 def generate_mcp_tool_selection_prompt(query: str, tools_info: List[Dict], max_tools: int = 3) -> str:CODE
LOWgpt_researcher/prompts.py86 def generate_mcp_research_prompt(query: str, selected_tools: List) -> str:STRING
LOWgpt_researcher/prompts.py122 def generate_image_analysis_prompt(CODE
LOWgpt_researcher/prompts.py178 def generate_image_prompt_enhancement(CODE
LOWgpt_researcher/prompts.py213 def generate_search_queries_prompt(CODE
LOWgpt_researcher/prompts.py349 def generate_resource_report_prompt(STRING
LOWgpt_researcher/prompts.py389 def generate_custom_report_prompt(CODE
LOWgpt_researcher/prompts.py395 def generate_outline_report_prompt(CODE
LOWgpt_researcher/prompts.py414 def generate_deep_research_prompt(CODE
LOWgpt_researcher/prompts.py528 def generate_quick_summary_prompt(query: str, context: str) -> str:STRING
LOWgpt_researcher/prompts.py569 def generate_subtopics_prompt() -> str:CODE
LOWgpt_researcher/prompts.py592 def generate_subtopic_report_prompt(STRING
LOWgpt_researcher/prompts.py669 def generate_draft_titles_prompt(STRING
LOWgpt_researcher/prompts.py703 def generate_report_introduction(question: str, research_summary: str = "", language: str = "english", report_formatSTRING
LOWgpt_researcher/prompts.py716 def generate_report_conclusion(query: str, report_content: str, language: str = "english", report_format: str = "apaSTRING
LOWgpt_researcher/prompts.py858def get_prompt_by_report_type(CODE
LOWgpt_researcher/agent.py571 async def get_similar_written_contents_by_draft_section_titles(CODE
LOWgpt_researcher/scraper/utils.py114 def does_tag_have_disallowed_class(elem) -> bool:CODE
LOWgpt_researcher/scraper/browser/browser.py177 def _visit_google_and_save_cookies(self):CODE
LOWgpt_researcher/scraper/browser/browser.py193 def scrape_text_with_selenium(self) -> tuple:CODE
LOWgpt_researcher/retrievers/serper/serper.py32 def _get_exclude_sites_from_env(self):CODE
LOWgpt_researcher/context/compression.py127 def __get_contextual_retriever(self):CODE
LOWgpt_researcher/context/compression.py213 def __get_contextual_retriever(self):CODE
LOWgpt_researcher/config/config.py85 def _set_embedding_attributes(self) -> None:CODE
LOWgpt_researcher/config/config.py98 def _handle_deprecated_attributes(self) -> None:CODE
LOWgpt_researcher/llm_provider/generic/base.py115 def _reset_last_response_metadata(self) -> None:CODE
LOWgpt_researcher/llm_provider/generic/base.py119 def _capture_response_metadata(self, message: Any) -> None:CODE
LOWgpt_researcher/utils/tools.py46async def create_chat_completion_with_tools(CODE
LOWgpt_researcher/utils/tools.py320def get_available_providers_with_tools() -> List[str]:CODE
LOWgpt_researcher/utils/costs.py93def _resolve_anthropic_model_name(CODE
LOWgpt_researcher/utils/costs.py142def _get_anthropic_pricing_multiplier(CODE
LOWgpt_researcher/mcp/research.py34 async def conduct_research_with_tools(self, query: str, selected_tools: List) -> List[Dict[str, str]]:CODE
LOWgpt_researcher/mcp/tool_selector.py129 async def _call_llm_for_tool_selection(self, prompt: str) -> str:CODE
LOWgpt_researcher/mcp/client.py40 def convert_configs_to_langchain_format(self) -> Dict[str, Dict[str, Any]]:CODE
LOWgpt_researcher/vector_store/vector_store.py26 def _create_langchain_documents(self, data: List[Dict[str, str]]) -> List[Document]:CODE
LOWgpt_researcher/actions/report_generation.py12async def write_report_introduction(CODE
LOWgpt_researcher/actions/report_generation.py160async def generate_draft_section_titles(CODE
LOWgpt_researcher/actions/markdown_processing.py78 def generate_table_of_contents(headers, indent_level=0):CODE
LOWgpt_researcher/skills/context_manager.py37 async def get_similar_content_by_query(self, query: str, pages: list) -> str:CODE
LOWgpt_researcher/skills/context_manager.py66 async def get_similar_content_by_query_with_vectorstore(self, query: str, filter: dict | None) -> str:CODE
LOWgpt_researcher/skills/context_manager.py89 async def get_similar_written_contents_by_draft_section_titles(CODE
LOWgpt_researcher/skills/context_manager.py121 async def __get_similar_written_contents_by_query(CODE
LOWgpt_researcher/skills/researcher.py247 async def _get_context_by_vectorstore(self, query, filter: dict | None = None):CODE
LOWgpt_researcher/skills/researcher.py280 async def _get_context_by_web_search(self, query, scraped_data: list | None = None, query_domains: list | None = NonCODE
LOWgpt_researcher/skills/researcher.py410 async def _execute_mcp_research_for_queries(self, queries: list, mcp_retrievers: list) -> list:CODE
LOWgpt_researcher/skills/researcher.py671 def _combine_mcp_and_web_context(self, mcp_context: list, web_context: str, sub_query: str) -> str:CODE
LOWgpt_researcher/skills/researcher.py724 async def _process_sub_query_with_vectorstore(self, sub_query: str, filter: dict | None = None):CODE
LOWgpt_researcher/skills/researcher.py768 async def _search_relevant_source_urls(self, query, query_domains: list | None = None):CODE
LOWgpt_researcher/skills/deep_research.py77def parse_search_queries_response(response: str, num_queries: int) -> List[Dict[str, str]]:CODE
LOWgpt_researcher/skills/deep_research.py119def parse_follow_up_questions_response(response: str, num_questions: int) -> List[str]:CODE
LOWgpt_researcher/skills/deep_research.py143def parse_research_results_response(response: str, num_learnings: int) -> Dict[str, Any]:CODE
LOWgpt_researcher/skills/deep_research.py213def trim_context_to_word_limit(context_list: List[str], max_words: int = MAX_CONTEXT_WORDS) -> List[str]:CODE
LOWgpt_researcher/skills/image_generator.py271 async def analyze_report_for_images(CODE
LOWgpt_researcher/skills/image_generator.py467 async def generate_images_for_report(CODE
LOWgpt_researcher/skills/image_generator.py639 async def process_image_placeholders(CODE
LOWmulti_agents_ag2/agents/editor.py65 def _format_planning_instructions(CODE
LOWtests/test_research_conductor_retrieval.py56 async def test_snippet_only_results_are_sent_to_scraper(self):CODE
LOWtests/test_research_conductor_retrieval.py68 async def test_raw_content_results_stay_prefetched(self):CODE
LOWtests/test_multi_agents_plan_revisions.py19def test_human_feedback_route_accepts_when_no_feedback():CODE
LOWtests/test_multi_agents_plan_revisions.py23def test_human_feedback_route_revises_until_limit():CODE
91 more matches not shown…
Self-Referential Comments29 hits · 106 pts
SeverityFileLineSnippetContext
MEDIUMgpt_researcher/retrievers/mcp/retriever.py234 # Create a new event loop in a separate threadCOMMENT
MEDIUMgpt_researcher/utils/logger.py19 # Create a handlerCOMMENT
MEDIUMgpt_researcher/utils/logger.py22 # Create a formatter using DefaultFormatterCOMMENT
MEDIUMgpt_researcher/mcp/research.py236 # Create a search result with a generic titleCOMMENT
MEDIUMgpt_researcher/skills/researcher.py700 # Create a well-formatted context entryCOMMENT
MEDIUMgpt_researcher/skills/image_generator.py605 # Create a mapping of section headers to imagesCOMMENT
MEDIUMtests/test-your-embeddings.py30 # Create a Memory instance using the configurationCOMMENT
MEDIUMtests/documents-report-source.py9# Define the report types to testCOMMENT
MEDIUMtests/documents-report-source.py19# Define a common query and sources for testingCOMMENT
MEDIUMtests/documents-report-source.py22# Define the output directoryCOMMENT
MEDIUMtests/documents-report-source.py33 # Create an instance of GPTResearcher with report_source set to "documents"COMMENT
MEDIUMtests/documents-report-source.py41 # Define the expected output filenamesCOMMENT
MEDIUMtests/report-types.py9# Define the report types to testCOMMENT
MEDIUMtests/report-types.py12# Define a common query and sources for testingCOMMENT
MEDIUMtests/report-types.py21 # Create an instance of GPTResearcherCOMMENT
MEDIUMtests/test-your-retriever.py11 # Initialize the Config objectCOMMENT
MEDIUMtests/test-your-retriever.py18 # Create a mock researcher object with necessary attributesCOMMENT
MEDIUMtests/test-your-retriever.py32 # Define a sub-query to testCOMMENT
MEDIUMtests/test_security_fix.py131 # Create a symlink pointing outside the directoryCOMMENT
MEDIUMtests/test_security_fix.py291 # Create a subdirectoryCOMMENT
MEDIUMtests/test_security_fix.py97 # Create a filename longer than 255 bytesCOMMENT
MEDIUMtests/test_security_fix.py220 # Create an existing fileCOMMENT
MEDIUMtests/test_security_fix.py261 # Create a test fileCOMMENT
MEDIUMtests/vector-store.py127 # Create an instance of GPTResearcherSTRING
MEDIUMtests/test_researcher_logging.py26 # Create a researcher instance with a logging-focused queryCOMMENT
MEDIUMbackend/utils.py115 # Create a document objectCOMMENT
MEDIUMbackend/chat/chat.py155 # Create a search tool using the utility functionCOMMENT
MEDIUMbackend/server/logging_config.py78# Create a function to get the logger and JSON handlerCOMMENT
MEDIUMmulti_agents/agents/utils/file_formats.py89 # Create a document objectCOMMENT
AI Slop Vocabulary36 hits · 95 pts
SeverityFileLineSnippetContext
MEDIUMevals/hallucination_eval/results/aggregate_results.json10 "output": "# The Best Tutorials for Training LLMs on Custom Data: An In-Depth Report (2025)\n\nThe rapid evolutionCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json10 "output": "# The Best Tutorials for Training LLMs on Custom Data: An In-Depth Report (2025)\n\nThe rapid evolutionCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json10 "output": "# The Best Tutorials for Training LLMs on Custom Data: An In-Depth Report (2025)\n\nThe rapid evolutionCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json11 "source": "Source: https://medium.com/@pranshu.singh765/mastering-llm-custom-data-training-in-2025-fine-tuning-larCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json11 "source": "Source: https://medium.com/@pranshu.singh765/mastering-llm-custom-data-training-in-2025-fine-tuning-larCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json11 "source": "Source: https://medium.com/@pranshu.singh765/mastering-llm-custom-data-training-in-2025-fine-tuning-larCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json11 "source": "Source: https://medium.com/@pranshu.singh765/mastering-llm-custom-data-training-in-2025-fine-tuning-larCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json11 "source": "Source: https://medium.com/@pranshu.singh765/mastering-llm-custom-data-training-in-2025-fine-tuning-larCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json11 "source": "Source: https://medium.com/@pranshu.singh765/mastering-llm-custom-data-training-in-2025-fine-tuning-larCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json16 "output": "# Emerging Trends in Real-Time AI Evaluation Tools: A 2025 Analysis\n\nThe rapid integration of artificCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json16 "output": "# Emerging Trends in Real-Time AI Evaluation Tools: A 2025 Analysis\n\nThe rapid integration of artificCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json16 "output": "# Emerging Trends in Real-Time AI Evaluation Tools: A 2025 Analysis\n\nThe rapid integration of artificCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json16 "output": "# Emerging Trends in Real-Time AI Evaluation Tools: A 2025 Analysis\n\nThe rapid integration of artificCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json16 "output": "# Emerging Trends in Real-Time AI Evaluation Tools: A 2025 Analysis\n\nThe rapid integration of artificCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json17 "source": "Source: https://www.globenewswire.com/news-release/2025/04/26/3068732/0/en/These-5-AI-trends-Will-ShapeCODE
MEDIUMgpt_researcher/prompts.py105 return f"""You are a research assistant with access to specialized tools. Your task is to research the followingSTRING
LOWgpt_researcher/actions/web_scraping.py82 # For now, we'll just return the raw HTML as a placeholderCOMMENT
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-43-50.json31 "report": "# Due-diligence brief: Veltrix Dynamics B.V. (Rotterdam, warehouse robotics / AMR)\n\n## Executive suCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-43-50.json113 "report": "# Due-diligence brief: Veltrix Dynamics B.V. \n*Prepared July 5, 2026*\n\n## Executive summary\n\nVeCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-43-50.json113 "report": "# Due-diligence brief: Veltrix Dynamics B.V. \n*Prepared July 5, 2026*\n\n## Executive summary\n\nVeCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-29-57.json31 "report": "# Due-diligence brief: Veltrix Dynamics B.V. (Rotterdam warehouse robotics / AMR)\n\n## Executive sumCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-29-57.json31 "report": "# Due-diligence brief: Veltrix Dynamics B.V. (Rotterdam warehouse robotics / AMR)\n\n## Executive sumCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-37-31.json31 "report": "## Due-diligence brief: Veltrix Dynamics B.V. (Rotterdam warehouse robotics / AMR)\n\n### Executive sCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-37-31.json31 "report": "## Due-diligence brief: Veltrix Dynamics B.V. (Rotterdam warehouse robotics / AMR)\n\n### Executive sCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json79 "report": "# How the Global Semiconductor Supply Chain Has Changed Since 2020, and the Key Dependencies and RiskCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json79 "report": "# How the Global Semiconductor Supply Chain Has Changed Since 2020, and the Key Dependencies and RiskCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json115 "report": "# What the Evidence Says About Remote Work, Productivity, and Employee Wellbeing\n\n## Executive summCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json160 "report": "# AI governance in the US and EU: approaches and differences\n\n## Executive summary\n\nThe EU has adCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json169 "report": "# AI Governance in the US and EU: How regulators are approaching it, and how the frameworks differ\n\CODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json187 "report": "# Report: The current state of mRNA vaccine technology beyond COVID-19, and the most promising applicCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json196 "report": "# What is the current state of mRNA vaccine technology beyond COVID-19, and which applications are moCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json196 "report": "# What is the current state of mRNA vaccine technology beyond COVID-19, and which applications are moCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json214 "report": "# Economic and Environmental Arguments For and Against Deep-Sea Mining\n\n## Executive summary\n\nDeeCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json214 "report": "# Economic and Environmental Arguments For and Against Deep-Sea Mining\n\n## Executive summary\n\nDeeCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json250 "report": "# How precision agriculture is changing farming, and what evidence exists for its impact on yields anCODE
MEDIUM…/benchmark_results/reports_2026-07-04_14-33-21_n8.json250 "report": "# How precision agriculture is changing farming, and what evidence exists for its impact on yields anCODE
Structural Annotation Overuse29 hits · 56 pts
SeverityFileLineSnippetContext
LOW…researcher/retrievers/pubmed_central/pubmed_central.py142 # Step 1: Search for article IDsCOMMENT
LOW…researcher/retrievers/pubmed_central/pubmed_central.py147 # Step 2: Fetch full text for each articleCOMMENT
LOWgpt_researcher/skills/image_generator.py109 # Step 1: Use LLM to identify best visualization opportunitiesCOMMENT
LOWgpt_researcher/skills/image_generator.py124 # Step 2: Generate all images in parallelCOMMENT
LOWfrontend/nextjs/app/research/[id]/page.tsx115 // Step 1: Try to find it in localStorage firstCOMMENT
LOWfrontend/nextjs/app/research/[id]/page.tsx134 // Step 2: Try to find it in the backendCOMMENT
LOWfrontend/nextjs/app/research/[id]/page.tsx211 // Step 3: If found in localStorage but not in backend, save itCOMMENT
LOWfrontend/nextjs/app/research/[id]/page.tsx256 // Step 4: If not found anywhere, show not found messageCOMMENT
LOW.claude/references/adding-features.md22### Step 1: Add ConfigurationCOMMENT
LOW.claude/references/adding-features.md43### Step 2: Create ProviderCOMMENT
LOW.claude/references/adding-features.md63### Step 3: Create SkillCOMMENT
LOW.claude/references/adding-features.md90### Step 4: Integrate into AgentCOMMENT
LOW.claude/references/adding-features.md109### Step 5: Update PromptsCOMMENT
LOW.claude/references/adding-features.md119### Step 6: WebSocket EventsCOMMENT
LOW.claude/references/adding-features.md123### Step 7: Frontend (if needed)COMMENT
LOW.claude/references/adding-features.md133### Step 8: DocumentationCOMMENT
LOW.claude/references/retrievers.md69### Step 1: Create Retriever FileCOMMENT
LOW.claude/references/retrievers.md92### Step 2: Register in retriever.pyCOMMENT
LOW.claude/references/retrievers.md102### Step 3: Export in __init__.pyCOMMENT
LOW.claude/references/retrievers.md111### Step 4: UsageCOMMENT
LOWdocs/docs/gpt-researcher/context/data-ingestion.md44### Step 1: Transform your content into Langchain DocumentsCOMMENT
LOWdocs/docs/gpt-researcher/context/data-ingestion.md93### Step 2: Insert your Langchain Documents into a Langchain VectorStoreCOMMENT
LOWdocs/docs/gpt-researcher/context/data-ingestion.md127### Step 3: Pass your Langchain Vectorstore into your GPTR reportCOMMENT
LOW…ocs/gpt-researcher/getting-started/linux-deployment.md24### Step 1: Update the SystemCOMMENT
LOW…ocs/gpt-researcher/getting-started/linux-deployment.md29### Step 2: Install GitCOMMENT
LOW…ocs/gpt-researcher/getting-started/linux-deployment.md36### Step 3: Install DockerCOMMENT
LOWdocs/blog/2024-09-7-hybrid-research/index.md129#### Step 1: Install GPT Researcher with PIPCOMMENT
LOWdocs/blog/2024-09-7-hybrid-research/index.md135#### Step 2: Setting up the environmentCOMMENT
LOWdocs/blog/2024-09-7-hybrid-research/index.md144#### Step 3: Initialize GPT Researcher with hybrid research configurationCOMMENT
Modern Structural Boilerplate52 hits · 53 pts
SeverityFileLineSnippetContext
LOWmain.py27logger = logging.getLogger(__name__)CODE
LOWevals/hallucination_eval/run_eval.py25logger = logging.getLogger(__name__)CODE
LOWevals/hallucination_eval/evaluate.py16logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/__init__.py3__all__ = ['GPTResearcher']CODE
LOWgpt_researcher/agent.py709 def set_verbose(self, verbose: bool) -> None:CODE
LOWgpt_researcher/scraper/__init__.py11__all__ = [CODE
LOWgpt_researcher/scraper/beautiful_soup/beautiful_soup.py8logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/retrievers/__init__.py22__all__ = [CODE
LOWgpt_researcher/retrievers/utils.py12logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/retrievers/mcp/retriever.py24logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/retrievers/mcp/__init__.py9logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/retrievers/brave/__init__.py3__all__ = ["BraveSearch"]CODE
LOWgpt_researcher/context/__init__.py4__all__ = ['ContextCompressor', 'SearchAPIRetriever']CODE
LOWgpt_researcher/config/config.py62 def _set_attributes(self, config: Dict[str, Any]) -> None:CODE
LOWgpt_researcher/config/config.py85 def _set_embedding_attributes(self) -> None:CODE
LOWgpt_researcher/config/config.py91 def _set_llm_attributes(self) -> None:CODE
LOWgpt_researcher/config/config.py147 def _set_doc_path(self, config: Dict[str, Any]) -> None:CODE
LOWgpt_researcher/config/config.py291 def set_verbose(self, verbose: bool) -> None:CODE
LOWgpt_researcher/config/__init__.py5__all__ = ["Config", "BaseConfig", "DefaultConfig"]CODE
LOWgpt_researcher/llm_provider/__init__.py4__all__ = [CODE
LOWgpt_researcher/llm_provider/image/__init__.py6__all__ = ["ImageGeneratorProvider", "ModelsLabImageGeneratorProvider"]CODE
LOW…archer/llm_provider/image/modelslab_image_generator.py16logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/llm_provider/image/image_generator.py19logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/llm_provider/generic/__init__.py3__all__ = ["GenericLLMProvider"]CODE
LOWgpt_researcher/utils/tools.py18logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/utils/costs.py18logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/mcp/research.py10logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/mcp/tool_selector.py11logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/mcp/client.py16logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/mcp/__init__.py13logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/mcp/streaming.py10logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/document/__init__.py5__all__ = ['DocumentLoader', 'OnlineDocumentLoader', 'LangChainDocumentLoader']CODE
LOWgpt_researcher/vector_store/__init__.py3__all__ = ['VectorStoreWrapper']CODE
LOWgpt_researcher/actions/query_processing.py10logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/actions/__init__.py9__all__ = [CODE
LOWgpt_researcher/actions/agent_creator.py16logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/skills/__init__.py8__all__ = [CODE
LOWgpt_researcher/skills/deep_research.py15logger = logging.getLogger(__name__)CODE
LOWgpt_researcher/skills/image_generator.py17logger = logging.getLogger(__name__)CODE
LOWmulti_agents_ag2/agents/__init__.py11__all__ = [CODE
LOWtests/test_logging_output.py10logger = logging.getLogger(__name__)CODE
LOWtests/test_researcher_logging.py13logger = logging.getLogger(__name__)CODE
LOWtests/test_mcp.py32logger = logging.getLogger(__name__)CODE
LOWbackend/chat/chat.py19logger = logging.getLogger(__name__)CODE
LOWbackend/report_type/__init__.py4__all__ = [CODE
LOWbackend/report_type/deep_research/example.py15logger = logging.getLogger(__name__)CODE
LOWbackend/server/server_utils.py31logger = logging.getLogger(__name__)CODE
LOWbackend/server/app.py42logger = logging.getLogger(__name__)CODE
LOWbackend/server/websocket_manager.py19logger = logging.getLogger(__name__)CODE
LOWmulti_agents/__init__.py17__all__ = [CODE
LOWmulti_agents/memory/__init__.py4__all__ = [CODE
LOWmulti_agents/agents/__init__.py14__all__ = [CODE
Modern AI Meta-Vocabulary21 hits · 52 pts
SeverityFileLineSnippetContext
MEDIUMevals/hallucination_eval/run_eval.py130 # Evaluate the research report for hallucinationCOMMENT
MEDIUMevals/hallucination_eval/run_eval.py192 # Calculate hallucination rateCOMMENT
MEDIUMevals/hallucination_eval/results/aggregate_results.json10 "output": "# The Best Tutorials for Training LLMs on Custom Data: An In-Depth Report (2025)\n\nThe rapid evolutionCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json11 "source": "Source: https://medium.com/@pranshu.singh765/mastering-llm-custom-data-training-in-2025-fine-tuning-larCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json16 "output": "# Emerging Trends in Real-Time AI Evaluation Tools: A 2025 Analysis\n\nThe rapid integration of artificCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json16 "output": "# Emerging Trends in Real-Time AI Evaluation Tools: A 2025 Analysis\n\nThe rapid integration of artificCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json16 "output": "# Emerging Trends in Real-Time AI Evaluation Tools: A 2025 Analysis\n\nThe rapid integration of artificCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json16 "output": "# Emerging Trends in Real-Time AI Evaluation Tools: A 2025 Analysis\n\nThe rapid integration of artificCODE
MEDIUMevals/hallucination_eval/results/aggregate_results.json17 "source": "Source: https://www.globenewswire.com/news-release/2025/04/26/3068732/0/en/These-5-AI-trends-Will-ShapeCODE
MEDIUM…s/gpt-researcher/search-engines/test-your-retriever.md64 "href": "https://accredianpublication.medium.com/building-smarter-systems-the-role-of-agentic-design-patterns-in-genCODE
MEDIUMdocs/docs/gpt-researcher/llms/llms.md63# specify the custom embedding modelCOMMENT
MEDIUMdocs/docs/gpt-researcher/llms/running-with-azure.md14EMBEDDING="azure_openai:text-embedding-ada-002" # change to the deployment of your embedding modelCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-43-50.json31 "report": "# Due-diligence brief: Veltrix Dynamics B.V. (Rotterdam, warehouse robotics / AMR)\n\n## Executive suCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-43-50.json113 "report": "# Due-diligence brief: Veltrix Dynamics B.V. \n*Prepared July 5, 2026*\n\n## Executive summary\n\nVeCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-43-50.json195 "report": "# Due-Diligence Brief: Veltrix Dynamics B.V. \n**Topic:** Rotterdam-based warehouse robotics / AMR cCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-29-57.json31 "report": "# Due-diligence brief: Veltrix Dynamics B.V. (Rotterdam warehouse robotics / AMR)\n\n## Executive sumCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-29-57.json113 "report": "# Due-diligence brief: Veltrix Dynamics B.V.\n\n## Executive summary\n\nVeltrix Dynamics B.V. is a RoCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-29-57.json195 "report": "# Due-diligence brief: Veltrix Dynamics B.V.\n\n## Executive summary\n\n**Bottom line:** Veltrix DynaCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-37-31.json31 "report": "## Due-diligence brief: Veltrix Dynamics B.V. (Rotterdam warehouse robotics / AMR)\n\n### Executive sCODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-37-31.json113 "report": "# Due-diligence brief: Veltrix Dynamics B.V. (Rotterdam)\n\n## Executive summary\n\nVeltrix Dynamics CODE
MEDIUM…ents/benchmark_results/hybrid_2026-07-05_14-37-31.json195 "report": "# Due-diligence brief: Veltrix Dynamics B.V.\n\n## Executive summary\n\nVeltrix Dynamics B.V. appearsCODE
Deep Nesting41 hits · 40 pts
SeverityFileLineSnippetContext
LOWevals/hallucination_eval/run_eval.py146CODE
LOWevals/simple_evals/run_eval.py106CODE
LOWgpt_researcher/agent.py216CODE
LOWgpt_researcher/agent.py310CODE
LOWgpt_researcher/scraper/utils.py16CODE
LOWgpt_researcher/scraper/pymupdf/pymupdf.py34CODE
LOWgpt_researcher/scraper/browser/browser.py85CODE
LOWgpt_researcher/retrievers/searchapi/searchapi.py35CODE
LOWgpt_researcher/retrievers/mcp/retriever.py201CODE
LOWgpt_researcher/retrievers/mcp/retriever.py235CODE
LOWgpt_researcher/retrievers/serpapi/serpapi.py36CODE
LOWgpt_researcher/config/config.py98CODE
LOWgpt_researcher/config/config.py257CODE
LOWgpt_researcher/llm_provider/image/image_generator.py268CODE
LOWgpt_researcher/llm_provider/image/image_generator.py351CODE
LOWgpt_researcher/llm_provider/generic/base.py136CODE
LOWgpt_researcher/utils/tools.py46CODE
LOWgpt_researcher/utils/tools.py230CODE
LOWgpt_researcher/utils/tools.py241CODE
LOWgpt_researcher/mcp/research.py34CODE
LOWgpt_researcher/mcp/research.py158CODE
LOWgpt_researcher/mcp/tool_selector.py35CODE
LOWgpt_researcher/mcp/client.py40CODE
LOWgpt_researcher/mcp/streaming.py49CODE
LOWgpt_researcher/document/document.py21CODE
LOWgpt_researcher/actions/retriever.py123CODE
LOWgpt_researcher/skills/researcher.py97CODE
LOWgpt_researcher/skills/researcher.py280CODE
LOWgpt_researcher/skills/researcher.py410CODE
LOWgpt_researcher/skills/researcher.py466CODE
LOWgpt_researcher/skills/researcher.py671CODE
LOWgpt_researcher/skills/researcher.py768CODE
LOWgpt_researcher/skills/researcher.py853CODE
LOWgpt_researcher/skills/deep_research.py143CODE
LOWgpt_researcher/skills/image_generator.py467CODE
LOWgpt_researcher/skills/image_generator.py639CODE
LOWbackend/server/server_utils.py327CODE
LOWbackend/server/websocket_manager.py30CODE
LOWbackend/server/websocket_manager.py66CODE
LOWmulti_agents/agents/human.py10CODE
LOWdeep_agents/main.py40CODE
Redundant / Tautological Comments19 hits · 31 pts
SeverityFileLineSnippetContext
LOWevals/hallucination_eval/evaluate.py66 # Print resultsCOMMENT
LOWgpt_researcher/scraper/firecrawl/firecrawl.py55 # Check if the page has been scraped successfullyCOMMENT
LOWgpt_researcher/retrievers/mcp/retriever.py126 # Check if we have any server configurationsCOMMENT
LOWgpt_researcher/retrievers/mcp/retriever.py214 # Check if we have any server configurationsCOMMENT
LOWgpt_researcher/retrievers/mcp/__init__.py12 # Check if langchain-mcp-adapters is availableCOMMENT
LOWgpt_researcher/utils/logger.py17 # Check if the logger already has handlers to avoid duplicatesCOMMENT
LOWgpt_researcher/mcp/research.py84 # Check if the LLM made tool callsCOMMENT
LOWgpt_researcher/mcp/__init__.py16 # Check if langchain-mcp-adapters is availableCOMMENT
LOWgpt_researcher/actions/query_processing.py34 # Check if this is an MCP retriever and pass the researcher instanceCOMMENT
LOWgpt_researcher/actions/query_processing.py158 # Check if MCP is the only retriever or one of multiple retrieversCOMMENT
LOWgpt_researcher/skills/researcher.py139 # Check if MCP retrievers are configuredCOMMENT
LOWgpt_researcher/skills/image_generator.py617 # Check if this is a header that needs an imageCOMMENT
LOWtests/test-your-embeddings.py16 # Check if embedding attributes are setCOMMENT
LOWtests/documents-report-source.py45 # Check if the PDF and DOCX files are createdCOMMENT
LOWtests/report-types.py36 # Check if the report contains part of the queryCOMMENT
LOWbackend/utils.py82 # Set base_url to current directory for resolving any remaining relative pathsCOMMENT
LOWbackend/chat/chat.py117 # Check if Tavily client is availableCOMMENT
LOWbackend/server/server_utils.py210 # Check if ChatAgentWithMemory is availableCOMMENT
LOW.github/workflows/deploy.yml149 # Check if commit contains application changes (non-terraform files)COMMENT
Magic Placeholder Names5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHREADME.md296 export LANGCHAIN_API_KEY=your_api_keyCODE
HIGHfrontend/nextjs/README.md80 apiKey="your-api-key-if-needed"CODE
HIGH…s/docs/gpt-researcher/search-engines/search-engines.md55RETRIEVER_ARG_API_KEY=YOUR_API_KEYCODE
HIGHdocs/docs/gpt-researcher/gptr/scraping.md109 export TAVILY_API_KEY="your-api-key"CODE
HIGHdocs/docs/proposals/social-media-data-acquisition.md586 "Authorization": "Bearer YOUR_API_KEY",CODE
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…/benchmark_results/reports_2026-07-04_14-33-21_n8.json160 "report": "# AI governance in the US and EU: approaches and differences\n\n## Executive summary\n\nThe EU has adCODE
HIGH…/benchmark_results/reports_2026-07-04_14-33-21_n8.json160 "report": "# AI governance in the US and EU: approaches and differences\n\n## Executive summary\n\nThe EU has adCODE
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHgpt_researcher/skills/deep_research.py0previous research goal: {result['researchgoal']} follow-up questions: {' '.join(result['followupquestions'])}STRING
HIGHbackend/report_type/deep_research/example.py0previous research goal: {result['researchgoal']} follow-up questions: {' '.join(result['followupquestions'])}STRING
HIGHdocs/blog/2025-02-26-deep-research/index.md0previous research goal: {result['researchgoal']} follow-up questions: {' '.join(result['followupquestions'])}STRING
Verbosity Indicators8 hits · 14 pts
SeverityFileLineSnippetContext
LOW…researcher/retrievers/pubmed_central/pubmed_central.py142 # Step 1: Search for article IDsCOMMENT
LOW…researcher/retrievers/pubmed_central/pubmed_central.py147 # Step 2: Fetch full text for each articleCOMMENT
LOWgpt_researcher/skills/image_generator.py109 # Step 1: Use LLM to identify best visualization opportunitiesCOMMENT
LOWgpt_researcher/skills/image_generator.py124 # Step 2: Generate all images in parallelCOMMENT
LOWfrontend/nextjs/app/research/[id]/page.tsx115 // Step 1: Try to find it in localStorage firstCOMMENT
LOWfrontend/nextjs/app/research/[id]/page.tsx134 // Step 2: Try to find it in the backendCOMMENT
LOWfrontend/nextjs/app/research/[id]/page.tsx211 // Step 3: If found in localStorage but not in backend, save itCOMMENT
LOWfrontend/nextjs/app/research/[id]/page.tsx256 // Step 4: If not found anywhere, show not found messageCOMMENT
AI Structural Patterns12 hits · 12 pts
SeverityFileLineSnippetContext
LOWgpt_researcher/agent.py52CODE
LOWgpt_researcher/scraper/scraper.py72CODE
LOWgpt_researcher/retrievers/tavily/tavily_search.py61CODE
LOWgpt_researcher/utils/llm.py41CODE
LOWgpt_researcher/actions/report_generation.py209CODE
LOWbackend/report_type/detailed_report/detailed_report.py11CODE
LOWbackend/server/websocket_manager.py116CODE
LOWmulti_agents/agents/fact_checker.py32CODE
LOWmulti_agents/agents/orchestrator.py146CODE
LOWmulti_agents/agents/writer.py71CODE
LOWmulti_agents/agents/reviser.py52CODE
LOWmulti_agents/agents/visualizer.py26CODE
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHgpt_researcher/utils/tools.py58 Create a chat completion with tool calling support across all LLM providers. This function uses LangChain'STRING
HIGHmulti_agents/agents/utils/utils.py4 Sanitize a given filename by replacing characters that are invalid in Windows file paths with an underscore ('STRING
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMevals/hallucination_eval/results/aggregate_results.json11 "source": "Source: https://medium.com/@pranshu.singh765/mastering-llm-custom-data-training-in-2025-fine-tuning-larCODE
LOWgpt_researcher/prompts.py307- Don't forget to add a reference list at the end of the report in {report_format} format.CODE
Over-Commented Block4 hits · 4 pts
SeverityFileLineSnippetContext
LOWtests/research_test.py41 print(f"\nLength of the context = {len(researcher.get_research_context())}") # Must say Non-zero value because the qCOMMENT
LOWtests/research_test.py61# report, researcher = asyncio.run(get_report(query, report_type, sources))COMMENT
LOWtests/research_test.py81# report_type = "research_report"COMMENT
LOWtests/research_test.py101COMMENT
Fake / Example Data3 hits · 4 pts
SeverityFileLineSnippetContext
LOWjson_schema_generator.py35 "name": "John Doe",CODE
LOWdocs/docs/gpt-researcher/llms/llms.md48OPENAI_API_KEY=dummy_keyCODE
LOWdocs/docs/gpt-researcher/llms/llms.md61OPENAI_API_KEY=dummy_keyCODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWjson_schema_generator.py31# Example usageCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdeep_agents/drb_generate.py103 async def run_task(task: dict, agent=agent, system=system):CODE