Flock is a workflow-based low-code platform for rapidly building chatbots, RAG, and coordinating multi-agent teams, powered by LangGraph, Langchain, FastAPI, and NextJS.(Flock 是一个基于workflow工作流的低代码平台,用于快速构建聊天机器人、RAG、Agent和Muti-Agent应用,采用 LangGraph、Langchain、FastAPI 和 NextJS 构建。)
简体中文 | English | 日本語 | Getting Started
[!NOTE]
🎉 What's New 2025/6/6
- LangManus Integration: Added support for LangManus, enabling more powerful agent orchestration capabilities! Special thanks to the open-source LangManus and deer-flow ! Key features:
- 🧠 Enhanced agent coordination and workflow management
- 🔄 Seamless integration with existing workflow nodes
- 🛠️ Advanced agent interaction patterns
- 🔗 Improved multi-agent collaboration capabilities
🎉 What's New 2025/5/9
- Agent Node Support: Added dedicated Agent Node for seamless agent integration in workflows! Key features:
- 🧠 Create autonomous agents that can reason, plan, and execute tasks
- 🔄 Support for multiple agent types and architectures
- 🛠️ Easy configuration of agent tools, and behaviors
- 🔗 Seamless integration with other workflow nodes
🎉 What's New 2025/3/10
- MCP Tools Support: Added MCP Node with support for Model Context Protocol (MCP) tools, enabling seamless integration with MCP servers! Key features:
- 🛠️ Convert MCP tools into LangChain tools for use with LangGraph agents
- 📦 Connect to multiple MCP servers and dynamically load tools from them
- 🔄 Support both stdio and SSE transport modes for flexible communication
- 🔗 Seamless integration with existing LangChain workflows
![]()
🎉 What's New 2025/2/25
- Parameter Extractor Node: Added parameter extraction node that can automatically extract structured information from text and output in JSON format!
🎉 What's New 2025/1/21
Subgraph Node Support: Added subgraph node that allows you to encapsulate and reuse complete sub-workflows!
- 📦 Modular: Encapsulate complex workflows as standalone subgraph nodes
- 🔄 Reusable: Reuse the same subgraph node across different workflows
- 🎯 Maintainable: Update and maintain sub-workflow logic independently
🎉 What's New 2025/1/8
- Human Node: Added a new human-in-the-loop node supporting key scenarios:
- 🛠️ Tool Call Review: Human review, edit, or approve tool calls requested by the LLM
- ✅ LLM Output Validation: Human review, edit, or approve content generated by the LLM
- 💡 Context Provision: Enable LLM to request human input for clarification or additional details
🎉 What's New 2024/12/23
- Multimodal Chat Support: Added support for multimodal chat (currently only supports image modality, with more modalities coming soon)!
🎉 What's New 2024/12/18
- If-Else Node: Added If-Else node to support conditional logic in workflows! The node supports various condition types including Contains, Not contains, Start with, End with, Is, Is not, Is empty, and Is not empty. Multiple conditions can be combined using AND/OR operators for complex conditional logic, allowing you to create sophisticated branching workflows based on your data.
🎉 What's New 2024/12/7
- Code Execution Node: Added Python code execution capabilities to workflows! This node allows you to write and execute Python scripts directly within your workflow, supporting variable references and dynamic data transformations. Perfect for arithmetic operations, data processing, text manipulation, and custom logic that goes beyond preset node functionalities.
🎉 What's New 2024/11/12
Intent Recognition Node: New Intent Recognition node that can automatically identify user input intent based on preset categories, supporting multi-classification routing!
CrewAI Node Support: Now you can leverage CrewAI's powerful multi-agent capabilities in your workflows! Create sophisticated agent teams and orchestrate complex collaborative tasks with ease.
Flock's workflow system consists of various node types, each serving a specific purpose:
Future planned nodes include:
These nodes can be combined to create powerful and flexible workflows suitable for various complex business needs and application scenarios.
Inspired by the StreetLamb project and its tribe project , Flock adopts much of the approach and code. Building on this foundation, it introduces some new features and directions of its own.
Some of the layout in this project references Lobe-chat, Dify, and fastgpt. They are all excellent open-source projects, thanks🙇.
Project tech stack: LangChain + LangGraph + React + Next.js + Chakra UI + PostgreSQL
[!NOTE]
🤖 Model System
Flock supports various model providers and makes it easy to add new ones. Check out our Models Guide to learn about supported models and how to add support for new providers.
🛠️ Tools System
Flock comes with various built-in tools and supports easy integration of custom tools. Check out our Tools Guide to learn about available tools and how to add your own.
1 APP
2 Model
3 Ohters
# Clone the repository
git clone https://github.com/Onelevenvy/flock.git
# Navigate to the docker directory
cd flock/docker
# Copy the environment configuration file
cp ../.env.example .env
# Modify environment variables in .env file as needed
# If deploying locally, you can keep the default values
# If deploying on a server, modify API_URL and NEXT_PUBLIC_API_URL values, for example:
API_URL=http://192.168.1.166:8000
NEXT_PUBLIC_API_URL=http://192.168.1.166:8000
# Start docker compose
docker compose up -d
# Clone the repository
git clone https://github.com/Onelevenvy/flock.git
# Navigate to the docker directory
cd flock/docker
# Copy the environment configuration file
cp ../.env.example .env
# First, build the frontend and backend images
docker compose -f docker-compose.localbuild.yml build
# Then start docker compose
docker compose -f docker-compose.localbuild.yml up -d
git clone https://github.com/Onelevenvy/flock.git
cp .env.example .env
# Modify environment variables in .env file as needed
Some environment variables in the .env file have default values set to 'changethis'. You must change these to secret keys. To generate a secret key, you can run the following command:
python -c "import secrets; print(secrets.token_urlsafe(32))"
Copy the output and use it as your password/key. Run the command again to generate another secure key.
cd docker
docker compose --env-file ../.env up -d
Server startup requires Python 3.12.x. It's recommended to use pyenv for quick Python environment installation.
To install additional Python versions, use pyenv install:
pyenv install 3.12
To switch to the "3.12" Python environment, use the following command:
pyenv global 3.12
Follow these steps: Navigate to the "backend" directory:
cd backend
Activate the environment:
uv sync --python 3.12
# Migrate database
alembic upgrade head
uvicorn app.main:app --reload --log-level debug
poetry run celery -A app.core.celery_app.celery_app worker --loglevel=debug
cd web
pnpm install
cd web
pnpm dev
# or pnpm build then pnpm start
No configuration available
Related projects feature coming soon
Will recommend related projects based on sub-categories