From 95a0edc2b663211e7a62f20fcb0f0329d0329259 Mon Sep 17 00:00:00 2001 From: sukrucildirr Date: Sat, 7 Jun 2025 23:38:39 +0300 Subject: [PATCH 01/11] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8260906..2cdd79f 100644 --- a/README.md +++ b/README.md @@ -167,7 +167,7 @@ Next step: [Start services and run AgenticSeek](#Start-services-and-Run) *See the **Run with an API** section if your hardware can't run deepseek locally* -*See the **Config** section for detailled config file explanation.* +*See the **Config** section for detailed config file explanation.* --- @@ -206,7 +206,7 @@ Next step: [Start services and run AgenticSeek](#Start-services-and-Run) *See the **Known issues** section if you are having issues* -*See the **Config** section for detailled config file explanation.* +*See the **Config** section for detailed config file explanation.* --- From b4a692047dcd66df0a56265f0d90d042d8556f1e Mon Sep 17 00:00:00 2001 From: sukrucildirr Date: Sat, 7 Jun 2025 23:39:17 +0300 Subject: [PATCH 02/11] Update start_services.sh --- start_services.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/start_services.sh b/start_services.sh index 79451ec..ef0f7a8 100755 --- a/start_services.sh +++ b/start_services.sh @@ -104,7 +104,7 @@ fi if [ "$1" = "full" ]; then # First start backend and wait for it to be healthy - echo "Full docker deployement. Starting backend service..." + echo "Full docker deployment. Starting backend service..." if ! $COMPOSE_CMD up -d backend; then echo "Error: Failed to start backend container." exit 1 @@ -136,4 +136,4 @@ else exit 1 fi fi -sleep 10 \ No newline at end of file +sleep 10 From 48a94d70421c9e184bd9e4fa14e5eb00ba73ddbb Mon Sep 17 00:00:00 2001 From: sukrucildirr Date: Sat, 7 Jun 2025 23:40:42 +0300 Subject: [PATCH 03/11] Update dl_safetensors.sh --- llm_router/dl_safetensors.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llm_router/dl_safetensors.sh b/llm_router/dl_safetensors.sh index 7fd1a51..5937d0d 100755 --- a/llm_router/dl_safetensors.sh +++ b/llm_router/dl_safetensors.sh @@ -1,6 +1,6 @@ ########## # Dummy script to download the model -# Because dowloading with hugging face does not seem to work, maybe I am doing something wrong? +# Because downloading with hugging face does not seem to work, maybe I am doing something wrong? # AdaptiveClassifier.from_pretrained("adaptive-classifier/llm-router") ----> result in config.json not found # Therefore, I put all the files in llm_router and download the model file with this script, If you know a better way please raise an issue ######### @@ -30,4 +30,4 @@ if [ ! -f "$FILENAME" ]; then fi else echo "File already exists, skipping download" -fi \ No newline at end of file +fi From 8bde81b0b5b57c99c69a26718c57a0edd2c2a348 Mon Sep 17 00:00:00 2001 From: sukrucildirr Date: Sat, 7 Jun 2025 23:42:56 +0300 Subject: [PATCH 04/11] Update examples.json --- llm_router/examples.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llm_router/examples.json b/llm_router/examples.json index 8240354..dde1903 100644 --- a/llm_router/examples.json +++ b/llm_router/examples.json @@ -6966,7 +6966,7 @@ 0.010188529267907143 ], "label": "LOW", - "text": "You are AoControl, a helpful and knowledgeable agent. To achieve your goal of answering complex questions correctly, you have access to the following tools:\n AoInnovus: An agent with knowledge of the Cadence Innovus User Guide and corresponding Tcl command usage\n AoTcl: An agent with knowledge of the Tcl language\nTo answer questions, you'll need to go through multiple steps involving step-by-step thinking and selecting appropriate tools and their inputs; tools will respond with observations.\nWhen you are ready for a final answer, respond with the `Final Answer:`\nUse the following format:\nQuestion: The question to be answered\nTHought: Reason if you have the final answer. If yes, anwer the question. If not, find out the missing information needed to answer it.\nTool: Pick one of {AoInnovus, AoTcl}\nTool Input: The input for the tool\nObservation: The tool will respond with the result\n...\nFinal Answer: The final answer to the question, make it short (50-100 words)\nThought, Tool, Tool Input, and Observation steps can be repeated multiple times, but sometimes we can find an answer in the first pass.\n---\nQuestion: How do I identify the impact of metal fill on my timing violations?\nThought: Let's think step-by-step, I first need to" + "text": "You are AoControl, a helpful and knowledgeable agent. To achieve your goal of answering complex questions correctly, you have access to the following tools:\n AoInnovus: An agent with knowledge of the Cadence Innovus User Guide and corresponding Tcl command usage\n AoTcl: An agent with knowledge of the Tcl language\nTo answer questions, you'll need to go through multiple steps involving step-by-step thinking and selecting appropriate tools and their inputs; tools will respond with observations.\nWhen you are ready for a final answer, respond with the `Final Answer:`\nUse the following format:\nQuestion: The question to be answered\nTHought: Reason if you have the final answer. If yes, answer the question. If not, find out the missing information needed to answer it.\nTool: Pick one of {AoInnovus, AoTcl}\nTool Input: The input for the tool\nObservation: The tool will respond with the result\n...\nFinal Answer: The final answer to the question, make it short (50-100 words)\nThought, Tool, Tool Input, and Observation steps can be repeated multiple times, but sometimes we can find an answer in the first pass.\n---\nQuestion: How do I identify the impact of metal fill on my timing violations?\nThought: Let's think step-by-step, I first need to" }, { "embedding": [ @@ -7743,4 +7743,4 @@ "text": "Generate service startup ideas based on experiences around data science and artificial intelligence for teenagers. For example, when I say \u201cI wish there was an exciting way to explore the worlds of data science and artificial intelligence this summer\u201d, you generate a business plan for the digital startup complete with idea name, a short one liner, target user persona, user\u2019s pain points to solve, main value propositions, sales & marketing channels, revenue stream sources, cost structures, key activities, key resources, key partners, idea validation steps, estimated 1st year cost of operation, and potential business challenges to look for. Write the result in a markdown table." } ] -} \ No newline at end of file +} From 583b80707df57cadcf5a5dcd59a9c1d966f0ba50 Mon Sep 17 00:00:00 2001 From: sukrucildirr Date: Sat, 7 Jun 2025 23:45:25 +0300 Subject: [PATCH 05/11] Update planner_agent.txt --- prompts/base/planner_agent.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prompts/base/planner_agent.txt b/prompts/base/planner_agent.txt index a4762d3..fcc3c10 100644 --- a/prompts/base/planner_agent.txt +++ b/prompts/base/planner_agent.txt @@ -29,7 +29,7 @@ You: Sure, here is the plan: ## Task 3: I will setup the project using the file agent -## Task 4: I asign the coding agent to make a weather app in python +## Task 4: I assign the coding agent to make a weather app in python ```json { @@ -74,7 +74,7 @@ Rules: - Put your plan in a json with the key "plan". - specify work folder name to all coding or file agents. - You might use a file agent before code agent to setup a project properly. specify folder name. -- Give clear, detailled order to each agent and how their task relate to the previous task (if any). +- Give clear, detailed order to each agent and how their task relate to the previous task (if any). - The file agent can only conduct one action at the time. successive file agent could be needed. - Only use web agent for finding necessary informations. - Always tell the coding agent where to save file. @@ -82,4 +82,4 @@ Rules: - Make sure json is within ```json tag - Coding agent should write the whole code in a single file unless instructed otherwise. - Do not use python for NLP analysis of a text, you can review a text with the casual agent -- One step, one agent. \ No newline at end of file +- One step, one agent. From 4a0843f0aabed246b05a51f499c8fae73a3669ed Mon Sep 17 00:00:00 2001 From: sukrucildirr Date: Sat, 7 Jun 2025 23:46:17 +0300 Subject: [PATCH 06/11] Update text_to_speech.py --- sources/text_to_speech.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/text_to_speech.py b/sources/text_to_speech.py index 310bfee..993ce28 100644 --- a/sources/text_to_speech.py +++ b/sources/text_to_speech.py @@ -114,7 +114,7 @@ class Speech(): def shorten_paragraph(self, sentence): #TODO find a better way, we would like to have the TTS not be annoying, speak only useful informations """ - Find long paragraph like **explaination**: by keeping only the first sentence. + Find long paragraph like **explanation**: by keeping only the first sentence. Args: sentence (str): The sentence to shorten Returns: @@ -186,4 +186,4 @@ if __name__ == "__main__": spk = Speech(enable=True, language="en", voice_idx=2) for i in range(0, 5): print(f"Speaking english with voice {i}") - spk.speak(tosay_en, voice_idx=i) \ No newline at end of file + spk.speak(tosay_en, voice_idx=i) From 43acef237820b9b0af627078742dd433feaf5d4b Mon Sep 17 00:00:00 2001 From: sukrucildirr Date: Sat, 7 Jun 2025 23:46:44 +0300 Subject: [PATCH 07/11] Update mcpFinder.py --- sources/tools/mcpFinder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tools/mcpFinder.py b/sources/tools/mcpFinder.py index cbca5dc..1666786 100644 --- a/sources/tools/mcpFinder.py +++ b/sources/tools/mcpFinder.py @@ -76,7 +76,7 @@ class MCP_finder(Tools): try: matching_mcp_infos = self.find_mcp_servers(block_clean) except requests.exceptions.RequestException as e: - output += "Connection failed. Is the API key in environement?\n" + output += "Connection failed. Is the API key in environment?\n" continue except Exception as e: output += f"Error: {str(e)}\n" @@ -118,4 +118,4 @@ if __name__ == "__main__": result = tool.execute([""" stock """], False) - print(result) \ No newline at end of file + print(result) From c74fb8a0057d8ab3b41255a6be4e610b676282f7 Mon Sep 17 00:00:00 2001 From: sukrucildirr Date: Sat, 7 Jun 2025 23:47:22 +0300 Subject: [PATCH 08/11] Update planner_agent.py --- sources/agents/planner_agent.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/agents/planner_agent.py b/sources/agents/planner_agent.py index a588604..c324da7 100644 --- a/sources/agents/planner_agent.py +++ b/sources/agents/planner_agent.py @@ -200,7 +200,7 @@ class PlannerAgent(Agent): {last_agent_work} Agent {id} work was a {tool_success_str} according to system interpreter. {next_task} - Is the work done for task {id} leading to sucess or failure ? Did an agent fail with a task? + Is the work done for task {id} leading to success or failure ? Did an agent fail with a task? If agent work was good: answer "NO_UPDATE" If agent work is leading to failure: update the plan. If a task failed add a task to try again or recover from failure. You might have near identical task twice. @@ -288,4 +288,4 @@ class PlannerAgent(Agent): steps = len(agents_tasks) i += 1 - return answer, "" \ No newline at end of file + return answer, "" From 7e6b08bc5d7a28b143948dfcd1281d6b25a79573 Mon Sep 17 00:00:00 2001 From: sukrucildirr Date: Sat, 7 Jun 2025 23:48:43 +0300 Subject: [PATCH 09/11] Update coder_agent.txt --- prompts/base/coder_agent.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prompts/base/coder_agent.txt b/prompts/base/coder_agent.txt index 5323190..8baef06 100644 --- a/prompts/base/coder_agent.txt +++ b/prompts/base/coder_agent.txt @@ -20,7 +20,7 @@ toto.py You can execute bash command using the bash tag : ```bash #!/bin/bash -ls -la # exemple +ls -la # example ``` You can execute python using the python tag @@ -48,5 +48,5 @@ Some rules: - You do not ever need to use bash to execute code. - Do not ever tell user how to run it. user know it. - If using gui, make sure echap or exit button close the program -- No lazyness, write and rewrite full code every time -- If query is unclear say REQUEST_CLARIFICATION \ No newline at end of file +- No laziness, write and rewrite full code every time +- If query is unclear say REQUEST_CLARIFICATION From 93acf4dfaffb70f6c75cafe750c1fb5901db1683 Mon Sep 17 00:00:00 2001 From: druiz912 Date: Thu, 12 Jun 2025 11:02:00 +0200 Subject: [PATCH 10/11] add link to spanish readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8260906..4b6b8b8 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Agentic Seek Logo

- English | [中文](./README_CHS.md) | [繁體中文](./README_CHT.md) | [Français](./README_FR.md) | [日本語](./README_JP.md) | [Português (Brasil)](./README_PTBR.md) + English | [中文](./README_CHS.md) | [繁體中文](./README_CHT.md) | [Français](./README_FR.md) | [日本語](./README_JP.md) | [Português (Brasil)](./README_PTBR.md) | [Español](./README_ES.md) *A **100% local alternative to Manus AI**, this voice-enabled AI assistant autonomously browses the web, writes code, and plans tasks while keeping all data on your device. Tailored for local reasoning models, it runs entirely on your hardware, ensuring complete privacy and zero cloud dependency.* From a6cf09673b6fbb737b3f36751f7c58fd8cdcfba4 Mon Sep 17 00:00:00 2001 From: martin Date: Sat, 14 Jun 2025 00:30:14 +0200 Subject: [PATCH 11/11] fix : docker on windows --- .env.example | 1 + api.py | 4 ++-- docker-compose.yml | 6 ++++-- frontend/agentic-seek-front/src/App.js | 2 +- start_services.cmd | 14 ++++++-------- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.env.example b/.env.example index 7cf366d..52ba1ee 100644 --- a/.env.example +++ b/.env.example @@ -3,6 +3,7 @@ REDIS_BASE_URL="redis://redis:6379/0" WORK_DIR="/Users/username/Documents/workspace_with_my_files" OLLAMA_PORT="11434" LM_STUDIO_PORT="1234" +BACKEND_PORT="7777" CUSTOM_ADDITIONAL_LLM_PORT="11435" OPENAI_API_KEY='xxxxx' DEEPSEEK_API_KEY='xxxxx' diff --git a/api.py b/api.py index 9e70a4a..425fc72 100755 --- a/api.py +++ b/api.py @@ -255,5 +255,5 @@ if __name__ == "__main__": if envport: port = int(envport) else: - port = 8000 - uvicorn.run(api, host="0.0.0.0", port=8000) \ No newline at end of file + port = 7777 + uvicorn.run(api, host="0.0.0.0", port=7777) \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 5cd548d..f66f3fd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -65,7 +65,7 @@ services: environment: - NODE_ENV=development - CHOKIDAR_USEPOLLING=true - - REACT_APP_BACKEND_URL=http://0.0.0.0:${BACKEND_PORT:-8000} + - REACT_APP_BACKEND_URL=http://host.docker.internal:${BACKEND_PORT:-7777} networks: - agentic-seek-net @@ -88,6 +88,7 @@ services: - SEARXNG_URL=${SEARXNG_BASE_URL:-http://searxng:8080} - REDIS_URL=${REDIS_BASE_URL:-redis://redis:6379/0} - WORK_DIR=/opt/workspace + - BACKEND_PORT=${BACKEND_PORT} - OPENAI_API_KEY=${OPENAI_API_KEY} - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY} - OPENROUTER_API_KEY=${OPENROUTER_API_KEY} @@ -96,7 +97,8 @@ services: - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} - HUGGINGFACE_API_KEY=${HUGGINGFACE_API_KEY} - DSK_DEEPSEEK_API_KEY=${DSK_DEEPSEEK_API_KEY} - network_mode: "host" + networks: + - agentic-seek-net volumes: redis-data: diff --git a/frontend/agentic-seek-front/src/App.js b/frontend/agentic-seek-front/src/App.js index ed64d08..64440ae 100644 --- a/frontend/agentic-seek-front/src/App.js +++ b/frontend/agentic-seek-front/src/App.js @@ -4,7 +4,7 @@ import axios from 'axios'; import './App.css'; import { colors } from './colors'; -const BACKEND_URL = process.env.BACKEND_PORT || 'http://0.0.0.0:8000'; +const BACKEND_URL = process.env.REACT_APP_BACKEND_URL || 'http://localhost:7777'; function App() { const [query, setQuery] = useState(''); diff --git a/start_services.cmd b/start_services.cmd index ce278a8..d4d1102 100644 --- a/start_services.cmd +++ b/start_services.cmd @@ -3,26 +3,24 @@ if "%1"=="full" ( echo Starting full deployment... ) else ( - echo Starting partial deployment... (backend run on host), use "full" to run all services in containers + set "msg=Starting partial deployment... (backend run on host), use "full" to run all services in containers" + echo !msg! ) + where openssl >nul 2>&1 if %ERRORLEVEL% == 0 ( for /f %%i in ('openssl rand -hex 32') do set SEARXNG_SECRET_KEY=%%i ) else ( - where python3 >nul 2>&1 + where python >nul 2>&1 if %ERRORLEVEL% == 0 ( - for /f %%i in ('python3 -c "import secrets; print(secrets.token_hex(32))"') do set SEARXNG_SECRET_KEY=%%i + for /f %%i in ('python -c "import secrets; print(secrets.token_hex(32))"') do set SEARXNG_SECRET_KEY=%%i ) else ( echo Error: Neither openssl nor python is available to generate a secret key. - exit /b 1 + exit /b 2 ) ) -REM Stop all containers -echo Stopping containers... -docker stop $(docker ps -aq) >nul 2>&1 - REM Generate secret key for /f %%i in ('powershell -command "[System.Web.Security.Membership]::GeneratePassword(64,0)"') do set SEARXNG_SECRET_KEY=%%i