bytedance/deer-flow

An open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of tasks that could take minutes to hours.

GitHub에서 열기 ↗ agentagenticagentic-frameworkagentic-workflowaiai-agentsdeep-researchharnesslangchainlanggraphlangmanusllmmulti-agentnodejspodcastpythonsuperagenttypescript
76,687
GitHub 스타
10,414
포크
Python
언어
MIT
라이선스
2026.07.10
최근 푸시
2026.05.15
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
DeerFlow는 복잡한 다중 에이전트 워크플로우를 구축하려는 개발자에게 적합합니다. 특히 딥 리서치, 코드 생성, 자동화 작업이 필요한 프로젝트에 유용하며, 확장성이 뛰어나고 다양한 LLM과 통합이 가능합니다.

강점

  • 완전한 슈퍼 에이전트 하네스로, 서브 에이전트, 메모리, 샌드박스, 스킬 등 다양한 기능을 통합 제공합니다.
  • Docker 기반 배포를 공식 지원하며, make 명령어로 간편하게 설정 및 실행할 수 있습니다.
  • 다양한 LLM 공급자(OpenAI, Anthropic, Google, ByteDance 등)와 모델을 유연하게 구성할 수 있습니다.
  • MCP 서버, IM 채널(Discord, Telegram, Slack), LangSmith/Langfuse 추적 등 고급 기능을 지원합니다.
  • MIT 라이선스로 상업적 사용이 자유롭습니다.

약점

  • 로컬 개발 환경에서 최소 4 vCPU, 8GB RAM이 필요하여 저사양 시스템에서 실행이 어려울 수 있습니다.
  • 샌드박스 모드가 제대로 구성되지 않으면 보안 위험이 발생할 수 있으며, 이에 대한 주의가 필요합니다.
  • v1에서 v2로 완전히 재작성되어 기존 v1 사용자는 마이그레이션이 필요합니다.

주의사항

  • 프로덕션 배포 시 반드시 `make up`을 사용하고, 개발용 `make docker-start`는 사용하지 마세요.
  • 로컬 샌드박스 모드는 신뢰할 수 없는 입력에 사용하지 마세요. 보안 위험이 있습니다.
  • 배포 전 보안 권장사항을 숙지하고, 특히 Docker 샌드박스 사용과 최소 권한 원칙을 준수하세요.
  • Linux에서 Docker 데몬 연결 오류 발생 시 docker 그룹에 사용자를 추가해야 할 수 있습니다.

시작 가이드

  • 공식 웹사이트(deerflow.tech)에서 실제 데모와 문서를 확인하세요.
  • 로컬 환경에서 `make setup`으로 설정 마법사를 실행하고, Docker 기반 개발을 위해 `make docker-start`를 시도해보세요.
  • config.yaml을 직접 편집하여 원하는 LLM 공급자와 모델을 구성해보세요.
  • 보안 권장사항을 숙지하고, 프로덕션 배포 전에 Docker 샌드박스 사용을 검토하세요.

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

🦌 DeerFlow - 2.0

English | 中文 | 日本語 | Français | Русский

2026년 2월 28일, DeerFlow는 버전 2 출시 이후 GitHub Trending에서 🏆 1위를 차지했습니다. 놀라운 커뮤니티에 감사드립니다 — 여러분이 해냈습니다! 💪🔥

DeerFlow (Deep Exploration and Efficient Research Flow)는 서브 에이전트, 메모리, 샌드박스를 조율하여 거의 모든 작업을 수행할 수 있는 오픈 소스 슈퍼 에이전트 하네스입니다. 확장 가능한 스킬**로 구동됩니다.

[!NOTE]

DeerFlow 2.0은 완전히 새로 작성되었습니다. v1과 코드를 공유하지 않습니다. 원래 Deep Research 프레임워크를 찾고 있다면 1.x 브랜치에서 유지 관리됩니다. 해당 브랜치에 대한 기여는 여전히 환영합니다. 활발한 개발은 2.0으로 이동했습니다.

공식 웹사이트

공식 웹사이트에서 자세한 내용을 확인하고 실제 데모를 확인하세요.

ByteDance Volcengine의 코딩 플랜

InfoQuest

DeerFlow는 BytePlus에서 독자적으로 개발한 지능형 검색 및 크롤링 도구 세트인 InfoQuest (무료 온라인 체험 지원)를 새롭게 통합했습니다.


목차

  • 🦌 DeerFlow - 2.0
  • 공식 웹사이트
  • ByteDance Volcengine의 코딩 플랜
  • InfoQuest
  • 목차
  • 한 줄 에이전트 설정
  • 빠른 시작
  • 설정
  • 애플리케이션 실행
  • 배포 크기 조정
  • 옵션 1: Docker (권장)
  • 옵션 2: 로컬 개발
  • 고급
  • 샌드박스 모드
  • MCP 서버
  • IM 채널
  • LangSmith 추적
  • Langfuse 추적
  • 두 공급자 모두 사용
  • Deep Research에서 슈퍼 에이전트 하네스로
  • 핵심 기능
  • 스킬 및 도구
  • Claude Code 통합
  • 서브 에이전트
  • 샌드박스 및 파일 시스템
  • 컨텍스트 엔지니어링
  • 장기 메모리
  • 권장 모델
  • 내장 Python 클라이언트
  • 터미널 워크벤치 (TUI)
  • 문서
  • ⚠️ 보안 주의사항
  • 부적절한 배포는 보안 위험을 초래할 수 있습니다
  • 보안 권장사항
  • 기여하기
  • 라이선스
  • 감사의 말
  • 주요 기여자
  • Star 기록

한 줄 에이전트 설정

Claude Code, Codex, Cursor, Windsurf 또는 다른 코딩 에이전트를 사용하는 경우, 한 문장으로 설정 지침을 전달할 수 있습니다:

필요하면 DeerFlow를 클론하고, https://raw.githubusercontent.com/bytedance/deer-flow/main/Install.md 를 따라 로컬 개발을 위해 부트스트랩해 줘.

이 프롬프트는 코딩 에이전트를 위한 것입니다. 에이전트에게 필요시 리포지토리를 클론하고, 가능하면 Docker를 선택하고, 사용자가 제공해야 하는 다음 명령어와 누락된 설정을 정확히 알려주도록 지시합니다.

빠른 시작

설정

  1. DeerFlow 리포지토리 클론
   git clone https://github.com/bytedance/deer-flow.git
   cd deer-flow
  1. 설정 마법사 실행

프로젝트 루트 디렉토리(deer-flow/)에서 다음을 실행합니다:

   make setup

이 명령은 대화형 마법사를 실행하여 LLM 공급자, 선택적 웹 검색, 샌드박스 모드, bash 액세스, 파일 쓰기 도구와 같은 실행/안전 기본 설정을 안내합니다. 최소한의 config.yaml을 생성하고 키를 .env에 기록합니다. 약 2분 정도 소요됩니다.

마법사는 선택적 웹 검색 공급자를 구성하거나 지금 건너뛸 수도 있습니다.

언제든지 make doctor를 실행하여 설정을 확인하고 실행 가능한 수정 힌트를 얻을 수 있습니다.

고급 / 수동 설정: config.yaml을 직접 편집하려면 대신 make config를 실행하여 전체 템플릿을 복사하세요. CLI 기반 공급자(Codex CLI, Claude Code OAuth), OpenRouter, Responses API 등에 대한 전체 참조는 config.example.yaml을 참조하세요.

<details> <summary>수동 모델 설정 예시</summary>

   models:
     - name: gpt-4o
       display_name: GPT-4o
       use: langchain_openai:ChatOpenAI
       model: gpt-4o
       api_key: $OPENAI_API_KEY

     - name: openrouter-gemini-2.5-flash
       display_name: Gemini 2.5 Flash (OpenRouter)
       use: langchain_openai:ChatOpenAI
       model: google/gemini-2.5-flash-preview
       api_key: $OPENROUTER_API_KEY
       base_url: https://openrouter.ai/api/v1

     - name: gpt-5-responses
       display_name: GPT-5 (Responses API)
       use: langchain_openai:ChatOpenAI
       model: gpt-5
       api_key: $OPENAI_API_KEY
       use_responses_api: true
       output_version: responses/v1

     - name: qwen3-32b-vllm
       display_name: Qwen3 32B (vLLM)
       use: deerflow.models.vllm_provider:VllmChatModel
       model: Qwen/Qwen3-32B
       api_key: $VLLM_API_KEY
       base_url: http://localhost:8000/v1
       supports_thinking: true
       when_thinking_enabled:
         extra_body:
           chat_template_kwargs:
             enable_thinking: true

OpenRouter 및 유사한 OpenAI 호환 게이트웨이는 langchainopenai:ChatOpenAIbaseurl을 사용하여 구성해야 합니다. 공급자별 환경 변수 이름을 선호하는 경우 apikey를 해당 변수에 명시적으로 지정하세요(예: apikey: $OPENROUTERAPIKEY).

OpenAI 모델을 /v1/responses로 라우팅하려면 langchainopenai:ChatOpenAI를 계속 사용하고 useresponsesapi: trueoutputversion: responses/v1을 설정하세요.

vLLM 0.19.0의 경우 deerflow.models.vllmprovider:VllmChatModel을 사용하세요. Qwen 스타일 추론 모델의 경우 DeerFlow는 extrabody.chattemplatekwargs.enablethinking으로 추론을 전환하고 다중 턴 도구 호출 대화에서 vLLM의 비표준 reasoning 필드를 유지합니다. 레거시 thinking 설정은 하위 호환성을 위해 자동으로 정규화됩니다. 추론 모델은 서버를 --reasoning-parser...로 시작해야 할 수도 있습니다. 로컬 vLLM 배포가 비어 있지 않은 API 키를 허용하는 경우에도 VLLMAPI_KEY를 자리 표시자 값으로 설정할 수 있습니다.

CLI 기반 공급자 예시:

   models:
     - name: gpt-5.4
       display_name: GPT-5.4 (Codex CLI)
       use: deerflow.models.openai_codex_provider:CodexChatModel
       model: gpt-5.4
       supports_thinking: true
       supports_reasoning_effort: true

     - name: claude-sonnet-4.6
       display_name: Claude Sonnet 4.6 (Claude Code OAuth)
       use: deerflow.models.claude_provider:ClaudeChatModel
       model: claude-sonnet-4-6
       max_tokens: 4096
       supports_thinking: true
  • Codex CLI는 ~/.codex/auth.json을 읽습니다.
  • Claude Code는 CLAUDECODEOAUTHTOKEN, ANTHROPICAUTHTOKEN, CLAUDECODECREDENTIALSPATH 또는 ~/.claude/.credentials.json을 허용합니다.
  • ACP 에이전트 항목은 모델 공급자와 별개입니다. acp_agents.codex를 구성하는 경우 npx -y @zed-industries/codex-acp와 같은 Codex ACP 어댑터를 가리키세요.
  • macOS에서는 필요한 경우 Claude Code 인증을 명시적으로 내보냅니다:
   eval "$(python3 scripts/export_claude_code_oauth.py --print-export)"

API 키는 .env에 수동으로 설정하거나(권장) 셸에서 내보낼 수도 있습니다:

   OPENAI_API_KEY=your-openai-api-key
   TAVILY_API_KEY=your-tavily-api-key

</details>

애플리케이션 실행

배포 크기 조정

DeerFlow 실행 방식을 선택할 때 실용적인 시작점으로 아래 표를 사용하세요:

배포 대상 시작 사양 권장 사양 참고
로컬 평가 / make dev 4 vCPU, 8 GB RAM, 20 GB 여유 SSD 8 vCPU, 16 GB RAM 호스팅된 모델 API를 사용하는 한 개발자 또는 한 개의 가벼운 세션에 적합합니다. 2 vCPU / 4 GB는 일반적으로 충분하지 않습니다.
Docker 개발 / make docker-start 4 vCPU, 8 GB RAM, 25 GB 여유 SSD 8 vCPU, 16 GB RAM 이미지 빌드, 바인드 마운트 및 샌드박스 컨테이너는 순수 로컬 개발보다 더 많은 여유 공간이 필요합니다.
장기 실행 서버 / make up 8 vCPU, 16 GB RAM, 40 GB 여유 SSD 16 vCPU, 32 GB RAM 공유 사용, 다중 에이전트 실행, 보고서 생성 또는 더 무거운 샌드박스 워크로드에 권장됩니다.
  • 이 수치는 DeerFlow 자체를 위한 것입니다. 로컬 LLM도 호스팅하는 경우 해당 서비스의 크기를 별도로 조정하세요.
  • 지속적인 서버의 경우 Linux와 Docker가 권장되는 배포 대상입니다. macOS와 Windows는 개발 또는 평가 환경으로 취급하는 것이 가장 좋습니다.
  • CPU 또는 메모리 사용량이 계속 높으면 먼저 동시 실행을 줄인 다음 다음 크기 조정 단계로 이동하세요.

옵션 1: Docker (권장)

개발 (핫 리로드, 소스 마운트):

make docker-init    # 샌드박스 이미지 가져오기 (한 번만 또는 이미지 업데이트 시)
make docker-start   # 서비스 시작 (config.yaml에서 샌드박스 모드 자동 감지)

make docker-startconfig.yaml이 프로비저너 모드를 사용하는 경우에만 provisioner를 시작합니다 (sandbox.use: deerflow.community.aiosandbox:AioSandboxProviderprovisionerurl 사용).

Docker 빌드는 기본적으로 업스트림 uv 레지스트리를 사용합니다. 제한된 네트워크에서 더 빠른 미러가 필요한 경우 make docker-init 또는 make docker-start를 실행하기 전에 UVINDEXURL=https://pypi.tuna.tsinghua.edu.cn/simpleNPM_REGISTRY=https://registry.npmmirror.com을 내보내세요.

백엔드 프로세스는 다음 설정 액세스 시 config.yaml 변경 사항을 자동으로 감지하므로 개발 중에 모델 메타데이터 업데이트를 위해 수동 재시작이 필요하지 않습니다.

[!TIP]

Linux에서 Docker 기반 명령이 permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock 오류로 실패하는 경우, 사용자를 docker 그룹에 추가하고 다시 로그인한 후 재시도하세요. 전체 수정 방법은 CONTRIBUTING.md를 참조하세요.

프로덕션 (로컬에서 이미지 빌드, 런타임 설정 및 데이터 마운트):

make up     # 이미지 빌드 및 모든 프로덕션 서비스 시작
make down   # 컨테이너 중지 및 제거

접속: http://localhost:2026

통합 nginx 엔드포인트는 기본적으로 동일 출처이며 브라우저 CORS 헤더를 내보내지 않습니다. 분할 출처 또는 포트 전달 브라우저 클라이언트를 실행하는 경우 GATEWAYCORSORIGINS를 쉼표로 구분된 정확한 출처(예: http://localhost:3000)로 설정하세요. 그러면 게이트웨이가 CORS 허용 목록과 일치하는 CSRF 출처 검사를 적용합니다.

[!IMPORTANT]

프로덕션 배포에서는 make up을 사용하세요. make docker-start는 개발용이며 프로덕션에 적합하지 않습니다.

옵션 2: 로컬 개발

필수 조건: Python 3.11+ 및 uv (패키지 관리자).

make dev

이 명령은 가상 환경을 생성하고, 종속성을 설치하고, DeerFlow를 시작합니다. make devmake setup이 이미 실행되었다고 가정합니다.

make devconfig.yamlsandbox.usedeerflow.community.aio_sandbox:AioSandboxProvider로 설정된 경우에만 샌드박스 프로비저너를 시작합니다.

고급

샌드박스 모드

DeerFlow는 세 가지 샌드박스 모드를 지원합니다:

  • Docker 샌드박스 (권장): 격리된 Docker 컨테이너에서 코드를 실행합니다. make setup 중에 선택하거나 config.yaml에서 sandbox.use: deerflow.community.docker_sandbox:DockerSandboxProvider를 설정하세요.
  • 로컬 샌드박스: 로컬 시스템에서 직접 코드를 실행합니다. sandbox.use: deerflow.community.local_sandbox:LocalSandboxProvider를 설정하세요. 보안 위험: 신뢰할 수 없는 입력에는 사용하지 마세요.
  • AIO 샌드박스 (고급): 원격 샌드박스 프로비저너에 연결합니다. sandbox.use: deerflow.community.aiosandbox:AioSandboxProvider를 설정하고 provisionerurl을 구성하세요.

MCP 서버

DeerFlow는 MCP(Model Context Protocol) 서버를 지원합니다. MCP 서버를 구성하려면 config.yamlmcp_servers 섹션을 추가하세요:

mcp_servers:
  my-server:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]

IM 채널

DeerFlow는 IM(인스턴트 메시징) 채널을 통한 상호 작용을 지원합니다. 현재 지원되는 채널:

  • 디스코드: config.yaml에서 im.discord.enabled: true를 설정하고 봇 토큰을 구성하세요.
  • 텔레그램: config.yaml에서 im.telegram.enabled: true를 설정하고 봇 토큰을 구성하세요.
  • Slack: config.yaml에서 im.slack.enabled: true를 설정하고 봇 토큰을 구성하세요.
  • 웹소켓: config.yaml에서 im.websocket.enabled: true를 설정하세요.

LangSmith 추적

LangSmith 추적을 활성화하려면 config.yaml에 다음을 추가하세요:

langsmith:
  tracing: true
  api_key: $LANGSMITH_API_KEY
  project: deer-flow

Langfuse 추적

Langfuse 추적을 활성화하려면 config.yaml에 다음을 추가하세요:

langfuse:
  tracing: true
  public_key: $LANGFUSE_PUBLIC_KEY
  secret_key: $LANGFUSE_SECRET_KEY
  host: https://cloud.langfuse.com

두 공급자 모두 사용

LangSmith와 Langfuse 추적을 동시에 활성화할 수 있습니다.

Deep Research에서 슈퍼 에이전트 하네스로

DeerFlow는 단순한 딥 리서치 도구에서 다양한 작업을 처리할 수 있는 완전한 슈퍼 에이전트 하네스로 발전했습니다. 핵심 아키텍처는 다음과 같습니다:

  • 오케스트레이터: 작업을 계획하고 서브 에이전트에 위임합니다.
  • 서브 에이전트: 특정 작업을 처리하는 전문 에이전트입니다.
  • 스킬: 에이전트가 사용할 수 있는 재사용 가능한 도구 및 기능입니다.
  • 메모리: 컨텍스트와 학습 내용을 유지하는 장기 및 단기 메모리 시스템입니다.
  • 샌드박스: 코드 실행을 위한 안전한 격리 환경입니다.
  • 메시지 게이트웨이: 다양한 채널(웹, IM, API)을 통한 통신을 처리합니다.

핵심 기능

스킬 및 도구

DeerFlow는 풍부한 스킬 및 도구 세트를 제공합니다:

  • 웹 검색: Tavily, InfoQuest 등을 통한 웹 검색
  • 코드 실행: 샌드박스 환경에서 Python, JavaScript 등의 코드 실행
  • 파일 작업: 파일 읽기, 쓰기, 편집
  • Bash: 샌드박스 내에서 셸 명령 실행
  • 브라우저 자동화: Playwright를 통한 웹 브라우징 및 스크래핑
  • 사용자 정의 스킬: 사용자 정의 스킬 생성 및 통합

Claude Code 통합

DeerFlow는 Claude Code와 통합되어 코드 생성 및 편집 기능을 제공합니다. config.yaml에서 Claude Code를 구성하세요:

skills:
  claude_code:
    enabled: true
    model: claude-sonnet-4-20250514

서브 에이전트

DeerFlow는 작업을 전문 서브 에이전트에 위임할 수 있습니다. 서브 에이전트는 고유한 모델, 스킬 및 구성을 가질 수 있습니다. 서브 에이전트 예시:

sub_agents:
  researcher:
    model: gpt-4o
    skills: [web_search, browser]
  coder:
    model: claude-sonnet-4-20250514
    skills: [code_execution, bash]

샌드박스 및 파일 시스템

DeerFlow는 코드 실행을 위한 안전한 샌드박스 환경을 제공합니다. 샌드박스는 Docker 컨테이너를 사용하여 격리를 제공합니다. 파일 시스템은 샌드박스 내에서 마운트되어 에이전트가 파일을 읽고 쓸 수 있도록 합니다.

컨텍스트 엔지니어링

DeerFlow는 컨텍스트 엔지니어링을 사용하여 에이전트가 관련 정보를 유지하도록 합니다. 여기에는 다음이 포함됩니다:

  • 컨텍스트 윈도우 관리: 토큰 제한을 초과하지 않도록 컨텍스트를 효율적으로 관리
  • 요약: 긴 대화를 요약하여 컨텍스트 유지
  • 검색 증강 생성(RAG): 관련 정보를 검색하여 컨텍스트에 추가

장기 메모리

DeerFlow는 에이전트가 세션 간에 정보를 기억할 수 있도록 장기 메모리 시스템을 포함합니다. 메모리는 벡터 데이터베이스에 저장되며 의미론적 검색을 통해 검색할 수 있습니다.

권장 모델

DeerFlow는 다양한 LLM을 지원합니다. 권장 모델은 다음과 같습니다:

  • Doubao-Seed-2.0-Code (ByteDance)
  • DeepSeek v3.2 (DeepSeek)
  • Kimi 2.5 (Moonshot AI)
  • GPT-4o (OpenAI)
  • Claude Sonnet 4 (Anthropic)
  • Gemini 2.5 Flash (Google)

내장 Python 클라이언트

DeerFlow는 Python 클라이언트 라이브러리를 제공하여 DeerFlow 서버와 프로그래밍 방식으로 상호 작용할 수 있습니다:

from deerflow import DeerFlow

client = DeerFlow(base_url="http://localhost:2026")
response = client.run("Python으로 피보나치 수열을 생성하는 스크립트를 작성해 줘")
print(response)

터미널 워크벤치 (TUI)

DeerFlow는 터미널 사용자 인터페이스(TUI)를 제공하여 터미널에서 직접 DeerFlow와 상호 작용할 수 있습니다:

make tui

문서

전체 문서는 DeerFlow 문서에서 확인할 수 있습니다.

⚠️ 보안 주의사항

부적절한 배포는 보안 위험을 초래할 수 있습니다

DeerFlow는 에이전트가 코드를 실행하고 파일 시스템에 액세스할 수 있도록 합니다. 부적절하게 배포하면 보안 위험이 발생할 수 있습니다:

  • 코드 실행: 에이전트가 샌드박스 내에서 코드를 실행할 수 있습니다. 샌드박스가 제대로 격리되지 않으면 호스트 시스템이 손상될 수 있습니다.
  • 파일 액세스: 에이전트가 파일을 읽고 쓸 수 있습니다. 민감한 파일이 노출될 수 있습니다.
  • 네트워크 액세스: 에이전트가 네트워크 요청을 할 수 있습니다. 내부 서비스가 노출될 수 있습니다.

보안 권장사항

  • Docker 샌드박스 사용: 항상 Docker 샌드박스를 사용하여 코드 실행을 격리하세요.
  • 최소 권한 원칙: 에이전트에 필요한 최소한의 권한만 부여하세요.
  • 네트워크 제한: 샌드박스의 네트워크 액세스를 필요한 호스트로만 제한하세요.
  • 정기 업데이트: DeerFlow와 해당 종속성을 최신 상태로 유지하세요.
  • 감사 로깅: 에이전트 활동을 모니터링하고 기록하세요.

기여하기

기여를 환영합니다! 자세한 내용은 CONTRIBUTING.md를 참조하세요.

라이선스

DeerFlow는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

감사의 말

DeerFlow는 다음 오픈 소스 프로젝트의 지원을 받습니다:

주요 기여자

DeerFlow에 기여한 모든 분들께 감사드립니다! 기여자 목록을 확인하세요.

Star 기록

!Star History Chart

원본 저장소: bytedance/deer-flow

라이선스: MIT

게재 제외를 원하시면 삭제 요청을 보내주세요.