Skip to content
PHclawPublic

About

自托管 AI Agent 平台:拖拽式工作流 + 知识库 RAG + 23 个预置技能,默认 SQLite 单机可跑,一条 docker compose 私有化部署。Self-hosted, OpenAI-compatible.

Topics

Resources

Contributing

Security policy

Stars

23 stars

Watchers

0 watching

Forks

Repository files navigation

AgentFlow — 零代码 AI Agent 平台

Stars Forks Issues License PRs Welcome

CI Python FastAPI React TypeScript Docker

拖拽式构建 AI Agent 工作流 · 无需一行代码 · 5 分钟上线

开源零代码 AI Agent 平台:拖拽式工作流编辑器 + 多模型热切换 + 知识库 RAG + Skill 广场 + 一键部署。
默认用 SQLite 起,单机就能跑;数据全部落在你自己的机器上。


在线体验 · 打开即用


无需安装 · 浏览器打开即可试用 · 注册即可创建自己的 Agent


功能演示 · 快速开始 · 核心特性 · 技能扩展 · 文档 · 常见问题

English · 中文


📖 目录


📽️ 功能演示

全部是真实录屏(headless 浏览器自动采集,未剪辑)。完整视频在 assets/videos/。

① 全流程走一遍

落地页 → 登录 → 模板广场选模板 → 建 Agent → 对话 → Skill 实战,一条片子看完产品能做什么。

产品全流程

▶ 完整录屏

② 一句话生成 PPT —— 端到端交付

在对话框里描述需求,Agent 自己读工作区、写代码、跑脚本,最后把生成的文件作为可下载附件交回来。

对话生成 PPT 全流程

▶ 完整对话过程  ·  ▶ 生成结果逐页预览

③ 拖拽搭建工作流

左侧节点面板点选即入画布,右侧实时编辑参数,保存后立即生效——全程不写代码。

拖拽搭建工作流

▶ 完整录屏  ·  ▶ 节点连线

④ Skill 广场:贴一张表就出图

不用整理格式,带中文单位的随手记表格也能认;几十秒后图表直接显示在对话里,原始数据与脚本一并给出。

Skill 广场出图

▶ 完整录屏

⑤ 知识库上传与语义检索

上传文档 → 自动分块入库 → 提问时按相关度召回,命中片段在界面直接标出。

知识库上传与检索

▶ 完整录屏

⑥ 对话中的工具调用

Agent 执行时实时显示「正在调用工具」,同屏只保留当前这一条,回复生成完毕自动隐藏。

对话中的工具调用

▶ 完整录屏


🖼️ 界面一览

工作流编辑器

工作流编辑器 — 节点面板 / 拖拽画布 / 节点配置三栏布局,顶部显示节点与连接数,支持测试、撤销重做、导入导出。

落地页
落地页 — 无代码搭建的价值主张
控制台
控制台 — 总 Agent 数、活跃对话、知识库、本月新增对话
Agent 配置
Agent 配置 — 名称、提示词、模型,工作流与知识库分页配置
对话页
对话页 — 流式回复 + 产物内联预览
模板市场
模板市场 — 按分类挑,一键套用成 Agent
Skill 广场
Skill 广场 — 技能扩展与安装入口
知识库
知识库 — 上传、分块、语义检索
对话记录
对话记录 — 随时回到历史会话继续聊

✨ 核心特性

  • 🎨 拖拽式工作流编辑 — ReactFlow 画布,触发器 / LLM / 知识库 / 工具 / 条件分支 / 回复 六类节点自由组合,改完即生效
  • 🤖 多模型热切换 — 在「设置 → 模型配置」里填端点与模型名即可,支持任意 OpenAI 兼容端点(含本地 Ollama),改完不用重启
  • 📚 知识库 RAG — 上传文档自动分块入库,向量检索召回结果带相关度;向量模型与对话模型分开配置
  • 🧩 Skill 广场 — 以「目录 + SKILL.md」形式扩展技能,管理员可在后台增删;社区技能按需安装(见 skills/README.md)
  • 📎 产物交付 — Agent 生成的文件回传为可下载附件;图片类产物在对话里直接内联渲染,不用先下载再看
  • 🧰 模板市场 — 客服 / 销售 / HR / 财务等场景模板,一键套用即成为可用的 Agent
  • 👤 用户体系 — JWT 认证、邮箱验证码注册、套餐额度、管理后台白名单,数据完全自托管

适合谁用:想搭 AI 客服 / 销售助手但没有开发团队的企业;需要快速验证 Agent 场景的产品经理;想用低代码编排 LLM 工作流的开发者。


🚀 快速开始

环境要求

依赖 版本 说明
Python 3.11+ CI 基线版本;官方镜像用 3.13
Node.js 18+ CI 基线版本;官方镜像用 20
Docker 20+ 推荐,一条命令起全部

PostgreSQL 和 Redis 都不是必需的。默认用 SQLite 文件,Redis 缺失时验证码自动退回进程内存——单机部署完全够用。

方式一:Docker(推荐)

git clone https://github.com/PHclaw/agentflow.git
cd agentflow
cp .env.example .env      # 至少填 JWT_SECRET_KEY
docker compose up -d --build
docker compose logs -f backend

打开 http://localhost:3000 即可。默认栈只有两个容器(backend + frontend/nginx),数据落在 ./data/agentflow.db,docker compose down 不会丢。

需要 PostgreSQL + pgvector 时:

docker compose --profile postgres up -d

方式二:本地开发

# 后端
cd backend && python -m venv venv
.\venv\Scripts\Activate.ps1          # macOS / Linux: source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8001

# 前端(另开一个终端)
cd frontend && npm install && npm run dev

前端 dev 跑在 http://localhost:5173 ,后端 http://localhost:8001 。

方式三:SQLite 单机轻量模式

只想把后端跑起来、不想装 PostgreSQL 和 Redis:

.\scripts\dev-backend.ps1

环境变量、模型配置等细节见 配置说明。


⚙️ 关键配置

完整清单见 .env.example(每一项都写了注释)与 配置说明。最常改的几项:

变量 必填 说明
JWT_SECRET_KEY ✅ 不填会退化成内置明文密钥,等于任何人可伪造 token。openssl rand -hex 32
DATABASE_URL — 留空=SQLite;换 PostgreSQL 填 postgresql+asyncpg://…
REDIS_URL — 留空=验证码走进程内存;多实例部署才需要
EMBEDDING_BASE_URL Docker 部署建议填 知识库向量模型。官方镜像没装 sentence-transformers,留空会走本地推理而失败
ADMIN_EMAILS — 管理员邮箱白名单,登录即获得后台权限(只授予不回收)
REQUIRE_EMAIL_CODE — 生产保持 true;内网演示可设 false
MAIL_ENABLED — false 时不发信,验证码直接打印在后端日志
FREE_AGENTS / TEAM_AGENTS 等 — 套餐额度,只在这一处定义,文案与判定共用

三个容易踩的坑(都在 .env.example 里写明了):

  1. 别把 DATABASE_URL 留成空串。空值会被当成一个真实连接串,后端直接起不来——不需要改就把整行注释掉。
  2. Docker 部署务必填 EMBEDDING_BASE_URL。镜像里没装 sentence-transformers(要加约 2GB),留空则知识库检索不可用。
  3. 改完套餐额度要重新登录生效;额度只在 .env 定义一份,避免"宣传 20 个、实际按 5 个判"。

🏗️ 技术架构

AgentFlow 系统框架

   React 18 + ReactFlow  ──►  FastAPI  ──►  SQLite(默认)
        前端 :5173 / :3000      后端 :8001      └ 可切 PostgreSQL + pgvector
                                              └ Redis(可选,验证码存储)
层 技术
前端 React 18 · TypeScript 5.3 · Vite 5 · ReactFlow 11 · Tailwind CSS 3 · Zustand 4 · react-router 6
后端 Python 3.11+ · FastAPI · SQLAlchemy 2.0(async)· Alembic · pydantic-settings
存储 SQLite(默认,aiosqlite)· PostgreSQL + pgvector(可选)· Redis(可选)
模型 任意 OpenAI 兼容端点:OpenAI · Anthropic · DeepSeek · 通义 · Ollama …
检索 向量嵌入可独立配置,与对话模型解耦
部署 Docker Compose(FastAPI + nginx)· 本地 venv / npm
CI GitHub Actions:ruff + pytest / tsc + vite build

系统架构、工作流节点类型、请求链路的完整说明见 架构说明。


📁 项目结构

agentflow/
├── backend/            # FastAPI 应用
│   ├── app/
│   │   ├── api/        # REST 路由:auth / users / agents / templates / knowledge / chat / skills …
│   │   ├── core/       # 配置、安全、数据库
│   │   ├── models/     # SQLAlchemy 模型
│   │   └── services/   # 工作流引擎、技能执行、模型网关
│   └── tests/
├── frontend/           # React + Vite 应用
│   └── src/
│       ├── pages/      # 落地页 / 控制台 / Agent / 工作流 / 对话 / 技能 / 知识库 / 模板
│       ├── components/ # UI 组件库、布局、工作流节点
│       ├── stores/     # Zustand
│       └── services/   # API 客户端
├── skills/             # 技能目录(仓库内仅含说明文件,技能按需安装)
├── static/             # 运行时产物挂载点(头像 / 生成文件)
├── docs/               # 文档
├── assets/             # README 用的 banner / 截图 / GIF / 视频
├── config/             # 模型校验用的静态配置
├── docker-compose.yml
└── .env.example

🧩 技能扩展

本仓库不随附第三方技能。 社区技能的许可证各不相同(Apache-2.0 / MIT / 无许可声明 / 保留所有权利),不能整体按 Apache-2.0 再分发,详见 THIRD_PARTY_NOTICES.md。skills/ 仅保留空目录作为运行时挂载点,服务启动不依赖任何技能:目录为空时广场返回空列表,其余功能不受影响。按需安装时,把带 SKILL.md 的技能目录放进 skills/(保留其原始 LICENSE)即可。下表为可选社区技能示例,并非预置内容:

技能 做什么
Excel 表格助手 上传 Excel/CSV 或直接贴表格 → 图表、按类别汇总、导出
PPT 助手 确认用途与页数后生成 16:9 HTML 简报,可编辑
HTML 幻灯片 多风格静态 HTML 演示稿
前端幻灯片 从零生成或转换成动画丰富的 HTML 演示
PDF 处理助手 上传 PDF → 提取目录、要点、表格,或直接就文档提问
学术文献检索 按主题检索论文,给出年份、作者、引用与可点击的摘要表
文献速读笔记 把论文整理成「问题 / 方法 / 结果 / 局限 / 引用」笔记
会议纪要助手 原始会议记录 → 结论、决策与任务表(负责人 / 截止时间)
临床病例报告 主诉与检查 → 结构化教学病例
统计分析助手 假设检验、样本量、置信区间,输出决策建议
图表可视化 按数据特征智能选型并生成图表

自制技能没有上述限制,按 SKILL.md 格式加一个文件夹即可扩展。可选的 HTML-PPT 链路还会读取 skills/html-ppt-skill-main/assets 等资源,未安装时调用对应功能会报文件缺失,属预期行为。


⚖️ 与 Dify / Coze 的差异

AgentFlow Dify Coze WorkBuddy Codex
定位 零代码 Agent 编排平台 LLM 应用开发平台 对话 Bot 搭建平台 桌面办公智能体工作台 终端编程 Agent
部署形态 自托管优先,默认 SQLite 单机可跑 自托管 / 云 仅云 桌面客户端,安装即用 本地 CLI + 云端沙箱
数据归属 全部在你自己的库里 自托管时自主 在平台侧 本地执行,企业版统一管控 代码在本地,云端任务在沙箱
协议 Apache-2.0 开源(附加条款) 闭源 闭源商业产品 开源(CLI,Apache-2.0)
多模型热切换 界面里改,不用重启 需改配置 平台绑定 混元为主,支持多模型混合接入 OpenAI 系为主,可配端点
Skill 扩展 加一个带 SKILL.md 的目录 插件市场 插件市场 内置技能 + 办公连接器 MCP + 配置文件
产物交付 ✅ 文件下载 + 图片内联预览 部分 部分 直接生成报告 / PPT / 表格 代码改动与命令执行结果

WorkBuddy 与 Codex 分属桌面办公智能体、终端编程 Agent 品类,和前三者「可视化 Agent 编排平台」不是同一形态;列在此处用于说明定位差异,不作同类竞品优劣比较。

完整对比见 与 Dify / Coze 的差异。


🗺️ 路线图

  • 拖拽式工作流编辑器(六类节点)
  • 多模型热切换 + 任意 OpenAI 兼容端点
  • 知识库 RAG(向量模型独立配置)
  • Skill 广场与模板市场
  • 产物附件回传 + 图片内联预览
  • Docker Compose 一键部署(SQLite 默认)
  • pgvector 路径端到端验证
  • 异步任务队列(当前编排里没有 worker 容器,celery_app.py 未被引用)
  • 英文 README — README.en.md
  • 更多预置技能与模板

📚 文档

文档 内容
配置说明 环境变量 · 模型配置热切换 · SQLite 轻量模式
架构说明 系统架构 · 工作流节点类型 · 项目结构
部署指南 Docker · Nginx 反向代理 · 数据库备份
API 文档 REST 端点 · 认证 · 错误处理
开发指南 测试 · 数据库迁移 · UI 诊断脚本
常见问题 模型 · RAG · 自托管 · 计费
更新日志 版本变更记录与路线图

启动后可直接访问在线接口文档:http://localhost:8001/docs (Swagger)· http://localhost:8001/redoc


🤝 贡献

Issue → Fork → Branch → Develop → Test → PR → Review → Merge

  • 提交前本地跑一遍 CI 的两件事:cd backend && ruff check app/ && python -m pytest tests/ -v、cd frontend && npx tsc --noEmit && npm run build
  • 完整流程见 CONTRIBUTING.md;安全漏洞请按 SECURITY.md 私下报告

⚠️ 免责声明

本项目按 Apache-2.0 提供,允许包括商业用途在内的使用、修改与再分发;除许可证条款外不附加任何用途限制。

使用与合规:

  • 仓库不含任何 API Key、邮箱授权码或用户数据,部署者需自行配置 .env 并妥善保管
  • 使用者应自行评估项目的适用性与风险,并遵守所在地区的法律法规
  • 使用爬虫、文档解析、数据分析等功能时,须自行遵守目标网站的 robots.txt、服务条款、数据保护法规及第三方内容授权

爬虫功能免责:

  • 项目中的爬虫功能由使用者自行判断适用场景,并自行承担相应责任
  • 使用者必须遵守目标网站的 robots.txt 协议和使用条款
  • 使用者必须遵守相关法律法规,不得进行恶意爬取或数据滥用
  • 因使用爬虫功能产生的任何法律后果由使用者自行承担

数据使用免责:

  • 项目涉及的数据分析功能由使用者自行判断其适用性与合规义务
  • 因使用本项目产生的法律后果由使用者自行承担
  • 使用者应确保所分析数据的合法性和合规性

技术免责:

  • 本项目按“现状”提供,不提供任何明示或暗示的保证
  • 作者不对使用本项目造成的任何直接或间接损失承担责任
  • 使用者应自行评估项目的适用性和风险

责任限制:

  • 使用者在使用本项目前应充分了解相关法律法规
  • 使用者应确保其使用行为符合当地法律法规要求
  • 因违反法律法规使用本项目而产生的任何后果由使用者自行承担

漏洞报告方式见 SECURITY.md,请勿公开提交。


📄 许可证

本项目采用 Apache License 2.0,全文见 LICENSE。第三方技能与素材不随本仓库分发,其许可状态与归属见 THIRD_PARTY_NOTICES.md。


🎉 支持与联系

获取帮助

渠道 地址
常见问题解答 docs/FAQ.md
在线体验 http://159.75.21.251:3000/
问题反馈 Issues 页面
功能建议 Discussions 页面

联系方式

📧 邮箱:2730545346@qq.com

商务合作

  • 企业定制开发
  • 大数据服务
  • 学术合作
  • 技术培训

觉得有用?给个 ⭐ 吧

⭐ Star · 🍴 Fork · 🐛 Issues

Star History

Star History Chart

About

自托管 AI Agent 平台:拖拽式工作流 + 知识库 RAG + 23 个预置技能,默认 SQLite 单机可跑,一条 docker compose 私有化部署。Self-hosted, OpenAI-compatible.

Topics

Resources

Contributing

Security policy

Stars

23 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages