logo
0
0
WeChat Login
Anna Terek<43933874+wabalabudabdab@users.noreply.github.com>
docs: add Russian README translation (#1311)

🦌 DeerFlow - 2.0

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

Python Node.js License: MIT

bytedance%2Fdeer-flow | Trendshift

28 февраля 2026 года DeerFlow занял 🏆 #1 в GitHub Trending после релиза версии 2. Спасибо огромное нашему сообществу — всё благодаря вам! 💪🔥

DeerFlow (Deep Exploration and Efficient Research Flow) — open-source Super Agent Harness, который управляет Sub-Agents, Memory и Sandbox для решения почти любой задачи. Всё на основе расширяемых Skills.

https://github.com/user-attachments/assets/a8bcadc4-e040-4cf2-8fda-dd768b999c18

NOTE

DeerFlow 2.0 — проект переписан с нуля. Общего кода с v1 нет. Если нужен оригинальный Deep Research фреймворк — он живёт в ветке 1.x, туда тоже принимают контрибьюты. Активная разработка идёт в 2.0.

Официальный сайт

image

Больше информации и живые демо на официальном сайте.

Coding Plan от ByteDance Volcengine

英文方舟

InfoQuest

DeerFlow интегрирован с инструментарием для умного поиска и краулинга от BytePlus — InfoQuest (есть бесплатный онлайн-доступ)

InfoQuest_banner

Содержание

Быстрый старт

Конфигурация

  1. Склонировать репозиторий DeerFlow

    git clone https://github.com/bytedance/deer-flow.git cd deer-flow
  2. Сгенерировать локальные конфиги

    Из корня проекта (deer-flow/) запустите:

    make config

    Команда создаёт локальные конфиги на основе шаблонов.

  3. Настроить модель

    Отредактируйте config.yaml и задайте хотя бы одну модель:

    models: - name: gpt-4 # Внутренний идентификатор display_name: GPT-4 # Отображаемое имя use: langchain_openai:ChatOpenAI # Путь к классу LangChain model: gpt-4 # Идентификатор модели для API api_key: $OPENAI_API_KEY # API-ключ (рекомендуется: переменная окружения) max_tokens: 4096 # Максимальное количество токенов на запрос temperature: 0.7 # Температура сэмплирования - 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: $OPENAI_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

    OpenRouter и аналогичные OpenAI-совместимые шлюзы настраиваются через langchain_openai:ChatOpenAI с параметром base_url. Для 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 принимает CLAUDE_CODE_OAUTH_TOKEN, ANTHROPIC_AUTH_TOKEN или ~/.claude/.credentials.json
    • На macOS при необходимости экспортируйте аутентификацию Claude Code явно:
    eval "$(python3 scripts/export_claude_code_oauth.py --print-export)"
  4. Указать API-ключи

    • Вариант А: файл .env в корне проекта (рекомендуется)
    TAVILY_API_KEY=your-tavily-api-key OPENAI_API_KEY=your-openai-api-key INFOQUEST_API_KEY=your-infoquest-api-key
    • Вариант Б: переменные окружения в терминале
    export OPENAI_API_KEY=your-openai-api-key
    • Вариант В: напрямую в config.yaml (не рекомендуется для продакшена)

Запуск

Вариант 1: Docker (рекомендуется)

Разработка (hot-reload, монтирование исходников):

make docker-init # Загрузить образ Sandbox (один раз или при обновлении) make docker-start # Запустить сервисы

Продакшен (собирает образы локально):

make up # Собрать образы и запустить все сервисы make down # Остановить и удалить контейнеры

TIP

На Linux при ошибке permission denied для Docker daemon добавьте пользователя в группу docker и перелогиньтесь. Подробнее в CONTRIBUTING.md.

Адрес: http://localhost:2026

Вариант 2: Локальная разработка

  1. Проверить зависимости:

    make check # Проверяет Node.js 22+, pnpm, uv, nginx
  2. Установить зависимости:

    make install
  3. (Опционально) Загрузить образ Sandbox заранее:

    make setup-sandbox
  4. Запустить сервисы:

    make dev
  5. Адрес: http://localhost:2026

Дополнительно

Режим Sandbox

DeerFlow поддерживает несколько режимов выполнения:

  • Локальное выполнение — код запускается прямо на хосте
  • Docker — код выполняется в изолированных Docker-контейнерах
  • Docker + Kubernetes — выполнение в Kubernetes-подах через provisioner

Подробнее в руководстве по конфигурации Sandbox.

MCP-сервер

DeerFlow поддерживает настраиваемые MCP-серверы для расширения возможностей. Для HTTP/SSE MCP-серверов поддерживаются OAuth-токены (client_credentials, refresh_token). Подробнее в руководстве по MCP-серверу.

Мессенджеры

DeerFlow принимает задачи прямо из мессенджеров. Каналы запускаются автоматически при настройке, публичный IP не нужен.

КаналТранспортСложность
TelegramBot API (long-polling)Просто
SlackSocket ModeСредне
Feishu / LarkWebSocketСредне

Конфигурация в config.yaml:

channels: feishu: enabled: true app_id: $FEISHU_APP_ID app_secret: $FEISHU_APP_SECRET slack: enabled: true bot_token: $SLACK_BOT_TOKEN app_token: $SLACK_APP_TOKEN allowed_users: [] telegram: enabled: true bot_token: $TELEGRAM_BOT_TOKEN allowed_users: []

Настройка Telegram

  1. Напишите @BotFather, отправьте /newbot и скопируйте HTTP API-токен.
  2. Укажите TELEGRAM_BOT_TOKEN в .env и включите канал в config.yaml.

Доступные команды

КомандаОписание
/newНачать новый диалог
/statusПоказать информацию о текущем треде
/modelsСписок доступных моделей
/memoryПросмотреть память
/helpПоказать справку

Сообщения без команды воспринимаются как обычный чат — DeerFlow создаёт тред и отвечает.

От Deep Research к Super Agent Harness

DeerFlow начинался как фреймворк для Deep Research, и сообщество вышло далеко за эти рамки. После запуска разработчики строили пайплайны, генерировали презентации, поднимали дашборды, автоматизировали контент. То, чего мы не ожидали.

Стало понятно: DeerFlow не просто research-инструмент. Это harness: runtime, который даёт агентам необходимую инфраструктуру.

Поэтому мы переписали всё с нуля.

DeerFlow 2.0 — это Super Agent Harness «из коробки». Batteries included, полностью расширяемый. Построен на LangGraph и LangChain. По умолчанию есть всё, что нужно агенту: файловая система, memory, skills, sandbox-выполнение и возможность планировать и запускать sub-agents для сложных многошаговых задач.

Используйте как есть. Или разберите и переделайте под себя.

Core Features

Skills & Tools

Skills — это то, что позволяет DeerFlow делать почти что угодно.

Agent Skill — это структурированный модуль: Markdown-файл с описанием воркфлоу, лучших практик и ссылок на ресурсы. DeerFlow поставляется со встроенными skills для ресёрча, генерации отчётов, слайдов, веб-страниц, изображений и видео. Но главное — расширяемость: добавляйте свои skills, заменяйте встроенные или собирайте из них составные воркфлоу.

Skills загружаются по мере необходимости, только когда задача их требует. Это держит контекстное окно чистым.

# Пути внутри контейнера sandbox /mnt/skills/public ├── research/SKILL.md ├── report-generation/SKILL.md ├── slide-creation/SKILL.md ├── web-page/SKILL.md └── image-generation/SKILL.md /mnt/skills/custom └── your-custom-skill/SKILL.md ← ваш skill

Интеграция с Claude Code

Skill claude-to-deerflow позволяет работать с DeerFlow прямо из Claude Code. Отправляйте задачи, проверяйте статус, управляйте тредами, не выходя из терминала.

Установка скилла:

npx skills add https://github.com/bytedance/deer-flow --skill claude-to-deerflow

Что можно делать:

  • Отправлять сообщения в DeerFlow и получать потоковые ответы
  • Выбирать режимы выполнения: flash (быстро), standard, pro (planning), ultra (sub-agents)
  • Проверять статус DeerFlow, просматривать модели, скиллы, агентов
  • Управлять тредами и историей диалога
  • Загружать файлы для анализа

Полный справочник API в skills/public/claude-to-deerflow/SKILL.md.

Sub-Agents

Сложные задачи редко решаются за один проход. DeerFlow их декомпозирует.

Lead agent запускает sub-agents на лету, каждый со своим изолированным контекстом, инструментами и условиями завершения. Sub-agents работают параллельно, возвращают структурированные результаты, а lead agent собирает всё в единый итог.

Вот как DeerFlow справляется с задачами на минуты и часы: research-задача разветвляется в дюжину sub-agents, каждый копает свой угол, потом всё сходится в один отчёт, или сайт, или слайддек со сгенерированными визуалами. Один harness, много рук.

Sandbox & файловая система

DeerFlow не просто говорит о том, что умеет что-то делать. У него есть собственный компьютер.

Каждая задача выполняется внутри изолированного Docker-контейнера с полной файловой системой: skills, workspace, uploads, outputs. Агент читает, пишет и редактирует файлы. Выполняет bash-команды и пишет код. Смотрит на изображения. Всё изолировано, всё прозрачно, никакого пересечения между сессиями.

Это разница между чатботом с доступом к инструментам и агентом с реальной средой выполнения.

# Пути внутри контейнера sandbox /mnt/user-data/ ├── uploads/ ← ваши файлы ├── workspace/ ← рабочая директория агентов └── outputs/ ← результаты

Context Engineering

Изолированный контекст: каждый sub-agent работает в своём контексте и не видит контекст главного агента или других sub-agents. Агент фокусируется на своей задаче.

Управление контекстом: внутри сессии DeerFlow агрессивно сжимает контекст и суммирует завершённые подзадачи, выгружает промежуточные результаты в файловую систему, сжимает то, что уже не актуально. На длинных многошаговых задачах контекстное окно не переполняется.

Long-Term Memory

Большинство агентов забывают всё, когда диалог заканчивается. DeerFlow помнит.

DeerFlow сохраняет ваш профиль, предпочтения и накопленные знания между сессиями. Чем больше используете, тем лучше он вас знает: стиль, технологический стек, повторяющиеся воркфлоу. Всё хранится локально и остаётся под вашим контролем.

Рекомендуемые модели

DeerFlow работает с любым LLM через OpenAI-совместимый API. Лучше всего — с моделями, которые поддерживают:

  • Большое контекстное окно (100k+ токенов) — для deep research и многошаговых задач
  • Reasoning capabilities — для адаптивного планирования и сложной декомпозиции
  • Multimodal inputs — для работы с изображениями и видео
  • Strong tool-use — для надёжного вызова функций и структурированных ответов

Встроенный Python-клиент

DeerFlow можно использовать как Python-библиотеку прямо в коде — без запуска HTTP-сервисов. DeerFlowClient даёт доступ ко всем возможностям агента и Gateway, возвращает те же схемы ответов, что и HTTP Gateway API:

from deerflow.client import DeerFlowClient client = DeerFlowClient() # Chat response = client.chat("Analyze this paper for me", thread_id="my-thread") # Streaming (LangGraph SSE protocol: values, messages-tuple, end) for event in client.stream("hello"): if event.type == "messages-tuple" and event.data.get("type") == "ai": print(event.data["content"]) # Configuration & management — returns Gateway-aligned dicts models = client.list_models() # {"models": [...]} skills = client.list_skills() # {"skills": [...]} client.update_skill("web-search", enabled=True) client.upload_files("thread-1", ["./report.pdf"]) # {"success": True, "files": [...]}

Документация

Участие в разработке

Приветствуем контрибьюторов! Настройка среды разработки, воркфлоу и гайдлайны — в CONTRIBUTING.md.

Лицензия

Проект распространяется под лицензией MIT.

Благодарности

DeerFlow стоит на плечах open-source сообщества. Спасибо всем проектам и разработчикам, чья работа сделала его возможным.

Отдельная благодарность:

  • LangChain — фреймворк для взаимодействия с LLM и построения цепочек.
  • LangGraph — многоагентная оркестрация, на которой держатся сложные воркфлоу DeerFlow.

Ключевые контрибьюторы

Авторы DeerFlow, без которых проекта бы не было:

История звёзд

Star History Chart