16 KiB
English | 繁體中文
AgenticSeek: 類似 Manus 但基於 Deepseek R1 Agents 的本地模型。
Manus AI 的本地替代品,它是一個具有語音功能的大語言模型秘書,可以 Coding、訪問你的電腦文件、瀏覽網頁,並自動修正錯誤與反省,最重要的是不會向雲端傳送任何資料。採用 DeepSeek R1 等推理模型構建,完全在本地硬體上運行,進而保證資料的隱私。
🛠️ 目前還在開發階段 – 歡迎任何貢獻者加入我們!
https://github.com/user-attachments/assets/4bd5faf6-459f-4f94-bd1d-238c4b331469
在大阪和東京深入搜尋人工智慧新創公司,至少找到 5 家,然後儲存在 research_japan.txt 檔案中
你可以用 C 語言製作俄羅斯方塊遊戲嗎?
我想設定一個新的專案檔案索引,命名為 mark2。
Features:
-
100% 本機運行: 本機運行,不使用雲端服務,所以資料絕不會散布出去,我的東西還是我的!不會被當作其他服務的訓練資料。
-
文件的交互系統: 使用 bash 去瀏覽本機資料和操作本機系統。
-
自主 Coding: AgenticSeek 可以自己運行、Debug、編譯 Python、C、Golang 和各種語言。
-
代理助理: 不同的工作由不同的助理去處理問題。AgenticSeek 會自己尋找最適合的助理去做相對應的工作。
-
規劃: 對於複雜的任務,AgenticSeek 會交辦給不同的助理進行規劃和執行。
-
自主學習: 自動在網路上尋找資料。
-
記憶功能: 對於每次的對話進行統整、保存對話,並且在本地儲存用戶的使用習慣。
安裝
確保已安裝了 Chrome driver,Docker 和 Python 3.10(或更新)。
有關於 Chrome driver 的問題,請參見 Chromedriver 部分。
1️⃣ 複製儲存庫與設置環境變數
git clone https://github.com/Fosowl/agenticSeek.git
cd agenticSeek
mv .env.example .env
2️ 建立虛擬環境
python3 -m venv agentic_seek_env
source agentic_seek_env/bin/activate
# On Windows: agentic_seek_env\Scripts\activate
3️⃣ 安裝所需套件
自動安裝:
./install.sh
手動安裝:
pip3 install -r requirements.txt
# or
python3 setup.py install
在本地機器上運行 AgenticSeek
建議至少使用 Deepseek 14B 以上參數的模型,較小的模型難以使用助理功能並且很快就會忘記上下文之間的關係。
本地运行助手
启动你的本地提供者,例如使用 ollama:
ollama serve
请参阅下方支持的本地提供者列表。
修改 config.ini
文件,将 provider_name
设置为支持的提供者,并将 provider_model
设置为 deepseek-r1:14b
。
注意:deepseek-r1:14b
只是一个示例,如果你的硬件允许,可以使用更大的模型。
[MAIN]
is_local = True
provider_name = ollama # 或 lm-studio, openai 等
provider_model = deepseek-r1:14b
provider_server_address = 127.0.0.1:11434
本地提供者列表
提供者 | 本地? | 描述 |
---|---|---|
ollama | 是 | 使用 ollama 作为 LLM 提供者,轻松本地运行 LLM |
lm-studio | 是 | 使用 LM Studio 本地运行 LLM(将 provider_name 设置为 lm-studio ) |
openai | 否 | 使用兼容的 API |
下一步: Start services and run AgenticSeek
Run with an API (透過 API 執行)
設定 config.ini
。
[MAIN]
is_local = False
provider_name = openai
provider_model = gpt-4o
provider_server_address = 127.0.0.1:5000
警告:確保 config.ini
沒有行尾空格。
如果使用基於本機的 openai-based api 則把 is_local
設定為 True
。
同時更改你的 IP 為 openai-based api 的 IP。
下一步: Start services and run AgenticSeek
Start services and Run
(启动服务并运行)
如果需要,请激活你的 Python 环境。
source agentic_seek_env/bin/activate
启动所需的服务。这将启动 docker-compose.yml
中的所有服务,包括:
- searxng
- redis(由 redis 提供支持)
- 前端
sudo ./start_services.sh # MacOS
start ./start_services.cmd # Windows
选项 1: 使用 CLI 界面运行。
python3 cli.py
选项 2: 使用 Web 界面运行。
启动后端服务。
python3 api.py
访问 http://localhost:3000/
,你应该会看到 Web 界面。
请注意,目前 Web 界面不支持消息流式传输。
如果你不知道如何開始,請參閱 Usage 部分
Usage (使用方法)
为确保 agenticSeek 在中文环境下正常工作,请确保在 config.ini 中设置语言选项。 languages = en zh 更多信息请参阅 Config 部分
確定所有的核心檔案都啟用了,也就是執行過這條命令 ./start_services.sh
然後你就可以使用 python3 cli.py
來啟動 AgenticSeek 了!
sudo ./start_services.sh
python3 cli.py
當你看到執行後顯示 >>>
這表示一切運作正常,AgenticSeek 正在等待你給他任何指令。
你也可以透過設定 config.ini
內的 listen = True
來啟用語音轉文字。
要退出時,只要和他說 goodbye
就可以退出!
以下是一些用法:
Coding/Bash
在 Golang 中幫助我進行矩陣乘法
使用 nmap 掃描我的網路,找出是否有任何可疑裝置連接
用 Python 製作一個貪食蛇遊戲
網路搜尋
進行網路搜尋,找出日本從事尖端人工智慧研究的酷炫科技新創公司
你能在網路上找到誰創造了 AgenticSeek 嗎?
你能在哪個網站上找到便宜的 RTX 4090 嗎?
檔案瀏覽與搜尋
嘿,你能找到我遺失的 million_dollars_contract.pdf 在哪裡嗎?
告訴我我的磁碟還剩下多少空間
尋找並閱讀 README.md,並按照安裝說明進行操作
日常聊天
告訴我關於法國的事
人生的意義是什麼?
我應該在鍛鍊前還是鍛鍊後服用肌酸?
當你把指令送出後,AgenticSeek 會自動調用最能提供幫助的助理,去完成你交辦的工作和指令。
但也有可能出現怪怪的情況,或是你要找飛機機票,他跑去教你如何一步步做出一台飛機(開玩笑的,但真的可能出現),因為這是一個早期專案,我們會努力教導他、完善他的!
所以我們希望你在使用時,能明確地表明你希望他要怎麼做,下面給你一個範例!
你該說:
- 进行网络搜索,找出哪些国家最适合独自旅行
而不是說:
- 你知道哪些国家适合独自旅行?
在本地執行屬於你的 LLM 伺服器
如果你有一台功能強大的電腦或伺服器,但你想透過筆記型電腦使用它,那麼你可以選擇在遠端伺服器上執行 LLM。
1️⃣ 設定並啟動伺服器腳本
在運行 AI 模型的「伺服器」上,取得 IP 位址
ip a | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}' | cut -d/ -f1
注意:請在 Windows 或 MacOS,分別使用 ipconfig
與 ifconfig
來尋找 IP 位址。
如果你希望使用基於 Openai 的服務,請按照 透過 API 執行 部分進行。
複製儲存庫並且進入 server/
資料夾。
git clone --depth 1 https://github.com/Fosowl/agenticSeek.git
cd agenticSeek/server/
安裝伺服器所需的套件:
pip3 install -r requirements.txt
執行伺服器腳本。
python3 app.py --provider ollama --port 3333
您可以選擇使用 ollama
或 llamacpp
作為 LLM 的服務框架。
2️⃣ 執行
在你的電腦上:
- 更改
config.ini
provider_name = server
provider_model = deepseek-r1:14b
provider_server_address = {你執行模型的電腦的 IP 位址}
[MAIN]
is_local = False
provider_name = server
provider_model = deepseek-r1:14b
provider_server_address = x.x.x.x:3333
語音轉文字
預設狀況下,語音轉文字功能是停用的。若要啟用它,請在 config.ini
檔案中,將 listen
選項設為 True
:
listen = True
啟用後 AgenticSeek 會聆聽你是否呼喚他,他才會開始聽你說的話,你可以在 config.ini 內去設定,要怎麼叫他。
agent_name = Friday
為了獲得比較好的結果,我們建議使用常見的英文名稱(如 “John” 或 “Emma”)作為他的名字。
當你看到程式開始執行時,請大聲說出他的名字,就可以喚醒 AgenticSeek 去聆聽!(如: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_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]
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
- 伺服器 IP
- agent_name
- AgenticSeek 的名字,用作TTS的觸發單詞。
Friday
- AgenticSeek 的名字,用作TTS的觸發單詞。
- recover_last_session
- True:從上個對話繼續。
- False:重啟對話。
- save_session
- True:儲存對話紀錄。
- False:不保存。
- speak
- True:啟用語音輸出。
- False:關閉語音輸出。
- listen
- True:啟用語音輸入。
- False:關閉語音輸入。
- work_dir
- AgenticSeek 擁有能存取與交互的工作目錄。
- jarvis_personality
就是那個鋼鐵人的 JARVIS
- True:啟用 JARVIS 個性。
- False:關閉 JARVIS 個性。
- headless_browser
- True:前景瀏覽器。(很酷,推薦使用他 XD)
- False:背景執行瀏覽器。
- stealth_mode
- 隱私模式,但需要你自己安裝反爬蟲擴充功能。
- languages
- 支持的语言列表。用于代理路由系统。语言列表越长,下载的模型越多。
框架
下表顯示了可用的框架:
框架 | 本地? | 描述 |
---|---|---|
ollama | 可 | 使用 ollama 框架去執行本地模型 |
server | 可 | 本地伺服器執行模型遠端調用 |
lm-studio | 可 | 使用 LM Studio 在本地運行 LLM(設定provider_name為lm-studio) |
openai | 不可 | 使用 ChatGPT API(無法保證隱私) |
deepseek-api | 不可 | 使用 Deepseek API (無法保證隱私) |
huggingface | 不可 | 使用 Hugging-Face API (無法保證隱私) |
若要選擇框架,請變更 config.ini
文件:
is_local = False
provider_name = openai
provider_model = gpt-4o
provider_server_address = 127.0.0.1:5000
is_local
: 對於任何本地運行的 LLM 都應該為 True,否則為 False。
provider_name
: 透過名稱選擇要使用的框架,請參閱上面的框架清單。
provider_model
: 設定 AgenticSeek 使用的模型。
provider_server_address
: 如果不使用雲端 API,則可以將其設定為任何內容。
Known issues (已知問題)
Chromedriver Issues
已知問題 #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
如果你的瀏覽器和 chromedriver 版本不一樣,就會發生這種情況。
你可以透過以下連結下載最新版本:
https://developer.chrome.com/docs/chromedriver/downloads
如果您使用的是 Chrome 版本 115 或更新版本,請前往:
https://googlechromelabs.github.io/chrome-for-testing/
下載與你的作業系統相符的 chromedriver 版本。
如果有其他問題,請提供盡量詳細的敘述到 Issues 上,盡可能包含當前環境和問題是怎麼發生的。
FAQ
Q:我需要什麼的硬體配備?
7B 型號:具有 8GB VRAM 的 GPU。 14B 型號:12GB GPU(例如 RTX 3060)。 32B 型號:24GB+ VRAM。
Q:為什麼選擇 Deepseek R1 而不是其他模型?
就其尺寸而言,Deepseek R1 在推理和使用方面表現出色。我們認為非常適合我們的需求,其他模型也很好用,但 Deepseek 是我們最後選定的模型。
Q:我在執行時 main.py
時出現錯誤。我該怎麼辦?
- 確保 Ollama 正在運行(ollama serve)
- 你
config.ini
內provider_name
的框架選擇正確。 - 依賴套件已安裝
- 如果均無效,請隨時提出 Issues,同樣盡可能包含當前環境和問題是怎麼發生的。
Q:它真的是 100% 本地運行嗎?
是的,透過 Ollama 或其他框架,所有語音轉文字、LLM 和文字轉語音模型都在本地運行。 但你能選擇非本地執行(OpenAI 或其他 API),同樣也是可以的
Q:我有 Manus 為甚麼還要用 AgenticSeek?
這是我們因為興趣做的一個小 Side-Project,他特別的點在於是一個全部本地化的模型,而且可以像鋼鐵人裡面一樣與 Jarvis
對話,聽起來就超級酷的吧!隨著 Manus 的進化,我們也相應的加入更多功能!
Q:它比 Manus 好在哪裡?
不不不,AgenticSeek 和 Manus 是不同取向的東西,我們優先考慮的是本地執行和隱私,而不是基於雲端。這是一個與 Manus 相比起來更有趣且易使用的方案!
Q: 是否支持中文以外的语言?
DeepSeek R1 天生会说中文
但注意:代理路由系统只懂英文,所以必须通过 config.ini 的 languages 参数(如 languages = en zh)告诉系统:
如果不设置中文?后果可能是:你让它写代码,结果跳出来个"医生代理"(虽然我们根本没有这个代理... 但系统会一脸懵圈!)
实际上会下载一个小型翻译模型来协助任务分配
貢獻
我們正在尋找開發者來改善 AgenticSeek!你可以在 Issues 查看未解決的問題或和我們討論更酷的新功能!