Repository Analysis

Fosowl/agenticSeek

Fully Local Manus AI. No APIs, No $200 monthly bills. Enjoy an autonomous agent that thinks, browses the web, and code for the sole cost of electricity. 🔔 Official updates only via twitter @Martin993886460 (Beware of fake account)

11.1 Low AI signal View on GitHub
11.1
Adjusted Score
11.1
Raw Score
100%
Time Factor
2026-05-17
Last Push
26,435
Stars
Python
Language
47,503
Lines of Code
120
Files
337
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 34MEDIUM 12LOW 291

Pattern Findings

337 matches across 11 categories. Click a row to expand file-level details.

Cross-Language Confusion31 hits · 180 pts
SeverityFileLineSnippet
HIGHtests/test_memory.py49 index = self.memory.push("user", "Hello")
HIGHtests/test_memory.py56 self.memory.push("user", "Hello")
HIGHtests/test_memory.py62 mem_begin_idx = self.memory.push("user", "Hi i want you to make...")
HIGHtests/test_memory.py63 self.memory.push("assistant", "<code>")
HIGHtests/test_memory.py64 self.memory.push("user", "sys feedback: error")
HIGHtests/test_memory.py65 self.memory.push("assistant", "<corrected code>")
HIGHtests/test_memory.py66 mem_end_idx = self.memory.push("user", "according to search...")
HIGHtests/test_memory.py72 self.memory.push("user", "Hello")
HIGHtests/test_memory.py77 self.memory.push("user", "Hello")
HIGHtests/test_memory.py83 self.memory.push("user", "Hello")
HIGHtests/test_memory.py84 self.memory.push("assistant", "Hi")
HIGHsources/interaction.py292 self.current_agent.memory.push('user', self.last_query)
HIGHsources/interaction.py293 self.current_agent.memory.push('assistant', self.last_answer)
HIGHsources/memory.py277 memory.push('user', "hello")
HIGHsources/memory.py278 memory.push('assistant', "how can i help you?")
HIGHsources/memory.py279 memory.push('user', "why do i get this cuda error?")
HIGHsources/memory.py297 memory.push('assistant', sample_text)
HIGHsources/browser.py256 driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
HIGHsources/browser.py799 original_zoom = self.driver.execute_script("return document.body.style.zoom || 1;")
HIGHsources/llm_provider.py550\n\n```json\n{\n \"plan\": [\n {\n \"agent\": \"Web\",\n \"id\": \"1\",\n \"need\": null,\n \"ta
HIGHsources/agents/mcp_agent.py59 self.memory.push('user', prompt)
HIGHsources/agents/browser_agent.py182 self.memory.push('user', prompt)
HIGHsources/agents/browser_agent.py345 mem_begin_idx = self.memory.push('user', self.search_prompt(user_prompt))
HIGHsources/agents/browser_agent.py428 mem_last_idx = self.memory.push('user', prompt)
HIGHsources/agents/casual_agent.py27 self.memory.push('user', prompt)
HIGHsources/agents/planner_agent.py168 self.memory.push('user', prompt)
HIGHsources/agents/file_agent.py30 self.memory.push('user', prompt)
HIGHsources/agents/code_agent.py51 self.memory.push('user', prompt)
HIGHsources/agents/agent.py177 self.memory.push('assistant', answer)
HIGHsources/agents/agent.py280 self.memory.push('user', feedback)
HIGHsources/agents/agent.py282 self.memory.push('user', feedback)
Hyper-Verbose Identifiers81 hits · 96 pts
SeverityFileLineSnippet
LOWtests/test_browser_agent_parsing.py48 def test_extract_links_no_links(self):
LOWtests/test_browser_agent_parsing.py53 def test_extract_links_single_link(self):
LOWtests/test_browser_agent_parsing.py72 def test_extract_form_checkbox(self):
LOWtests/test_browser_agent_parsing.py94 def test_clean_links_with_slash(self):
LOWtests/test_browser_agent_parsing.py110 def test_parse_answer_extracts_links(self):
LOWtests/test_browser_agent_parsing.py117 def test_parse_answer_no_notes(self):
LOWtests/test_browser_agent_parsing.py124 def test_select_link_unvisited(self):
LOWtests/test_browser_agent_parsing.py132 def test_select_link_all_visited(self):
LOWtests/test_browser_agent_parsing.py145 def test_jsonify_search_results(self):
LOWtests/test_browser_agent_parsing.py160 def test_jsonify_search_results_empty(self):
LOWtests/test_browser_agent_parsing.py165 def test_jsonify_search_results_partial(self):
LOWtests/test_browser_agent_parsing.py174 def test_stringify_search_results(self):
LOWtests/test_browser_agent_parsing.py196 def test_select_unvisited_all_new(self):
LOWtests/test_utility.py12 def test_get_color_map_returns_dict(self):
LOWtests/test_utility.py17 def test_get_color_map_has_required_keys(self):
LOWtests/test_utility.py24 def test_get_color_map_values_are_strings(self):
LOWtests/test_searx_search.py20 def test_initialization_with_env_variable(self):
LOWtests/test_searx_search.py27 def test_initialization_no_base_url(self):
LOWtests/test_searx_search.py56 def test_execute_request_exception(self):
LOWtests/test_searx_search.py76 def test_execution_failure_check_error(self):
LOWtests/test_searx_search.py81 def test_execution_failure_check_no_error(self):
LOWtests/test_litellm_provider.py14 def test_litellm_provider_registered(self):
LOWtests/test_litellm_provider.py19 def test_litellm_not_in_unsafe_providers(self):
LOWtests/test_litellm_provider.py24 def test_litellm_no_api_key_required_at_init(self):
LOWtests/test_litellm_provider.py29 def test_litellm_local_not_supported(self):
LOWtests/test_litellm_provider.py38 def test_litellm_fn_returns_content(self, mock_completion):
LOWtests/test_litellm_provider.py51 def test_litellm_fn_passes_drop_params(self, mock_completion):
LOWtests/test_litellm_provider.py64 def test_litellm_fn_passes_model(self, mock_completion):
LOWtests/test_litellm_provider.py78 def test_litellm_fn_passes_api_key_from_env(self, mock_completion):
LOWtests/test_litellm_provider.py92 def test_litellm_fn_omits_api_key_when_not_set(self, mock_completion):
LOWtests/test_litellm_provider.py105 def test_litellm_fn_raises_on_empty_response(self, mock_completion):
LOWtests/test_litellm_provider.py115 def test_litellm_fn_raises_on_api_error(self, mock_completion):
LOWtests/test_provider.py54 def test_unresolvable_hostname(self):
LOWtests/test_memory.py82 def test_save_and_load_memory(self):
LOWtests/test_chromedriver_update.py30 def test_get_chromedriver_version_success(self, mock_run):
LOWtests/test_chromedriver_update.py38 def test_get_chromedriver_version_failure(self, mock_run):
LOWtests/test_chromedriver_update.py44 def test_get_chromedriver_version_timeout(self, mock_run):
LOWtests/test_chromedriver_update.py60 def test_incompatible_versions(self, mock_driver_ver, mock_chrome_ver):
LOWtests/test_chromedriver_update.py67 def test_no_chrome_version_assumes_compatible(self, mock_chrome_ver):
LOWtests/test_chromedriver_update.py74 def test_no_driver_version_assumes_compatible(self, mock_driver_ver, mock_chrome_ver):
LOWtests/test_minimax_provider.py14 def test_minimax_provider_registered(self):
LOWtests/test_minimax_provider.py20 def test_minimax_in_unsafe_providers(self):
LOWtests/test_minimax_provider.py26 def test_minimax_api_key_required(self):
LOWtests/test_minimax_provider.py35 def test_minimax_local_not_supported(self, mock_openai_class):
LOWtests/test_minimax_provider.py46 def test_minimax_uses_correct_base_url(self, mock_openai_class):
LOWtests/test_minimax_provider.py69 def test_minimax_custom_base_url(self, mock_openai_class):
LOWtests/test_minimax_provider.py89 def test_minimax_uses_temperature_one(self, mock_openai_class):
LOWtests/test_minimax_provider.py107 def test_minimax_returns_response_content(self, mock_openai_class):
LOWtests/test_minimax_provider.py124 def test_minimax_handles_empty_response(self, mock_openai_class):
LOWtests/test_minimax_provider.py140 def test_minimax_handles_api_error(self, mock_openai_class):
LOWtests/test_planner_agent_parsing.py53 def test_parse_malformed_json_returns_empty(self):
LOWtests/test_planner_agent_parsing.py64 def test_parse_truncated_json_returns_empty(self):
LOWtests/test_planner_agent_parsing.py75 def test_parse_no_blocks_returns_empty(self):
LOWtests/test_planner_agent_parsing.py84 def test_parse_invalid_agent_returns_empty(self):
LOWtests/test_planner_agent_parsing.py94 def test_parse_multiple_tasks(self):
LOWtests/test_tools_parsing.py29 def test_load_exec_block_single_block(self):
LOWtests/test_tools_parsing.py45 def test_load_exec_block_multiple_blocks(self):
LOWtests/test_tools_parsing.py69 def test_load_exec_block_with_save_path(self):
LOWtests/test_tools_parsing.py85 def test_load_exec_block_with_indentation(self):
LOWtests/test_tools_parsing.py102 def test_load_exec_block_no_blocks(self):
21 more matches not shown…
Unused Imports89 hits · 86 pts
SeverityFileLineSnippet
LOWapi.py5
LOWapi.py7
LOWapi.py8
LOWapi.py9
LOWcli.py3
LOWcli.py4
LOWcli.py10
LOWcli.py10
LOWtests/test_searx_search.py7
LOWtests/test_provider.py5
LOWtests/test_provider.py6
LOWtests/test_provider.py7
LOWtests/test_memory.py4
LOWtests/test_planner_agent_parsing.py2
LOWtests/test_logger.py4
LOWtests/test_logger.py5
LOWllm_server/app.py4
LOWllm_server/sources/cache.py1
LOWsources/interaction.py1
LOWsources/interaction.py2
LOWsources/interaction.py2
LOWsources/memory.py1
LOWsources/memory.py7
LOWsources/memory.py7
LOWsources/memory.py7
LOWsources/memory.py7
LOWsources/memory.py12
LOWsources/logger.py1
LOWsources/logger.py2
LOWsources/logger.py2
LOWsources/logger.py2
LOWsources/logger.py2
LOWsources/logger.py3
LOWsources/text_to_speech.py6
LOWsources/text_to_speech.py6
LOWsources/text_to_speech.py6
LOWsources/text_to_speech.py6
LOWsources/text_to_speech.py19
LOWsources/text_to_speech.py19
LOWsources/text_to_speech.py22
LOWsources/text_to_speech.py22
LOWsources/browser.py9
LOWsources/browser.py9
LOWsources/browser.py9
LOWsources/browser.py12
LOWsources/browser.py16
LOWsources/browser.py25
LOWsources/browser.py32
LOWsources/schemas.py2
LOWsources/schemas.py2
LOWsources/language.py1
LOWsources/language.py1
LOWsources/language.py1
LOWsources/language.py2
LOWsources/router.py5
LOWsources/router.py16
LOWsources/tools/fileFinder.py4
LOWsources/tools/__init__.py1
LOWsources/tools/__init__.py2
LOWsources/tools/__init__.py3
29 more matches not shown…
Excessive Try-Catch Wrapping70 hits · 74 pts
SeverityFileLineSnippet
LOWapi.py215 except Exception as e:
MEDIUMapi.py217 pretty_print(f"An error occurred: {str(e)}", color="error")
LOWapi.py281 except Exception as e:
MEDIUMapi.py201def think_wrapper(interaction, query):
LOWcli.py69 except Exception as e:
LOWllm_server/sources/ollama_handler.py37 except Exception as e:
LOWllm_server/sources/llamacpp_handler.py36 except Exception as e:
LOWsources/memory.py114 except Exception as e:
LOWsources/memory.py129 except Exception as e:
LOWsources/speech_to_text.py53 except Exception:
LOWsources/speech_to_text.py62 except Exception:
LOWsources/logger.py34 except Exception as e:
LOWsources/browser.py307 except Exception as e:
LOWsources/browser.py320 except Exception as e:
LOWsources/browser.py656 except Exception as e:
LOWsources/browser.py660 except Exception as e:
LOWsources/browser.py90 except Exception:
LOWsources/browser.py104 except Exception:
LOWsources/browser.py138 except Exception as e:
LOWsources/browser.py241 except Exception as e:
LOWsources/browser.py252 except Exception as e:
LOWsources/browser.py296 except Exception as e:
LOWsources/browser.py373 except Exception as e:
LOWsources/browser.py415 except Exception as e:
LOWsources/browser.py471 except Exception as e:
LOWsources/browser.py496 except Exception as e:
LOWsources/browser.py509 except Exception as e:
LOWsources/browser.py518 except Exception as e:
LOWsources/browser.py552 except Exception as e:
LOWsources/browser.py559 except Exception as e:
LOWsources/browser.py619 except Exception as e:
LOWsources/browser.py719 except Exception:
LOWsources/browser.py723 except Exception as sel_e:
LOWsources/browser.py747 except Exception as e:
LOWsources/browser.py787 except Exception as e:
LOWsources/browser.py807 except Exception as e:
LOWsources/language.py72 except Exception as e:
LOWsources/llm_provider.py94 except Exception as e:
LOWsources/llm_provider.py156 except Exception as e:
MEDIUMsources/llm_provider.py157 pretty_print(f"An error occurred: {str(e)}", color="failure")
LOWsources/llm_provider.py162 except Exception as e:
LOWsources/llm_provider.py192 except Exception as e:
LOWsources/llm_provider.py229 except Exception as e:
LOWsources/llm_provider.py248 except Exception as e:
LOWsources/llm_provider.py280 except Exception as e:
LOWsources/llm_provider.py303 except Exception as e:
LOWsources/llm_provider.py326 except Exception as e:
LOWsources/llm_provider.py346 except Exception as e:
LOWsources/llm_provider.py413 except Exception as e:
LOWsources/llm_provider.py438 except Exception as e:
LOWsources/llm_provider.py471 except Exception as e:
LOWsources/llm_provider.py542 except Exception as e:
LOWsources/router.py57 except Exception as e:
LOWsources/router.py411 except Exception as e:
MEDIUMsources/router.py412 pretty_print(f"Error in estimate_complexity: {str(e)}", color="failure")
MEDIUMsources/router.py437 pretty_print(f"Error finding planner agent. Please add a planner agent to the list of agents.", color="failure")
LOWsources/router.py462 except Exception as e:
MEDIUMsources/router.py469 pretty_print(f"Error choosing agent.", color="failure")
LOWsources/tools/fileFinder.py32 except Exception as e:
LOWsources/tools/PyInterpreter.py50 except Exception as e:
10 more matches not shown…
Over-Commented Block27 hits · 22 pts
SeverityFileLineSnippet
LOWfrontend/agentic-seek-front/src/setupTests.js1// jest-dom adds custom jest matchers for asserting on DOM nodes.
LOWsearxng/settings.yml21 new_issue_url: https://github.com/searxng/searxng/issues/new
LOWsearxng/settings.yml41 autocomplete_min: 4
LOWsearxng/settings.yml121 static_use_hash: false
LOWsearxng/settings.yml141 # style of simple theme: auto, light, dark
LOWsearxng/settings.yml161# - doi_resolver
LOWsearxng/settings.yml181# proxify_results: true
LOWsearxng/settings.yml201 # see https://www.python-httpx.org/advanced/#changing-the-verification-defaults
LOWsearxng/settings.yml221 # uncomment below section only if you have more than one network interface
LOWsearxng/settings.yml241# # these plugins are enabled if nothing is configured ..
LOWsearxng/settings.yml261# '(www\.)?twitter\.com$': 'nitter.example.com'
LOWsearxng/settings.yml281 off_when_debug: true
LOWsearxng/settings.yml621 engine: cloudflareai
LOWsearxng/settings.yml781 official_api_documentation:
LOWsearxng/settings.yml1301 # base_url: http://localhost:7700
LOWsearxng/settings.yml1521 - https://pximg.example.org
LOWsearxng/settings.yml1701 - name: rottentomatoes
LOWsearxng/settings.yml1821
LOWsearxng/settings.yml1881
LOWsearxng/settings.yml1921
LOWsearxng/settings.yml2121# - name: wikicommons.images
LOWsearxng/settings.yml2141#
LOWsearxng/settings.yml2181 # limit: 10
LOWsearxng/settings.yml2541# of access tokens under tokens.
LOWsearxng/settings.yml2561# disabled: true
LOWsearxng/settings.yml2581# Be careful when enabling this engine if you are
LOWsources/browser.py841# https://browserleaks.com/
Redundant / Tautological Comments11 hits · 18 pts
SeverityFileLineSnippet
LOWstart_services.sh41# Check if Docker daemon is running
LOWstart_services.sh66# Check if Docker Compose is installed
LOWstart_services.sh81# Check if docker-compose.yml exists
LOWsearxng/setup_searxng.sh9# Check if Docker is installed
LOWsearxng/setup_searxng.sh17# Check if Docker daemon is running
LOWsearxng/setup_searxng.sh42# Check if Docker Compose is installed
LOWsearxng/setup_searxng.sh54# Check if docker-compose.yml exists
LOWscripts/linux_install.sh7# Check if uv is installed
LOWscripts/macos_install.sh7# Check if uv is installed
LOWscripts/macos_install.sh14# Check if homebrew is installed
LOWsources/echo_filter.py48 # Check if this exact sequence exists in the last spoken text
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippet
HIGHsources/tools/PyInterpreter.py0provide feedback based on the output of the code execution
HIGHsources/tools/C_Interpreter.py0provide feedback based on the output of the code execution
HIGHsources/tools/GoInterpreter.py0provide feedback based on the output of the code execution
Deep Nesting15 hits · 12 pts
SeverityFileLineSnippet
LOWllm_server/sources/ollama_handler.py16
LOWsources/text_to_speech.py67
LOWsources/browser.py419
LOWsources/browser.py526
LOWsources/browser.py595
LOWsources/browser.py625
LOWsources/browser.py681
LOWsources/llm_provider.py126
LOWsources/tools/tools.py154
LOWsources/tools/searxSearch.py29
LOWsources/tools/webSearch.py28
LOWsources/tools/webSearch.py60
LOWsources/agents/browser_agent.py198
LOWsources/agents/planner_agent.py63
LOWsources/agents/agent.py255
Slop Phrases4 hits · 12 pts
SeverityFileLineSnippet
MEDIUMsearxng/settings.yml269# Alternatively you can use external files for configuring the "Hostnames plugin":
MEDIUMsearxng/settings.yml908 # Or you can use the html non-stable engine, activated by default
MEDIUMsearxng/settings.yml1993 # Or you can use the html non-stable engine, activated by default
MEDIUMsearxng/settings.yml2157 # Or you can use the html non-stable engine, activated by default
Self-Referential Comments2 hits · 8 pts
SeverityFileLineSnippet
MEDIUMllm_router/dl_safetensors.sh10# Define the URL and filename
MEDIUMsearxng/setup_searxng.sh50# Create a directory for SearXNG config if it doesn’t exist
Overly Generic Function Names4 hits · 3 pts
SeverityFileLineSnippet
LOWtests/test_tools_parsing.py158def process_data(data):
LOWtests/test_tools_parsing.py175 self.assertEqual(blocks[1], '\ndef process_data(data):\n return data.upper()\n')
LOWllm_server/sources/decorator.py7 def my_function():
LOWsources/utility.py110 def my_function():