Skip to Content
WASPWASP

快速上手

🚀

本指南介绍如何在 Python 中通过 create_deerflow_agent 创建并运行一个 DeerFlow Agent。

理解 DeerFlow Harness 的最快方式,是直接在代码里创建一个 Agent。本快速上手指南将带你完成模型初始化、Agent 创建,以及响应流式输出。

前置条件

DeerFlow Harness 需要 Python 3.12 或更高版本。该包是 deerflow 代码库的一部分,位于 backend/packages/harness 下。

如果你从仓库克隆开始:

cd backend uv sync

你还需要准备一个来自对应 LangChain Provider 包的聊天模型实例。

创建第一个 Agent

导入工厂函数与模型类

from deerflow.agents import create_deerflow_agent from langchain_openai import ChatOpenAI

创建模型

model = ChatOpenAI( model="gpt-4o", api_key="YOUR_OPENAI_API_KEY", )

创建 Agent

agent = create_deerflow_agent(model)

这会返回一个已经编译好的 LangGraph Agent,并带有 DeerFlow 默认的中间件链。

流式获取响应

for event in agent.stream( {"messages": [{"role": "user", "content": "解释一下 DeerFlow Harness 是什么。"}]}, stream_mode=["messages", "values"], ): print(event)

添加工具或行为

你可以通过传入工具、系统提示词、运行时特性、中间件或 checkpointer 来自定义 Agent。

from deerflow.agents import RuntimeFeatures, create_deerflow_agent agent = create_deerflow_agent( model, system_prompt="你是一个简洁的研究助手。", features=RuntimeFeatures(subagent=True, memory=False), plan_mode=True, name="research-agent", )

常用参数:

参数说明
tools提供给 Agent 的额外工具
system_prompt自定义系统提示词
features启用或替换内置运行时能力
extra_middleware将自定义中间件插入默认链路
plan_mode启用 Todo 风格的任务跟踪
checkpointer为多轮运行持久化状态
nameAgent 的逻辑名称

什么时候使用 DeerFlowClient

如果你想直接操作底层的编译后 Agent 图,使用 create_deerflow_agent()

如果你想使用更高层的嵌入式应用接口,则应使用 DeerFlowClient,例如:

  • 面向线程的对话封装,
  • 模型 / 技能 / 记忆管理 API,
  • 文件上传与 artifacts,
  • 与 Gateway 一致的返回格式。