快速开始 • 功能特性 • 贡献指南 • 文档 • 上游仓库
🎉 最新更新 (2025-11-04)
- 新增手动编排管线,管线推荐以及算子编写;
- 🔧 模块化设计:Agent 和 Workflow 插件式注册,开箱即用
- 🎨 可视化界面:基于 Gradio 的交互式 Web 前端
- 🛠️ CLI 脚手架:一键生成 Agent、Workflow、Prompt 模板代码
- 📦 工具管理:统一的工具注册与调用机制
- 🔄 工作流编排:基于 StateGraph 的灵活流程控制
# 克隆仓库
git clone https://github.com/your-org/DataFlow-Agent.git
cd DataFlow-Agent
# 安装依赖
pip install -r requirements.txt
pip install -e .# 方式一:直接运行
python gradio_app/app.py访问 http://127.0.0.1:7860 即可使用。
DataFlow-Agent/
├── dataflow_agent/ # 核心业务代码
│ ├── agentroles/ # Agent 定义(自动注册)
│ ├── workflow/ # Workflow 定义(wf_*.py)
│ ├── promptstemplates/ # 提示词模板
│ ├── tools/ # 工具函数
│ └── utils/ # 工具类(状态、工具管理器等)
├── gradio_app/ # Gradio Web UI
│ ├── app.py # 主程序
│ └── pages/ # 页面模块(自动发现)
├── docs/ # MkDocs 文档源文件
├── tests/ # 单元测试
└── script/ # 脚本工具
使用 dfa 命令快速生成模板代码:
# 创建新 Agent
dfa create --agent_name my_agent
# 创建新 Workflow
dfa create --wf_name my_workflow
# 创建 Prompt Repo
dfa create --prompt_name my_prompts
# 创建 Gradio 页面
dfa create --gradio_name my_page详细用法请查看 CLI 工具文档。
文档对项目至关重要!以下是如何贡献文档的详细步骤。
1. 安装 MkDocs
pip install mkdocs-material2. 启动文档服务
在项目根目录执行:
mkdocs serve浏览器访问 http://127.0.0.1:8000,修改 Markdown 文件后会自动热重载。
步骤 1:创建 Markdown 文件
在 docs/ 对应目录下创建文件:
# 示例:添加性能优化指南
touch docs/guides/performance.md步骤 2:编写内容
# 性能优化指南
本文介绍如何优化 DataFlow-Agent 的性能...
## 缓存策略
...步骤 3:更新导航配置
编辑根目录的 mkdocs.yml,在 nav 部分添加新页面:
nav:
- 主页: index.md
- 快速开始: quickstart.md
- 开发指南:
- CLI 工具: guides/cli-tool.md
- 性能优化: guides/performance.md # ← 新增步骤 4:预览效果
刷新浏览器(http://127.0.0.1:8000),新页面会出现在导航栏中。
| 文档类型 | 存放位置 | 示例 |
|---|---|---|
| 教程/指南 | docs/guides/ |
guides/agent-development.md |
| API 参考 | docs/api-reference/ |
api-reference/agent-api.md |
| 顶层文档 | docs/ |
installation.md、faq.md |
| 图片资源 | docs/assets/ |
assets/architecture.png |
Agent 通过 @register 装饰器自动注册:
from dataflow_agent.agentroles.base_agent import BaseAgent
from dataflow_agent.agentroles.registry import register
@register("data_cleaner") # 注册名称
class DataCleaner(BaseAgent):
"""数据清洗 Agent"""
@classmethod
def create(cls, tool_manager=None, **kwargs):
return cls(tool_manager=tool_manager, **kwargs)使用时通过注册名称调用:
from dataflow_agent.agentroles import create_agent
agent = create_agent("data_cleaner", tool_manager=tm)
result = await agent.execute(state)Workflow 文件必须以 wf_ 开头,注册名为去掉前缀的部分:
# 文件:dataflow_agent/workflow/wf_data_validation.py
from dataflow_agent.workflow.registry import register
from dataflow_agent.graghbuilder import GraphBuilder
@register("data_validation") # 注册名为 "data_validation"
def create_data_validation_graph():
builder = GraphBuilder()
# 定义节点和边...
return builder运行 Workflow:
from dataflow_agent.workflow import run_workflow
result = await run_workflow("data_validation", state)在 gradio_app/pages/ 下创建文件,函数名遵循 create_<filename> 规则:
# 文件:gradio_app/pages/model_hub.py
import gradio as gr
def create_model_hub(): # 函数名 = create_ + 文件名
with gr.Blocks() as page:
gr.Markdown("## 模型中心")
# 添加组件...
return page重启 gradio_app/app.py,页面自动出现在 Tab 栏。
- llm_caller 新增多模态的api调用;可以通过agent初始化的 use_vlm 参数开启;
- 目前图像编辑和生成,只支持gemini2.5+我们的api供应商;
- 支持多模态模型;
- store_outputs 新增agent持久化存储;
- Paper系列agent集成
- paper2video
- paper2web
- paper2poster
- paper2gragh
- DataAgent集成
- 多数据源深度分析 + 报告
- 智能取数
本项目采用 Apache License 2.0 开源协议。
感谢所有贡献者的辛勤付出!
- Issue: 提交问题
如果这个项目对你有帮助,请给我们一个 ⭐️ Star!



