AgenticSeek 完全本地化部署指南:从零搭建私有 Manus AI 替代品(Docker 与 CLI 双模式实战)
【免费下载链接】agenticSeekFully 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.项目地址: https://gitcode.com/GitHub_Trending/ag/agenticSeek
导读:本文以 AgenticSeek 官方日文 README(README_JP.md)为主体骨架,结合仓库源码(sources/llm_provider.py、docker-compose.yml、start_services.sh、.env.example 等)展开,系统讲解如何把这一 100% 本地化、支持语音交互的多智能体 AI 助手跑起来。读完你将掌握:.env 与 config.ini 双配置文件每一项的准确含义与取值原则、Ollama/LM Studio/云 API/自建远程服务器四种 LLM 接入方案的完整配置、Docker Web 界面与 CLI 两种运行模式、语音识别唤醒流程,以及 ChromeDriver 版本不匹配等高频故障的排查方法。
AgenticSeek 是一个面向本地推理模型设计的 AI 助手项目:它默认不依赖任何云端 LLM API,所有推理、网页浏览、代码执行、语音处理均在自有硬件上完成,并把文件读写限制在指定的工作区目录内。与 Manus 这类托管式智能体不同,它把控制权、隐私和 API 成本的控制权完全交还给你——你只需付出电费。下文所有路径均以仓库根目录为基准。
一、为什么选择本地化多智能体架构
AgenticSeek 的核心卖点可以用一句项目描述概括:"Fully Local Manus AI. No APIs, No $200 monthly bills."(100% 本地化的 Manus AI,无需 API,无需每月 200 美元的订阅费)。它围绕以下能力设计:
- 完全本地与隐私:LLM、网页搜索(SearXNG)、语音识别、文本转语音全部在本机运行,文件、会话、搜索记录不出设备;
- 智能网页浏览:基于 Selenium 的自动化浏览器可以自主搜索、阅读、提取信息、填写表单(见 sources/browser.py 的
Browser类); - 自主编程助手:可编写、调试并执行 Python、C、Go、Java 等语言程序,对应 sources/tools 目录下的多个解释器实现;
- 智能体路由:查询输入后,系统自动为任务分配合适的 Agent。路由由 sources/router.py 中的
AgentRouter完成——它同时运行一个轻量 BART 分类器与本地 LLM 路由器,并对两者的置信度加权投票(router_vote方法),决策过程与结果写入router.log; - 复杂任务规划:将大型任务拆分为步骤,交由多个 Agent 协作完成;
- 语音支持:CLI 模式下可用语音输入与 TTS 输出(开发中,当前仅支持英文)。
二、准备工作:环境与前置依赖
官方文档明确要求以下软件(对应 README_JP.md 的 "前提条件" 一节):
| 软件 | 版本要求 | 用途 |
|---|---|---|
| Git | 任意较新版本 | 克隆仓库 |
| Python | 3.10.x(强烈推荐) | 其他版本可能引发依赖错误 |
| Docker Engine & Docker Compose | ComposeV2(docker compose命令) | 运行 SearXNG、Redis、前端等打包服务 |
Linux 下单独安装 Compose 时请确保是 V2 插件,例如sudo apt-get install docker-compose-plugin;使用 Docker Desktop(Windows/macOS)则自带 Compose V2。
三、第一步部署:克隆仓库与环境变量
3.1 克隆并初始化
git clone https://github.com/Fosowl/agenticSeek.git cd agenticSeek mv .env.example .env3.2 .env 文件全字段解析
仓库根目录的 .env.example 提供了带注释的完整模板,核心字段如下:
SEARXNG_BASE_URL="http://searxng:8080" # 取决于后端运行位置,详见下文 SEARXNG_PORT=8080 REDIS_BASE_URL="redis://redis:6379/0" WORK_DIR="/Users/mlg/Documents/workspace_for_ai" OLLAMA_PORT="11434" LM_STUDIO_PORT="1234" CUSTOM_ADDITIONAL_LLM_PORT="11435" OPENAI_API_KEY='optional' DEEPSEEK_API_KEY='optional' OPENROUTER_API_KEY='optional' TOGETHER_API_KEY='optional' GOOGLE_API_KEY='optional' ANTHROPIC_API_KEY='optional'各字段的精确含义(在 .env 中设置,不是config.ini):
- SEARXNG_PORT:Docker 向宿主机发布SearXNG 的端口。若本机 8080 被占用,可改为如
8001。注意:容器内部始终监听 8080,该变量只改宿主机映射; - SEARXNG_BASE_URL:后端访问 SearXNG 用的地址,取值仅由后端运行位置决定:
| AgenticSeek 运行方式 | SEARXNG_BASE_URL |
|---|---|
Web 界面,后端在 Docker 内(./start_services.sh full) | http://searxng:8080(即使改了SEARXNG_PORT也始终是 8080) |
CLI 模式,后端在宿主机(uv run cli.py) | http://localhost:8080(若改了SEARXNG_PORT则用对应端口,如http://localhost:8001;http://searxng:...在此无效,该主机名只存在于 Docker 内部) |
浏览器验证 SearXNG 请始终访问宿主机端口http://localhost:<SEARXNG_PORT>;.env只在进程启动时读取,修改后必须重启后端。该配置逻辑在 docker-compose.yml 中得到了印证:searxng 服务端口映射为${SEARXNG_PORT:-8080}:8080,backend 服务注入SEARXNG_BASE_URL=${SEARXNG_BASE_URL:-http://searxng:8080}与REDIS_URL=${REDIS_BASE_URL:-redis://redis:6379/0}。
- REDIS_BASE_URL:保持默认即可,SearXNG 依赖 Redis;
- WORK_DIR:本地工作目录绝对路径,AgenticSeek 只能在该目录内读写文件。在 Docker 模式下该目录被挂载到容器的
/opt/workspace(见 docker-compose.yml 第 85 行);start_services.sh 还会校验它不能等于仓库根目录,且数据量不能超过 20GB; - OLLAMA_PORT / LM_STUDIO_PORT / CUSTOM_ADDITIONAL_LLM_PORT:分别对应 Ollama、LM Studio、自定义 LLM 服务的端口;
- 各 API Key:全部可选——选择本地推理的用户留空即可,这正是本项目的主要目的。
补充说明:.env.example 还提供了 .env.example 中注释的进阶变量——AGENT_RUNTIME_DIR(运行时数据目录,宿主默认./.agent-data)、BACKEND_PORT(默认 7777)、BACKEND_HOST(默认仅回环 127.0.0.1,因后端/query接口无鉴权且 Agent 会在宿主机执行 shell 命令,官方强烈建议不要暴露到网络)、FRONTEND_ORIGINS(CORS 白名单)与REACT_APP_BACKEND_URL(远程访问 UI 时配置)。
3.3 启动 Docker 并验证
sudo systemctl start docker # Linux;macOS/Windows 直接打开 Docker Desktop docker info # 能打印 Docker 安装信息即运行正常四、LLM 接入的四种方案与 config.ini 详解
AgenticSeek 的推理后端由项目根目录的config.ini控制(注意:它不是仓库内已提交的文件,需自行创建;.env 管理端口与搜索服务,config.ini 管理 LLM 提供方)。所有配置解析在 sources/llm_provider.py 的Provider类中完成。
4.1 方案一:本机运行本地 LLM(Ollama / LM Studio / OpenAI 兼容本地服务)
硬件门槛:官方 FAQ 指出至少需要能跑 14B 级推理模型的 GPU。模型规模与显存对照见下文"硬件需求"小节。
先启动本地提供方,并确保其监听地址可被访问:
export OLLAMA_HOST=0.0.0.0:11434 # 若在 Docker 内运行后端,必须绑定所有网卡 ollama serve然后创建 config.ini:
[MAIN] is_local = True provider_name = ollama provider_model = deepseek-r1:14b provider_server_address = 127.0.0.1:11434 agent_name = Jarvis recover_last_session = True save_session = True speak = False listen = False jarvis_personality = False languages = en zh [BROWSER] headless_browser = True stealth_mode = True三条警告(官方明确强调):
config.ini的 INI 格式不支持注释。上例中的#注释仅用于说明,切勿直接复制粘贴带注释的配置,否则会解析报错,应手工去除注释后填写;- 使用 LM Studio 时
provider_name不要写成openai,要写lm-studio; - 部分提供方(如 lm-studio)要求地址带
http://前缀,例如http://127.0.0.1:1234。
本地提供方对照表:
| Provider | 是否本地 | 说明 |
|---|---|---|
| ollama | 是 | 用 Ollama 轻松本地运行 LLM |
| lm-studio | 是 | 用 LM Studio 本地运行(provider_name=lm-studio) |
| openai | 是 | 连接暴露 OpenAI 兼容 API 的本地服务(如 llama.cpp server) |
从源码看,sources/llm_provider.py 的ollama_fn在is_local=True时会从provider_server_address中只取端口号,并把主机部分替换为DOCKER_INTERNAL_URL(即http://host.docker.internal)——这正是"后端在 Docker、Ollama 在宿主机"场景能连通的关键,也是下文 Ollama 连接失败故障的根源所在。
4.2 方案二:使用云 API(OpenAI / Google / Deepseek 等)
当本地硬件不足时,可切换到外部云 LLM:
① 获取 API Key并注册服务商;② 设为环境变量:
# Linux/macOS(建议写入 ~/.bashrc、~/.zshrc 以便持久化) export TOGETHER_API_KEY="xxxxxxxxxxxxxxxxxxxxxx" # Windows 临时设置 set PROVIDER_API_KEY=your_api_key_here # PowerShell $env:PROVIDER_API_KEY="your_api_key_here"③ 修改 config.ini:
[MAIN] is_local = False provider_name = openai # 或 google、deepseek、togetherAI、huggingface provider_model = gpt-3.5-turbo # 或 gemini-1.5-flash、deepseek-chat、mistralai/Mixtral-8x7B-Instruct-v0.1 等 provider_server_address = # is_local = False 时大多数 API 忽略该字段,可留空警告:config.ini 的值不能带行尾空格。
API 提供方对照表(provider_name与官方文档一致):
| 提供方 | provider_name | 说明 |
|---|---|---|
| OpenAI | openai | 官方 API 使用 ChatGPT 系列模型 |
| Google Gemini | google | 通过 Google AI Studio 使用 Gemini |
| Deepseek | deepseek | 通过官方 API 使用 Deepseek |
| Hugging Face | huggingface | 使用 Hugging Face Inference API |
| TogetherAI | togetherAI | 通过 API 使用多种开源模型 |
| OpenRouter | openrouter | 通过 OpenRouter API 使用多种模型 |
官方文档补充了三条选型建议:
- 复杂的网页浏览与任务规划不建议用
gpt-4o等 OpenAI 模型——当前 prompt 面向 Deepseek 这类推理模型优化; - Gemini 在 coding/bash 任务上可能失败,因为它倾向不遵循为 Deepseek r1 优化的输出格式;
is_local = False时provider_server_address通常被忽略,API 端点由对应客户端库处理。
需要说明的是,仓库源码 sources/llm_provider.py 的available_providers映射中,除文档列出的提供方外还实现了minimax(MiniMax,.env中可配MINIMAX_API_KEY与MINIMAX_BASE_URL)、anthropic、litellm(LiteLLM 网关)与dsk_deepseek(非官方免费 Deepseek 通道)等,说明该映射持续扩展,README 表格并非穷尽列表。API Key 的读取逻辑在get_api_key中:它按{PROVIDER}_API_KEY的规则从 .env 取环境变量,缺失时抛出明确错误。
4.3 方案三:在自建服务器上运行 LLM(远程 Ollama / OpenAI 兼容服务)
如果你有一台强力的服务器而想在笔记本上使用,官方文档(英文 README 与日文 README 的对应章节)推荐标准 LLM 服务器方案,服务器上无需运行任何 AgenticSeek 专用代码。
先获取服务器 IP:
ip a | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}' | cut -d/ -f1 # 本地 IP curl https://ipinfo.io/ip # 公网 IP方式 A:远程 Ollama(推荐)。服务器上:
OLLAMA_HOST=0.0.0.0 ollama serve ollama pull deepseek-r1:14b个人电脑 config.ini 配置:
[MAIN] is_local = False provider_name = ollama provider_model = deepseek-r1:14b provider_server_address = x.x.x.x:11434注意:此处is_local必须为False——若为True,AgenticSeek 会去本机找 Ollama 而忽略该地址。
方式 B:llama.cpp 或任意 OpenAI 兼容服务。服务器上启动:
llama-server -m your-model.gguf --host 0.0.0.0 --port 8080个人电脑端使用lm-studio提供方(它走裸的 OpenAI 兼容/v1/chat/completions接口、无需 API Key):
[MAIN] is_local = False provider_name = lm-studio provider_model = your-model provider_server_address = http://x.x.x.x:8080遗留方案(已弃用):早期版本曾随仓库附带一个基于 Flask 的专用封装服务 llm_server/app.py,对应provider_name = server,通过/setup、/generate、/get_updated_sentence三个路由与客户端轮询交互(对应 sources/llm_provider.py 的server_fn)。官方文档已将其标记为deprecated:它一次只能处理一个请求、不支持流式输出、无认证,标准服务器方案完全覆盖其功能,仅出于兼容保留,未来可能移除。新部署请使用方式 A/B。
4.4 config.ini 全参数速查手册
官方"配置"章节的完整参数说明如下,配合源码可进一步理解其作用位置:
[MAIN] 段
| 参数 | 取值 | 说明 |
|---|---|---|
is_local | True/False | 使用本地提供方(Ollama、LM-Studio、本地 OpenAI 兼容服务)或自建服务器时为True;使用云 API 时为False |
provider_name | 见下表 | 指定 LLM 提供方;本地:ollama、lm-studio、openai(本地兼容服务)、server(已弃用);API:openai、google、deepseek、huggingface、togetherAI |
provider_model | 模型名/ID | 如 Ollama 的deepseekcoder:6.7b、OpenAI 的gpt-3.5-turbo、TogetherAI 的mistralai/Mixtral-8x7B-Instruct-v0.1 |
provider_server_address | 地址 | 本地:Ollamahttp://127.0.0.1:11434、LM-Studiohttp://127.0.0.1:1234;远程:http://your_server_ip:3333;云 API:通常忽略或留空 |
agent_name | 任意名字 | AI 助手名称,如 Friday;启用语音识别时作为唤醒词 |
recover_last_session | True/False | 是否尝试恢复上一会话状态 |
save_session | True/False | 是否保存当前会话以便恢复 |
speak | True/False | 是否启用文本转语音输出 |
listen | True/False | 是否启用语音识别输入(仅 CLI 模式) |
work_dir | 目录路径 | 关键项:AgenticSeek 读写文件的目录,必须保证路径有效且可访问。源码 sources/workspace.py 显示其解析优先级为:环境变量WORK_DIR> config.ini 的work_dir> 默认运行时目录下的workspace子目录;resolve_workspace_path还会校验路径不能越出工作区(防目录穿越) |
jarvis_personality | True/False | 使用更"Jarvis 式"的系统提示词(实验性) |
languages | 逗号分隔列表 | 如en, zh, fr。用于 TTS 音色选择(默认取第一个),并辅助 LLM 路由器判断语言;sources/router.py 中LanguageUtility会先检测输入语言再决定路由行为。避免配置过多或过于相似的语言以维持路由效率 |
[BROWSER] 段
| 参数 | 取值 | 说明 |
|---|---|---|
headless_browser | True/False | True无窗口运行自动化浏览器(Web 界面/非交互推荐);False显示浏览器窗口(CLI 调试用)。sources/browser.py 的create_driver在 Docker 内运行非 headless 时会打印告警 |
stealth_mode | True/False | 启用反检测措施(undetected_chromedriver+ selenium-stealth),降低浏览器自动化被识别的概率;可能需要手动安装 nopecha 等验证码扩展。从 sources/browser.py 的create_chrome_options可看到,非 stealth 模式才会加载./crx/nopecha.crx反验证码扩展,stealth 模式则注入指纹伪装脚本(sources/web_scripts/spoofing.js)与随机 User-Agent |
4.5 硬件需求速查(官方 FAQ)
| 模型规模 | GPU | 评价 |
|---|---|---|
| 7B | 8GB VRAM | ⚠️ 不推荐:性能差、频繁幻觉、规划 Agent 易失败 |
| 14B | 12GB VRAM(如 RTX 3060) | ✅ 可处理简单任务;网页浏览与规划任务可能吃力 |
| 32B | 24GB+ VRAM(如 RTX 4090) | 🚀 多数任务成功,任务规划可能仍有困难 |
| 70B+ | 48GB+ VRAM | 💪 表现出色,推荐高级使用场景 |
五、启动服务并运行:Web 界面与 CLI 双模式
默认情况下 AgenticSeek 完全运行在 Docker 中。
5.1 方案一:Docker + Web 界面
./start_services.sh full # macOS/Linux;Windows 用 start start_services.cmd fullfull会启动 docker-compose.yml 中的所有服务:searxng、redis(searxng 依赖)、frontend、backend。该文件为每个服务定义了 Compose profiles:core(redis+searxng+frontend)与full(core+backend),start_services.sh正是通过--profile full up/--profile core up区分两种部署。
官方警告:首次运行需下载并加载全部 Docker 镜像,最长可达 30 分钟;后端服务首次启动可能需要 5 分钟。请务必等到日志中出现backend: "GET /health HTTP/1.1" 200 OK再发送消息(start_services.sh 会等待 backend 容器进入 Running 且非 Restarting 状态,最多轮询 30 秒)。就绪后访问http://localhost:3000/即可使用 Web 界面。
5.2 方案二:CLI 模式
先在宿主机安装依赖并修正 .env:
./install.sh # Windows 用 ./install.bat # 将 .env 中的 SEARXNG_BASE_URL 改为宿主机映射地址(改 .env,不是 config.ini) SEARXNG_BASE_URL="http://localhost:8080"然后启动核心服务(不含 backend):
./start_services.sh # macOS/Linux;Windows 用 start start_services.cmd确保 uv 已启用 pip,并启动 CLI:
uv run python -m ensurepip uv run cli.py5.3 使用示例与提示词技巧
官方给出的可复现实例(注意文件一律落在 WORK_DIR 内):
- 用 Python 写一个贪吃蛇游戏!
- 在网上搜索法国雷恩最好的咖啡馆,把三家及地址保存到 rennes_cafes.txt
- 写一个计算阶乘的 Go 程序,保存为 workspace 中的 factorial.go
- 在 summer_pictures 文件夹中查找所有 JPG 文件,用今天的日期重命名,并把重命名清单保存到 photos_list.txt
- 搜索 2024 年热门科幻电影,挑三部今晚观看,保存到 movie_night.txt
- 搜索 2025 年最新 AI 新闻,选三篇,写一个 Python 脚本抓取标题和摘要,脚本存为 news_scraper.py,摘要存到 /home/projects 下的 ai_news.txt
- Friday,搜索免费的股票价格 API,用 supersuper7434567@gmail.com 注册,然后写 Python 脚本获取特斯拉每日股价,保存到 stock_prices.csv
几点官方提醒:
- 表单填写能力仍属实验性,可能失败;
- 输入查询后,AgenticSeek 会自动分配最佳 Agent。但这是早期原型,路由系统不一定总能选对 Agent,因此表达必须非常明确。想触发网页搜索,不要说"你知道哪些适合独自旅行的国家吗?",而要说"执行一次网页搜索,找出最适合独自旅行的国家";
- 退出:对 CLI 说/输入
goodbye。
六、语音识别:让 Agent 听见你
语音识别当前仅支持 CLI 模式、且仅支持英文,默认关闭。启用方式:
listen = True交互流程为:listen = True后,系统持续监听唤醒词(即 agent_name),例如:
agent_name = Friday官方建议用 "John"、"Emma" 等常见英文名作为 agent_name 以获得最佳识别率。使用步骤:看到转写开始出现 → 大声喊出 Agent 名字(如 "Friday")唤醒 → 清晰说出查询 → 以确认短语结尾让系统继续执行,例如:"do it"、"go ahead"、"execute"、"run"、"start"、"thanks"、"would ya"、"please"、"okay?"、"proceed"、"continue"、"go on"、"do that"、"do you understand?"。
仓库中 sources/speech_to_text.py 与 sources/text_to_speech.py 即语音链路的实现模块;speak = True时启用 TTS 输出,音色语言取languages列表第一个。
七、常见故障排查(Known Issues)
7.1 ChromeDriver 版本不匹配
报错示例:SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version XXX或Exception: Failed to initialize browser: ... Current browser version is 134.0.6998.89 with binary path。
根因:ChromeDriver 与 Chrome 浏览器大版本不一致;Docker 环境下undetected_chromedriver可能自行下载自己的 ChromeDriver 版本,绕过挂载的二进制。
解决步骤:
- 打开 Chrome → 设置 → 关于 Chrome,记录版本号(如 134.0.6998.88);
- Chrome 115+ 使用Chrome for Testing API下载与浏览器版本匹配的 ChromeDriver(Docker 环境选 Linux64);更老的版本用遗留的 ChromeDriver 下载页;
- 安装(二选一):
- 方法 A(Docker 推荐):把下载的 chromedriver 放到项目根目录:
cp path/to/downloaded/chromedriver ./chromedriver chmod +x ./chromedriver - 方法 B(系统 PATH):
sudo mv chromedriver /usr/local/bin/后sudo chmod +x /usr/local/bin/chromedriver(Windows 放 PATH 目录);
- 方法 A(Docker 推荐):把下载的 chromedriver 放到项目根目录:
- 验证:
./chromedriver --version应输出对应版本。
Docker 专属提示:卷挂载方式在 stealth 模式(undetected_chromedriver)下可能失效,务必把二进制放在项目根目录./chromedriver;应用会自动检测并使用它,日志中应出现"Using ChromeDriver from project root: ./chromedriver"。这一逻辑在 sources/browser.py 的install_chromedriver中完全可见:它依次尝试项目根目录./chromedriver→ 系统 PATH → Docker 固定路径/usr/local/bin/chromedriver→chromedriver_autoinstaller自动安装,并对每个候选二进制用is_chromedriver_compatible比对主版本号。
版本兼容矩阵(文档给出的参考):
| Chrome 版本 | ChromeDriver 版本 |
|---|---|
| 134.0.6998.x | 134.0.6998.165 |
| 133.0.6943.x | 133.0.6943.141 |
| 132.0.6834.x | 132.0.6834.159 |
要点:优先精确匹配;版本 134.0.6998.88 可用最近的 134.0.6998.165;主版本号必须一致(134=134)。
7.2 Docker 后端连不上宿主机 Ollama
报错示例:An error occurred: Provider ollama failed: Ollama connection failed at http://host.docker.internal:11434. Check if the server is running.前端显示Error: Unable to get a response.,后端/query返回 HTTP 500。
根因:后端在 Docker 中通过host.docker.internal访问宿主机 Ollama,且 Docker 模式下只取provider_server_address的端口、主机部分被替换为DOCKER_INTERNAL_URL(见 sources/llm_provider.py 的ollama_fn与 docker-compose.yml 中DOCKER_INTERNAL_URL=http://host.docker.internal)。失败往往不是配置拼写问题,而是宿主机 Ollama 只绑定127.0.0.1:11434,拒绝了来自 Docker 网桥的连接。
不要改provider_server_address = 127.0.0.1:11434(容器内主机部分会被忽略)。正确解法是让 Ollama 监听所有网卡:
# 临时验证 OLLAMA_HOST=0.0.0.0:11434 ollama serve持久化方案:Linux systemd:sudo systemctl edit ollama加入[Service]下Environment="OLLAMA_HOST=0.0.0.0:11434",然后sudo systemctl daemon-reload && sudo systemctl restart ollama;macOS(Ollama.app):launchctl setenv OLLAMA_HOST "0.0.0.0:11434"后退出并重启应用。
验证:从后端容器内执行docker compose exec backend curl -sS http://host.docker.internal:11434/api/tags,应返回模型 JSON 列表。
Linux 注意事项:host.docker.internal只有在 docker-compose 中配置了extra_hosts: - "host.docker.internal:host-gateway"才能在容器内解析(docker-compose.yml 已包含该配置);Docker Desktop(macOS/Windows)开箱即用。若启用了 ufw/firewalld,还需放行 Docker 网桥到 11434:sudo ufw allow from 172.16.0.0/12 to any port 11434。
7.3 LM Studio 连接适配器错误
报错示例:Exception: Provider lm-studio failed: HTTP request failed: No connection adapters were found for '127.0.0.1:1234/v1/chat/completions'(端口可能不同)。
根因与解决:provider_server_address缺少http://前缀或端口错误。LM Studio 默认地址为http://127.0.0.1:1234,正确配置应为:
provider_server_address = http://127.0.0.1:12347.4 SearXNG Base URL 未提供
报错示例:
raise ValueError("SearxNG base URL must be provided either as an argument or via the SEARXNG_BASE_URL environment variable.") ValueError: SearxNG base URL must be provided either as an argument or via the SEARXNG_BASE_URL environment variable.通常是在 CLI 模式下使用了错误的 searxng 地址。SEARXNG_BASE_URL在.env中设置,取值只取决于后端运行位置(参见 3.2 节表格)。端口冲突场景速查:
- 宿主机 8080 被占用时,在
.env设SEARXNG_PORT(如 8001); - Web 界面(后端在 Docker):
SEARXNG_BASE_URL="http://searxng:8080"保持不变——容器内部端口不变; - CLI 模式(后端在宿主机):
SEARXNG_BASE_URL="http://localhost:8001"——必须与SEARXNG_PORT一致; - 浏览器检查:访问
http://localhost:<SEARXNG_PORT>;如果旧的 8080 端口有响应,那是别的应用,不是 AgenticSeek 的 SearXNG; - 修改
.env后必须重启后端(api.py或cli.py),因为该文件只在进程启动时读取。
八、FAQ 精选与安全边界
Q: 遇到错误怎么办?检查本地推理服务是否运行(ollama serve)、config.ini 是否与提供方匹配、依赖是否安装齐全;仍无法解决可到仓库提交 issue。
Q: 真的能 100% 本地运行吗?可以。使用 ollama、lm-studio 或 server 提供方时,语音识别、LLM、文本转语音全部在本地执行;OpenAI 等非本地 API 只是可选方案。
Q: 有了 Manus 为什么还要用 AgenticSeek?与 Manus 不同,AgenticSeek 优先强调对外部系统的独立性,给你更多控制权、隐私保护,并省去 API 成本。
Q: 谁在维护这个项目?项目由作者与两位共同维护者及 GitHub 开源社区贡献者运营,属于兴趣驱动的开源项目,并非创业公司。
安全边界提醒:后端/query接口无鉴权、Agent 会执行 shell 命令,因此 docker-compose.yml 将 backend 端口仅发布到宿主机回环地址127.0.0.1:${BACKEND_PORT:-7777},并默认BACKEND_HOST=127.0.0.1;只有在你完全信任的网络中、且置于带认证的反向代理或防火墙之后,才应考虑对外暴露。
九、延伸阅读
- 中文部署文档:README_CHS.md;繁体中文:README_CHT.md;英文原版:README.md
- 前端实现(React):frontend/agentic-seek-front/src/App.js
- 多 Agent 实现:sources/agents/agent.py 及各专用 Agent 源码(sources/agents/browser_agent.py、sources/agents/code_agent.py 等)
- 工具层:sources/tools/tools.py(工作区路径校验、
safe_mode等)与各解释器(sources/tools/PyInterpreter.py 等) - 测试用例(可用于验证行为):tests/test_provider.py、tests/test_workspace.py、tests/test_browser_agent_parsing.py
【免费下载链接】agenticSeekFully 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.项目地址: https://gitcode.com/GitHub_Trending/ag/agenticSeek
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考