-------------------------------------------------------------------------------- [English](./README.md) | [中文](./README_CHS.md) | [繁體中文](./README_CHT.md) | [Français](./README_FR.md) | 日本語 # AgenticSeek: Deepseek R1エージェントによって動作するManusのようなAI。 **Manus AIの完全なローカル代替品**、音声対応のAIアシスタントで、コードを書き、ファイルシステムを探索し、ウェブを閲覧し、ミスを修正し、データをクラウドに送信することなくすべてを行います。DeepSeek R1のような推論モデルを使用して構築されており、この自律エージェントは完全にハードウェア上で動作し、データのプライバシーを保護します。 [![Visit AgenticSeek](https://img.shields.io/static/v1?label=Website&message=AgenticSeek&color=blue&style=flat-square)](https://fosowl.github.io/agenticSeek.html) ![License](https://img.shields.io/badge/license-GPL--3.0-green) [![Discord](https://img.shields.io/badge/Discord-Join%20Us-7289DA?logo=discord&logoColor=white)](https://discord.gg/4Ub2D6Fj) [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/fosowl.svg?style=social&label=Update%20%40Fosowl)](https://x.com/Martin993886460) > 🛠️ **進行中の作業** – 貢献者を探しています! https://github.com/user-attachments/assets/fe9e8006-0462-4793-8b31-25bd42c6d1eb *そしてもっと多くのことができます!* > *大阪と東京のAIスタートアップを深く調査し、少なくとも5つ見つけて、research_japan.txtファイルに保存してください* > *C言語でテトリスゲームを作れますか?* > *新しいプロジェクトファイルインデックスをmark2として設定したいです。* ## 特徴: - **100%ローカル**: クラウドなし、ハードウェア上で動作。データはあなたのものです。 - **ファイルシステムの操作**: bashを使用してファイルを簡単にナビゲートおよび操作します。 - **自律的なコーディング**: Python、C、Golangなどのコードを書き、デバッグし、実行できます。 - **エージェントルーティング**: タスクに最適なエージェントを自動的に選択します。 - **計画**: 複雑なタスクの場合、複数のエージェントを起動して計画および実行します。 - **自律的なウェブブラウジング**: 自律的なウェブナビゲーション。 - **メモリ**: 効率的なメモリとセッション管理。 --- ## **インストール** chrome driver、docker、およびpython3.10(またはそれ以降)がインストールされていることを確認してください。 chrome driverに関連する問題については、**Chromedriver**セクションを参照してください。 ### 1️⃣ **リポジトリをクローンしてセットアップ** ```sh git clone https://github.com/Fosowl/agenticSeek.git cd agenticSeek mv .env.example .env ``` ### 2️ **仮想環境を作成** ```sh python3 -m venv agentic_seek_env source agentic_seek_env/bin/activate # Windowsの場合: agentic_seek_env\Scripts\activate ``` ### 3️⃣ **パッケージをインストール** **自動インストール:** ```sh ./install.sh ``` **手動で:** ```sh pip3 install -r requirements.txt # または python3 setup.py install ``` ## ローカルで実行 **少なくともDeepseek 14Bを使用することをお勧めします。小さなモデルはツールの使用に苦労し、コンテキストをすぐに忘れてしまいます。** ### 1️⃣ **モデルをダウンロード** [Ollama](https://ollama.com/)がインストールされていることを確認してください。 [DeepSeek](https://deepseek.com/models)から`deepseek-r1:14b`モデルをダウンロードします。 ```sh ollama pull deepseek-r1:14b ``` ### 2️ **アシスタントを実行(Ollama)** ollamaサーバーを起動します ```sh ollama serve ``` config.iniファイルを変更して、provider_nameを`ollama`、provider_modelを`deepseek-r1:14b`に設定します。 注意: `deepseek-r1:14b`は例です。ハードウェアが許す場合は、より大きなモデルを使用してください。 ```sh [MAIN] is_local = True provider_name = ollama provider_model = deepseek-r1:14b provider_server_address = 127.0.0.1:11434 ``` すべてのサービスを開始します: ```sh sudo ./start_services.sh # MacOS start ./start_services.cmd # Windows ``` アシスタントを実行します: ```sh python3 main.py ``` *使い方がわからない場合は、**Usage**セクションを参照してください* *問題が発生した場合は、**Known issues**セクションを参照してください* *ハードウェアがローカルでdeepseekを実行できない場合は、**Run with an API**セクションを参照してください* *詳細な設定ファイルの説明については、**Config**セクションを参照してください。* --- ## 使い方 警告: 現在、サポートされている言語は英語、中国語、フランス語のみです。他の言語でのプロンプトは機能しますが、適切なエージェントにルーティングされない場合があります。 サービスが`./start_services.sh`で起動していることを確認し、`python3 main.py`でagenticSeekを実行します。 ```sh sudo ./start_services.sh python3 main.py ``` `>>> `と表示されます これは、agenticSeekが指示を待っていることを示します。 configで`listen = True`を設定することで、音声認識を使用することもできます。 終了するには、単に`goodbye`と言います。 以下は使用例です: ### コーディング/バッシュ > *Pythonでスネークゲームを作成* > *C言語で行列の掛け算を教えて* > *Golangでブラックジャックを作成* ### ウェブ検索 > *日本の最先端のAI研究を行っているクールなテックスタートアップを見つけるためにウェブ検索を行う* > *agenticSeekを作成したのは誰かをインターネットで見つけることができますか?* > *オンラインの燃料計算機を使用して、ニースからミラノまでの旅行の費用を見積もることができますか?* ### ファイルシステム > *契約書.pdfがどこにあるか見つけてくれませんか?* > *ディスクにどれだけの空き容量があるか教えて* > *READMEを読んでプロジェクトを/home/path/projectにインストールしてください* ### カジュアル > *フランスのレンヌについて教えて* > *博士号を追求すべきですか?* > *最高のワークアウトルーチンは何ですか?* クエリを入力すると、agenticSeekはタスクに最適なエージェントを割り当てます。 これは初期のプロトタイプであるため、エージェントルーティングシステムはクエリに基づいて常に適切なエージェントを割り当てるとは限りません。 したがって、何を望んでいるか、AIがどのように進行するかについて非常に明確にする必要があります。たとえば、ウェブ検索を行いたい場合は、次のように言わないでください: `一人旅に良い国を知っていますか?` 代わりに、次のように尋ねてください: `ウェブ検索を行い、一人旅に最適な国を見つけてください` --- ## **独自のサーバーでLLMを実行** 強力なコンピュータやサーバーを持っているが、ラップトップから使用したい場合は、リモートサーバーでLLMを実行するオプションがあります。 ### 1️⃣ **サーバースクリプトをセットアップして起動** AIモデルを実行する「サーバー」で、IPアドレスを取得します ```sh ip a | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}' | cut -d/ -f1 ``` 注意: WindowsまたはmacOSの場合、IPアドレスを見つけるためにそれぞれipconfigまたはifconfigを使用します。 **openaiベースのプロバイダーを使用する場合は、*Run with an API*セクションに従ってください。** リポジトリをクローンし、`server/`フォルダーに入ります。 ```sh git clone --depth 1 https://github.com/Fosowl/agenticSeek.git cd agenticSeek/server/ ``` サーバー固有の要件をインストールします: ```sh pip3 install -r requirements.txt ``` サーバースクリプトを実行します。 ```sh python3 app.py --provider ollama --port 3333 ``` LLMサービスとして`ollama`と`llamacpp`のどちらかを使用することができます。 ### 2️⃣ **実行** 今度は個人のコンピュータで: `config.ini`ファイルを変更して、`provider_name`を`server`、`provider_model`を`deepseek-r1:14b`に設定します。 `provider_server_address`をモデルを実行するマシンのIPアドレスに設定します。 ```sh [MAIN] is_local = False provider_name = server provider_model = deepseek-r1:14b provider_server_address = x.x.x.x:3333 ``` アシスタントを実行します: ```sh sudo ./start_services.sh # Windowsの場合はstart_services.cmd python3 main.py ``` ## **APIを使用して実行** `config.ini`で希望するプロバイダーを設定します ```sh [MAIN] is_local = False provider_name = openai provider_model = gpt-4o provider_server_address = 127.0.0.1:5000 ``` 警告: 設定に末尾のスペースがないことを確認してください。 ローカルのopenaiベースのAPIを使用する場合は、`is_local`をTrueに設定します。 openaiベースのAPIが独自のサーバーで実行されている場合は、IPアドレスを変更します。 アシスタントを実行します: ```sh sudo ./start_services.sh # Windowsの場合はstart_services.cmd python3 main.py ``` --- ## 音声認識 音声認識機能はデフォルトで無効になっています。有効にするには、config.iniファイルでlistenオプションをTrueに設定します: ``` listen = True ``` 有効にすると、音声認識機能はトリガーキーワード(エージェントの名前)を待ちます。その後、入力を処理します。エージェントの名前は*config.ini*ファイルの`agent_name`値を更新することでカスタマイズできます: ``` agent_name = Friday ``` 最適な認識のために、"John"や"Emma"のような一般的な英語の名前をエージェント名として使用することをお勧めします。 トランスクリプトが表示され始めたら、エージェントの名前を大声で言って起動します(例:"Friday")。 クエリを明確に話します。 リクエストを終了する際に確認フレーズを使用してシステムに進行を通知します。確認フレーズの例には次のようなものがあります: ``` "do it", "go ahead", "execute", "run", "start", "thanks", "would ya", "please", "okay?", "proceed", "continue", "go on", "do that", "go it", "do you understand?" ``` ## 設定 設定例: ``` [MAIN] is_local = True provider_name = ollama provider_model = deepseek-r1:1.5b provider_server_address = 127.0.0.1:11434 agent_name = Friday recover_last_session = False save_session = False speak = False listen = False work_dir = /Users/mlg/Documents/ai_folder jarvis_personality = False [BROWSER] headless_browser = False stealth_mode = False ``` **説明**: - is_local -> エージェントをローカルで実行する(True)か、リモートサーバーで実行する(False)。 - provider_name -> 使用するプロバイダー(`ollama`、`server`、`lm-studio`、`deepseek-api`のいずれか)。 - provider_model -> 使用するモデル、例: deepseek-r1:1.5b。 - provider_server_address -> サーバーアドレス、例: 127.0.0.1:11434(ローカルの場合)。非ローカルAPIの場合は何でも設定できます。 - agent_name -> エージェントの名前、例: Friday。TTSのトリガーワードとして使用されます。 - recover_last_session -> 最後のセッションから再開する(True)か、しない(False)。 - save_session -> セッションデータを保存する(True)か、しない(False)。 - speak -> 音声出力を有効にする(True)か、しない(False)。 - listen -> 音声入力を有効にする(True)か、しない(False)。 - work_dir -> AIがアクセスするフォルダー。例: /Users/user/Documents/。 - jarvis_personality -> JARVISのようなパーソナリティを使用する(True)か、しない(False)。これは単にプロンプトファイルを変更するだけです。 - headless_browser -> ウィンドウを表示せずにブラウザを実行する(True)か、しない(False)。 - stealth_mode -> ボット検出を難しくします。唯一の欠点は、anticaptcha拡張機能を手動でインストールする必要があることです。 ## プロバイダー 以下の表は利用可能なプロバイダーを示しています: | プロバイダー | ローカル? | 説明 | |-----------|--------|-----------------------------------------------------------| | ollama | はい | ollamaを使用してLLMをローカルで簡単に実行 | | 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`: エージェントが使用するモデルを設定します。 `provider_server_address`: サーバープロバイダーを使用しない場合は何でも設定できます。 # 既知の問題 ## Chromedriverの問題 **既知のエラー#1:** *chromedriverの不一致* `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/ お使いのOSに対応するchromedriverバージョンをダウンロードします。 ![alt text](./media/chromedriver_readme.png) このセクションが不完全な場合は、問題を報告してください。 ## 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`がプロバイダーに一致していること、および依存関係がインストールされていることを確認してください。それでも解決しない場合は、問題を報告してください。 **Q: 本当に100%ローカルで実行できますか?** はい、OllamaまたはServerプロバイダーを使用すると、すべての音声認識、LLM、および音声合成モデルがローカルで実行されます。非ローカルオプション(OpenAIまたは他のAPI)はオプションです。 **Q: Manusを持っているのに、なぜAgenticSeekを使用する必要があるのですか?** これは、AIエージェントに関する興味から始まったサイドプロジェクトです。特別な点は、ローカルモデルを使用し、APIを避けることです。 私たちは、JarvisやFriday(アイアンマン映画)からインスピレーションを得て、「クール」にしようとしましたが、機能性に関してはManusから多くのインスピレーションを得ています。なぜなら、人々が最初に求めているのはローカルのManusの代替品だからです。 Manusとは異なり、AgenticSeekは外部システムからの独立性を優先し、より多くの制御、プライバシーを提供し、APIのコストを回避します。 ## 貢献 AgenticSeekを改善するための開発者を探しています!オープンな問題やディスカッションを確認してください。 [![Star History Chart](https://api.star-history.com/svg?repos=Fosowl/agenticSeek&type=Date)](https://www.star-history.com/#Fosowl/agenticSeek&Date) ## 著者: > [Fosowl](https://github.com/Fosowl) > [steveh8758](https://github.com/steveh8758)