From f60406d0f1661217e1c0c5b52ab1baabe9963191 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sat, 29 Mar 2025 21:27:19 +0100 Subject: [PATCH 01/17] script update --- scripts/linux_install.sh | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/scripts/linux_install.sh b/scripts/linux_install.sh index de0b45d..7fe6efa 100644 --- a/scripts/linux_install.sh +++ b/scripts/linux_install.sh @@ -4,21 +4,20 @@ echo "Starting installation for Linux..." # Update package list sudo apt-get update - -pip install --upgrade pip - # make sure essential tool are installed sudo apt install python3-dev python3-pip python3-wheel build-essential alsa-utils +# upgrade pip +pip install --upgrade pip # install port audio sudo apt-get install portaudio19-dev python-pyaudio python3-pyaudio # install chromedriver misc -sudo apt install libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2t64 +sudo apt install libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1 # install wheel pip install --upgrade pip setuptools wheel # install docker compose sudo apt install docker-compose # Install Python dependencies from requirements.txt -pip3 install -r requirements.txt +pip3 install --no-cache-dir --force-reinstall -r requirements.txt # Install Selenium for chromedriver pip3 install selenium From 7331cb7cb2df017f1c313ab38bf4b33dc91545a9 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 11:51:41 +0200 Subject: [PATCH 02/17] feat : better verbose message --- server/sources/ollama_handler.py | 7 ++++--- sources/browser.py | 2 +- sources/interaction.py | 28 +++++++++++++++++++++------- sources/utility.py | 31 +++++++++++++++++-------------- 4 files changed, 43 insertions(+), 25 deletions(-) diff --git a/server/sources/ollama_handler.py b/server/sources/ollama_handler.py index aaaac5b..6348db1 100644 --- a/server/sources/ollama_handler.py +++ b/server/sources/ollama_handler.py @@ -22,13 +22,14 @@ class OllamaLLM(GeneratorLLM): stream = ollama.chat( model=self.model, messages=history, - stream=True, + stream=False, ) for chunk in stream: content = chunk['message']['content'] - if '\n' in content: - self.logger.info(content) + if '.' in content: + self.logger.info(self.state.current_buffer) + self.state.last_complete_sentence = self.state.current_buffer with self.state.lock: self.state.current_buffer += content diff --git a/sources/browser.py b/sources/browser.py index 4a192de..c3d8fbf 100644 --- a/sources/browser.py +++ b/sources/browser.py @@ -19,7 +19,7 @@ import sys import re from urllib.parse import urlparse -from sources.utility import pretty_print +from sources.utility import pretty_print, animate_thinking def get_chrome_path() -> str: if sys.platform.startswith("win"): diff --git a/sources/interaction.py b/sources/interaction.py index 4b6888e..a4a0351 100644 --- a/sources/interaction.py +++ b/sources/interaction.py @@ -1,6 +1,6 @@ from sources.text_to_speech import Speech -from sources.utility import pretty_print +from sources.utility import pretty_print, animate_thinking from sources.router import AgentRouter from sources.speech_to_text import AudioTranscriber, AudioRecorder @@ -12,23 +12,37 @@ class Interaction: tts_enabled: bool = True, stt_enabled: bool = True, recover_last_session: bool = False): - self.agents = agents - self.current_agent = None - self.router = AgentRouter(self.agents) - self.speech = Speech(enable=tts_enabled) self.is_active = True + self.current_agent = None self.last_query = None self.last_answer = None - self.ai_name = self.find_ai_name() + self.speech = None + self.agents = agents self.tts_enabled = tts_enabled self.stt_enabled = stt_enabled + self.recover_last_session = recover_last_session + self.router = AgentRouter(self.agents) + if tts_enabled: + animate_thinking("Initializing text-to-speech...", color="status") + self.speech = Speech(enable=tts_enabled) + self.ai_name = self.find_ai_name() + self.transcriber = None + self.recorder = None if stt_enabled: + animate_thinking("Initializing speech recognition...", color="status") self.transcriber = AudioTranscriber(self.ai_name, verbose=False) self.recorder = AudioRecorder() if recover_last_session: self.load_last_session() - if tts_enabled: + self.emit_status() + + def emit_status(self): + """Print the current status of agenticSeek.""" + if self.stt_enabled: + pretty_print(f"Text-to-speech trigger is {self.ai_name}", color="status") + if self.tts_enabled: self.speech.speak("Hello, we are online and ready. What can I do for you ?") + pretty_print("AgenticSeek is ready.", color="status") def find_ai_name(self) -> str: """Find the name of the default AI. It is required for STT as a trigger word.""" diff --git a/sources/utility.py b/sources/utility.py index 3e1a811..14d2e2a 100644 --- a/sources/utility.py +++ b/sources/utility.py @@ -6,8 +6,8 @@ import threading import itertools import time -global thinking_toggle -thinking_toggle = False +thinking_event = threading.Event() +current_animation_thread = None def get_color_map(): if platform.system().lower() != "windows": @@ -48,8 +48,11 @@ def pretty_print(text, color="info"): - "output": Cyan - "default": Black (Windows only) """ - global thinking_toggle - thinking_toggle = False + thinking_event.set() + if current_animation_thread and current_animation_thread.is_alive(): + current_animation_thread.join() + thinking_event.clear() + color_map = get_color_map() if color not in color_map: color = "info" @@ -61,10 +64,14 @@ def animate_thinking(text, color="status", duration=120): It use a daemon thread to run the animation. This will not block the main thread. Color are the same as pretty_print. """ - global thinking_toggle - thinking_toggle = True + global current_animation_thread + + thinking_event.set() + if current_animation_thread and current_animation_thread.is_alive(): + current_animation_thread.join() + thinking_event.clear() + def _animate(): - global thinking_toggle color_map = { "success": (Fore.GREEN, "green"), "failure": (Fore.RED, "red"), @@ -84,10 +91,7 @@ def animate_thinking(text, color="status", duration=120): ]) end_time = time.time() + duration - while time.time() < end_time: - if not thinking_toggle: - # stop if another text is printed - break + while not thinking_event.is_set() and time.time() < end_time: symbol = next(spinner) if platform.system().lower() != "windows": print(f"\r{fore_color}{symbol} {text}{Fore.RESET}", end="", flush=True) @@ -95,9 +99,8 @@ def animate_thinking(text, color="status", duration=120): print(f"\r{colored(f'{symbol} {text}', term_color)}", end="", flush=True) time.sleep(0.2) print("\r" + " " * (len(text) + 7) + "\r", end="", flush=True) - print() - animation_thread = threading.Thread(target=_animate, daemon=True) - animation_thread.start() + current_animation_thread = threading.Thread(target=_animate, daemon=True) + current_animation_thread.start() def timer_decorator(func): """ From 4d0130c2972810ebf6bbb2c8f655de144acfe4f5 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 11:53:25 +0200 Subject: [PATCH 03/17] feat : loading verbose message --- main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/main.py b/main.py index ada406c..cc58f14 100755 --- a/main.py +++ b/main.py @@ -9,6 +9,7 @@ from sources.llm_provider import Provider from sources.interaction import Interaction from sources.agents import Agent, CoderAgent, CasualAgent, FileAgent, PlannerAgent, BrowserAgent from sources.browser import Browser, create_driver +from sources.utility import pretty_print import warnings warnings.filterwarnings("ignore") @@ -22,6 +23,7 @@ def handleInterrupt(signum, frame): def main(): signal.signal(signal.SIGINT, handler=handleInterrupt) + pretty_print("Initializing...", color="status") provider = Provider(provider_name=config["MAIN"]["provider_name"], model=config["MAIN"]["provider_model"], server_address=config["MAIN"]["provider_server_address"], From 61d83e66148ab505e6199969129b9cefc8a7f7a0 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 11:55:55 +0200 Subject: [PATCH 04/17] fix relative import issue --- server/sources/llamacpp_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/sources/llamacpp_handler.py b/server/sources/llamacpp_handler.py index 16526d0..bb00cc8 100644 --- a/server/sources/llamacpp_handler.py +++ b/server/sources/llamacpp_handler.py @@ -1,7 +1,7 @@ from .generator import GeneratorLLM from llama_cpp import Llama -from decorator import timer_decorator +from .decorator import timer_decorator class LlamacppLLM(GeneratorLLM): From 6b31516cd9a465094b213f7f9116c7ea0e11c056 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 12:00:20 +0200 Subject: [PATCH 05/17] fix : bug from weird ollama behavior --- server/sources/ollama_handler.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/sources/ollama_handler.py b/server/sources/ollama_handler.py index 6348db1..b52694e 100644 --- a/server/sources/ollama_handler.py +++ b/server/sources/ollama_handler.py @@ -26,6 +26,9 @@ class OllamaLLM(GeneratorLLM): ) for chunk in stream: + if type(chunk) != dict: + self.logger.error(f"Error: chunk not a dict") + continue content = chunk['message']['content'] if '.' in content: self.logger.info(self.state.current_buffer) From e56e5a4b3dad8ba7c7947e14074b5ced1b33f755 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 12:02:17 +0200 Subject: [PATCH 06/17] fix : fix --- server/sources/ollama_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/sources/ollama_handler.py b/server/sources/ollama_handler.py index b52694e..2ff130a 100644 --- a/server/sources/ollama_handler.py +++ b/server/sources/ollama_handler.py @@ -22,7 +22,7 @@ class OllamaLLM(GeneratorLLM): stream = ollama.chat( model=self.model, messages=history, - stream=False, + stream=True, ) for chunk in stream: From 69f276955ad0ce76db0f070aa66790d5815b497e Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 12:04:06 +0200 Subject: [PATCH 07/17] fix: ollama server issue --- server/sources/ollama_handler.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/server/sources/ollama_handler.py b/server/sources/ollama_handler.py index 2ff130a..f9028a1 100644 --- a/server/sources/ollama_handler.py +++ b/server/sources/ollama_handler.py @@ -24,18 +24,14 @@ class OllamaLLM(GeneratorLLM): messages=history, stream=True, ) - for chunk in stream: - if type(chunk) != dict: - self.logger.error(f"Error: chunk not a dict") - continue content = chunk['message']['content'] - if '.' in content: - self.logger.info(self.state.current_buffer) - self.state.last_complete_sentence = self.state.current_buffer + if '\n' in content: + self.logger.info(content) with self.state.lock: self.state.current_buffer += content + except Exception as e: if "404" in str(e): self.logger.info(f"Downloading {self.model}...") From 3dbef96cf02b2cbefb787ca853e66b8a73428d0b Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 15:20:43 +0200 Subject: [PATCH 08/17] feat : stealth browser with selenium_stealth for captcha --- install.sh | 3 +++ requirements.txt | 3 +++ scripts/macos_install.sh | 3 +++ setup.py | 3 +++ sources/browser.py | 56 ++++++++++++++++++++++++++++------------ 5 files changed, 52 insertions(+), 16 deletions(-) diff --git a/install.sh b/install.sh index 93b8cf9..d70706e 100755 --- a/install.sh +++ b/install.sh @@ -7,12 +7,14 @@ echo "Detecting operating system..." OS_TYPE=$(uname -s) + case "$OS_TYPE" in "Linux"*) echo "Detected Linux OS" if [ -f "$SCRIPTS_DIR/linux_install.sh" ]; then echo "Running Linux installation script..." bash "$SCRIPTS_DIR/linux_install.sh" + bash -c "wget https://github.com/Fosowl/fosowl.github.io/raw/refs/heads/main/usefull/anticaptcha.crx" bash -c "cd $LLM_ROUTER_DIR && ./dl_safetensors.sh" else echo "Error: $SCRIPTS_DIR/linux_install.sh not found!" @@ -24,6 +26,7 @@ case "$OS_TYPE" in if [ -f "$SCRIPTS_DIR/macos_install.sh" ]; then echo "Running macOS installation script..." bash "$SCRIPTS_DIR/macos_install.sh" + bash -c "wget https://github.com/Fosowl/fosowl.github.io/raw/refs/heads/main/usefull/anticaptcha.crx" bash -c "cd $LLM_ROUTER_DIR && ./dl_safetensors.sh" else echo "Error: $SCRIPTS_DIR/macos_install.sh not found!" diff --git a/requirements.txt b/requirements.txt index 1a9f46b..8586850 100644 --- a/requirements.txt +++ b/requirements.txt @@ -29,6 +29,9 @@ distro>=1.7.0,<2 jiter>=0.4.0,<1 sniffio tqdm>4 +fake_useragent>=2.1.0 +selenium_stealth>=1.0.6 +undetected-chromedriver>=3.5.5 # for api provider openai # if use chinese diff --git a/scripts/macos_install.sh b/scripts/macos_install.sh index 8a4bd5c..5e648c2 100644 --- a/scripts/macos_install.sh +++ b/scripts/macos_install.sh @@ -5,6 +5,9 @@ echo "Starting installation for macOS..." # Install Python dependencies from requirements.txt pip3 install -r requirements.txt +# make sure wget installed +brew install wget + # Install chromedriver using Homebrew brew install --cask chromedriver diff --git a/setup.py b/setup.py index 8f22c71..4af1bf3 100644 --- a/setup.py +++ b/setup.py @@ -41,6 +41,9 @@ setup( "anyio>=3.5.0,<5", "distro>=1.7.0,<2", "jiter>=0.4.0,<1", + "fake_useragent>=2.1.0", + "selenium_stealth>=1.0.6", + "undetected-chromedriver>=3.5.5", "sniffio", "tqdm>4" ], diff --git a/sources/browser.py b/sources/browser.py index c3d8fbf..95e86ab 100644 --- a/sources/browser.py +++ b/sources/browser.py @@ -7,17 +7,21 @@ from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import TimeoutException, WebDriverException from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.chrome.options import Options +from bs4 import BeautifulSoup +from urllib.parse import urlparse from typing import List, Tuple +from fake_useragent import UserAgent +from selenium_stealth import stealth +import undetected_chromedriver as uc import chromedriver_autoinstaller import time +import random import os import shutil -from bs4 import BeautifulSoup import markdownify import logging import sys import re -from urllib.parse import urlparse from sources.utility import pretty_print, animate_thinking @@ -39,7 +43,8 @@ def get_chrome_path() -> str: return path return None -def create_driver(headless=False): +def create_driver(headless=False, stealth_mode=True) -> webdriver.Chrome: + """Create a Chrome WebDriver with specified options.""" chrome_options = Options() chrome_path = get_chrome_path() @@ -51,20 +56,19 @@ def create_driver(headless=False): chrome_options.add_argument("--headless") chrome_options.add_argument("--disable-gpu") chrome_options.add_argument("--disable-webgl") + #ua = UserAgent() + #user_agent = ua.random # NOTE sometime return wrong user agent, investigate + #chrome_options.add_argument(f'user-agent={user_agent}') chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-dev-shm-usage") chrome_options.add_argument("--autoplay-policy=user-gesture-required") chrome_options.add_argument("--mute-audio") chrome_options.add_argument("--disable-notifications") chrome_options.add_argument('--window-size=1080,560') - security_prefs = { - "profile.default_content_setting_values.media_stream": 2, - "profile.default_content_setting_values.geolocation": 2, - "safebrowsing.enabled": True, - } - chrome_options.add_experimental_option("prefs", security_prefs) - chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"]) - chrome_options.add_experimental_option('useAutomationExtension', False) + try: + chrome_options.add_extension("./anticaptcha.crx") + except Exception as e: + print(f"Failed to load AntiCaptcha extension: {str(e)}") chromedriver_path = shutil.which("chromedriver") if not chromedriver_path: @@ -74,10 +78,29 @@ def create_driver(headless=False): raise FileNotFoundError("ChromeDriver not found. Please install it or add it to your PATH.") service = Service(chromedriver_path) + if stealth_mode: + driver = uc.Chrome(service=service, options=chrome_options) + stealth(driver, + languages=["en-US", "en"], + vendor="Google Inc.", + platform="Win32", + webgl_vendor="Intel Inc.", + renderer="Intel Iris OpenGL Engine", + fix_hairline=True, + ) + return driver + security_prefs = { + "profile.default_content_setting_values.media_stream": 2, + "profile.default_content_setting_values.geolocation": 2, + "safebrowsing.enabled": True, + } + chrome_options.add_experimental_option("prefs", security_prefs) + chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"]) + chrome_options.add_experimental_option('useAutomationExtension', False) return webdriver.Chrome(service=service, options=chrome_options) class Browser: - def __init__(self, driver, anticaptcha_install=True): + def __init__(self, driver, anticaptcha_manual_install=False): """Initialize the browser with optional AntiCaptcha installation.""" self.js_scripts_folder = "./sources/web_scripts/" if not __name__ == "__main__" else "./web_scripts/" self.anticaptcha = "https://chrome.google.com/webstore/detail/nopecha-captcha-solver/dknlfmjaanfblgfdfebhijalfmhmjjjo/related" @@ -88,10 +111,11 @@ class Browser: self.logger.info("Browser initialized successfully") except Exception as e: raise Exception(f"Failed to initialize browser: {str(e)}") - if anticaptcha_install: - self.load_anticatpcha() + self.driver.get("https://www.google.com") + if anticaptcha_manual_install: + self.load_anticatpcha_manually() - def load_anticatpcha(self): + def load_anticatpcha_manually(self): print("You might want to install the AntiCaptcha extension for captchas.") self.driver.get(self.anticaptcha) @@ -129,11 +153,11 @@ class Browser: for element in soup(['script', 'style']): element.decompose() - text = soup.get_text() lines = (line.strip() for line in text.splitlines()) chunks = (phrase.strip() for line in lines for phrase in line.split(" ")) text = "\n".join(chunk for chunk in chunks if chunk and self.is_sentence(chunk)) + text = text[:4096] #markdown_text = markdownify.markdownify(text, heading_style="ATX") return "[Start of page]\n" + text + "\n[End of page]" except Exception as e: From a0b09410b3a3542fc9ee5df8f07c8e61eaf71471 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 15:37:06 +0200 Subject: [PATCH 09/17] feat : nopecha crx --- crx/nopecha.crx | Bin 0 -> 135102 bytes install.sh | 2 -- sources/browser.py | 30 +++++++++++++----------------- 3 files changed, 13 insertions(+), 19 deletions(-) create mode 100644 crx/nopecha.crx diff --git a/crx/nopecha.crx b/crx/nopecha.crx new file mode 100644 index 0000000000000000000000000000000000000000..b114a0572d676fbc74e66c1170939ae68f1a799d GIT binary patch literal 135102 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 z≫Tj!GjPn&LCE$1(H9+O4>72(aQ>t7Ox(;)g5`0q8ovc1;Jdy)+f!50im5@X~k7 zcW}+x2o$!Mn@&n~3TKR>cBAkeKsI9G-i<(g4?^(fSU{nZ(a8CV?`;;0Q;%2C}u!$_7)6lU^&GI>Qo>d$U1`T z^)!^8;(61$x@?h{Efy&C8)5S(E_fg}ji!SPPIhL=3xq`PA(tTLTe}gQY7&W#;OLYo z8KoVVJ)49=B=DF;a@Z|O<#Adi*BR`RNE6@^=1}d}ZJ%ahf}!)U#(k;t^;`k-ji)YE zG9LbIy{2cN-EV*HceR{86Q4J9s-8ogaE6`kCoGUl3Ll~r6MMY+C3x@vH=eyTvlrcO z>xrLLD0Ky*vtlkvh%tteWih>ryq?0tL=P?zNC!8|(hAkL8N_gIVaOBB#RaT))Xg9? z9FE_q*aTWz5~)0!4!jdDdh8uru|5T;@;<9{2|n)dY8UIHEu42?VO99#M1n#wGci&4bKC7N~9mBD%?^Hqf6xr77-N zbr=IH(6WY6PUFlV|7LLl(iNw7&oql7R&5Q`a`7l89BvN?wzwN7UTAr23788BQ6}n{ zaQC`b?|_FqYMo5I=@)GX=@qEb<>nKXm|b@HpkWuL-X;m0H(TMD5>X+m@n^DCkB)rY z*96wr8L!qA-%(>H4=;=cik09am|+bPa&F`mauT6%L^?4X^91usfy!PE3uN9%K5$Cu z4{E?@F;W`pK*i1tuqs7&4wZ4c__lMx=c~^x79FO6P0CZCaZzd%g?dMRkiK3ePdkdx z8q4e`pIKlJ6nSQUx>Y{5S&xnNCi@5%Z!JF4P$%4_m*ap1`odQnQ=P_$Qv=r4`!+Eq zO@E}_DDFx4?+qJj)Nh+`fqT;-MGq*rk#tLr^N{+h^o8lH!UWQ6V#ds?Zr4mfH4_2u z5G2ftW2Qmk#6Fp(GtASt42EVAcg2Cs6qv4nyBJ%KCC<VXx^|H2HiYTq|_3|kAPGQJtrAi4`3K{O{_4b&qnDJg~v2!0!J3MGr z9>nNMPQVX_+**NPtCz@UX&{<1t~^U;HD9-)O;m?Xf;D{!!DiUDlQ)y`SUAj zqMg7J_!tB;TqHlRbzx6=wn^xlq3myp;enLt2@8n?#@6<(dq-uI9li6dn3PfmSl}u=XAa$Tv{1_s{4IRlcVZ5xF z?7ro*;?D^O8c+!1C7mt&sGS#E{a1cE5(%~ipSleuV{%OuKOFA!XW&rAaJjYy8lj{C zJ5wUrO=iEd=mZs%rhmZtQi$0clk1MxdQf{}c5{%iHn6)a9}dL`n*=3FI+Y&2%@_nR z0yUy@%`=@28GP;@Oq1xGZ`^;8+)4zI3~d%}Au9yUP1l+vvREmOVjGDgTLT`O28jmk z-7pD4@(x|~eWcXL6e$P;g$hU)q`ep;UOZMY&6S7RCsv|`pYMy^`;lf*LzxcXILlq1?}j1 z_jxw5pmKEvs#~LuHoYK(IGi5+bYo6N*L)hGtN*0k>sUL+1m22qBtUHRnfvzVWwggHk8CxSjfm;C68H>Yi((-y;1>BJ)~MRf7bV zKcLBLv#ibN_eDZTt9`%RVa#2tH1?WDhRdGV-mwi0@Q*wu6D7H)0`VW|(acIn47R@W z?#L8V?VqbemGWNW>BBQZMJcty5z;R4J{zpngT~T^%W_)%qSU* z3186!^)_V$BiSyF!TD1J>_AN{hS6$22CKQ8RJ;;$DET~#Cpy=Ko6c*xIp5Q^&1~4a zVMr`lwj%5DOwhO%Y}8x3<5kyIOL2d~OUxyQ6{YXsX5j@}o$hpUW(JkPKLcbOcVu_S zB_4J$Gi4E`o*9tAnoR8mK#{)_@3Y^2X>nMGcUuwmz(sB*^c zX_n|((>0avC!3QLdbltyClFJ9H)hxFEbOT_2<+=Pr_}o1!s9oCRpA#y&8yFH`SK zjT#N|B^KsU>}!!8EBvZvr<2WEN;9#&<=$7kgdo)_c+x{TnC<&S(TE`^BaR0oZ3`p2t;2K}+HNKZCvI}7PzqIqZ?7QkE}Cml2ASsOxbDjEa6R{qXg&s{IlTwo11qbrf;=#x*q5$?0A%L{Yaaj zoU?cNkSCWxDmi>Lq+>1{!#RjVvZT1zH-m~T3#3hpZ{kJM&uLaw8K~f7g9IHruWb?SO zxRJzKNr;W%{kSWwmtY8cG$cssYI`Y2Luj@V#l_{j6IDH5Kc68AToEV_<+sS#P_EkR z-9jSbbWDh_r7V=eFbII+nITpmM)~VZRJJMfxi+HYf=C&1e@@?h2UFRU{Mijpbgx;0 zs9|6y#h$$iJ&0g!5jxbtAf&F=W}o_p#fBP~YTHE~6oHz3y_WCzmQ5X{xI)2?rDE8+ z1wZR!hX-@IMFRRJN+Y$l`Y-k9Fx&`=(Dcy7aP%$(_J}C-Ehx~=brc0D5@iqvgv1ih zqyEs{jwsITr#5C7r0j52BLI^kGbpfOs15>b?2&32-xOqaYCz1mQ#^EUJbFRzcaU}8 zPMO){ImCLN{>bRtul`kmagtZCG4ae@HUqhLEM0L6UtiQav&8@n0za$uq8L zW+8Un{t}qmOl)m6PC`}$6i=|GoIH)q5&is-+djJE`>GT0@}qVov3uD{G(_|>bz+mW zODhV{1U$7t^w#KUd=xO0%?3I&lgACl7L)Y%NewgCCv%0I-iLiH^ki}c@2r-eHvS$)N8d~4 zw;*_w^u5Qm<8IiEvh-|O5sbC@7YeT4JALfLHDM;MJgz!)ChzsP_;&3EL>Em2hOEHm z;{r)Q0bUkqF=ciUKT++S;SwdDqDe3Y^P`D5-4zYwL}x!)LXu)TP7&MPHzLQX!=FsV zX)|`5XD0&4J2D_))2g2hT!`KFq2`34pxuTv!!Z2Gfulc+vSN&#eTBoUHECkgJ3}a@ z^%pkDTL&4~@@V%ah>FmzKO<^xDVkFCeCi>9@Q|Jg&h?+otmHn|QI)CBX4qFYl91xs!Y?`E6lRpP0GQEb#_(xq@+$v<)u&Pzn2(AL2{m zwP3Dkz`EItU>;k*M#|${)ly6uz0|qJ5E>OgK;xZH!p+dtKH5*CkKVw?6YO`5l!ABV zg_`s@jFw4l!6Ca7bWNeQ9*#NMF$u0R@uwZj!RHdG17h>{Hw&AatQ<=Rp{0(N2+yw`ud#i;%B3<0R-7?K5kKEM`0D#Cx;LG zFPjAi5q)5aB4hfJEL`8T+SeVUsHTAVk&C;Bd9EtMOc0mX9Vw%IJ3!O6LA8~Vw(lzl zc4Zj$2{G=l0TIyWTy~Ujn|+9e4_sF{cL;>*Bc*4 zfty3EAqTFajxgMH%GAuKCCrasK#q4%YF;p=liWlv)HMUsL$?Lidaa(u=sQ!1-LJd$ zJOdovoX@wMON*FjxirxC_xcoILx(rql8G*~h2q8{;Llpv@Le+d^;g)OA1;W2TTU)v z!%ohqyPLotKS?iPAS`9~{j@X__ppx}Y%()g!P+(onmJjc-G&e4__m8vOiC?>sx%dK z-BHGJ5IEq!P&=Q%Go@^|6*9$;2`q$wx70L#*N+?0*7IYMEyCQjXBn+IVOBpgGmYK- zrXhlN39-o{B-6e9{$prWve48WYuea`+2m`y-x4|0BGxk;rW&+Q)r1G!*az5EMH)Tp zAo7{omrBqNZ2_d`pWrr|g`Hv_d<;2R9t&<#Zpv;R+;WQ2wUjtK8#Eo7Er30hi;i+P z=cBK(G2L2P*Q{+!_?C0WZKRJ*r(B9{mtrl;Cu*y%bI0upbGY2i)NGzwv1zZB-^({N z?~D4%?75t;ixc?b&n~?=%sMr#ac>99U7@j0wA^attVGk86wtT3Qc`d+;!Et$Ejv2` zGJL%49kdH4p0ar_2iP^nsCH%0Zas=Qqh+#NL{11=$QFDLT)tq$FBuOc||3Up~kKnpSItf7rdPFa2nfaroTKDdp?n5gkFR_jDosmO=cHGP|z!6 z0Pg};KS+{$O04K>nU5u!!#eY1vE0m zpPnz^VrbG*a9*vyC=On2Amc2$P({s|jD<65+6_@eAmX>LhRcwEJUWCJ3u z%`Ixnnf(wUBDlL-A&b+K5ijEP?w}9-?Q`L6QQVjagJp)~2@~k+59}XA@rBtH<d1|Ldf*`JUizA>`ZH3sGENxtz1zbYel29;FNn7CX-+HHpacu zc$*{!TrFgbVq^o;iXEf0E(y(BefIY46R)F^iYMwEXknaJg&s&w&b_{;)|zMnReYDu znZ|nu6;GRQu}L*|I_^Zq9x^+3=pHR)6|7xLcS&knpO}6gP`49!=8SaLKA>fl+6b(! zU7S}cTs(hUMpm2B9zvD&Xm`~lv|>@FWbjxv;80x3KGeUW$&GMuCaT<9_W? zI6buD^aK5jvCKk^VO4xIwby&vsCSCbX6X7uol>g%zJ)-CDa*%?cpCu%mz^tLVYs~> z9J!h=vo=g|0|i@#sz=D$^2%m11O({Gw2%2V?CvaCnLEVUR+&{xsG*Dv9rbetcv@NT zEtv1nXV%D?Ro%Z7re12*C8veY@O3LFNEqAYeJ_mcf%;s`B9**fBHZNI3qJ%@t#@Ml zEQz-J^C?nIov5CjEe+vAQGicROy14DNA2tvj+K)m#=*VYy%}<_E(3Ejnr?QBC|*wm zox;~!yR>T$r+G1(M6`4ErffOkQg~SC8ZeyCq>b*2We#ly+X)AFXX$O~hU0;k7!Hpu zcYGO=bmM^G1BQ!CP|aJ-cDHkp59eT zRm(5+DW|q>0ne6`i$q*sdm|FP!)^x`-naTc?97~7zwU0g5SiS7e=CEkSKycX?sshx zX8+Aa7Vk^X(i_YcVvT^PO1jK*CVa^x(~a<|EliV9er9!(ErFunqEeI zb{6(9tkteBy>vv_E9&aS*hbJdUVX4xFg`e&bmUL`%wTuTn$m?RvFUTKiuWQ1Bu(}E z`2=3f2zOb51*Lj1H*P=TMUwQD%h}B2uyVEHPRhYE1Mkx&HEmm`v*#r2L)@s33FYnvMJdC8)=%r3bp_)k_=i`B>Lx5wR?2H6hGl_7uls|(_mg@ok%2?b z!HR(Up(ks)Sn6`gs~nKHhb%WcY?P$1fpi;>8_rQ)BZ`m_{FRSP)SMj$aXF1-O5(YD zC>=5eF;iq`+3w$8idz5-!I2sxJ6X=Kp-4vsIxor>IWX_4nmPQk9tzE{59uVf!qNE3 z*v^ekdve-Ps5R=3msQAXRh1S`GDxT<@f~0S*r*O(Al|W#3ZfT%4;u+@N!YUU%iANS({S*J=cqCMjNA~^NWbc<3uGHR)Un-4 z>a3kEyM@h;XKszq_tCXLKk)%#C|1S{rx4;pRkSX4S*2|c_V2jqx85bEnJMJ}B=l`cK9 zqx+vg7{kU3O(JbRzW_bHq>%qC@NAVZ1gOWWA>r2R=!-mKM?1gB6y?<2TAN?0Ps=(E zrAp)Xt`sDhz8*}nCzQL;7|oWHP$c(qti$>QP@QI`-(jGfw;4q7;Gcv+Ab4^x=l@B>29cT6DOfAbeHhU!o@TU2#znO-b!++hvJwWWEcz_uW}01gou22s-&lzLToXVM#)$`; zw?0eAr;bZE?!v3V$||7E7Vtc}D|>Nkyx?U}BXQTOF^W=s5&D@gg^cb9h`{L!H=bGw zB6k>V1|bd#bCRZ)&GZLbE%1rYkO>5NJ}fLg_C_*-w)jvXJJ=&z;t78R$ZfB_fRKO znCeQ@enouQ5cs({g1Twc*?0V{TQhZj^d>q&NXMu~CL{59lU=QtZHhL5AA;Day}Lf6 z%A-sqVF+l!#`!&gYdGkZ=G?yZrc$IWDU2WJ~fXht2RTmLByeZ zmwOM2yV#C|H5~I0&=30gHj3}DS3pYAkf^>J9OPSQb2By7_55<{a<*oQe~WAw?^O|h zw^00?`To8wVe1m1rb=1G)YUIfnO(UH#~{4gdG9Fkf}~|HuJABR)H-d8BkD`Hdx6y; zybQ*`!URs=bGxvz;LOj`KIbdbT7{~SYYb;zN~^$gBJGC7(hYUQswptMTglN(Onp^1 zk1H?Dc_Kd%P}CTo#C(fVdsi)ZP1HKoOTM20=8^4zc}#m_qLw24D87M>V?yZKNe)r* zm$@X1B@4$hz6+++o~RBJ>~N+%qus=|1dNy-UpNciXUJ`Qoxp;%xJ*n)Yb%K}DM=-D z=jV`aJ@gb~nB$ax0gr+3mM61(awa=1h>d8NscmlzDdGYyM{>xWCkw&iLB2jti9@wC|zUFgWalu<-gNr^q7`U^IqOPxvKT2s+ODU!&)@ezm7Q_n7E@CNq?zYlP zZ&z+zon=GN9>tnoCSQj~Ua0LT0x42PNAEUQ(q#JBTh-Egku}}Q_1C9Zt!q&uYEJVN z#3U+azC*=c#eO81xdE-V*MSik=YKT)$W{%7RlMzdvxdrYY-xS$ba$>`e^(o75lwDG zYmx4A``yIT>!VlkhKi?)M2vRZp6RT!#=bLsn`FGT91QyjV+7I8p5jr!=8HaPX9{q4 zKyA6V#>c}Iwwt3V8964bZ}PoNwYQ?EF<4yG zY;dnAm@?(KPYW-&=|!0Ow_ro!IIYNNApx(^?zZ#v!~7VdIPovYtq-EOW#8wLkIfxp z;mM+%>wtyOGPoddIPqo`KTKxw$kZ&iZ@G2OZB!fl&y0Huh6OLz4Wio1u-!|tZ;Mk< z?Hk$^$+7&UY##QrHMr791V|#L(@j&=FRwl(-;zD&Ci7vEC@bYm^a>P@8DU4L20h{y z_Ed1-khoU2wiATh(T*iv7(Sh1#fMcF>R57Zpeue5Jv^|a-L%rR&$7zgNuK`7x7?uR zA!2xwpe5<@3KwfBAjuc-db`+=m$HBS>deM&;()S>XZ6;>Fmp@k1l_VP1F3C?>dwsH zKj8CZetS#ci!*Jw!B?6YJ;soP=ZFR|41*ODl@;u}&>udXCUoeGh~>Me>4)!v zC@WLv4{*{YI)J1~kET7R*f2S0Jvfn`sz^o~c`tK3PLU?-8tZh4?grS((WbD( zJL1;+?L3`-$ZhtBri=X|K9Q}^_!8}Ji$Qe1zRsH4CzQ1>Ni&@11z+R?aX}_aFdvKV z2E^<@#=#pYgip;Cv#8@){rsAwKT$Rg6Dy-Zewt1(?nU_BK69aOVPq?ZW>4!ybV~;& zAKkaN65LeNyKaT&mY6A@u_pM{uO05}|&vH*0y9hTGfwG*Kx8Gd)lf33BE)+v>V8IVH3d zN%>|(025RD^*|CV3sL!s2ANB~AS}uf3rDi8*hNpAkzHTjBH>9Zc!8pxbetkYPgrzG zOvESsVVV;?boZIk-NfsslGa!_p-YpCLmIA>415VSWlhsdu3Rk}COac$T#q8q?(Nmc z0C@4$kUKIJAU_95CA-PUq~kfcAbQ~QqUkx2R3AItOGza+N>QkcWCjE8%<9`*V;I)Z z2E_Y@fWF#(atN0}L_-?C=+;c|+!p3R)tCru`P1q@qi4moYj-SE=%$u*j++TD)r=2dYW-hpmffgDcS=dwV4^zPFYD(T!A27mA z(P`Lh>EYy-0I@t}SIGruVx5&t+&J-HDe6 z%}QTnPvvB8a5l9FN?vq3U5YMiQdsu2tC94_nJkdgE}yOS!P%FPkM9P9r)vWriYH@l3D+4%;6Pwzn73@c3mS87&*} zovR$A?X&Gjoju&Jm+70QT`uc^7A@^U*YBbCWtI)rEp0jVNwx%tE;7T0N3U#0K=CX4 zA=P*tWki=sL^sMAv+UlJB;1>)imd7@JH+a*P9^PcB(F=kh7v%FTZ)YA@XrRGCmPb#QDaxrFGR-1r!|4C~H1>dHjqLy!TisAuhDhpQQX7 za|?$MHB>B0f}5holLRv2yP3~ftm@TLVcz{SrJNv1*DDK9NqH)-hml!Q#~mbukKoEb zTyv-!;)>z3=-f@RijCjdX8ag%v$|IP5U{8?E2^*2KnSLa~ zF>lJLR7pFLcEs=)J79qYX?v5oTsPM`Q(ilB@7!jBiqFhmnht#L8%*f-wKA6KO8;v` z@q#YQBxWRg=|ve$=ZuoVbB;pZg+@K*$U*BwgKFqby&nBf)Et(1zXYL?6IUykna45% z%Mn=9t8$a8mD$EN%Cwv@Qx;bk@rK+TTk~ruQ#E6C5IEdC8TJ~b^$;Gv6HZ-$a>iDK zg3l)MqOufY1~IY(inrD^czi@xFMRObENrXT*3yhCwt^3tQ$?FO_qXht+i=;- zRGd?%z4vbQa;Ke|@%zGvU)e31nO8u0kkD55f1bnbOe=6LGTjmU;IwT<$UeNJeL?(z zXZ7KwM0gQ0*N)!e9**sD&Zu>F=&Jr_rEfXz>bhqSu@mA?oPw(>=+85HAcrBf1v_xI zLM(7HgcG7X3`r*0I}$s|8~8DG`4~U-X03^fA4A45#uYcblE3+v91B+|9fk9l{G+gFqH38G;*!>* zd&~zcW0>Ou^({B`qVX>%T33lhWSr}E!TI7z`8kn*!V~8 zpm}w$qX%03zdSkXNHoi{`l_q2jhcXNp*3TwGU@)H7 zwhFbQ?vrzbg3vsGLs|`=@=>{F|Mco>6%XB`z>a<<4Ohmz_3W-uFGD>kbK9rZ!lhbv zHyLbGu6$A#EIO5+;V~odc#O#P&0L9GoHW64SA&1bQAwp)bJWE-b@}sDqa*Hin=#sU z;@Hh2;dGD#yYo|{M;!l4WBX|t+6C`BAcjvx&>FYBueIl{3t?_64Y~bexd-*Aa@$!p zzoY4(yOFUNa0*!>SRN4ZRiV9jRLLb3?Yf0XwyeH$^QLUM6#kX=X@|_D z&p7Dek~z#XKP0Jwi_-sfX*+a_20Nr)GZj<)u(&8BUyEy;QtR@(*FnWqBqOh(O@;2$ zjf-;NihZi}qJ>ko91I05YW~jwxA@*6TOjZC;`fS#O*OOP+ptdc?@&XXmKbJJ(e^r( zxaXC(d#_Jgzh==k&ZaGsD!$F4-Tr^gqWv}c*H+)|?fj7ceDtq$i)0TCVrfK$vaD@Y zd5+b`EK@HZPnsJ)4CKYR!_!5 z9c5SRO)9X=kiE4%?vWn=3&}5QY~P%q!?nN~Y$|epGNKCC#fU%+R>m2l7>>-%zHr5@ z?IW70;_fXQPEgdw<0%%E&08Imx;rB9h++FJ(ZLpNMwRsyTWj3uKx-zuye@=(gKhC0 zpKk<1g3klDT5@`^`qPwH)lVwD=X-=-ie*sGJH7${03rX+A-}&At7Wclr>&=Lr%nAI z%~S?^n;i`G?u`Hd{q^td`v0FLOz=01gT9Tifw8`xmae6RoxX*gEtQF_rNw^)k5f{K z$Z5oSCeLvJQdarNCpNrigO;TE<|~wgtk$Iy4;~H3xj+3m(_lCuUm$cF)KANqdTHL* z{&W+)&F4b-Sar0JkfHU%G#&k1`e}OiXNDxvh}O#`UFa?zc>*fnNU@fWag`ni~C{pVik`IF427YBo_(U5H7mZlbf6~cd>#qI6dB^Ts5l* z7Ch~zU}khnG8`{Fj-Le5+#f>~`tw`e4F}RXDdW}l;fpAjwtq%ulRe^Sxr{VHAXsq7 z1nETo(Rn?R4GO4U<}i9njxyc8kLUA5kwcUr+XizMVd{;obAW{ zRr;4^u5i*N;^TS_qwi9nFQ6PR(Miv-*v%Uy^=Ku90UI}7R_m@X91jw!y<*yGluVV4 z9NCB-GbhyHHexgzoI01{yMU}1B{72H1KRO*Ld!yHnqy4LW*-GBkbHM3_eKAgS!h^j z-qob&=F^z_rqLkp9~feu=bk=r$-rT&v$M#dPuffOIQpz<_^_8xndmqhIE<Fu?eX#sTSo653JHMT;nH4A z2vXBR^~d#@yj%G?B|3)t2_p+W3^4QhCu3HpK_ifs?e|)~-CkCQ@O4!9T@)l%JM__Zcn6&aCP%O2xvccPg%?^zZV!eDrtn>nAePQFufaut?L@v z=;BRDk)@jYPT+&$JE08I1OvEceL-s}Kkw}tb;Nk7F=keVTHTzKrRavQrT98v$}80~ zx_q*-Z9A=k_;TqphTOW9Mlt9HjBAZhPd!o9D=p1zz`BKoMeKXLKE^Z-E;bfb2j)Up zu~W3biA&YyAKKOtWYfKnw6^A0ZsugmUKMjwu%S{okHV3bj{+$Of-YikMbCH*9Fu9W zpWus0ufY!*m*yb89EN_>YoaUr2z+Vk1|j3^ z%S;aH7tl}uU*NO@(u~S?`Gnh){b0C8Ue#xARx=sEj8oP15ha4Cq5c>m4vesx6TFhoJD$rw=9C_NC^6TGWzBAP^1j z8|Nwn0&9E|bC`_g{LV_-b&XGF7}2NW`I%KhJ-q}B_M_r0XgeqQb|;-q`ZnUyQLJ>sm<-!Z}K(>nvN-T!*Uw`~VVs zba_ksT>=qL(M)TyPIDy1>~<=Y298X*7z#I=h}n;FrTAOfas`tsLg@HBUCgMoTEZ%s zlz5Ol#fGw<(R4aY0EKAyR>_Dqsj=TlZa8P=r-kxb5oa4dBCSkasI+s!80{da)a8YX z<|O(uuiN3JaNB{p1ev5r@qu3iROp7mdI)&+(ZXFxSz{xERIYZ`%yaQ_>Do49=u}m7 zLEKe!mTe?|Bj_M04({Kq9xo#ry1jewf+94ckGht+lEOtPUDXjcB5Q^{q){izq-p2 zK;M~CzzIb;(Oq&ySNtfZc&iiK2UA>t8PL&>g-ry~2nEB+l5c+3pXNhDuJZb_WeXgw z7;ma+*7jgXnSYpK0Z(~}N_Ih)>(a#~$r3&p){ykOA-q%|_d6EKl#nCwVL^;cEbav) zRfN9It6?~P%+#j_9o$*n#7vLqK$5c?Qp4`)EX;+8b8Acaguk@h>%lz()L#A(MDtNA z)3x8XOiO5p_;tbJbYBUl(v3@KV9@Xd)>4L7!6aDVX)|Fm5WUr8${P(wsifhSMy{Xm^;EC!;r`1VdJc>hVrD$I- zgHj_HKx%WD-6l^WFi_Qf@K*-}LT(R^-tn7;gWFgah1uY%e`PPz22kuoFJ&%Ab0_X~ zu3iu(*hm7jO0IEYDCRA!?-XWayGKx#JSo&RWRIs zOSUQ9T|&`76E>ozjkkm~WNlid@;Y~F+36k{ds}8@x2)r}xK6z7@2#PZETJg_eJGz_ zG7?@E!kk%mR;dC7baL_a+P+meNiSTiM(C;?#SH9rA3i=RV_haKvIujoUiGpL9Yc3G zo}bVwDGhNbth&I##ge;gCDCM*Gp$NGFqc)^0##6PV%@9@=tp@N(}vm7%eziS(hhd) z?F5^G#($`_$!aULrjSz~u-Vo%TfBYm3$bCFi04cfiYxd08X^0! zJSJzqu2`BXgqo#7lbDlC>Il)q-qh0#yng4T!~XW=fbGY5Y(r8dFm+3*dt63}{n+n?fTx<8U2btZv+DLS&1UQkQnG z3e?hYfEgbNYrJM~*CN+HGXFHUJbWxzE+v9`-e0sqUB7(Fk2sPw7(Fo$Tpg69LthHp zPN~xk&k)%Ex$60P-TtfcBuI{|c!dT4e35=to*5RpNKsM^;dRC0ALah06_gW0szPb@%anF>aC=HE93QToPJj%L?RdF*7pE_ zASM8S_BS3C`kx}%={wo|OT6C&;zCZPDZkmO;S&IW{x_i7$3KB)`sT(K|0Ux2(CR@J zECA4k_fM4)(fvs@u>WuI(8Z%EHQyW)2KApjMy@}3+K#sWCHd0B@6d(c`@6Pq z3;!j?S31Mr#yGB&gHykyyI1mmE?89c|H8aU^ZOh%9*?1EYyiN6=%3>B&i#u+|6jmd z^U5k!eEf`>y`t~sc))kesg7nf8YL>-Jym5_x85>X8O8zmcO0FFd`xx8Qw^Q6ac`l z)208oazPLj-$<6a+IGLa()5Ahhg7}g webdriver.Chrome: chrome_options.add_argument("--disable-notifications") chrome_options.add_argument('--window-size=1080,560') try: - chrome_options.add_extension("./anticaptcha.crx") + chrome_options.add_extension("./crx/nopecha.crx") except Exception as e: print(f"Failed to load AntiCaptcha extension: {str(e)}") @@ -386,20 +386,16 @@ class Browser: if __name__ == "__main__": logging.basicConfig(level=logging.INFO) - browser = Browser(headless=False) - time.sleep(8) + driver = create_driver() + browser = Browser(driver) + time.sleep(10) - try: - print("AntiCaptcha Test") - browser.go_to("https://www.google.com/recaptcha/api2/demo") - time.sleep(5) - print("Form Test:") - browser.go_to("https://practicetestautomation.com/practice-test-login/") - inputs = browser.get_form_inputs() - inputs = ['[username](student)', f'[password](Password123)', '[appOtp]()', '[backupOtp]()'] - browser.fill_form_inputs(inputs) - browser.find_and_click_submit() - print("Stress test") - browser.go_to("https://theannoyingsite.com/") - finally: - browser.close() + print("AntiCaptcha Test") + browser.go_to("https://www.google.com/recaptcha/api2/demo") + time.sleep(10) + print("Form Test:") + browser.go_to("https://practicetestautomation.com/practice-test-login/") + inputs = browser.get_form_inputs() + inputs = ['[username](student)', f'[password](Password123)', '[appOtp]()', '[backupOtp]()'] + browser.fill_form_inputs(inputs) + browser.find_and_click_submit() From 039ea71678c4451e79c0b9ffa83604b5c95007f5 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 16:00:38 +0200 Subject: [PATCH 10/17] feat: stealth option in config --- main.py | 6 +++++- sources/browser.py | 10 ++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/main.py b/main.py index cc58f14..4129248 100755 --- a/main.py +++ b/main.py @@ -29,7 +29,11 @@ def main(): server_address=config["MAIN"]["provider_server_address"], is_local=config.getboolean('MAIN', 'is_local')) - browser = Browser(create_driver(headless=config.getboolean('MAIN', 'headless_browser'))) + stealth_mode = config.getboolean('BROWSER', 'stealth_mode') + browser = Browser( + create_driver(headless=config.getboolean('BROWSER', 'headless_browser'), stealth_mode=stealth_mode), + anticaptcha_manual_install=stealth_mode + ) personality_folder = "jarvis" if config.getboolean('MAIN', 'jarvis_personality') else "base" agents = [ diff --git a/sources/browser.py b/sources/browser.py index a6e511d..2cfe47a 100644 --- a/sources/browser.py +++ b/sources/browser.py @@ -65,10 +65,12 @@ def create_driver(headless=False, stealth_mode=True) -> webdriver.Chrome: chrome_options.add_argument("--mute-audio") chrome_options.add_argument("--disable-notifications") chrome_options.add_argument('--window-size=1080,560') - try: - chrome_options.add_extension("./crx/nopecha.crx") - except Exception as e: - print(f"Failed to load AntiCaptcha extension: {str(e)}") + if not stealth_mode: + # crx file can't be installed in stealth mode + crx_path = "./crx/nopecha.crx" + if not os.path.exists(crx_path): + raise FileNotFoundError(f"Extension file not found at: {crx_path}") + chrome_options.add_extension(crx_path) chromedriver_path = shutil.which("chromedriver") if not chromedriver_path: From a5ecd2d3899ec189231891e8ed7fc778cceefd2e Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 16:13:44 +0200 Subject: [PATCH 11/17] fix : improve install script --- scripts/linux_install.sh | 29 ++++++++++++++++++++--------- scripts/macos_install.sh | 32 ++++++++++++++++++++------------ scripts/windows_install.bat | 0 3 files changed, 40 insertions(+), 21 deletions(-) mode change 100644 => 100755 scripts/linux_install.sh mode change 100644 => 100755 scripts/macos_install.sh mode change 100644 => 100755 scripts/windows_install.bat diff --git a/scripts/linux_install.sh b/scripts/linux_install.sh old mode 100644 new mode 100755 index 7fe6efa..8b50419 --- a/scripts/linux_install.sh +++ b/scripts/linux_install.sh @@ -2,23 +2,34 @@ echo "Starting installation for Linux..." +set -e # Update package list -sudo apt-get update +sudo apt-get update || { echo "Failed to update package list"; exit 1; } # make sure essential tool are installed -sudo apt install python3-dev python3-pip python3-wheel build-essential alsa-utils +# Install essential tools +sudo apt-get install -y \ + python3-dev \ + python3-pip \ + python3-wheel \ + build-essential \ + alsa-utils \ + portaudio19-dev \ + python3-pyaudio \ + libgtk-3-dev \ + libnotify-dev \ + libgconf-2-4 \ + libnss3 \ + libxss1 || { echo "Failed to install packages"; exit 1; } + # upgrade pip pip install --upgrade pip -# install port audio -sudo apt-get install portaudio19-dev python-pyaudio python3-pyaudio -# install chromedriver misc -sudo apt install libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1 # install wheel pip install --upgrade pip setuptools wheel # install docker compose -sudo apt install docker-compose -# Install Python dependencies from requirements.txt -pip3 install --no-cache-dir --force-reinstall -r requirements.txt +sudo apt install -y docker-compose # Install Selenium for chromedriver pip3 install selenium +# Install Python dependencies from requirements.txt +pip3 install -r requirements.txt echo "Installation complete for Linux!" \ No newline at end of file diff --git a/scripts/macos_install.sh b/scripts/macos_install.sh old mode 100644 new mode 100755 index 5e648c2..933ebb1 --- a/scripts/macos_install.sh +++ b/scripts/macos_install.sh @@ -2,19 +2,27 @@ echo "Starting installation for macOS..." +set -e + +# Check if homebrew is installed +if ! command -v brew &> /dev/null; then + echo "Homebrew not found. Installing Homebrew..." + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +fi + +# update +brew update +# make sure wget installed +brew install wget +# Install chromedriver using Homebrew +brew install --cask chromedriver +# Install portaudio for pyAudio using Homebrew +brew install portaudio +# update pip +python3 -m pip install --upgrade pip +# Install Selenium +pip3 install selenium # Install Python dependencies from requirements.txt pip3 install -r requirements.txt -# make sure wget installed -brew install wget - -# Install chromedriver using Homebrew -brew install --cask chromedriver - -# Install portaudio for pyAudio using Homebrew -brew install portaudio - -# Install Selenium -pip3 install selenium - echo "Installation complete for macOS!" \ No newline at end of file diff --git a/scripts/windows_install.bat b/scripts/windows_install.bat old mode 100644 new mode 100755 From 927d09ffb5c26de42d93ce6811297db5250b4263 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 16:15:48 +0200 Subject: [PATCH 12/17] feat : new config.ini --- config.ini | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config.ini b/config.ini index d1ffb78..b7df08e 100644 --- a/config.ini +++ b/config.ini @@ -10,4 +10,7 @@ speak = False listen = False work_dir = /Users/mlg/Documents/ai_folder headless_browser = False -jarvis_personality = True \ No newline at end of file +jarvis_personality = False +[BROWSER] +headless_browser = False +stealth_mode = False \ No newline at end of file From 36b80dc758a399f1e708474bcc75840a6565b6ca Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 17:13:23 +0200 Subject: [PATCH 13/17] fix duplicate : config.ini --- config.ini | 1 - 1 file changed, 1 deletion(-) diff --git a/config.ini b/config.ini index b7df08e..6ca0f40 100644 --- a/config.ini +++ b/config.ini @@ -9,7 +9,6 @@ save_session = False speak = False listen = False work_dir = /Users/mlg/Documents/ai_folder -headless_browser = False jarvis_personality = False [BROWSER] headless_browser = False From 8ccb6f4d771afada7d1c720cba9d09634c7fe641 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 17:22:35 +0200 Subject: [PATCH 14/17] fix : issue with browser --- sources/browser.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/browser.py b/sources/browser.py index 2cfe47a..a64e5d9 100644 --- a/sources/browser.py +++ b/sources/browser.py @@ -156,6 +156,7 @@ class Browser: element.decompose() + text = soup.get_text() lines = (line.strip() for line in text.splitlines()) chunks = (phrase.strip() for line in lines for phrase in line.split(" ")) text = "\n".join(chunk for chunk in chunks if chunk and self.is_sentence(chunk)) From b34e343535ecae00cf0477969da29d45773763d6 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 17:38:22 +0200 Subject: [PATCH 15/17] fix : possible crash with planner agent if wrong format returned by llm --- sources/agents/planner_agent.py | 2 ++ sources/browser.py | 1 - sources/router.py | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/agents/planner_agent.py b/sources/agents/planner_agent.py index 3da54f2..035405e 100644 --- a/sources/agents/planner_agent.py +++ b/sources/agents/planner_agent.py @@ -74,6 +74,8 @@ class PlannerAgent(Agent): def show_plan(self, json_plan): agents_tasks = self.parse_agent_tasks(json_plan) + if agents_tasks == (None, None): + return pretty_print(f"--- Plan ---", color="output") for task_name, task in agents_tasks: pretty_print(f"{task}", color="output") diff --git a/sources/browser.py b/sources/browser.py index a64e5d9..b6f7651 100644 --- a/sources/browser.py +++ b/sources/browser.py @@ -155,7 +155,6 @@ class Browser: for element in soup(['script', 'style']): element.decompose() - text = soup.get_text() lines = (line.strip() for line in text.splitlines()) chunks = (phrase.strip() for line in lines for phrase in line.split(" ")) diff --git a/sources/router.py b/sources/router.py index 8356570..1f11604 100644 --- a/sources/router.py +++ b/sources/router.py @@ -2,7 +2,6 @@ import os import sys import torch from transformers import pipeline -# adaptive-classifier==0.0.10 from adaptive_classifier import AdaptiveClassifier sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) From 164d2b21e9d8633b802ec50e72c5a0e709bbd931 Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 17:47:04 +0200 Subject: [PATCH 16/17] update readme --- README.md | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 880fd7f..d21b9be 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,8 @@ python3 main.py *See the **Run with an API** section if your hardware can't run deepseek locally* +*See the **Config** section for detailled config file explanation.* + --- ## Usage @@ -287,8 +289,6 @@ python3 main.py --- - - ## Speech to Text The speech-to-text functionality is disabled by default. To enable it, set the listen option to True in the config.ini file: @@ -314,6 +314,41 @@ End your request with a confirmation phrase to signal the system to proceed. Exa "do it", "go ahead", "execute", "run", "start", "thanks", "would ya", "please", "okay?", "proceed", "continue", "go on", "do that", "go it", "do you understand?" ``` +## Config + +Example config: +``` +[MAIN] +is_local = True +provider_name = ollama +provider_model = deepseek-r1:1.5b +provider_server_address = 127.0.0.1:11434 +agent_name = Friday +recover_last_session = False +save_session = False +speak = False +listen = False +work_dir = /Users/mlg/Documents/ai_folder +jarvis_personality = False +[BROWSER] +headless_browser = False +stealth_mode = False +``` + +**Explanation**: + +- is_local -> Runs the agent locally (True) or on a remote server (False). +- provider_name -> The provider to use (one of: `ollama`, `server`, `lm-studio`, `deepseek-api`) +- provider_model -> The model used, e.g., deepseek-r1:1.5b. +- provider_server_address -> Server address, e.g., 127.0.0.1:11434 for local. Set to anything for non-local API. +- agent_name -> Name of the agent, e.g., Friday. Used as a trigger word for TTS. +- recover_last_session -> Restarts from last session (True) or not (False). +- save_session -> Saves session data (True) or not (False). +- speak -> Enables voice output (True) or not (False). +- listen -> listen to voice input (True) or not (False). +- work_dir -> Folder the AI will have access to. eg: /Users/user/Documents/. +- jarvis_personality -> Uses a JARVIS-like personality (True) or not (False). This simply change the prompt file. + ## Providers The table below show the available providers: @@ -327,7 +362,6 @@ The table below show the available providers: | deepseek-api | No | Deepseek API (non-private) | | huggingface| No | Hugging-Face API (non-private) | - To select a provider change the config.ini: ``` @@ -367,6 +401,8 @@ And download the chromedriver version matching your OS. ![alt text](./media/chromedriver_readme.png) +If this section is incomplete please raise an issue. + ## FAQ **Q: What hardware do I need?** From a3e95abfde473e0c0bc4e79797a937c43a7efffb Mon Sep 17 00:00:00 2001 From: martin legrand Date: Sun, 30 Mar 2025 17:48:43 +0200 Subject: [PATCH 17/17] update readme --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d21b9be..ac33da9 100644 --- a/README.md +++ b/README.md @@ -348,6 +348,8 @@ stealth_mode = False - listen -> listen to voice input (True) or not (False). - work_dir -> Folder the AI will have access to. eg: /Users/user/Documents/. - jarvis_personality -> Uses a JARVIS-like personality (True) or not (False). This simply change the prompt file. +- headless_browser -> Runs browser without a visible window (True) or not (False). +- stealth_mode -> Make bot detector time harder. Only downside is you have to manually install the anticaptcha extension. ## Providers