diff --git a/README_CHS.md b/README_CHS.md index 55c54ce..2cdaa2d 100644 --- a/README_CHS.md +++ b/README_CHS.md @@ -1,44 +1,48 @@ -# AgenticSeek: 一款100%本地运行的Manus替代方案 +# AgenticSeek:私有、本地的 Manus 替代方案
-[English](./README.md) | 中文 | [日本語](./README_JP.md) | [Português (Brasil)](./README_PTBR.md)
+ [English](./README.md) | 中文 | [繁體中文](./README_CHT.md) | [Français](./README_FR.md) | [日本語](./README_JP.md) | [Português (Brasil)](./README_PTBR.md)
-*一个 **100% 本地替代 Manus AI** 的方案,这款支持语音的 AI 助理能够自主浏览网页、编写代码和规划任务,同时将所有数据保留在您的设备上。专为本地推理模型量身打造,完全在您自己的硬件上运行,确保完全的隐私保护和零云端依赖。*
+*一个**100%本地运行的 Manus AI 替代品**,支持语音的 AI 助手,可自主浏览网页、编写代码、规划任务,所有数据仅保存在你的设备上。专为本地推理模型设计,完全在你的硬件上运行,确保隐私无忧,无需云端依赖。*
-[](https://fosowl.github.io/agenticSeek.html)  [](https://discord.gg/8hGDaME3TC) [](https://x.com/Martin993886460)
+[](https://fosowl.github.io/agenticSeek.html)  [](https://discord.gg/8hGDaME3TC) [](https://x.com/Martin993886460) [](https://github.com/Fosowl/agenticSeek/stargazers)
### 为什么选择 AgenticSeek?
-* 🔒 完全本地化与隐私保护 - 所有功能都在您的设备上运行 — 无云端服务,无数据共享。您的文件、对话和搜索始终保持私密。
+* 🔒 完全本地 & 私有 —— 所有内容都在你的电脑上运行,无云端、无数据共享。你的文件、对话和搜索都保持私密。
-* 🌐 智能网页浏览 - AgenticSeek 能够自主浏览互联网 — 搜索、阅读、提取信息、填写网页表单 — 全程无需人工操作。
+* 🌐 智能网页浏览 —— AgenticSeek 可自主浏览互联网:搜索、阅读、提取信息、填写网页表单,全程免手动。
-* 💻 自主编码助手 - 需要代码?它可以编写、调试并运行 Python、C、Go、Java 等多种语言的程序 — 全程无需监督。
+* 💻 自动化编程助手 —— 需要代码?它能编写、调试并运行 Python、C、Go、Java 等程序,无需监督。
-* 🧠 智能代理选择 - 您提问,它会自动选择最适合该任务的代理。就像拥有一个随时待命的专家团队。
+* 🧠 智能代理选择 —— 你提问,它自动判断最合适的代理来完成任务。就像有一支专家团队随时待命。
-* 📋 规划与执行复杂任务 - 从旅行规划到复杂项目 — 它能将大型任务分解为步骤,并利用多个 AI 代理完成工作。
+* 📋 规划并执行复杂任务 —— 从旅行规划到复杂项目,可将大任务拆分为步骤,调用多个 AI 代理协作完成。
-* 🎙️ 语音功能 - 清晰、快速、未来感十足的语音与语音转文本功能,让您能像科幻电影中一样与您的个人 AI 助手对话。
+* 🎙️ 语音支持 —— 干净、快速、未来感的语音与语音转文本功能,让你像科幻电影中的 AI 一样与它对话。(开发中)
-https://github.com/user-attachments/assets/4bd5faf6-459f-4f94-bd1d-238c4b331469
+### **演示**
-> 🛠️ **目前还在开发阶段** – 欢迎任何贡献者加入我们!
+> *你能搜索 agenticSeek 项目,了解需要哪些技能,然后打开 CV_candidates.zip 并告诉我哪些最匹配该项目吗?*
----
+https://github.com/user-attachments/assets/b8ca60e9-7b3b-4533-840e-08f9ac426316
-## **安装**
+免责声明:本演示及出现的所有文件(如 CV_candidates.zip)均为虚构。我们不是公司,只寻求开源贡献者而非候选人。
-确保已安装了 Chrome driver,Docker 和 Python 3.10(或更新)。
+> 🛠⚠️️ **项目正在积极开发中**
-我们强烈建议您使用 Python 3.10 进行设置,否则可能会发生依赖错误。
+> 🙏 本项目起初只是一个副业,没有路线图也没有资金支持。它意外地登上了 GitHub Trending。非常感谢大家的贡献、反馈与耐心。
-有关于 Chrome driver 的问题,请参见 **Chromedriver** 部分。
+## 前置条件
-### 1️⃣ **复制储存库与设置环境变数**
+请确保已安装 chrome driver、docker 和 python3.10。
+
+如遇 chrome driver 相关问题,请参见 **Chromedriver** 部分。
+
+### 1. **克隆仓库并初始化**
```sh
git clone https://github.com/Fosowl/agenticSeek.git
@@ -46,374 +50,337 @@ cd agenticSeek
mv .env.example .env
```
-## 2️⃣ 安装 UV 包管理器
-
-### Linux/macOS:
-```bash
-curl -LsSf https://astral.sh/uv/install.sh | sh
-```
-
-### Windows:
-```powershell
-powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
-```
-
-## 3️⃣ 创建虚拟环境
-```bash
-uv venv
-```
-
-### 4️⃣ **安装所需套件**
-
-**自动安装:**
+### 2. 修改 .env 文件内容
```sh
-./install.sh
+SEARXNG_BASE_URL="http://127.0.0.1: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'
```
-** 若要让文本转语音(TTS)功能支持中文,你需要安装 jieba(中文分词库)和 cn2an(中文数字转换库):**
+**API Key 完全可选,若你选择本地运行 LLM(本项目主要目的),可留空,只要硬件足够。**
+以下环境变量用于配置应用的连接和 API 密钥。
+
+根据需要更新 `.env` 文件:
+
+- **SEARXNG_BASE_URL**:保持不变
+- **REDIS_BASE_URL**:保持不变
+- **WORK_DIR**:本地工作目录路径,AgenticSeek 可读取和操作这些文件
+- **OLLAMA_PORT**:Ollama 服务端口
+- **LM_STUDIO_PORT**:LM Studio 服务端口
+- **CUSTOM_ADDITIONAL_LLM_PORT**:自定义 LLM 服务端口
+
+下方所有 API 密钥环境变量均为**可选**,仅在你打算使用外部 API 而非本地 LLM 时填写。
+
+### 3. **启动 Docker**
+
+确保已安装并运行 Docker。可通过以下命令启动:
+
+- **Linux/macOS:**
+ 打开终端运行:
+ ```sh
+ sudo systemctl start docker
+ ```
+ 或在应用菜单启动 Docker Desktop。
+
+- **Windows:**
+ 在开始菜单启动 Docker Desktop。
+
+验证 Docker 是否运行:
+
+```sh
+docker info
```
-pip3 install jieba cn2an
-```
+如能看到 Docker 信息,则运行正常。
-**手动安装:**
+---
+## 本地运行 LLM 的设置
-**注意:对于任何操作系统,请确保您安装的 ChromeDriver 与您已安装的 Chrome 版本匹配。运行 `google-chrome --version`。如果您的 Chrome 版本 > 135,请参阅已知问题**
+**硬件要求:**
-- *Linux*:
+本地运行 LLM 需有足够硬件。至少需支持 Qwen/Deepseek 14B 的 GPU。详细模型/性能建议见 FAQ。
-更新软件包列表:`sudo apt update`
+**启动本地 provider**
-安装依赖项:`sudo apt install -y alsa-utils portaudio19-dev python3-pyaudio libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1`
-
-安装与您的 Chrome 浏览器版本匹配的 ChromeDriver:
-`sudo apt install -y chromium-chromedriver`
-
-安装 requirements:`pip3 install -r requirements.txt`
-
-- *Macos*:
-
-更新 brew:`brew update`
-
-安装 chromedriver:`brew install --cask chromedriver`
-
-安装 portaudio:`brew install portaudio`
-
-升级 pip:`python3 -m pip install --upgrade pip`
-
-升级 wheel:`pip3 install --upgrade setuptools wheel`
-
-安装 requirements:`pip3 install -r requirements.txt`
-
-- *Windows*:
-
-安装 pyreadline3:`pip install pyreadline3`
-
-手动安装 portaudio(例如,通过 vcpkg 或预编译的二进制文件),然后运行:`pip install pyaudio`
-
-从以下网址手动下载并安装 chromedriver:https://sites.google.com/chromium.org/driver/getting-started
-
-将 chromedriver 放置在包含在您的 PATH 中的目录中。
-
-安装 requirements:`pip3 install -r requirements.txt`
-
-
-
-## 在本地机器上运行 AgenticSeek
-
-**建议至少使用 Deepseek 14B 以上参数的模型,较小的模型难以使用助理功能并且很快就会忘记上下文之间的关系。**
-
-**本地运行助手**
-
-启动你的本地提供者,例如使用 ollama:
+以 ollama 为例,启动本地 provider:
```sh
ollama serve
```
-请参阅下方支持的本地提供者列表。
+下方有本地支持的 provider 列表。
-**更新 config.ini**
+**修改 config.ini**
-修改 config.ini 文件以设置 provider_name 为支持的提供者,并将 provider_model 设置为该提供者支持的 LLM。我们推荐使用具有推理能力的模型,如 *Qwen* 或 *Deepseek*。
+将 config.ini 文件中的 provider_name 设置为支持的 provider,provider_model 设置为 provider 支持的 LLM。推荐推理模型如 *Qwen* 或 *Deepseek*。
-请参见 README 末尾的 **FAQ** 部分了解所需硬件。
+详细硬件要求见 README 末尾 FAQ。
```sh
[MAIN]
-is_local = True # 无论是在本地运行还是使用远程提供者。
-provider_name = ollama # 或 lm-studio, openai 等..
-provider_model = deepseek-r1:14b # 选择适合您硬件的模型
+is_local = True # 是否本地运行
+provider_name = ollama # 或 lm-studio、openai 等
+provider_model = deepseek-r1:14b # 选择适合硬件的模型
provider_server_address = 127.0.0.1:11434
-agent_name = Jarvis # 您的 AI 助手的名称
-recover_last_session = True # 是否恢复之前的会话
-save_session = True # 是否记住当前会话
-speak = True # 文本转语音
-listen = False # 语音转文本,仅适用于命令行界面
-work_dir = /Users/mlg/Documents/workspace # AgenticSeek 的工作空间。
-jarvis_personality = False # 是否使用更"贾维斯"风格的性格,不推荐在小型模型上使用
-languages = en zh # 语言列表,文本转语音将默认使用列表中的第一种语言
+agent_name = Jarvis # AI 名称
+recover_last_session = True # 是否恢复上次会话
+save_session = True # 是否保存当前会话
+speak = False # 语音输出
+listen = False # 语音输入,仅 CLI,实验性
+jarvis_personality = False # 是否使用 Jarvis 风格(实验性)
+languages = en zh # 语言列表,语音默认第一个
[BROWSER]
-headless_browser = True # 是否使用无头浏览器,只有在使用网页界面时才推荐使用。
-stealth_mode = True # 使用无法检测的 selenium 来减少浏览器检测
+headless_browser = True # 除非 CLI,否则保持不变
+stealth_mode = True # 使用 undetected selenium 降低被检测概率
```
-警告:使用 LM-studio 运行 LLM 时,请*不要*将 provider_name 设置为 `openai`。请将其设置为 `lm-studio`。
+**警告:**
-注意:某些提供者(如 lm-studio)需要在 IP 前面加上 `http://`。例如 `http://127.0.0.1:1234`
+- `config.ini` 不支持注释。不要直接复制示例配置,否则注释会导致错误。请手动修改 config.ini,去除注释。
+- 若用 LM-studio 运行 LLM,provider_name 不要设为 `openai`,应设为 `lm-studio`。
+- 某些 provider(如 lm-studio)要求 IP 前加 `http://`,如 `http://127.0.0.1:1234`
-**本地提供者列表**
+**本地 provider 列表**
-| 提供者 | 本地? | 描述 |
-|-------------|--------|-------------------------------------------------------|
-| ollama | 是 | 使用 ollama 作为 LLM 提供者,轻松本地运行 LLM |
-| lm-studio | 是 | 使用 LM Studio 本地运行 LLM(将 `provider_name` 设置为 `lm-studio`)|
-| openai | 否 | 使用兼容的 API |
+| Provider | 本地? | 说明 |
+|-----------|--------|----------------------------------------------------|
+| ollama | 是 | 使用 ollama 本地运行 LLM |
+| lm-studio | 是 | 使用 LM studio 本地运行 LLM(provider_name 设为 lm-studio)|
+| openai | 是 | 使用 openai 兼容 API(如 llama.cpp server) |
-下一步: [Start services and run AgenticSeek](#Start-services-and-Run)
+下一步:[启动服务并运行 AgenticSeek](#Start-services-and-Run)
+
+*如遇问题见**已知问题**部分*
+
+*硬件无法本地运行 deepseek 时见**API 运行**部分*
+
+*详细配置说明见**Config**部分*
---
-## **Run with an API (透过 API 执行)**
+## 使用 API 运行设置
-设定 `config.ini`。
+**API 运行为可选,见上方本地运行方法。**
+
+在 `config.ini` 设置所需 provider。API provider 列表如下。
```sh
[MAIN]
is_local = False
-provider_name = openai
-provider_model = gpt-4o
-provider_server_address = 127.0.0.1:5000
+provider_name = google
+provider_model = gemini-2.0-flash
+provider_server_address = 127.0.0.1:5000 # 无关紧要
```
+警告:确保 config 中无多余空格。
-警告:确保 `config.ini` 没有行尾空格。
+导出 API key:`export <
-
+[English](./README.md) | 中文 | [繁體中文](./README_CHT.md) | [Français](./README_FR.md) | [日本語](./README_JP.md) | [Português (Brasil)](./README_PTBR.md)
-[English](./README.md) | [中文](./README_CHS.md) | 繁體中文 | [日本語](./README_JP.md) | [Português (Brasil)](./README_PTBR.md)
+*一個**100%本地運行的 Manus AI 替代品**,支持語音的 AI 助手,可自主瀏覽網頁、編寫代碼、規劃任務,所有數據僅保存在你的設備上。專為本地推理模型設計,完全在你的硬件上運行,確保隱私無憂,無需雲端依賴。*
-*一個 **100% 本地替代 Manus AI** 的方案,這款支援語音的 AI 助理能夠自主瀏覽網頁、編寫代碼和規劃任務,同時將所有數據保留在您的裝置上。專為本地推理模型量身打造,完全在您自己的硬體上執行,確保完全的隱私保護和零雲端依賴。*
-
-[](https://fosowl.github.io/agenticSeek.html)  [](https://discord.gg/8hGDaME3TC) [](https://x.com/Martin993886460)
+[](https://fosowl.github.io/agenticSeek.html)  [](https://discord.gg/8hGDaME3TC) [](https://x.com/Martin993886460) [](https://github.com/Fosowl/agenticSeek/stargazers)
### 為什麼選擇 AgenticSeek?
-* 🔒 完全本地化與隱私保護 - 所有功能都在您的裝置上執行 — 無雲端服務,無數據共享。您的檔案、對話和搜索始終保持私密。
-* 🌐 智慧網頁瀏覽 - AgenticSeek 能夠自主瀏覽網頁 — 搜索、閱讀、提取資訊、填寫網頁表單 — 全程無需人工操作。
-* 💻 自主編碼助手 - 需要程式碼?它可以編寫、除錯並執行 Python、C、Go、Java 等多種語言的程式 — 全程無需監督。
-* 🧠 智慧代理選擇 - 您提問,它會自動選擇最適合該任務的代理。就像擁有一個隨時待命的專家團隊。
-* 📋 規劃與執行復雜任務 - 從旅行規劃到複雜專案 — 它能將大型任務分解為步驟,並利用多個 AI 代理完成工作。
-* 🎙️ 語音功能 - 清晰、快速、未來感十足的語音與語音轉文字功能,讓您能像科幻電影中一樣與您的個人 AI 助手對話。
+* 🔒 完全本地 & 私有 —— 所有內容都在你的電腦上運行,無雲端、無數據共享。你的文件、對話和搜索都保持私密。
-https://github.com/user-attachments/assets/4bd5faf6-459f-4f94-bd1d-238c4b331469
+* 🌐 智能網頁瀏覽 —— AgenticSeek 可自主瀏覽互聯網:搜索、閱讀、提取信息、填寫網頁表單,全程免手動。
-> 🛠️ **目前還在開發階段** – 歡迎任何貢獻者加入我們!
+* 💻 自動化編程助手 —— 需要代碼?它能編寫、調試並運行 Python、C、Go、Java 等程序,無需監督。
----
+* 🧠 智能代理選擇 —— 你提問,它自動判斷最合適的代理來完成任務。就像有一支專家團隊隨時待命。
-## **安裝**
+* 📋 規劃並執行複雜任務 —— 從旅行規劃到複雜項目,可將大任務拆分為步驟,調用多個 AI 代理協作完成。
-確保已安裝了 Chrome driver,Docker 和 Python 3.10(或更新)。
+* 🎙️ 語音支持 —— 乾淨、快速、未來感的語音與語音轉文本功能,讓你像科幻電影中的 AI 一樣與它對話。(開發中)
-我們強烈建議您使用 Python 3.10 進行設定,否則可能會發生依賴錯誤。
+### **演示**
-有關於 Chrome driver 的問題,請參見 **Chromedriver** 部分。
+> *你能搜索 agenticSeek 項目,了解需要哪些技能,然後打開 CV_candidates.zip 並告訴我哪些最匹配該項目嗎?*
-### 1️⃣ **複製儲存庫與設定環境變數**
+https://github.com/user-attachments/assets/b8ca60e9-7b3b-4533-840e-08f9ac426316
+
+免責聲明:本演示及出現的所有文件(如 CV_candidates.zip)均為虛構。我們不是公司,只尋求開源貢獻者而非候選人。
+
+> 🛠⚠️️ **項目正在積極開發中**
+
+> 🙏 本項目起初只是一個副業,沒有路線圖也沒有資金支持。它意外地登上了 GitHub Trending。非常感謝大家的貢獻、反饋與耐心。
+
+## 前置條件
+
+請確保已安裝 chrome driver、docker 和 python3.10。
+
+如遇 chrome driver 相關問題,請參見 **Chromedriver** 部分。
+
+### 1. **克隆倉庫並初始化**
```sh
git clone https://github.com/Fosowl/agenticSeek.git
@@ -41,370 +46,337 @@ cd agenticSeek
mv .env.example .env
```
-## 2️⃣ 安裝 UV 套件管理器
-
-### Linux/macOS:
-```bash
-curl -LsSf https://astral.sh/uv/install.sh | sh
-```
-
-### Windows:
-```powershell
-powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
-```
-
-## 3️⃣ 建立虛擬環境
-```bash
-uv venv
-```
-
-### 4️⃣ **安裝所需套件**
-
-**自動安裝:**
+### 2. 修改 .env 文件內容
```sh
-./install.sh
+SEARXNG_BASE_URL="http://127.0.0.1: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'
```
-** 若要讓文字轉成語音(TTS)功能支援中文,你需要安裝 jieba(中文分詞庫)和 cn2an(中文數字轉換庫):**
+**API Key 完全可選,若你選擇本地運行 LLM(本項目主要目的),可留空,只要硬件足夠。**
+以下環境變量用於配置應用的連接和 API 密鑰。
+
+根據需要更新 `.env` 文件:
+
+- **SEARXNG_BASE_URL**:保持不變
+- **REDIS_BASE_URL**:保持不變
+- **WORK_DIR**:本地工作目錄路徑,AgenticSeek 可讀取和操作這些文件
+- **OLLAMA_PORT**:Ollama 服務端口
+- **LM_STUDIO_PORT**:LM Studio 服務端口
+- **CUSTOM_ADDITIONAL_LLM_PORT**:自定義 LLM 服務端口
+
+下方所有 API 密鑰環境變量均為**可選**,僅在你打算使用外部 API 而非本地 LLM 時填寫。
+
+### 3. **啟動 Docker**
+
+確保已安裝並運行 Docker。可通過以下命令啟動:
+
+- **Linux/macOS:**
+打開終端運行:
+```sh
+sudo systemctl start docker
```
-pip3 install jieba cn2an
+或在應用菜單啟動 Docker Desktop。
+
+- **Windows:**
+在開始菜單啟動 Docker Desktop。
+
+驗證 Docker 是否運行:
+
+```sh
+docker info
```
+如能看到 Docker 信息,則運行正常。
-**手動安裝:**
+---
-**注意:對於不同的操作系統,請確保您安裝的 ChromeDriver 與您已安裝的 Chrome 版本匹配。執行 `google-chrome --version`。如果您的 Chrome 版本 > 135,請參閱已知問題**
+## 本地運行 LLM 的設置
-- *Linux*:
+**硬件要求:**
-更新軟件包列表:`sudo apt update`
+本地運行 LLM 需有足夠硬件。至少需支持 Qwen/Deepseek 14B 的 GPU。詳細模型/性能建議見 FAQ。
-安裝依賴項:`sudo apt install -y alsa-utils portaudio19-dev python3-pyaudio libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1`
+**啟動本地 provider**
-安裝與您的 Chrome 瀏覽器版本匹配的 ChromeDriver:
-`sudo apt install -y chromium-chromedriver`
-
-安裝 requirements:`pip3 install -r requirements.txt`
-
-- *Macos*:
-
-更新 brew:`brew update`
-
-安裝 chromedriver:`brew install --cask chromedriver`
-
-安裝 portaudio:`brew install portaudio`
-
-升級 pip:`python3 -m pip install --upgrade pip`
-
-升級 wheel:`pip3 install --upgrade setuptools wheel`
-
-安裝 requirements:`pip3 install -r requirements.txt`
-
-- *Windows*:
-
-安裝 pyreadline3:`pip install pyreadline3`
-
-手動安裝 portaudio(例如,通過 vcpkg 或預編譯的二進制檔案),然後執行:`pip install pyaudio`
-
-從以下網址手動下載並安裝 chromedriver:https://sites.google.com/chromium.org/driver/getting-started
-
-將 chromedriver 放置在包含在您的 PATH 中的目錄中。
-
-安裝 requirements:`pip3 install -r requirements.txt`
-
-## 在本地機器上執行 AgenticSeek
-
-**建議至少使用 Deepseek 14B 以上參數的模型,較小的模型難以使用助理功能並且很快就會忘記上下文之間的關係。**
-
-**本地執行助手**
-
-啟動你的本地提供者,例如使用 ollama:
+以 ollama 為例,啟動本地 provider:
```sh
ollama serve
```
-請參閱下方支援的本地提供者列表。
+下方有本地支持的 provider 列表。
-**更新 config.ini**
+**修改 config.ini**
-修改 config.ini 檔案以設定 provider_name 為支援的提供者,並將 provider_model 設定為該提供者支援的 LLM。我們推薦使用具有推理能力的模型,如 *Qwen* 或 *Deepseek*。
+將 config.ini 文件中的 provider_name 設置為支持的 provider,provider_model 設置為 provider 支持的 LLM。推薦推理模型如 *Qwen* 或 *Deepseek*。
-請參見 README 末尾的 **FAQ** 部分了解所需硬體。
+詳細硬件要求見 README 末尾 FAQ。
```sh
[MAIN]
-is_local = True # 無論是在本地執行還是使用遠端提供者。
-provider_name = ollama # 或 lm-studio, openai 等..
-provider_model = deepseek-r1:14b # 選擇適合您硬體的模型
+is_local = True # 是否本地運行
+provider_name = ollama # 或 lm-studio、openai 等
+provider_model = deepseek-r1:14b # 選擇適合硬件的模型
provider_server_address = 127.0.0.1:11434
-agent_name = Jarvis # 您的 AI 助手的名稱
-recover_last_session = True # 是否恢復之前的會話
-save_session = True # 是否記住目前會話
-speak = True # 文字轉語音
-listen = False # 語音轉文字,僅適用於命令列界面
-work_dir = /Users/mlg/Documents/workspace # AgenticSeek 的工作空間。
-jarvis_personality = False # 是否使用更"賈維斯"風格的性格,不推薦在小型模型上使用
-languages = en zh # 語言列表,文字轉語音將預設使用列表中的第一種語言
+agent_name = Jarvis # AI 名稱
+recover_last_session = True # 是否恢復上次會話
+save_session = True # 是否保存當前會話
+speak = False # 語音輸出
+listen = False # 語音輸入,僅 CLI,實驗性
+jarvis_personality = False # 是否使用 Jarvis 風格(實驗性)
+languages = en zh # 語言列表,語音默認第一個
[BROWSER]
-headless_browser = True # 是否使用無頭瀏覽器,只有在使用網頁界面時才推薦使用。
-stealth_mode = True # 使用無法檢測的 selenium 來減少瀏覽器檢測
+headless_browser = True # 除非 CLI,否則保持不變
+stealth_mode = True # 使用 undetected selenium 降低被檢測概率
```
-警告:使用 LM-studio 執行 LLM 時,請*不要*將 provider_name 設定為 `openai`。請將其設定為 `lm-studio`。
+**警告:**
-注意:某些提供者(如 lm-studio)需要在 IP 前面加上 `http://`。例如 `http://127.0.0.1:1234`
+- `config.ini` 不支持註釋。不要直接複製示例配置,否則註釋會導致錯誤。請手動修改 config.ini,去除註釋。
-**本地提供者列表**
+- 若用 LM-studio 運行 LLM,provider_name 不要設為 `openai`,應設為 `lm-studio`。
+- 某些 provider(如 lm-studio)要求 IP 前加 `http://`,如 `http://127.0.0.1:1234`
-| 提供者 | 本地? | 描述 |
-| --------- | ----- | ------------------------------------------------------------------- |
-| ollama | 是 | 使用 ollama 作為 LLM 提供者,輕鬆本地執行 LLM |
-| lm-studio | 是 | 使用 LM Studio 本地執行 LLM(將`provider_name` 設定為 `lm-studio`) |
-| openai | 否 | 使用相容的 API |
+**本地 provider 列表**
-下一步: [Start services and run AgenticSeek](#Start-services-and-Run)
+| Provider | 本地? | 說明 |
+|-----------|--------|----------------------------------------------------|
+| ollama | 是 | 使用 ollama 本地運行 LLM |
+| lm-studio | 是 | 使用 LM studio 本地運行 LLM(provider_name 設為 lm-studio)|
+| openai | 是 | 使用 openai 兼容 API(如 llama.cpp server) |
+
+下一步:[啟動服務並運行 AgenticSeek](#Start-services-and-Run)
+
+*如遇問題見**已知問題**部分*
+
+*硬件無法本地運行 deepseek 時見**API 運行**部分*
+
+*詳細配置說明見**Config**部分*
---
-## **Run with an API (透過 API 執行)**
+## 使用 API 運行設置
-設定 `config.ini`。
+**API 運行為可選,見上方本地運行方法。**
+
+在 `config.ini` 設置所需 provider。API provider 列表如下。
```sh
[MAIN]
is_local = False
-provider_name = openai
-provider_model = gpt-4o
-provider_server_address = 127.0.0.1:5000
+provider_name = google
+provider_model = gemini-2.0-flash
+provider_server_address = 127.0.0.1:5000 # 無關緊要
```
+警告:確保 config 中無多餘空格。
-警告:確保 `config.ini` 沒有行尾空格。
+導出 API key:`export <>_API_KEY="xxx"`
-如果使用基於本機的 openai-based api 則把 `is_local` 設定為 `True`。
+示例:`export TOGETHER_API_KEY="xxxxx"`
-同時更改你的 IP 為 openai-based api 的 IP。
+**API provider 列表**
-下一步: [Start services and run AgenticSeek](#Start-services-and-Run)
+| Provider | 本地? | 說明 |
+|-----------|--------|----------------------------------------------------|
+| openai | 視情況 | 使用 ChatGPT API |
+| deepseek | 否 | Deepseek API(非私有) |
+| huggingface| 否 | Hugging-Face API(非私有) |
+| togetherAI | 否 | 使用 together AI API(非私有) |
+| google | 否 | 使用 google gemini API(非私有) |
+
+注意:使用 gemini 時代碼/bash 可能失敗,模型對格式提示不敏感,優化針對 deepseek r1。gpt-4o 在本項目 prompt 下表現也較差。
+
+下一步:[啟動服務並運行 AgenticSeek](#Start-services-and-Run)
+
+*如遇問題見**已知問題**部分*
+
+*詳細配置說明見**Config**部分*
---
-## Start services and Run
+## 啟動服務並運行
-(啟動服務並執行)
-
-如果需要,請啟用你的 Python 環境。
+啟動所需服務。此操作會啟動 docker-compose.yml 中的所有服務,包括:
+- searxng
+- redis(searxng 依賴)
+- frontend
+- backend(如用 `full`)
```sh
-source .venv/bin/activate
+./start_services.sh full # MacOS
+start ./start_services.cmd full # Windows
```
-啟動所需的服務。這將啟動 `docker-compose.yml` 中的所有服務,包括:
+**警告:** 此步驟會下載並加載所有 Docker 鏡像,可能需 30 分鐘。啟動后請等待 backend 服務完全運行(日誌中出現 backend: ),再發送消息。backend 啟動比其他服務慢。
-- searxng
-- redis(由 redis 提供支援)
-- 前端
+訪問 `http://localhost:3000/`,即可看到網頁界面。
+
+**可選:使用 CLI 界面運行:**
+
+如需 CLI 界面,需在主機安裝依賴:
```sh
-sudo ./start_services.sh # MacOS
+./install.sh
+./install.bat # windows
+```
+
+啟動服務:
+
+```sh
+./start_services.sh # MacOS
start ./start_services.cmd # Windows
```
-**選項 1:** 使用 CLI 界面執行。
-
-```sh
-python3 cli.py
-```
-
-**選項 2:** 使用 Web 界面執行。
-
-注意:目前我們建議您使用 CLI 界面。Web 界面仍在積極開發中。
-
-啟動後端服務。
-
-```sh
-python3 api.py
-```
-
-訪問 `http://localhost:3000/`,你應該會看到 Web 界面。
-
-請注意,目前 Web 界面不支援訊息流式傳輸。
-
-*如果你不知道如何開始,請參閱 **Usage** 部分*
+然後運行:`python3 cli.py`
---
-## Usage (使用方法)
+## 使用方法
-為確保 agenticSeek 在中文環境下正常工作,請確保在 config.ini 中設定語言選項。
-languages = en zh
-更多資訊請參閱 Config 部分
+確保服務已通過 `./start_services.sh full` 啟動,並訪問 `localhost:3000` 使用網頁界面。
-確定所有的核心檔案都啟用了,也就是執行過這條命令 `./start_services.sh` 然後你就可以使用 `python3 cli.py` 來啟動 AgenticSeek 了!
+CLI 模式下可通過設置 `listen = True` 啟用語音轉文本。
-```sh
-sudo ./start_services.sh
-python3 cli.py
-```
+退出時,只需說/輸入 `goodbye`。
-當你看到執行後顯示 `>>> `
-這表示一切運作正常,AgenticSeek 正在等待你給他任何指令。
-你也可以透過設定 `config.ini` 內的 `listen = True` 來啟用語音轉文字。
+以下為示例用法:
-要退出時,只要和他說 `goodbye` 就可以退出!
+> *用 python 寫一個貪吃蛇遊戲!*
-以下是一些用法:
+> *搜索法國雷恩的最佳咖啡館,並將三家及其地址保存到 rennes_cafes.txt。*
-### Coding/Bash
+> *寫一個 Go 程序計算階乘,保存為 factorial.go 到你的工作區*
-> *在 Golang 中幫助我進行矩陣乘法*
+> *在 summer_pictures 文件夾中查找所有 JPG 文件,用今天日期重命名,並將重命名文件列表保存到 photos_list.txt*
-> *使用 nmap 掃瞄我的網路,找出是否有任何可疑裝置連線*
+> *在線搜索 2024 年熱門科幻電影,挑選三部今晚觀看,保存到 movie_night.txt。*
-> *用 Python 製作一個貪食蛇遊戲*
+> *搜索 2025 年最新 AI 新聞文章,選三篇,寫 Python 腳本抓取標題和摘要,腳本保存為 news_scraper.py,摘要保存到 ai_news.txt(/home/projects)*
-### 網路搜尋
+> *周五,搜索免費股票價格 API,用 supersuper7434567@gmail.com 註冊,然後寫 Python 腳本每日獲取特斯拉股價,結果保存到 stock_prices.csv*
-> *進行網路搜尋,找出日本從事尖端人工智慧研究的酷炫科技新創公司*
+*表單填寫功能仍為實驗性,可能失敗。*
-> *你能在網路上找到誰創造了 AgenticSeek 嗎?*
+輸入查詢后,AgenticSeek 會自動分配最佳代理執行任務。
-> *你能在哪個網站上找到便宜的 RTX 4090 嗎?*
+由於目前為早期原型,代理路由系統可能無法總是正確分配代理。
-### 檔案瀏覽與搜尋
+因此,建議明確表達需求及 AI 執行方式。例如需網頁搜索時,不要說:
-> *嘿,你能找到我遺失的 million_dollars_contract.pdf 在哪裡嗎?*
+`你知道哪些適合獨自旅行的國家嗎?`
-> *告訴我我的磁碟還剩下多少空間*
+而應說:
-> *尋找並閱讀 README.md,並按照安裝說明進行操作*
-
-### 日常聊天
-
-> *告訴我關於法國的事*
-
-> *人生的意義是什麼?*
-
-> *我應該在鍛鍊前還是鍛鍊後服用肌酸?*
-
-當你把指令送出後,AgenticSeek 會自動呼叫最能提供幫助的助理,去完成你交辦的工作和指令。
-
-但也有可能出現怪怪的情況,或是你要找飛機機票,他跑去教你如何一步步做出一臺飛機(開玩笑的,但真的可能出現),因為這是一個早期專案,我們會努力教導他、完善他的!
-
-所以我們希望你在使用時,能明確地表明你希望他要怎麼做,下面給你一個範例!
-
-你該說:
-
-- 進行網路搜索,找出哪些國家最適合獨自旅行
-
-而不是說:
-
-- 你知道哪些國家適合獨自旅行?
+`請進行網頁搜索,找出最適合獨自旅行的國家`
---
-## **在本地執行屬於你的 LLM 伺服器**
+## **在自有服務器運行 LLM 的設置**
-如果你有一臺功能強大的電腦或伺服器,但你想透過筆記型電腦使用它,那麼你可以選擇在遠端伺服器上執行 LLM。
+如有高性能電腦或服務器,可用自定義 llm server 遠程運行 LLM。
-### 1️⃣ **設定並啟動伺服器程式**
-
-在執行 AI 模型的「伺服器」上,取得 IP 位址
+在運行 AI 模型的“服務器”上獲取 IP 地址:
```sh
-ip a | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}' | cut -d/ -f1
+ip a | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}' | cut -d/ -f1 # 本地 IP
+curl https://ipinfo.io/ip # 公網 IP
```
-注意:請在 Windows 或 MacOS,分別使用 `ipconfig` 與 `ifconfig` 來尋找 IP 位址。
+註:Windows/macOS 可用 ipconfig 或 ifconfig 查詢 IP。
-**如果你希望使用基於 Openai 的服務,請按照 *透過 API 執行* 部分進行。**
-
-複製儲存庫並且進入 `server/` 資料夾。
+克隆倉庫並進入 `server/` 文件夾:
```sh
git clone --depth 1 https://github.com/Fosowl/agenticSeek.git
-cd agenticSeek/server/
+cd agenticSeek/llm_server/
```
-安裝伺服器所需的套件:
+安裝服務器依賴:
```sh
pip3 install -r requirements.txt
```
-執行伺服器程式。
+運行服務器腳本:
```sh
python3 app.py --provider ollama --port 3333
```
-您可以選擇使用 `ollama` 或 `llamacpp` 作為 LLM 的服務框架。
+可選擇 `ollama` 或 `llamacpp` 作為 LLM 服務。
-### 2️⃣ **執行**
+在你的個人電腦上:
-在你的電腦上:
-
-- 更改 `config.ini`
-- `provider_name = server`
-- `provider_model = deepseek-r1:14b`
-- `provider_server_address = {你執行模型的電腦的 IP 位址}`
+修改 `config.ini`,將 `provider_name` 設為 `server`,`provider_model` 設為 `deepseek-r1:xxb`。
+`provider_server_address` 設為運行模型機器的 IP。
```sh
[MAIN]
is_local = False
provider_name = server
-provider_model = deepseek-r1:14b
+provider_model = deepseek-r1:70b
provider_server_address = x.x.x.x:3333
```
+下一步:[啟動服務並運行 AgenticSeek](#Start-services-and-Run)
+
---
-## 語音轉文字
+## 語音轉文本
-請注意,目前語音轉文字功能僅支援英語。
+警告:目前僅 CLI 模式支持語音轉文本。
-預設狀況下,語音轉文字功能是停用的。若要啟用它,請在 `config.ini` 檔案中,將 `listen` 選項設為 `True`:
+目前僅支持英文語音轉文本。
+
+默認關閉語音轉文本。啟用方法:在 config.ini 設置 listen 為 True:
```
listen = True
```
-啟用後 AgenticSeek 會聆聽你是否呼喚它,它才會開始聽你說的話,你可以在 *config.ini* 內去設定,要怎麼叫他。
+啟用后,語音轉文本會監聽觸發詞(即 agent 名稱),再開始處理輸入。可通過修改 *config.ini* 的 `agent_name` 自定義:
```
agent_name = Friday
```
-爲了獲得比較好的結果,我們建議使用常見的英文名稱(如 「John」 或 「Emma」)作為他的名字。
+建議使用常見英文名如 "John" 或 "Emma" 作為 agent 名稱。
-當你看到程式開始執行時,請大聲說出他的名字,就可以喚醒 AgenticSeek 去聆聽!(如:Friday)
+看到轉錄開始出現后,呼叫 agent 名稱喚醒(如“Friday”)。
-清楚說出你的需求。
-
-用確認短句結束你說的話,以通知 AgenticSeek 繼續。確認短句的範例包括:
+清晰說出你的請求。
+以確認短語結尾,表示系統可繼續處理。例如:
```
"do it", "go ahead", "execute", "run", "start", "thanks", "would ya", "please", "okay?", "proceed", "continue", "go on", "do that", "go it", "do you understand?"
```
-## Config
-
-Config 範例:
+## 配置說明
+配置示例:
```
[MAIN]
is_local = True
provider_name = ollama
-provider_model = deepseek-r1:1.5b
+provider_model = deepseek-r1:32b
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
languages = en zh
[BROWSER]
@@ -412,164 +384,158 @@ headless_browser = False
stealth_mode = False
```
-**說明**:
+**說明:**
-- is_local
-- True:在本地執行。
-- False:在遠端伺服器執行。
-- provider_name
-- 框架型別
-- `ollama`, `server`, `lm-studio`, `deepseek-api`
-- provider_model
-- 執行的模型
-- `deepseek-r1:1.5b`, `deepseek-r1:14b`
-- provider_server_address
-- 伺服器 IP
-- `127.0.0.1:11434`
-- agent_name
-- AgenticSeek 的名字,用作TTS的觸發單詞。
-- `Friday`
-- recover_last_session
-- True:從上個對話繼續。
-- False:重啟對話。
-- save_session
-- True:儲存對話紀錄。
-- False:不儲存。
-- speak
-- True:啟用語音輸出。
-- False:關閉語音輸出。
-- listen
-- True:啟用語音輸入。
-- False:關閉語音輸入。
-- work_dir
-- AgenticSeek 擁有能存取與互動的工作目錄。
-- jarvis_personality
+- is_local -> 本地運行(True)或遠程服務器(False)
-> 就是那個鋼鐵人的 JARVIS
+- provider_name -> 使用的 provider(如:`ollama`、`server`、`lm-studio`、`deepseek-api`)
-- True:啟用 JARVIS 個性。
-- False:關閉 JARVIS 個性。
-- headless_browser
-- True:前景瀏覽器。(很酷,推薦使用他 XD)
-- False:背景執行瀏覽器。
-- stealth_mode
-- 隱私模式,但需要你自己安裝反爬蟲擴充功能。
-- languages
-- 支援的語言列表。用於代理路由系統。語言列表越長,下載的模型越多。
+- provider_model -> 使用的模型,如 deepseek-r1:32b
-## 框架
+- provider_server_address -> 服務器地址,如 127.0.0.1:11434(本地),API 可隨意
-下表顯示了可用的框架:
+- agent_name -> 代理名稱,如 Friday,語音喚醒詞
+- recover_last_session -> 是否恢復上次會話(True/False)
-| 框架 | 本地? | 描述 |
-| ------------ | ----- | ------------------------------------------------------------- |
-| ollama | 可 | 使用 ollama 框架去執行本地模型 |
-| server | 可 | 本地伺服器執行模型遠端呼叫 |
-| lm-studio | 可 | 使用 LM Studio 在本地執行 LLM(設定provider_name為lm-studio) |
-| openai | 不可 | 使用 ChatGPT API(無法保證隱私) |
-| deepseek-api | 不可 | 使用 Deepseek API (無法保證隱私) |
-| huggingface | 不可 | 使用 Hugging-Face API (無法保證隱私) |
+- save_session -> 是否保存會話數據(True/False)
-若要選擇框架,請變更 `config.ini` 檔案:
+- speak -> 是否啟用語音輸出(True/False)
+
+- listen -> 是否啟用語音輸入(True/False)
+
+- jarvis_personality -> 是否使用 JARVIS 風格(True/False),僅更換 prompt
+
+- languages -> 支持語言列表,供 LLM 路由使用,建議不要太多或太相似
+
+- headless_browser -> 是否無頭瀏覽器(True/False)
+
+- stealth_mode -> 是否降低被檢測概率,需手動安裝 anticaptcha 擴展
+
+- languages -> 支持語言列表,代理路由系統需用,列表越長下載模型越多
+
+## Provider 列表
+
+下表為可用 provider:
+
+| Provider | 本地? | 說明 |
+|-----------|--------|----------------------------------------------------|
+| ollama | 是 | 使用 ollama 本地運行 LLM |
+| server | 是 | 在其他機器託管模型,本機調用 |
+| lm-studio | 是 | 使用 LM studio 本地運行 LLM(provider_name 設為 lm-studio)|
+| openai | 視情況 | 使用 ChatGPT API(非私有)或 openai 兼容 API |
+| deepseek-api | 否 | Deepseek API(非私有) |
+| huggingface| 否 | Hugging-Face API(非私有) |
+| togetherAI | 否 | 使用 together AI API(非私有) |
+| google | 否 | 使用 google gemini API(非私有) |
+
+選擇 provider 時修改 config.ini:
```
-is_local = False
-provider_name = openai
-provider_model = gpt-4o
+is_local = True
+provider_name = ollama
+provider_model = deepseek-r1:32b
provider_server_address = 127.0.0.1:5000
```
+`is_local`:本地 LLM 設為 True,否則 False。
-`is_local`: 對於任何本地執行的 LLM 都應該為 True,否則為 False。
+`provider_name`:選擇 provider 名稱,見上表。
-`provider_name`: 透過名稱選擇要使用的框架,請參閱上面的框架清單。
+`provider_model`:設置代理使用的模型。
-`provider_model`: 設定 AgenticSeek 使用的模型。
+`provider_server_address`:如非 server provider,可隨意。
-`provider_server_address`: 如果不使用雲端 API,則可以將其設定為任何內容。
+# 已知問題
-# Known issues (已知問題)
+## Chromedriver 問題
-## Chromedriver Issues
+**已知錯誤 #1:** *chromedriver 不匹配*
-**已知問題 #1:** *chromedriver mismatch*
+`Exception: Failed to initialize browser: Message: session not created: This version of ChromeDriver only supports Chrome version 113
+Current browser version is 134.0.6998.89 with binary path`
-`Exception: Failed to initialize browser: Message: session not created: This version of ChromeDriver only supports Chrome version 113 Current browser version is 134.0.6998.89 with binary path`
+出現此問題是瀏覽器與 chromedriver 版本不匹配。
-如果你的瀏覽器和 chromedriver 版本不一樣,就會發生這種情況。
-
-你可以透過以下連結下載最新版本:
+需下載最新版本:
https://developer.chrome.com/docs/chromedriver/downloads
-如果您使用的是 Chrome 版本 115 或更新版本,請前往:
+如用 Chrome 115 及以上,訪問:
https://googlechromelabs.github.io/chrome-for-testing/
-下載與你的作業系統相符的 chromedriver 版本。
+下載與你操作系統匹配的 chromedriver。

-如果有其他問題,請提供儘量詳細的敘述到 Issues 上,儘可能包含目前環境和問題是怎麼發生的。
+如本節不全請提交 issue。
+
+## 連接適配器問題
+
+```
+Exception: Provider lm-studio failed: HTTP request failed: No connection adapters were found for '127.0.0.1:11434/v1/chat/completions'
+```
+
+請確保 provider IP 前加 `http://`:
+
+`provider_server_address = http://127.0.0.1:11434`
+
+## 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.
+```
+
+可能未將 `.env.example` 重命名為 `.env`?也可導出 SEARXNG_BASE_URL:
+
+`export SEARXNG_BASE_URL="http://127.0.0.1:8080"`
## FAQ
-**Q: 我需要什麼硬體?**
+**Q: 需要什麼硬件?**
+| 模型規模 | GPU | 說明 |
+|-----------|--------|----------------------------------------------------|
+| 7B | 8GB 顯存 | ⚠️ 不推薦。性能差,易幻覺,規劃代理易失敗。 |
+| 14B | 12GB 顯存(如 RTX 3060) | ✅ 簡單任務可用,網頁瀏覽和規劃任務可能吃力。|
+| 32B | 24GB+ 顯存(如 RTX 4090) | 🚀 大多數任務成功,複雜規劃仍有難度。 |
+| 70B+ | 48GB+ 顯存(如 mac studio) | 💪 推薦,高級用例表現優異。 |
-| 模型大小 | GPU | 備註 |
-| -------- | ----------------------------- | --------------------------------------------------------- |
-| 7B | 8GB Vram | ⚠️ 不推薦。效能較差,經常出現幻覺,規劃代理可能會失敗。 |
-| 14B | 12 GB VRAM (例如 RTX 3060) | ✅ 適用於簡單任務。可能在網頁瀏覽和規劃任務上表現不佳。 |
-| 32B | 24+ GB VRAM (例如 RTX 4090) | 🚀 大多數任務成功,但可能仍在任務規劃上有困難。 |
-| 70B+ | 48+ GB Vram (例如 mac studio) | 💪 表現優異。建議用於高級使用情境。 |
+**Q: 為什麼選 Deepseek R1?**
-**Q:為什麼選擇 Deepseek R1 而不是其他模型?**
+Deepseek R1 在推理和工具調用方面表現優異。我們認為它非常適合本項目,其他模型也可用,但 Deepseek 是首選。
-就其尺寸而言,Deepseek R1 在推理和使用方面表現出色。我們認為非常適合我們的需求,其他模型也很好用,但 Deepseek 是我們最後選定的模型。
+**Q: 運行 `cli.py` 報錯怎麼辦?**
-**Q:我在執行時 `cli.py` 時出現錯誤。我該怎麼辦?**
+確保本地服務(`ollama serve`)已啟動,`config.ini` 配置正確,依賴已安裝。如仍有問題歡迎提交 issue。
-1. 確保 Ollama 正在執行(ollama serve)
-2. 你 `config.ini` 內 `provider_name` 的框架選擇正確。
-3. 依賴套件已安裝
-4. 如果均無效,請隨時提出 Issues,同樣儘可能包含目前環境和問題是怎麼發生的。
+**Q: 真能 100% 本地運行嗎?**
-**Q:它真的是 100% 本地執行嗎?**
+是的,使用 Ollama、lm-studio 或 server provider 時,語音、LLM、語音轉文本均本地運行。非本地(OpenAI 等 API)為可選。
-是的,透過 Ollama 或其他框架,所有語音轉文字、LLM 和文字轉語音模型都在本地執行。
-*但你能選擇非本地執行(OpenAI 或其他 API),同樣也是可以的*
+**Q: 有 Manus 為什麼還要用 AgenticSeek?**
-**Q:我有 Manus 為甚麼還要用 AgenticSeek?**
-
-這是我們因為興趣做的一個小 Side-Project,他特別的點在於是一個全部本地化的模型,而且可以像鋼鐵人裡面一樣與 `Jarvis` 對話,聽起來就超級酷的吧!隨著 Manus 的進化,我們也相應的加入更多功能!
-
-**Q:它比 Manus 好在哪裡?**
-
-不不不,AgenticSeek 和 Manus 是不同取向的東西,我們優先考慮的是本地執行和隱私,而不是基於雲端。這是一個與 Manus 相比起來更有趣且易使用的方案!
-
-**Q: 是否支援中文以外的語言?**
-
-DeepSeek R1 天生會說中文
-
-但注意:代理路由系統只懂英文,所以必須通過 config.ini 的 languages 參數(如 languages = en zh)告訴系統:
-
-如果不設定中文?後果可能是:你讓它寫程式碼,結果跳出來個"醫生代理"(雖然我們根本沒有這個代理... 但系統會一臉懵圈!)
-
-實際上會下載一個小型翻譯模型來協助任務分配
+本項目起初只是興趣驅動的副業。特別之處在於主打本地模型,避免 API。
+靈感來自 Jarvis 和 Friday(鋼鐵俠),功能上更接近 Manus,因為大家最想要的是本地 manus 替代品。
+與 Manus 不同,AgenticSeek 更注重獨立性、隱私和避免 API 成本。
## 貢獻
-我們正在尋找開發者來改善 AgenticSeek!你可以在 Issues 查看未解決的問題或和我們討論更酷的新功能!
+我們歡迎開發者改進 AgenticSeek!請查看 open issues 或討論區。
+
+[貢獻指南](./docs/CONTRIBUTING.md)
[](https://www.star-history.com/#Fosowl/agenticSeek&Date)
-[Contribution guide](./docs/CONTRIBUTING.md)
+## 維護者:
-## 維護者:
+> [Fosowl](https://github.com/Fosowl) | 巴黎時間
-> [Fosowl](https://github.com/Fosowl) | 巴黎時間 | (有時很忙)
+> [antoineVIVIES](https://github.com/antoineVIVIES) | 台北時間
-> [antoineVIVIES](https://github.com/antoineVIVIES) | 臺北時間 | (經常很忙)
+> [steveh8758](https://github.com/steveh8758) | 台北時間
-> [steveh8758](https://github.com/steveh8758) | 臺北時間 | (總是很忙)
+## 特別感謝:
+
+> [tcsenpai](https://github.com/tcsenpai) 和 [plitc](https://github.com/plitc) 協助後端 docker 化
\ No newline at end of file
diff --git a/README_FR.md b/README_FR.md
index ab8e97c..7ee894d 100644
--- a/README_FR.md
+++ b/README_FR.md
@@ -1,55 +1,48 @@
+# AgenticSeek : Alternative privée et locale à Manus.
+
---------------------------------------------------------------------------------
-[English](./README.md) | [繁體中文](./README_CHT.md) | [日本語](./README_JP.md) | Français| [日本語](./README_JP.md) | [Português (Brasil)](./README_PTBR.md)
+ [English](./README.md) | [中文](./README_CHS.md) | [繁體中文](./README_CHT.md) | Français | [日本語](./README_JP.md) | [Português (Brasil)](./README_PTBR.md)
-# AgenticSeek: Une IA comme Manus mais à base d'agents DeepSeek R1 fonctionnant en local.
+*Une **alternative 100% locale à Manus AI**, cet assistant vocal autonome navigue sur le web, écrit du code et planifie des tâches tout en gardant toutes les données sur votre appareil. Conçu pour les modèles de raisonnement locaux, il fonctionne entièrement sur votre matériel, garantissant une confidentialité totale et aucune dépendance au cloud.*
-Une alternative **entièrement locale** à Manus AI, un assistant IA qui code, explore votre système de fichiers, navigue sur le web et corrige ses erreurs, tout cela sans envoyer la moindre donnée dans le cloud. Cet agent autonome fonctionne entièrement sur votre hardware, garantissant la confidentialité de vos données.
+[](https://fosowl.github.io/agenticSeek.html)  [](https://discord.gg/8hGDaME3TC) [](https://x.com/Martin993886460) [](https://github.com/Fosowl/agenticSeek/stargazers)
-[](https://fosowl.github.io/agenticSeek.html)  [](https://discord.gg/8hGDaME3TC) [](https://x.com/Martin993886460)
+### Pourquoi AgenticSeek ?
-> 🛠️ **En cours de développement** – On cherche activement des contributeurs!
+* 🔒 100% Local & Privé – Tout fonctionne sur votre machine : pas de cloud, pas de partage de données. Vos fichiers, conversations et recherches restent privés.
-https://github.com/user-attachments/assets/4bd5faf6-459f-4f94-bd1d-238c4b331469
+* 🌐 Navigation Web Intelligente – AgenticSeek peut naviguer sur Internet de façon autonome : recherche, lecture, extraction d’informations, remplissage de formulaires web — tout cela sans intervention.
-> *Recherche sur le web des activités à faire à Paris*
+* 💻 Assistant de Codage Autonome – Besoin de code ? Il peut écrire, déboguer et exécuter des programmes en Python, C, Go, Java, et plus — sans supervision.
-> *Code le jeu snake en python*
+* 🧠 Sélection Intelligente d’Agent – Vous demandez, il choisit automatiquement le meilleur agent pour la tâche. Comme une équipe d’experts à disposition.
-> *J'aimerais que tu trouve une api météo et que tu me code une application qui affiche la météo à Toulouse*
+* 📋 Planifie & Exécute des Tâches Complexes – De la planification de voyage à la gestion de projets complexes : il divise les grandes tâches en étapes et les réalise avec plusieurs agents IA.
+* 🎙️ Contrôle Vocal – Voix et reconnaissance vocale rapides et futuristes, permettant de dialoguer comme avec une IA de film de science-fiction. (En développement)
+### **Démo**
-## Fonctionnalités:
+> *Peux-tu rechercher le projet agenticSeek, découvrir les compétences requises, puis ouvrir le fichier CV_candidates.zip et me dire lesquels correspondent le mieux au projet ?*
-- **100% Local**: Fonctionne en local sur votre PC. Vos données restent les vôtres.
+https://github.com/user-attachments/assets/b8ca60e9-7b3b-4533-840e-08f9ac426316
-- **Accès à vos Fichiers**: Utilise bash pour naviguer et manipuler vos fichiers.
+Avertissement : Cette démo, y compris tous les fichiers affichés (ex : CV_candidates.zip), est entièrement fictive. Nous ne sommes pas une entreprise, nous recherchons des contributeurs open-source, pas des candidats.
-- **Codage semi-autonome**: Peut écrire, déboguer et exécuter du code en Python, C, Golang et d'autres langages à venir.
+> 🛠⚠️️ **Travail en cours**
-- **Routage d'Agent**: Sélectionne automatiquement l’agent approprié pour la tâche.
+> 🙏 Ce projet a commencé comme un projet annexe sans feuille de route ni financement. Il a dépassé toutes nos attentes en finissant dans GitHub Trending. Les contributions, retours et votre patience sont grandement appréciés.
-- **Planification**: Pour les taches complexe utilise plusieurs agents.
+## Prérequis
-- **Navigation Web Autonome**: Navigation web autonome.
+Assurez-vous d’avoir chrome driver, docker et python3.10 installés.
-- **Memoire efficace**: Gestion efficace de la mémoire et des sessions.
+Pour les problèmes liés à chrome driver, voir la section **Chromedriver**.
----
-
-## **Installation**
-
-Assurez-vous d’avoir installé le pilote Chrome, Docker et Python 3.10.
-
-Nous vous conseillons fortement d'utiliser exactement Python 3.10 pour l'installation. Des erreurs de dépendances pourraient survenir autrement.
-
-Pour les problèmes liés au pilote Chrome, consultez la section Chromedriver.
-
-### 1️⃣ Cloner le repo et configurer
+### 1. **Cloner le dépôt et configurer**
```sh
git clone https://github.com/Fosowl/agenticSeek.git
@@ -57,251 +50,261 @@ cd agenticSeek
mv .env.example .env
```
-## 2️⃣ Installer le gestionnaire de paquets UV
-
-### Pour Linux/macOS:
-```bash
-curl -LsSf https://astral.sh/uv/install.sh | sh
-```
-
-### Pour Windows:
-```powershell
-powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
-```
-
-## 3️⃣ Créer un environnement virtuel
-```bash
-uv venv
-```
-
-### 4️⃣ **Installation**
-
-**Automatique:**
+### 2. Modifier le contenu du fichier .env
```sh
-./install.sh
+SEARXNG_BASE_URL="http://127.0.0.1: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='optionnel'
+DEEPSEEK_API_KEY='optionnel'
+OPENROUTER_API_KEY='optionnel'
+TOGETHER_API_KEY='optionnel'
+GOOGLE_API_KEY='optionnel'
+ANTHROPIC_API_KEY='optionnel'
```
-**Manuel:**
+**Les clés API sont totalement optionnelles pour les utilisateurs qui choisissent d’exécuter le LLM localement. Ce qui est le but principal du projet. Laissez vide si vous avez le matériel suffisant.**
-**Note : Pour tous les systèmes d'exploitation, assurez-vous que le ChromeDriver que vous installez correspond à la version de Chrome installée. Exécutez `google-chrome --version`. Consultez les problèmes connus si vous avez Chrome >135**
+Les variables d’environnement suivantes configurent les connexions et clés API de votre application.
-- *Linux*:
+Mettez à jour le fichier `.env` avec vos propres valeurs si besoin :
-Mettre à jour la liste des paquets : `sudo apt update`
+- **SEARXNG_BASE_URL** : Laisser inchangé
+- **REDIS_BASE_URL** : Laisser inchangé
+- **WORK_DIR** : Chemin vers votre dossier de travail local. AgenticSeek pourra lire et interagir avec ces fichiers.
+- **OLLAMA_PORT** : Port pour le service Ollama.
+- **LM_STUDIO_PORT** : Port pour le service LM Studio.
+- **CUSTOM_ADDITIONAL_LLM_PORT** : Port pour tout service LLM personnalisé.
-Installer les dépendances : `sudo apt install -y alsa-utils portaudio19-dev python3-pyaudio libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1`
+Toutes les variables d’environnement de clé API ci-dessous sont **optionnelles**. Vous n’avez à les fournir que si vous souhaitez utiliser des API externes au lieu d’exécuter les LLM localement.
-Installer ChromeDriver correspondant à la version de votre navigateur Chrome :
-`sudo apt install -y chromium-chromedriver`
+### 3. **Démarrer Docker**
-Installer les prérequis : `pip3 install -r requirements.txt`
+Assurez-vous que Docker est installé et en cours d’exécution sur votre système. Vous pouvez démarrer Docker avec les commandes suivantes :
-- *macOS*:
+- **Sur Linux/macOS :**
+ Ouvrez un terminal et lancez :
+ ```sh
+ sudo systemctl start docker
+ ```
+ Ou lancez Docker Desktop depuis votre menu d’applications si installé.
-Mettre à jour brew : `brew update`
+- **Sur Windows :**
+ Lancez Docker Desktop depuis le menu Démarrer.
-Installer chromedriver : `brew install --cask chromedriver`
+Vous pouvez vérifier que Docker fonctionne avec :
+```sh
+docker info
+```
+Si vous voyez des informations sur votre installation Docker, c’est que tout fonctionne.
-Installer portaudio : `brew install portaudio`
+---
-Mettre à jour pip : `python3 -m pip install --upgrade pip`
+## Configuration pour exécuter un LLM localement
-Mettre à jour wheel : `pip3 install --upgrade setuptools wheel`
+**Configuration matérielle requise :**
-Installer les prérequis : `pip3 install -r requirements.txt`
+Pour exécuter des LLM localement, il vous faut un matériel suffisant. Au minimum, un GPU capable d’exécuter Qwen/Deepseek 14B est requis. Voir la FAQ pour des recommandations détaillées.
-- *Windows*:
+**Démarrer votre fournisseur local**
-Installer pyreadline3 : `pip install pyreadline3`
+Démarrez votre fournisseur local, par exemple avec ollama :
-Installer portaudio manuellement (par exemple, via vcpkg ou des binaires précompilés) puis exécutez : `pip install pyaudio`
-
-Télécharger et installer chromedriver manuellement depuis : https://sites.google.com/chromium.org/driver/getting-started
-
-Placez chromedriver dans un répertoire inclus dans votre PATH.
-
-Installer les prérequis : `pip3 install -r requirements.txt`
-
-
-## Faire fonctionner sur votre machine
-
-**Nous recommandons d’utiliser au minimum DeepSeek 14B, les modèles plus petits ont du mal avec l’utilisation des outils et oublient rapidement le contexte.**
-
-Lancer votre provider local, par exemple avec ollama:
```sh
ollama serve
```
-**Configurer le config.ini**
+Voir ci-dessous la liste des fournisseurs locaux supportés.
-Modifiez le fichier config.ini pour définir provider_name sur un fournisseur supporté et provider_model sur un LLM compatible avec votre fournisseur. Nous recommandons des modèles de raisonnement comme *Qwen* ou *Deepseek*.
+**Mettre à jour le config.ini**
-Consultez la section **FAQ** à la fin du README pour connaître le matériel requis.
+Modifiez le fichier config.ini pour définir provider_name sur un fournisseur supporté et provider_model sur un modèle LLM supporté par votre fournisseur. Nous recommandons des modèles de raisonnement comme *Qwen* ou *Deepseek*.
+
+Voir la **FAQ** à la fin du README pour le matériel requis.
```sh
[MAIN]
is_local = True # Si vous exécutez localement ou avec un fournisseur distant.
-provider_name = ollama # ou lm-studio, openai, etc..
+provider_name = ollama # ou lm-studio, openai, etc.
provider_model = deepseek-r1:14b # choisissez un modèle adapté à votre matériel
provider_server_address = 127.0.0.1:11434
agent_name = Jarvis # nom de votre IA
-recover_last_session = True # récupérer ou non la session précédente
-save_session = True # mémoriser ou non la session actuelle
-speak = True # synthèse vocale
-listen = False # reconnaissance vocale, uniquement pour CLI
-work_dir = /Users/mlg/Documents/workspace # L'espace de travail pour AgenticSeek.
-jarvis_personality = False # Utiliser une personnalité plus "Jarvis", non recommandé avec des petits modèles
-languages = en fr # Liste des langages, la synthèse vocale utilisera par défaut la première langue de la liste
+recover_last_session = True # reprendre la session précédente
+save_session = True # mémoriser la session actuelle
+speak = False # synthèse vocale
+listen = False # Reconnaissance vocale, uniquement pour CLI, expérimental
+jarvis_personality = False # Personnalité "Jarvis" (expérimental)
+languages = en zh # Liste des langues, la synthèse vocale prendra la première par défaut
[BROWSER]
-headless_browser = True # Utiliser ou non le navigateur sans interface graphique, recommandé uniquement avec l'interface web.
-stealth_mode = True # Utiliser selenium non détectable pour réduire la détection du navigateur
+headless_browser = True # laisser inchangé sauf si utilisation CLI sur l’hôte.
+stealth_mode = True # Utilise selenium indétectable pour réduire la détection
```
-Remarque : Certains fournisseurs (ex : lm-studio) nécessitent `http://` devant l'adresse IP. Par exemple `http://127.0.0.1:1234`
+**Attention** :
+- Le format du fichier `config.ini` ne supporte pas les commentaires.
+Ne copiez/collez pas la configuration d’exemple directement, car les commentaires provoqueront des erreurs. Modifiez manuellement le fichier `config.ini` avec vos paramètres, sans commentaires.
+- Ne mettez *pas* provider_name à `openai` si vous utilisez LM-studio pour exécuter les LLM. Mettez-le à `lm-studio`.
-**Liste des provideurs locaux**
+- Certains fournisseurs (ex : lm-studio) nécessitent `http://` devant l’IP. Par exemple `http://127.0.0.1:1234`
-| Fournisseur | Local ? | Description |
-|-------------|---------|-----------------------------------------------------------|
-| ollama | Oui | Exécutez des LLM localement avec facilité en utilisant ollama comme fournisseur LLM |
-| lm-studio | Oui | Exécutez un LLM localement avec LM studio (définissez `provider_name` sur `lm-studio`) |
-| openai | Oui | Utilisez une API local compatible avec openai |
+**Liste des fournisseurs locaux**
+| Fournisseur | Local ? | Description |
+|--------------|---------|----------------------------------------------------------|
+| ollama | Oui | Exécutez des LLM localement facilement avec ollama |
+| lm-studio | Oui | Exécutez un LLM localement avec LM studio (`lm-studio`) |
+| openai | Oui | Utilise une API compatible openai (ex : serveur llama.cpp)|
-### **Démarrer les services & Exécuter**
+Étape suivante : [Démarrer les services et lancer AgenticSeek](#Start-services-and-Run)
+
+*Voir la section **Problèmes connus** en cas de souci*
+
+*Voir la section **Utiliser une API** si votre matériel ne peut pas exécuter deepseek localement*
+
+*Voir la section **Config** pour une explication détaillée du fichier de configuration.*
+
+---
+
+## Configuration pour utiliser une API
+
+**L’utilisation d’une API est optionnelle, voir ci-dessus pour l’exécution locale.**
+
+Définissez le fournisseur désiré dans le `config.ini`. Voir ci-dessous la liste des fournisseurs API.
-Activez votre environnement Python si nécessaire.
```sh
-source .venv/bin/activate
+[MAIN]
+is_local = False
+provider_name = google
+provider_model = gemini-2.0-flash
+provider_server_address = 127.0.0.1:5000 # sans importance
+```
+Attention : Ne laissez pas d’espace à la fin de la config.
+
+Exportez votre clé API : `export <
-
-[English](./README.md) | [中文](./README_CHS.md) | [繁體中文](./README_CHT.md) | [Français](./README_FR.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)
-*Manus AIの**100%ローカルな代替**となるこの音声対応AIアシスタントは、自律的にウェブを閲覧し、コードを書き、タスクを計画しながら、すべてのデータをあなたのデバイスに保持します。ローカル推論モデルに合わせて調整されており、完全にあなたのハードウェア上で動作するため、完全なプライバシーとクラウドへの依存ゼロを保証します。*
+**100%ローカルで動作するManus AIの代替**となる音声対応AIアシスタントです。ウェブの自律的な閲覧、コードの作成、タスクの計画を行い、すべてのデータをあなたのデバイス上に保持します。ローカル推論モデル向けに最適化されており、完全なプライバシーとクラウド依存ゼロを実現します。
-[](https://fosowl.github.io/agenticSeek.html)  [](https://discord.gg/8hGDaME3TC) [](https://x.com/Martin993886460) [](https://github.com/Fosowl/agenticSeek/stargazers)
+[](https://fosowl.github.io/agenticSeek.html)  [](https://discord.gg/8hGDaME3TC) [](https://x.com/Martin993886460) [](https://github.com/Fosowl/agenticSeek/stargazers)
### なぜAgenticSeekなのか?
-* 🔒 完全ローカル&プライベート - すべてがあなたのマシン上で実行されます — クラウドなし、データ共有なし。あなたのファイル、会話、検索はプライベートに保たれます。
+* 🔒 完全ローカル&プライベート - すべてがあなたのマシン上で動作。クラウドやデータ共有は一切なし。ファイル、会話、検索はすべてプライベートに保たれます。
-* 🌐 スマートなウェブブラウジング - AgenticSeekは自分でインターネットを閲覧できます — 検索、読み取り、情報抽出、ウェブフォーム入力 — すべてハンズフリーで。
+* 🌐 スマートなウェブブラウジング - AgenticSeekは自動でインターネットを検索・閲覧・情報抽出・フォーム入力までハンズフリーで実行します。
-* 💻 自律型コーディングアシスタント - コードが必要ですか?Python、C、Go、Javaなどでプログラムを書き、デバッグし、実行できます — すべて監視なしで。
+* 💻 自律型コーディングアシスタント - コードが必要ですか?Python、C、Go、Javaなどのプログラムを自動で作成・デバッグ・実行します。
-* 🧠 スマートエージェント選択 - あなたが尋ねると、タスクに最適なエージェントを自動的に見つけ出します。まるで専門家チームが助けてくれるようです。
+* 🧠 スマートエージェント選択 - あなたの要望に応じて最適なエージェントを自動で選択。まるで専門家チームが常にサポートしてくれるようです。
-* 📋 複雑なタスクの計画と実行 - 旅行計画から複雑なプロジェクトまで — 大きなタスクをステップに分割し、複数のAIエージェントを使って物事を成し遂げることができます。
+* 📋 複雑なタスクの計画と実行 - 旅行計画からプロジェクト管理まで、大きなタスクを分割し、複数のAIエージェントで実行します。
-* 🎙️ 音声対応 - クリーンで高速、未来的な音声と音声認識により、まるでSF映画のパーソナルAIのように話しかけることができます。
+* 🎙️ 音声対応 - 未来的で高速な音声認識&音声合成。まるでSF映画のパーソナルAIのように会話できます(開発中)。
### **デモ**
-> *agenticSeekプロジェクトを検索し、必要なスキルを学び、その後CV_candidates.zipを開いて、プロジェクトに最も適した候補者を教えてください。*
+> *agenticSeekプロジェクトを検索し、必要なスキルを調べてからCV_candidates.zipを開き、プロジェクトに最も合う候補者を教えて*
https://github.com/user-attachments/assets/b8ca60e9-7b3b-4533-840e-08f9ac426316
-免責事項:このデモは、表示されるすべてのファイル(例:CV_candidates.zip)を含め、完全に架空のものです。私たちは企業ではなく、候補者ではなくオープンソースの貢献者を求めています。
+注意: このデモや登場するファイル(例: CV_candidates.zip)はすべて架空のものです。私たちは企業ではなく、オープンソースの貢献者を募集しています。
-> 🛠️ **作業中** – 貢献者を募集中です!
+> 🛠⚠️️ **開発中のプロジェクトです**
-## インストール
+> 🙏 このプロジェクトはサイドプロジェクトとして始まり、ロードマップや資金はありません。GitHub Trending入りするほど成長しました。貢献・フィードバック・ご理解に感謝します。
-Chrome Driver、Docker、Python 3.10がインストールされていることを確認してください。
+## 前提条件
-セットアップにはPython 3.10を正確に使用することを強くお勧めします。そうでない場合、依存関係のエラーが発生する可能性があります。
+chrome driver、docker、python3.10がインストールされていることを確認してください。
-Chromeドライバーに関する問題については、**Chromedriver**セクションを参照してください。
+chrome driver関連の問題は**Chromedriver**セクションを参照してください。
-### 1️⃣ **リポジトリのクローンとセットアップ**
+### 1. **リポジトリのクローンとセットアップ**
```sh
git clone https://github.com/Fosowl/agenticSeek.git
@@ -50,317 +50,279 @@ cd agenticSeek
mv .env.example .env
```
-## 2️⃣ UVパッケージマネージャーのインストール
-
-### Linux/macOS:
-```bash
-curl -LsSf https://astral.sh/uv/install.sh | sh
-```
-
-### Windows:
-```powershell
-powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
-```
-
-## 3️⃣ 仮想環境の作成
-```bash
-uv venv
-```
-
-### 4️⃣ **パッケージのインストール**
-
-Python、Dockerとdocker compose、Google Chromeがインストールされていることを確認してください。
-
-Python 3.10.0を推奨します。
-
-**自動インストール(推奨):**
-
-Linux/Macosの場合:
-```sh
-./install.sh
-```
-
-** テキスト読み上げ(TTS)機能で日本語をサポートするには、fugashi(日本語分かち書きライブラリ)をインストールする必要があります:**
-
-** 注意: 日本語のテキスト読み上げ(TTS)機能には多くの依存関係が必要で、問題が発生する可能性があります。mecabrcに関する問題が発生することがあります。現在のところ、この問題を修正する方法が見つかっていません。当面は日本語でのテキスト読み上げ機能を無効にすることをお勧めします。**
-
-必要なライブラリをインストールする場合は以下のコマンドを実行してください:
-
-```
-pip3 install --upgrade pyopenjtalk jaconv mojimoji unidic fugashi
-pip install unidic-lite
-python -m unidic download
-```
-
-Windowsの場合:
+### 2. .envファイルの内容を変更
```sh
-./install.bat
+SEARXNG_BASE_URL="http://127.0.0.1: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'
```
-**手動:**
+**APIキーはローカルでLLMを実行する場合は完全にオプションです。十分なハードウェアがある場合は空欄で構いません。**
-**注意:どのOSでも、インストールするChromeDriverがインストール済みのChromeバージョンと一致していることを確認してください。`google-chrome --version`を実行してください。Chrome >135の場合の既知の問題を参照してください。**
+以下の環境変数はアプリケーションの接続やAPIキーを設定します。必要に応じて`.env`ファイルを編集してください。
-- *Linux*:
+- **SEARXNG_BASE_URL**: 変更不要
+- **REDIS_BASE_URL**: 変更不要
+- **WORK_DIR**: ローカル作業ディレクトリのパス。AgenticSeekがこのディレクトリのファイルを読み書きします。
+- **OLLAMA_PORT**: Ollamaサービスのポート番号
+- **LM_STUDIO_PORT**: LM Studioサービスのポート番号
+- **CUSTOM_ADDITIONAL_LLM_PORT**: カスタムLLMサービスのポート番号
-パッケージリストの更新:`sudo apt update`
+APIキーは**すべてオプション**です。外部APIを使う場合のみ設定してください。
-依存関係のインストール:`sudo apt install -y alsa-utils portaudio19-dev python3-pyaudio libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1`
+### 3. **Dockerの起動**
-Chromeブラウザのバージョンに一致するChromeDriverのインストール:
-`sudo apt install -y chromium-chromedriver`
+Dockerがインストールされ、起動していることを確認してください。以下のコマンドで起動できます。
-要件のインストール:`pip3 install -r requirements.txt`
+- **Linux/macOSの場合:**
+ ターミナルで
+ ```sh
+ sudo systemctl start docker
+ ```
+ またはアプリケーションメニューからDocker Desktopを起動
-- *Macos*:
+- **Windowsの場合:**
+ スタートメニューからDocker Desktopを起動
-brewの更新:`brew update`
-
-chromedriverのインストール:`brew install --cask chromedriver`
-
-portaudioのインストール:`brew install portaudio`
-
-pipのアップグレード:`python3 -m pip install --upgrade pip`
-
-wheelのアップグレード:`pip3 install --upgrade setuptools wheel`
-
-要件のインストール:`pip3 install -r requirements.txt`
-
-- *Windows*:
-
-pyreadline3のインストール:`pip install pyreadline3`
-
-portaudioの手動インストール(例:vcpkgまたはビルド済みバイナリ経由)後、実行:`pip install pyaudio`
-
-chromedriverの手動ダウンロードとインストール:https://sites.google.com/chromium.org/driver/getting-started
-
-PATHに含まれるディレクトリにchromedriverを配置します。
-
-要件のインストール:`pip3 install -r requirements.txt`
+Dockerが動作しているか確認するには
+```sh
+docker info
+```
+と入力し、情報が表示されればOKです。
---
-## マシン上でローカルにLLMを実行するためのセットアップ
+## ローカルでLLMを実行する場合のセットアップ
-**少なくともDeepseek 14Bの使用を推奨します。より小さなモデルは、特にウェブブラウジングのタスクで苦労します。**
+**ハードウェア要件:**
+ローカルでLLMを動かすには十分なハードウェアが必要です。最低でもQwen/Deepseek 14Bが動作するGPUが必要です。詳細はFAQを参照してください。
-**ローカルプロバイダーのセットアップ**
+**ローカルプロバイダーの起動例**
-ローカルプロバイダーを開始します。例えばollamaの場合:
+例: ollamaを使う場合
```sh
ollama serve
```
-サポートされているローカルプロバイダーのリストについては、以下を参照してください。
+対応プロバイダーは下記参照。
**config.iniの更新**
-config.iniファイルを変更して、provider_nameをサポートされているプロバイダーに、provider_modelをプロバイダーがサポートするLLMに設定します。*Qwen*や*Deepseek*などの推論モデルを推奨します。
+config.iniファイルでprovider_nameをサポートされているプロバイダー名、provider_modelを対応モデルに設定してください。推論モデルは*Qwen*や*Deepseek*を推奨します。
-必要なハードウェアについては、READMEの最後にある**FAQ**を参照してください。
+FAQで必要なハードウェアを確認してください。
```sh
[MAIN]
-is_local = True # ローカルで実行するか、リモートプロバイダーで実行するか。
-provider_name = ollama # またはlm-studio、openaiなど。
-provider_model = deepseek-r1:14b # ハードウェアに合ったモデルを選択してください
+is_local = True
+provider_name = ollama
+provider_model = deepseek-r1:14b
provider_server_address = 127.0.0.1:11434
-agent_name = Jarvis # AIの名前
-recover_last_session = True # 前のセッションを復元するかどうか
-save_session = True # 現在のセッションを記憶するかどうか
-speak = True # テキスト読み上げ
-listen = False # 音声認識、CLIのみ
-work_dir = /Users/mlg/Documents/workspace # AgenticSeekのワークスペース。
-jarvis_personality = False # より「Jarvis」らしい性格を使用するかどうか(実験的)
-languages = en zh # 言語のリスト、テキスト読み上げはリストの最初の言語にデフォルト設定されます
+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 # undetected seleniumを使用してブラウザ検出を減らす
+headless_browser = True
+stealth_mode = True
```
-警告:LM-studioを使用してLLMを実行する場合、provider_nameを`openai`に設定しないでください。`lm-studio`に設定してください。
+**注意:**
-注意:一部のプロバイダー(例:lm-studio)では、IPの前に`http://`が必要です。例:`http://127.0.0.1:1234`
+- `config.ini`はコメントをサポートしません。例の設定をそのままコピペせず、コメントを除いて手動で編集してください。
+- LM-studioを使う場合、provider_nameは`lm-studio`にしてください(`openai`ではありません)。
+- 一部プロバイダー(例: lm-studio)はIPアドレスの前に`http://`が必要です(例: `http://127.0.0.1:1234`)。
-**ローカルプロバイダーのリスト**
+**ローカルプロバイダー一覧**
-| プロバイダー | ローカル? | 説明 |
+| プロバイダー | ローカル? | 説明 |
|-----------|--------|-----------------------------------------------------------|
-| ollama | はい | ollamaをLLMプロバイダーとして使用して、LLMをローカルで簡単に実行します |
-| lm-studio | はい | LM studioでLLMをローカル実行します(`provider_name`を`lm-studio`に設定)|
-| openai | はい | openai互換API(例:llama.cppサーバー)を使用します |
+| ollama | はい | ollamaでローカルLLMを簡単に実行 |
+| lm-studio | はい | LM studioでローカルLLMを実行(`provider_name`は`lm-studio`)|
+| openai | はい/いいえ | openai互換API(例: llama.cppサーバー) |
-次のステップ:[サービスの開始とAgenticSeekの実行](#サービスの開始と実行)
+次のステップ: [サービスの起動とAgenticSeekの実行](#Start-services-and-Run)
-*問題が発生した場合は、**既知の問題**セクションを参照してください*
+*問題がある場合は**Known issues**セクション参照*
-*ハードウェアがローカルでdeepseekを実行できない場合は、**APIで実行**セクションを参照してください*
+*ローカルでdeepseekが動かない場合は**Run with an API**セクション参照*
-*詳細な設定ファイルの説明については、**設定**セクションを参照してください。*
+*詳細な設定は**Config**セクション参照*
---
-## APIで実行するためのセットアップ
+## APIで実行する場合のセットアップ
-`config.ini`で目的のプロバイダーを設定します。APIプロバイダーのリストについては、以下を参照してください。
+**API利用はオプションです。ローカル実行は上記参照。**
+
+`config.ini`で希望のプロバイダーを設定してください。APIプロバイダー一覧は下記参照。
```sh
[MAIN]
is_local = False
provider_name = google
provider_model = gemini-2.0-flash
-provider_server_address = 127.0.0.1:5000 # 関係ありません
+provider_server_address = 127.0.0.1:5000 # 任意
```
-警告:設定に末尾のスペースがないことを確認してください。
+注意: configに余計なスペースがないようにしてください。
-APIキーをエクスポートします:`export <
-
-[English](./README.md) | [中文](./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)
-> Uma **alternativa 100% local ao Manus AI**, este assistente de IA habilitado por voz navega autonomamente na web, escreve código e planeja tarefas mantendo todos os dados no seu dispositivo. Projetado para modelos de raciocínio locais, roda inteiramente no seu hardware, garantindo total privacidade e zero dependência de nuvem.
+*Uma **alternativa 100% local ao Manus AI**, este assistente de voz com IA navega autonomamente na web, escreve código e planeja tarefas mantendo todos os dados no seu dispositivo. Feito para modelos de raciocínio locais, roda inteiramente no seu hardware, garantindo total privacidade e zero dependência da nuvem.*
-[](https://fosowl.github.io/agenticSeek.html)  [](https://discord.gg/8hGDaME3TC) [](https://x.com/Martin993886460) [](https://github.com/Fosowl/agenticSeek/stargazers)
+[](https://fosowl.github.io/agenticSeek.html)  [](https://discord.gg/8hGDaME3TC) [](https://x.com/Martin993886460) [](https://github.com/Fosowl/agenticSeek/stargazers)
----
+### Por que AgenticSeek?
-## Por que AgenticSeek?
+* 🔒 Totalmente Local & Privado - Tudo roda na sua máquina — sem nuvem, sem compartilhamento de dados. Seus arquivos, conversas e buscas permanecem privados.
-* 🔒 **Totalmente Local & Privado**
- Roda integralmente na sua máquina — sem nuvem, sem compartilhamento de dados. Seus arquivos, conversas e buscas permanecem sob seu controle.
+* 🌐 Navegação Inteligente na Web - O AgenticSeek pode navegar na internet sozinho — pesquisar, ler, extrair informações, preencher formulários — tudo sem as mãos.
-* 🌐 **Navegação Web Inteligente**
- AgenticSeek pode navegar na internet sozinho — buscar, ler, extrair informações, preencher formulários — tudo de forma autônoma.
+* 💻 Assistente Autônomo de Programação - Precisa de código? Ele pode escrever, depurar e executar programas em Python, C, Go, Java e mais — tudo sem supervisão.
-* 💻 **Assistente de Programação Autônomo**
- Precisa de código? Ele escreve, depura e executa programas em Python, C, Go, Java e muito mais — sem supervisão constante.
+* 🧠 Seleção Inteligente de Agentes - Você pede, ele escolhe automaticamente o melhor agente para a tarefa. Como ter uma equipe de especialistas pronta para ajudar.
-* 🧠 **Seleção Inteligente de Agentes**
- Você faz a pergunta, ele escolhe automaticamente o melhor "agente" para a tarefa. É como ter uma equipe de especialistas sempre à disposição.
+* 📋 Planeja & Executa Tarefas Complexas - De planejamento de viagens a projetos complexos — pode dividir grandes tarefas em etapas e concluí-las usando múltiplos agentes de IA.
-* 📋 **Planeja e Executa Tarefas Complexas**
- De roteiros de viagem a projetos grandes — divide grandes objetivos em etapas e realiza tudo usando múltiplos agentes de IA.
+* 🎙️ Ativado por Voz - Voz limpa, rápida e futurista, além de reconhecimento de fala, permitindo que você converse como se fosse sua IA pessoal de um filme de ficção científica. (Em desenvolvimento)
-* 🎙️ **Habilitado por Voz**
- Integração limpa de texto para fala e fala para texto — fale com ele como se fosse um assistente de ficção científica.
+### **Demo**
----
-
-## **Demonstração**
-
-> **Exemplo de uso**
->
-> _"Pode buscar na web informações sobre o projeto AgenticSeek, identificar requisitos, abrir o arquivo `CV_candidates.zip` e me dizer qual currículo se adequa melhor?"_
+> *Você pode pesquisar sobre o projeto agenticSeek, aprender quais habilidades são necessárias, depois abrir o CV_candidates.zip e então me dizer quais combinam melhor com o projeto?*
https://github.com/user-attachments/assets/b8ca60e9-7b3b-4533-840e-08f9ac426316
-> **Aviso:** Esta demonstração, incluindo todos os arquivos que aparecem (ex.: `CV_candidates.zip`), é totalmente fictícia. Não somos uma corporação e buscamos contribuições de código, não candidatos.
+Aviso: Esta demonstração, incluindo todos os arquivos que aparecem (ex: CV_candidates.zip), são totalmente fictícios. Não somos uma corporação, buscamos colaboradores open-source, não candidatos.
-> 🛠️ **Em Desenvolvimento** – Buscando colaboradores!
+> 🛠⚠️️ **Trabalho Ativo em Progresso**
----
+> 🙏 Este projeto começou como um projeto paralelo e não tem roteiro nem financiamento. Cresceu muito além do esperado ao aparecer no GitHub Trending. Contribuições, feedback e paciência são profundamente apreciados.
-## Instalação
+## Pré-requisitos
-Certifique-se de ter instalado: ChromeDriver, Docker, Docker Compose e Python 3.10.
-Recomendamos usar **exatamente** Python 3.10 para evitar erros de dependência.
+Certifique-se de ter chrome driver, docker e python3.10 instalados.
-Para problemas com ChromeDriver, veja a seção **Problemas Conhecidos**.
+Para problemas relacionados ao chrome driver, veja a seção **Chromedriver**.
-### 1️⃣ Clone o repositório e configure o ambiente
+### 1. **Clone o repositório e configure**
-```bash
+```sh
git clone https://github.com/Fosowl/agenticSeek.git
cd agenticSeek
mv .env.example .env
```
-## 2️⃣ Instale o Gerenciador de Pacotes UV
+### 2. Altere o conteúdo do arquivo .env
-### Para Linux/macOS:
-```bash
-curl -LsSf https://astral.sh/uv/install.sh | sh
+```sh
+SEARXNG_BASE_URL="http://127.0.0.1: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='opcional'
+DEEPSEEK_API_KEY='opcional'
+OPENROUTER_API_KEY='opcional'
+TOGETHER_API_KEY='opcional'
+GOOGLE_API_KEY='opcional'
+ANTHROPIC_API_KEY='opcional'
```
-### Para Windows:
-```powershell
-powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
+**As chaves de API são totalmente opcionais para quem optar por rodar LLM localmente. Que é o objetivo principal deste projeto. Deixe em branco se você tiver hardware suficiente**
+
+As seguintes variáveis de ambiente configuram as conexões e chaves de API do seu aplicativo.
+
+Atualize o arquivo `.env` com seus próprios valores conforme necessário:
+
+- **SEARXNG_BASE_URL**: Deixe inalterado
+- **REDIS_BASE_URL**: Deixe inalterado
+- **WORK_DIR**: Caminho para seu diretório de trabalho local. O AgenticSeek poderá ler e interagir com esses arquivos.
+- **OLLAMA_PORT**: Porta para o serviço Ollama.
+- **LM_STUDIO_PORT**: Porta para o serviço LM Studio.
+- **CUSTOM_ADDITIONAL_LLM_PORT**: Porta para qualquer serviço LLM adicional.
+
+Todas as variáveis de ambiente de chave de API abaixo são **opcionais**. Só forneça se for usar APIs externas em vez de rodar LLMs localmente.
+
+### 3. **Inicie o Docker**
+
+Certifique-se de que o Docker está instalado e rodando no seu sistema. Você pode iniciar o Docker com os seguintes comandos:
+
+- **No Linux/macOS:**
+ Abra um terminal e execute:
+ ```sh
+ sudo systemctl start docker
+ ```
+ Ou inicie o Docker Desktop pelo menu de aplicativos, se instalado.
+
+- **No Windows:**
+ Inicie o Docker Desktop pelo menu Iniciar.
+
+Você pode verificar se o Docker está rodando executando:
+```sh
+docker info
```
-
-## 3️⃣ Crie um Ambiente Virtual
-```bash
-uv venv
-```
-
-### 4️⃣ Instale o pacote
-
-#### Instalação Automática (Recomendada)
-
-- **Linux/macOS**
- ```bash
- ./install.sh
- ```
-- **Windows**
- ```powershell
- .\install.bat
- ```
-
-#### Instalação Manual
-
-> **Obs.:** Verifique sempre se a versão do ChromeDriver corresponde à do seu Chrome (`google-chrome --version`).
-
-- **Linux (Debian/Ubuntu)**
- ```bash
- sudo apt update
- sudo apt install -y alsa-utils portaudio19-dev python3-pyaudio \
- libgtk-3-dev libnotify-dev libgconf-2-4 \
- libnss3 libxss1 chromium-chromedriver
- pip3 install --upgrade pip setuptools wheel
- pip3 install -r requirements.txt
- ```
-
-- **macOS**
- ```bash
- brew update
- brew install --cask chromedriver
- brew install portaudio
- python3 -m pip install --upgrade pip setuptools wheel
- pip3 install -r requirements.txt
- ```
-
-- **Windows**
- ```powershell
- pip install pyreadline3
- # Instale o portaudio (via vcpkg ou binário)
- pip install pyaudio
- # Baixe e coloque o ChromeDriver no PATH:
- # https://sites.google.com/chromium.org/driver/getting-started
- pip3 install -r requirements.txt
- ```
+Se aparecerem informações sobre sua instalação do Docker, está funcionando corretamente.
---
-## Configuração para rodar LLM localmente
+## Configuração para rodar LLM localmente na sua máquina
-### Requisitos de Hardware
+**Requisitos de Hardware:**
-Para modelos grandes (~14B+), é recomendada **GPU** com 8 GB+ de VRAM. Veja a seção **FAQ** para detalhes.
+Para rodar LLMs localmente, você precisará de hardware suficiente. No mínimo, uma GPU capaz de rodar Qwen/Deepseek 14B é necessária. Veja o FAQ para recomendações detalhadas de modelo/desempenho.
-### 1️⃣ Inicie seu provedor local (ex.: Ollama)
+**Configure seu provedor local**
-```bash
+Inicie seu provedor local, por exemplo com ollama:
+
+```sh
ollama serve
```
-### 2️⃣ Edite o `config.ini`
+Veja abaixo a lista de provedores locais suportados.
-```ini
+**Atualize o config.ini**
+
+Altere o arquivo config.ini para definir o provider_name para um provedor suportado e provider_model para um LLM suportado pelo seu provedor. Recomendamos modelos de raciocínio como *Qwen* ou *Deepseek*.
+
+Veja o **FAQ** no final do README para hardware necessário.
+
+```sh
[MAIN]
-is_local = True # Executar localmente
-provider_name = ollama # ou lm-studio, server, openai, etc.
-provider_model = deepseek-r1:14b
+is_local = True # Se está rodando localmente ou com provedor remoto.
+provider_name = ollama # ou lm-studio, openai, etc.
+provider_model = deepseek-r1:14b # escolha um modelo compatível com seu hardware
provider_server_address = 127.0.0.1:11434
-agent_name = Jarvis # Nome do assistente
-recover_last_session = True # Retomar sessão anterior
-save_session = True # Salvar histórico de sessão
-speak = True # Texto para fala
-listen = False # Fala para texto (CLI)
-work_dir = /caminho/para/workspace
-languages = en zh pt
-
+agent_name = Jarvis # nome da sua IA
+recover_last_session = True # recuperar sessão anterior
+save_session = True # lembrar sessão atual
+speak = False # texto para fala
+listen = False # fala para texto, apenas para CLI, experimental
+jarvis_personality = False # usar personalidade "Jarvis" (experimental)
+languages = en zh # Lista de idiomas, TTS usará o primeiro da lista
[BROWSER]
-headless_browser = True # Modo headless (recomendado para API)
-stealth_mode = True # Modo furtivo (undetected selenium)
+headless_browser = True # deixe inalterado a menos que use CLI no host.
+stealth_mode = True # Usa selenium indetectável para reduzir detecção do navegador
```
-> **Atenção:**
-> - Ao usar `provider_name = lm-studio`, adicione `http://` em `provider_server_address`, se necessário.
-> - Não use `provider_name = openai` junto com LM-studio sem prefixo `http://`.
+**Aviso**:
+
+- O formato do arquivo `config.ini` não suporta comentários.
+Não copie e cole a configuração de exemplo diretamente, pois comentários causarão erros. Em vez disso, modifique manualmente o arquivo `config.ini` com suas configurações desejadas, sem comentários.
+
+- *NÃO* defina provider_name como `openai` se estiver usando LM-studio para rodar LLMs. Use `lm-studio`.
+
+- Alguns provedores (ex: lm-studio) exigem `http://` antes do IP. Exemplo: `http://127.0.0.1:1234`
+
+**Lista de provedores locais**
+
+| Provedor | Local? | Descrição |
+|------------|--------|---------------------------------------------------------|
+| ollama | Sim | Rode LLMs localmente facilmente usando ollama |
+| lm-studio | Sim | Rode LLM localmente com LM studio (`provider_name` = `lm-studio`)|
+| openai | Sim | Use API compatível com openai (ex: servidor llama.cpp) |
+
+Próximo passo: [Inicie os serviços e rode o AgenticSeek](#Start-services-and-Run)
+
+*Veja a seção **Problemas conhecidos** se tiver problemas*
+
+*Veja a seção **Rodar com uma API** se seu hardware não rodar deepseek localmente*
+
+*Veja a seção **Config** para explicação detalhada do arquivo de configuração.*
---
-## Configuração para rodar com API remota
+## Configuração para rodar com uma API
-Se preferir usar nuvem:
+**Rodar com uma API é opcional, veja acima para rodar localmente.**
-```ini
+Defina o provedor desejado no `config.ini`. Veja abaixo a lista de provedores de API.
+
+```sh
[MAIN]
is_local = False
-provider_name = google # openai, huggingface, togetherAI, etc.
+provider_name = google
provider_model = gemini-2.0-flash
-provider_server_address = 127.0.0.1:5000
+provider_server_address = 127.0.0.1:5000 # não importa
```
+Aviso: Certifique-se de não haver espaço no final da linha no config.
-Exporte sua chave de API:
+Exporte sua chave de API: `export <
-
+
-
+