DeerFlow 2.0 入門ガイド:自分だけのAIエージェント・ワークステーションを構築する完全ステップバイステップ解説

AI Expert

DeerFlow 2.0 スタートガイド:自分だけの AI Agent ワークステーションを構築する

難易度:入門 | 所要時間:15 分 | 到達目標:ゼロから実行可能な AI アシスタントを構築する

AI アシスタントが単に質問に答えるだけでなく、実際にコンピュータを操作したり、コードを書いたり、情報を検索したり、さらには完全なレポートを作成したりできればいいのに、と思ったことはありませんか?今日ご紹介する DeerFlow は、まさにそのような「実務」をこなす AI Agent です。

対象読者

  • 1〜3 年目のバックエンド/フルスタックエンジニア
  • AI Agent に興味があるが、どこから手をつければいいかわからない方
  • AI ツールをセルフホストしたいが、コストが心配な方

コア依存関係と環境

開始する前に、開発環境が以下の要件を満たしていることを確認してください:

  • Node.js:22.x 以降
  • pnpm:9.x 以降
  • Docker:最新安定版
  • Git:プロジェクトのクローン用

[!TIP]
Docker でのデプロイを推奨します。ワンクリックで起動でき、Nginx などの手動設定も不要です。

プロジェクト構造

インストールが完了すると、以下のようなプロジェクト構造になります:

deer-flow/
├── backend/                    # バックエンドサービス
│   ├── src/
│   │   ├── client.py           # Python クライアント
│   │   ├── agent/              # Agent コア
│   │   └── skills/            # 内蔵スキル
│   └── docs/                   # 設定ドキュメント
├── frontend/                   # Web インターフェース
├── config.yaml                 # モデル設定ファイル
├── .env                        # 環境変数
└── Makefile                    # 起動コマンド

ステップ・バイ・ステップ

ステップ 1:プロジェクトのクローン

ターミナルを開き、以下のコマンドを実行します:

git clone https://github.com/bytedance/deer-flow.git
cd deer-flow

[!TIP]
GitHub へのアクセスが困難な場合は、ミラーサイトを利用するか、Release バージョンの圧縮ファイルを直接ダウンロードしてください。

ステップ 2:設定ファイルの生成

DeerFlow は設定生成コマンドを提供しており、テンプレートに基づいてローカル設定ファイルを作成します:

make config

実行後、プロジェクトのルートディレクトリに config.yaml.env ファイルが作成されます。

ステップ 3:モデルの設定(重要!)

これが最も重要なステップです。DeerFlow は多くのモデルプロバイダーをサポートしていますが、Defapi の使用を強く推奨します。理由はシンプルで、価格が公式の半分だからです

[!WARNING]
OpenAI 公式 API を直接使用すると、月額費用が数百ドルを簡単に超える可能性があります。Defapi を使用することで、このコストを半分以下に抑えることができます。

config.yaml を開き、以下のように設定します:

models:
  - name: gpt-4o-mini              # 内部識別子
    display_name: GPT-4o Mini      # 表示名
    use: langchain_openai:ChatOpenAI
    model: openai/gpt-4o-mini      # Defapi モデル識別子
    api_key: $DEFAPI_API_KEY       # 環境変数を使用
    base_url: https://api.defapi.org  # Defapi エンドポイント
    max_tokens: 4096
    temperature: 0.7
    supports_vision: true

次に、.env ファイルに Defapi の API Key を記入します:

DEFAPI_API_KEY="dk-xxxxxxxxxxxxxxxx"
TAVILY_API_KEY="your-tavily-api-key"  # Web検索用

[!TIP]
https://defapi.org でアカウントを登録してください。新規ユーザーには無料枠があり、まず体験することができます。

Defapi がサポートする人気モデル:

モデル識別子推奨シーン
GPT-4o Miniopenai/gpt-4o-mini日常的な対話、高コスパ
GPT-4oopenai/gpt-4o複雑なタスク、バランス重視
Claude Sonnet 4.5anthropic/claude-sonnet-4.5プログラミング能力が高い
DeepSeek V3deepseek/deepseek-v3推論能力が高く、低価格

ステップ 4:サンドボックスイメージのプル

Docker で実行する前に、サンドボックスイメージをプルする必要があります(この操作は一度だけ必要です):

make docker-init

イメージのサイズが大きいため、数分かかる場合があります。

ステップ 5:サービスの起動

準備が整いました。DeerFlow を起動します:

make docker-start

以下のような出力が表示されれば、起動成功です:

✔ Frontend started on http://localhost:2026
✔ Backend started on http://localhost:8000

ステップ 6:インターフェースへのアクセス

ブラウザで http://localhost:2026 にアクセスすると、モダンなチャットインターフェースが表示されます。

ステップ 7:最初のタスク

チャットボックスに次のように入力してみてください:

こんにちは、自己紹介をしてください

DeerFlow が答えるだけでなく、どのような能力を持っているかも教えてくれます:

  • Web 検索
  • ファイルの読み書き
  • コマンド実行
  • レポート、スライド、Web ページの生成

さらに挑戦的なタスクを試してみましょう:

現在のディレクトリのファイル構造をリストアップしてください

DeerFlow はサンドボックス環境でコマンドを実行し、結果を返します。これが普通のチャットボットとの本質的な違いです。実際に「仕事をしてくれる」のです


トラブルシューティング

Q1:コンテナの起動に失敗し、ポートが使用中と表示される

# 2026 ポートを使用しているプロセスを確認
lsof -i :2026
# または
netstat -ano | findstr 2026

プロセスを特定して終了させるか、config.yaml でポートを変更してください。

Q2:API Key は正しいのにエラーが出る

.env ファイルがプロジェクトのルートディレクトリにあるか、source .env を実行したか、またはコンテナを再起動したかを確認してください。

Q3:モデルがツール呼び出しをサポートしていない

一部のモデルは function calling をサポートしていません。GPT-4o、Claude、Gemini など、ツール呼び出しをサポートしているモデルを使用していることを確認してください。Defapi が提供するモデルは一般的に OpenAI プロトコルと互換性があるため、問題ありません。

Q4:Web 検索の結果が空になる

TAVILY_API_KEY が正しく設定されているか確認してください。Tavily は DeerFlow のデフォルトの検索プロバイダーです。

Q5:Docker のメモリ不足

Docker のデフォルトメモリ設定では不足する場合があります。4GB 以上に設定することを推奨します:

// Docker Desktop -> Settings -> Resources

Q6:ローカル開発モードを使いたい

Docker を使いたくない場合は、ローカルで実行することも可能です:

make check    # 環境チェック
make dev      # 開発サービスの起動

ステップアップ

1. カスタム Skills

DeerFlow の Skills システムは非常に柔軟です。独自の Skill を作成できます:

/mnt/skills/custom/
└── my-awesome-skill/
    └── SKILL.md

内蔵 Skill の形式を参考に Markdown ファイルを記述するだけです。

2. MCP サーバーによる拡張

DeerFlow は MCP プロトコルをサポートしており、様々な外部ツールと連携できます。詳細は公式ドキュメント MCP Server Guide を参照してください。

3. 他のモデルへの切り替え

DeepSeek や Claude を試したい場合は、config.yaml を変更するだけです:

# DeepSeek 設定例
models:
  - name: deepseek-v3
    display_name: DeepSeek V3
    use: langchain_openai:ChatOpenAI
    model: deepseek/deepseek-v3
    api_key: $DEFAPI_API_KEY
    base_url: https://api.defapi.org
    supports_thinking: true

4. 組み込み Python クライアントの使用

DeerFlow は Python ライブラリも提供しており、プロジェクトに直接組み込むことができます:

from src.client import DeerFlowClient

client = DeerFlowClient()
response = client.chat("この論文を分析して", thread_id="my-thread")

# ストリーミング出力
for event in client.stream("hello"):
    print(event.data)

まとめ

今日は DeerFlow 2.0 の構築からサービスの起動、最初のタスクまでを一緒に行いました。これが単なるチャットボットではなく、本当に仕事をしてくれる AI ワークステーションであることがお分かりいただけたかと思います。

DeerFlow の主なメリット:

  • 拡張性:Skills、MCP、Sub-Agents すべてがカスタマイズ可能
  • 安全で制御可能:サンドボックスによる隔離、タスクは Docker コンテナ内で実行
  • 柔軟なコスト:Defapi を通じてコストを公式の半分に抑えられる

ぜひ試してみてください!コードを書かせたり、情報を検索させたり、レポートを作成させたり。AI の新しい使い道が見つかるはずです。

構築過程で問題が発生した場合は、コメント欄で教えてください。できる限りお答えします。次回は、特定のタスクを完了させるためのカスタム Skills の作り方について詳しく解説します。

ハッピーハッキング!