claude-to-deerflow について
claude-to-deerflow は、稼働中の DeerFlow インスタンスと HTTP API で通信するスキルです。エージェントとのストリーミング会話、スレッド管理、ファイルのアップロード、モデルやスキルの一覧取得などに対応します。
主な機能
- 01HTTP による応答のストリーミング
- 02会話スレッドの作成と継続
- 03モデル、スキル、エージェントの一覧
- 04スキルの有効化と無効化
- 05スレッドへのファイルの追加と一覧
- 06メモリとスレッド履歴の取得
活用シーン
- 01稼働中の DeerFlow への質問
- 02既存のエージェント会話の継続
- 03会話スレッドへの文書アップロード
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bytedance/ deer-flow --skill claude-to-deerflowインストール後、Claude Code で/claude-to-deerflowを入力して読み込まれたか確認します。
同梱ファイルscripts/chat.shscripts/status.sh
詳細
DeerFlow スキル
実行中の DeerFlow インスタンスと HTTP API 経由で通信します。DeerFlow は LangGraph を基盤とする AI エージェントプラットフォームで、調査、コード実行、ウェブ閲覧などを行うサブエージェントをオーケストレーションします。
アーキテクチャ
DeerFlow は Nginx リバースプロキシの背後で、2 つの API を公開しています。
| サービス | 直接ポート | プロキシ経由 | 用途 |
|---|---|---|---|
| Gateway API | 8001 | $DEERFLOW_GATEWAY_URL | REST エンドポイントと組み込みエージェントランタイム |
| LangGraph-compatible API | 8001 | $DEERFLOW_LANGGRAPH_URL | エージェントのスレッド、実行、ストリーミング |
環境変数
すべての URL は環境変数で設定できます。リクエストを行う前に、必ずこれらの環境変数を読み取ってください。
| 変数 | デフォルト | 説明 |
|---|---|---|
DEERFLOW_URL | http://localhost:2026 | 統合プロキシのベース URL |
DEERFLOW_GATEWAY_URL | ${DEERFLOW_URL} | Gateway API のベース URL(モデル、スキル、メモリー、アップロード) |
DEERFLOW_LANGGRAPH_URL | ${DEERFLOW_URL}/api/langgraph | LangGraph API のベース URL(スレッド、実行) |
curl を呼び出す場合は、常に次のように URL を解決してください。
# Resolve base URLs from env (do this FIRST before any API call)
DEERFLOW_URL="${DEERFLOW_URL:-http://localhost:2026}"
DEERFLOW_GATEWAY_URL="${DEERFLOW_GATEWAY_URL:-$DEERFLOW_URL}"
DEERFLOW_LANGGRAPH_URL="${DEERFLOW_LANGGRAPH_URL:-$DEERFLOW_URL/api/langgraph}"
利用可能な操作
1. ヘルスチェック
DeerFlow が稼働中であることを確認します。
curl -s "$DEERFLOW_GATEWAY_URL/health"
2. メッセージを送信する(ストリーミング)
これが主な操作です。スレッドを作成し、エージェントの応答をストリーミングします。
ステップ 1:スレッドを作成する
curl -s -X POST "$DEERFLOW_LANGGRAPH_URL/threads" \
-H "Content-Type: application/json" \
-d '{}'
応答:{"thread_id": "<uuid>", ...}
ステップ 2:実行をストリーミングする
curl -s -N -X POST "$DEERFLOW_LANGGRAPH_URL/threads/<thread_id>/runs/stream" \
-H "Content-Type: application/json" \
-d '{
"assistant_id": "lead_agent",
"input": {
"messages": [
{
"type": "human",
"content": [{"type": "text", "text": "YOUR MESSAGE HERE"}]
}
]
},
"stream_mode": ["values", "messages-tuple"],
"stream_subgraphs": true,
"config": {
"recursion_limit": 1000
},
"context": {
"thinking_enabled": true,
"is_plan_mode": true,
"subagent_enabled": true,
"thread_id": "<thread_id>"
}
}'
応答は SSE ストリームです。各イベントの形式は次のとおりです。
event: <event_type>
data: <json_data>
主なイベントタイプ:
metadata—run_idを含む実行メタデータvalues—messages配列を含む状態全体のスナップショットmessages-tuple— メッセージの差分更新(AI のテキストチャンク、ツール呼び出し、ツールの結果)end— ストリームの完了
コンテキストモード(context で設定):
- Flash モード:
thinking_enabled: false, is_plan_mode: false, subagent_enabled: false - Standard モード:
thinking_enabled: true, is_plan_mode: false, subagent_enabled: false - Pro モード:
thinking_enabled: true, is_plan_mode: true, subagent_enabled: false - Ultra モード:
thinking_enabled: true, is_plan_mode: true, subagent_enabled: true
3. 会話を続ける
追加メッセージを送信するには、ステップ 2 の同じ thread_id を再利用し、新しいメッセージを指定して別の実行を POST します。
4. モデルを一覧表示する
curl -s "$DEERFLOW_GATEWAY_URL/api/models"
戻り値:{"models": [{"name": "...", "provider": "...", ...}, ...]}
5. スキルを一覧表示する
curl -s "$DEERFLOW_GATEWAY_URL/api/skills"
戻り値:{"skills": [{"name": "...", "enabled": true, ...}, ...]}
6. スキルを有効化/無効化する
curl -s -X PUT "$DEERFLOW_GATEWAY_URL/api/skills/<skill_name>" \
-H "Content-Type: application/json" \
-d '{"enabled": true}'
7. エージェントを一覧表示する
curl -s "$DEERFLOW_GATEWAY_URL/api/agents"
戻り値:{"agents": [{"name": "...", ...}, ...]}
8. メモリーを取得する
curl -s "$DEERFLOW_GATEWAY_URL/api/memory"
ユーザーのコンテキスト、事実、会話履歴の要約を返します。
9. スレッドにファイルをアップロードする
curl -s -X POST "$DEERFLOW_GATEWAY_URL/api/threads/<thread_id>/uploads" \
-F "files=@/path/to/file.pdf"
PDF、PPTX、XLSX、DOCX に対応しており、自動的に Markdown に変換します。
10. アップロード済みファイルを一覧表示する
curl -s "$DEERFLOW_GATEWAY_URL/api/threads/<thread_id>/uploads/list"
11. スレッド履歴を取得する
curl -s "$DEERFLOW_LANGGRAPH_URL/threads/<thread_id>/history"
12. スレッドを一覧表示する
curl -s -X POST "$DEERFLOW_LANGGRAPH_URL/threads/search" \
-H "Content-Type: application/json" \
-d '{"limit": 20, "sort_by": "updated_at", "sort_order": "desc"}'
使用スクリプト
メッセージを送信して応答全体を収集するには、ヘルパースクリプトを使用します。
bash /path/to/skills/claude-to-deerflow/scripts/chat.sh "Your question here"
実装については scripts/chat.sh を参照してください。このスクリプトは次の処理を行います。
- ヘルスチェックを実行します
- スレッドを作成します
- 実行をストリーミングし、最終的な AI の応答を収集します
- 結果を出力します
SSE 出力の解析
ストリームは SSE イベントを返します。values イベントから最終的な AI の応答を抽出するには、次の手順に従います。
- 最後の
event: valuesブロックを探します - その
dataの JSON を解析します messages配列にはすべてのメッセージが含まれており、最後のtype: "ai"のメッセージが応答です- そのメッセージの
contentフィールドが AI のテキスト応答です
エラー処理
- ヘルスチェックに失敗した場合、DeerFlow は実行されていません。起動する必要があることをユーザーに伝えてください。
- ストリームがエラーイベントを返した場合は、エラーメッセージを抽出して表示してください。
- よくある問題:ポートが開いていない、サービスがまだ起動中、設定エラー。
ヒント
- 簡単な質問には、フラッシュモード(最速で、プランニングなし)を使用してください。
- 調査タスクには、プロモードまたはウルトラモード(プランニングとサブエージェントを利用可能)を使用してください。
- 先にファイルをアップロードしてから、メッセージ内で参照できます。
- スレッド ID は保持されるため、後で会話に戻ることができます。