mcpField
D
Deep Research

Deep Research

ローカル
research.u14.appデータ・分析4.7k19 週間前に更新

Deep Research について

Deep Research は、さまざまな LLM を使って詳細な調査レポートを生成するオープンソースアプリで、SSE API と MCP サーバーを備えています。データはローカルで処理・保存され、調査ツールを自分で配置して管理したいユーザーに向いています。

主な機能

  1. 01多数の LLM と検索プロバイダーへの対応
  2. 02思考モデルとタスクモデルの分離
  3. 03アップロードファイルによるローカルナレッジベース
  4. 04レポート編集とナレッジグラフ生成
  5. 05調査履歴の保存と段階ごとの再調査
  6. 06SSE API と MCP サーバー

活用シーン

  1. 01特定テーマについて Web 検索を伴う Markdown 形式の調査レポートを生成
  2. 02ローカルのドキュメントから調査資料を作成
  3. 03他の AI サービスから MCP 経由で詳細調査を実行

MCP 対応

Deep Research は StreamableHTTP と SSE の各トランスポートで MCP サーバーを公開し、詳細調査機能を MCP クライアントに提供します。調査には時間がかかるため、クライアント側で長めのタイムアウト設定が必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"deep-research": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"pull"
]
}
}
}
起動コマンドdocker run -i --rm pull

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocipull

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Deep Research

GitHub deployments GitHub Release Docker Image Size Docker Pulls License: MIT

Gemini Next Tailwind CSS shadcn/ui

Vercel Cloudflare PWA

Ask DeepWiki

超高速の詳細調査レポート

Deep Research は、さまざまな強力な AI モデルを活用し、わずか数分で詳細な調査レポートを作成します。高度な「思考」モデルと「タスク」モデルをインターネット接続と組み合わせることで、さまざまなトピックについて、迅速で洞察に富んだ分析を提供します。プライバシーを最優先しています。すべてのデータはローカルで処理・保存されます。

✨ 機能

  • 迅速な詳細調査: 約2分で包括的な調査レポートを生成し、調査プロセスを大幅に加速します。
  • マルチプラットフォーム対応: Vercel、Cloudflare などのプラットフォームに迅速にデプロイできます。
  • AI を活用: 高度な AI モデルを活用し、正確で有益な分析を実現します。
  • プライバシー重視: すべてのデータはブラウザー内にローカル保存されるため、データのプライバシーと安全性が保たれます。
  • 複数の LLM に対応: Gemini、OpenAI、Anthropic、Deepseek、Atlas Cloud、Grok、Mistral、Azure OpenAI、OpenAI 互換の LLM、OpenRouter、Ollama など、さまざまな主要な大規模言語モデルに対応しています。
  • ウェブ検索に対応: Searxng、Tavily、Firecrawl、fastCRW、Exa、Bocha、Brave などの検索エンジンに対応しているため、検索に対応していない LLM でも、より手軽にウェブ検索機能を利用できます。
  • 思考モデルとタスクモデル: 高度な「思考」モデルと「タスク」モデルを活用し、深さと速度のバランスを取りながら、高品質な結果を迅速に提供します。調査モデルの切り替えにも対応しています。
  • 追加調査に対応: プロジェクトのどの段階でも調査内容を調整・修正でき、その段階から再調査することもできます。
  • ローカルナレッジベース: テキスト、Office、PDF などのリソースファイルをアップロードして処理し、ローカルナレッジベースを作成できます。
  • アーティファクト: 調査内容の編集に対応しており、WYSIWYM と Markdown の 2 つの編集モードを利用できます。読解レベルや記事の長さを調整したり、全文を翻訳したりすることもできます。
  • ナレッジグラフ: ワンクリックでナレッジグラフを生成でき、レポートの内容を体系的に理解できます。
  • 調査履歴: 調査履歴を保存でき、過去の調査結果をいつでも確認して、さらに深く調査できます。
  • ローカル API とサーバー API に対応: ニーズに合わせて、ローカルまたはサーバー側の API 呼び出し方法を選択できます。
  • SaaS と MCP に対応: SSE API を通じてこのプロジェクトを詳細調査サービス(SaaS)として利用したり、MCP サービスを通じて他の AI サービスで利用したりできます。
  • PWA に対応: プログレッシブウェブアプリ(PWA)技術により、ソフトウェアのようにこのプロジェクトを利用できます。
  • 複数キーのペイロードに対応: 複数キーのペイロードに対応し、API の応答効率を向上させます。
  • 多言語対応: 英語、简体中文、Español。
  • 最新技術を採用: Next.js 15 と Shadcn UI を使用して開発されており、最新で高性能、かつ視覚的に魅力あるユーザー体験を実現します。
  • MIT ライセンス: オープンソースで、MIT ライセンスの下、個人利用および商用利用に無料で利用できます。

🎯 ロードマップ

  • 調査履歴の保存に対応
  • 最終レポートと検索結果の編集に対応
  • 他の LLM モデルに対応
  • ファイルのアップロードとローカルナレッジベースに対応
  • SSE API と MCP サーバーに対応

🚀 はじめに

無料の Gemini を使用(推奨)
  1. Gemini API Key を取得します

  2. プロジェクトをワンクリックでデプロイします。デプロイ先には Vercel または Cloudflare を選択できます

    Vercel にデプロイ

    現在、このプロジェクトは Cloudflare へのデプロイに対応しています。デプロイするには、Cloudflare Pages へのデプロイ方法に従ってください。

  3. 利用を開始します

その他の LLM を使用
  1. プロジェクトを Vercel または Cloudflare にデプロイします
  2. LLM API キーを設定します
  3. LLM API のベース URL を設定します(任意)
  4. 利用を開始します

⌨️ 開発

以下の手順に従って、ローカルブラウザーで Deep Research を起動します。

前提条件
インストール
  1. リポジトリをクローンします:

    git clone https://github.com/u14app/deep-research.git
    cd deep-research
    
  2. 依存関係をインストールします:

    pnpm install  # or npm install or yarn install
    
  3. 環境変数を設定します:

    env.tpl ファイルを .env に変更するか、.env ファイルを作成して、このファイルに変数を記述する必要があります。

    # For Development
    cp env.tpl .env.local
    # For Production
    cp env.tpl .env
    
  4. 開発サーバーを起動します:

    pnpm dev  # or npm run dev or yarn dev
    

    ブラウザーを開き、http://localhost:3000 にアクセスして、Deep Research を利用します。

カスタムモデルリスト

このプロジェクトではカスタムモデルリストを使用できますが、プロキシモードでのみ動作します。.env ファイルまたは環境変数ページで、NEXT_PUBLIC_MODEL_LIST という名前の環境変数を追加してください。

カスタムモデルリストでは、複数のモデルを区切るために , を使用します。モデルを無効にするには、モデル名の前に - を付けます(例:-existing-model-name)。指定したモデルのみを使用可能にするには、-all,+new-model-name を使用します。

🚢 デプロイ

Vercel

Vercel でデプロイ

Cloudflare

現在、このプロジェクトは Cloudflare へのデプロイに対応しています。デプロイするには、Cloudflare Pages へのデプロイ方法に従ってください。

Docker

Docker のバージョンは 20 以上である必要があります。それより古い場合、イメージが見つからないというメッセージが表示されます。

⚠️ 注意:Docker のバージョンは最新バージョンより 1~2 日遅れることがほとんどです。そのため、デプロイ後も「更新があります」というメッセージが表示され続けますが、これは正常です。

docker pull xiangfa/deep-research:latest
docker run -d --name deep-research -p 3333:3000 xiangfa/deep-research

追加の環境変数を指定することもできます:

docker run -d --name deep-research \
   -p 3333:3000 \
   -e ACCESS_PASSWORD=your-password \
   -e GOOGLE_GENERATIVE_AI_API_KEY=AIzaSy... \
   xiangfa/deep-research

または、独自の Docker イメージをビルドできます:

docker build -t deep-research .
docker run -d --name deep-research -p 3333:3000 deep-research

ほかの環境変数を指定する場合は、上記のコマンドに -e key=value を追加して指定してください。

docker-compose.yml を使用してデプロイします:

version: '3.9'
services:
   deep-research:
      image: xiangfa/deep-research
      container_name: deep-research
      environment:
         - ACCESS_PASSWORD=your-password
         - GOOGLE_GENERATIVE_AI_API_KEY=AIzaSy...
      ports:
         - 3333:3000

または、独自の Docker Compose をビルドできます:

docker compose -f docker-compose.yml build
静的デプロイ

静的ページ版を直接ビルドし、out ディレクトリ内のすべてのファイルを、Github Page、Cloudflare、Vercel などの静的ページに対応したウェブサイトサービスにアップロードすることもできます。

pnpm build:export

⚙️ 設定

「はじめに」のセクションで説明したように、Deep Research ではサーバー側 API の設定に次の環境変数を使用します。

利用可能な環境変数の一覧は、env.tpl ファイルを参照してください。

環境変数に関する重要な注意事項:

  • プライバシーに関する注意: これらの環境変数は、主にサーバー側の API 呼び出しに使用されます。ローカル API モードを使用する場合、API キーやサーバー側の設定は不要なため、プライバシーをさらに保護できます。

  • 複数キーのサポート: 複数のキーに対応しています。各キーは , で区切ります(例:key1,key2,key3)。

  • セキュリティ設定: ACCESS_PASSWORD を設定すると、サーバー API のセキュリティをより強化できます。

  • 変数を有効にする: この環境変数を追加または変更した後、変更を反映するにはプロジェクトを再デプロイしてください。

📄 API ドキュメント

現在、このプロジェクトは Server-Sent Events(SSE)と Model Context Protocol(MCP)の 2 種類の API に対応しています。

Server-Sent Events API

Deep Research API は、複雑な調査タスクを開始し、その進行状況を監視するためのリアルタイムインターフェースを提供します。

API の利用には @microsoft/fetch-event-source の使用を推奨します。最終レポートを取得するには、message イベントをリッスンしてください。データはテキストストリームとして返されます。

POST メソッド

エンドポイント:/api/sse

メソッド:POST

本文:

interface SSEConfig {
  // Research topic
  query: string;
  // AI provider, Possible values ​​include: google, openai, anthropic, deepseek, atlascloud, xai, mistral, azure, openrouter, openaicompatible, pollinations, ollama
  provider: string;
  // Thinking model id
  thinkingModel: string;
  // Task model id
  taskModel: string;
  // Search provider, Possible values ​​include: model, tavily, firecrawl, crw, exa, bocha, searxng
  searchProvider: string;
  // Response Language, also affects the search language. (optional)
  language?: string;
  // Maximum number of search results. Default, `5` (optional)
  maxResult?: number;
  // Whether to include content-related images in the final report. Default, `true`. (optional)
  enableCitationImage?: boolean;
  // Whether to include citation links in search results and final reports. Default, `true`. (optional)
  enableReferences?: boolean;
}

ヘッダー:

interface Headers {
  "Content-Type": "application/json";
  // If you set an access password
  // Authorization: "Bearer YOUR_ACCESS_PASSWORD";
}

詳細については、API ドキュメントを参照してください。

GET メソッド

これは興味深い実装です。動画を見るように、URL からディープリサーチの全工程を直接確認できます。

以下のリンクからディープリサーチレポートにアクセスできます:

http://localhost:3000/api/sse/live?query=AI+trends+for+this+year&provider=pollinations&thinkingModel=openai&taskModel=openai-fast&searchProvider=searxng

クエリパラメーター:

// The parameters are the same as POST parameters
interface QueryParams extends SSEConfig {
  // If you set the `ACCESS_PASSWORD` environment variable, this parameter is required
  password?: string;
}
Model Context Protocol (MCP) サーバー

現在、StreamableHTTP および SSE のサーバートランスポートをサポートしています。

StreamableHTTP サーバーエンドポイント:/api/mcp、トランスポートタイプ:streamable-http

SSE サーバーエンドポイント:/api/mcp/sse、トランスポートタイプ:sse

{
  "mcpServers": {
    "deep-research": {
      "url": "http://127.0.0.1:3000/api/mcp",
      "transportType": "streamable-http",
      "timeout": 600
    }
  }
}

注意: 詳細な調査には時間がかかるため、調査が中断されないよう、タイムアウトを長めに設定してください。

サーバーで ACCESS_PASSWORD を設定している場合、MCP サービスは保護されます。その場合は、追加のヘッダーパラメーターを指定する必要があります。

{
  "mcpServers": {
    "deep-research": {
      "url": "http://127.0.0.1:3000/api/mcp",
      "transportType": "streamable-http",
      "timeout": 600,
      "headers": {
        "Authorization": "Bearer YOUR_ACCESS_PASSWORD"
      }
    }
  }
}

MCP サービスを有効にするには、グローバル環境変数を設定する必要があります:

# MCP Server AI provider
# Possible values ​​include: google, openai, anthropic, deepseek, atlascloud, xai, mistral, azure, openrouter, openaicompatible, pollinations, ollama
MCP_AI_PROVIDER=google
# MCP Server search provider. Default, `model`
# Possible values ​​include: model, tavily, firecrawl, crw, exa, bocha, searxng
MCP_SEARCH_PROVIDER=tavily
# MCP Server thinking model id, the core model used in deep research.
MCP_THINKING_MODEL=gemini-2.0-flash-thinking-exp
# MCP Server task model id, used for secondary tasks, high output models are recommended.
MCP_TASK_MODEL=gemini-2.0-flash-exp

注意: MCP サービスを正常に使用できるようにするには、対応するモデルと検索エンジンの環境変数を設定する必要があります。具体的な環境変数のパラメーターについては、env.tpl を参照してください。

🪄 仕組み

  1. 調査トピック

    • 調査トピックを入力します
    • ローカルの調査リソースを使用します(任意)
    • 思考を開始します(または再考します)
  2. アイデアを提案する

    • システムが質問します
      • システムの質問に回答します(任意)
      • 調査計画を作成します(または書き直します)
    • システムが調査計画を出力します
      • 詳細な調査を開始します(または再調査します)
      • システムが SERP クエリを生成します
  3. 情報収集

    • 初期調査
      • SERP クエリに基づいてローカルの調査リソースを取得します
      • SERP クエリに基づいてインターネットから情報を収集します
    • 詳細な調査(このプロセスは繰り返し実行できます)
      • 調査に関する提案を提示します(任意)
      • 新たな情報収集を開始します(プロセスは初期調査と同じです)
  4. 最終レポートを生成する

    • 執筆の依頼をします(任意)
    • すべての調査資料を包括的な Markdown レポートにまとめます
    • 調査レポートを再生成します(任意)
flowchart TB
    A[Research Topic]:::start

    subgraph Propose[Propose your ideas]
        B1[System asks questions]:::process
        B2[System outputs the research plan]:::process
        B3[System generates SERP queries]:::process
        B1 --> B2
        B2 --> B3
    end

    subgraph Collect[Information collection]
        C1[Initial research]:::collection
        C1a[Retrieve local research resources based on SERP queries]:::collection
        C1b[Collect information from the Internet based on SERP queries]:::collection
        C2[In-depth research]:::recursive
        Refine{More in-depth research needed?}:::decision

        C1 --> C1a
        C1 --> C1b
        C1a --> C2
        C1b --> C2
        C2 --> Refine
        Refine -->|Yes| C2
    end

    Report[Generate Final Report]:::output

    A --> Propose
    B3 --> C1

    %% Connect the exit from the loop/subgraph to the final report
    Refine -->|No| Report

    %% Styling
    classDef start fill:#7bed9f,stroke:#2ed573,color:black
    classDef process fill:#70a1ff,stroke:#1e90ff,color:black
    classDef recursive fill:#ffa502,stroke:#ff7f50,color:black
    classDef output fill:#ff4757,stroke:#ff6b81,color:black
    classDef collection fill:#a8e6cf,stroke:#3b7a57,color:black
    classDef decision fill:#c8d6e5,stroke:#8395a7,color:black

    class A start
    class B1,B2,B3 process
    class C1,C1a,C1b collection
    class C2 recursive
    class Refine decision
    class Report output

🙋 よくある質問

Ollama または SearXNG が正常に動作せず、TypeError: Failed to fetch エラーが表示されるのはなぜですか?

ブラウザーのセキュリティ制限によってリクエストで CORS が発生する場合、クロスドメインリクエストを許可するように Ollama または SearXNG のパラメーターを設定する必要があります。また、サーバープロキシモードの使用も検討できます。このモードではバックエンドサーバーがリクエストを行うため、クロスドメインの問題を効果的に回避できます。

🛡️ プライバシー

Deep Research は、お客様のプライバシーを考慮して設計されています。すべての調査データと生成されたレポートは、お使いのマシンにローカル保存されます。 お客様が明示的にサーバー側 API 呼び出しを使用している場合(その場合、データは設定済みのプロキシがあればそれを経由して API に送信されます)を除き、調査データを収集したり、外部サーバーに送信したりすることはありません。お客様のプライバシーを最優先に考えています。

🙏 謝辞

  • Next.js - 高性能なウェブアプリケーションを構築するための React フレームワークです。
  • Shadcn UI - UI 開発の効率化に役立った、美しくデザインされたコンポーネントです。
  • AI SDKs - Deep Research のインテリジェントな調査機能を支えています。
  • Deep Research - インスピレーションを与えてくれた dzhng/deep-research プロジェクトに感謝します。

🤝 コントリビューション

Deep Research へのコントリビューションを歓迎します。改善案、バグ修正、新機能のアイデアがある場合は、ぜひ以下の手順でご参加ください。

  1. リポジトリをフォークします。
  2. 機能またはバグ修正用の新しいブランチを作成します。
  3. 変更を加えてコミットします。
  4. プルリクエストを送信します。

大規模な変更の場合は、まず issue を作成し、提案する変更について話し合ってください。

✉️ お問い合わせ

質問、提案、フィードバックがある場合は、新しい issue を作成してください。

📝 ライセンス

Deep Research は MIT License のもとで公開されています。このライセンスでは、商用・非商用を問わず、自由な使用、変更、配布が認められています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。