2025-04-17 16:38:35 +08:00
# 🦌 DeerFlow Web UI
2025-04-17 12:02:23 +08:00
[](https://opensource.org/licenses/MIT)
2025-04-25 15:14:04 +08:00
> Originated from Open Source, give back to Open Source.
2025-04-17 12:02:23 +08:00
2025-04-25 10:34:08 +08:00
This is the web UI for [`DeerFlow` ](https://github.com/bytedance/deer-flow ).
2025-04-17 16:38:35 +08:00
2025-05-13 19:53:28 +08:00
## Quick Start
### Prerequisites
- [`DeerFlow` ](https://github.com/bytedance/deer-flow )
- Node.js (v22.14.0+)
- pnpm (v10.6.2+) as package manager
### Configuration
Create a `.env` file in the project root and configure the following environment variables:
- `NEXT_PUBLIC_API_URL` : The URL of the deer-flow API.
It's always a good idea to start with the given example file, and edit the `.env` file with your own values:
```bash
cp .env.example .env
```
2025-04-17 16:38:35 +08:00
## How to Install
2025-04-25 15:14:04 +08:00
DeerFlow Web UI uses `pnpm` as its package manager.
To install the dependencies, run:
2025-04-17 16:38:35 +08:00
```bash
2025-04-17 16:57:33 +08:00
cd web
2025-04-17 16:38:35 +08:00
pnpm install
```
## How to Run in Development Mode
2025-04-25 15:40:34 +08:00
> [!NOTE]
> Ensure the Python API service is running before starting the web UI.
2025-04-17 16:57:33 +08:00
Start the web UI development server:
2025-04-17 16:38:35 +08:00
```bash
2025-04-17 16:57:33 +08:00
cd web
2025-04-17 16:38:35 +08:00
pnpm dev
```
By default, the web UI will be available at `http://localhost:3000` .
2025-04-17 12:02:23 +08:00
2025-04-21 21:10:36 +08:00
You can set the `NEXT_PUBLIC_API_URL` environment variable if you're using a different host or location.
2025-04-17 16:57:33 +08:00
```ini
# .env
NEXT_PUBLIC_API_URL=http://localhost:8000/api
```
2025-05-13 19:53:28 +08:00
## Docker
You can also run this project with Docker.
First, you need read the [configuration ](#configuration ) below. Make sure `.env` file is ready.
Second, to build a Docker image of your own web server:
```bash
docker build --build-arg NEXT_PUBLIC_API_URL=YOUR_DEER-FLOW_API -t deer-flow-web .
```
Final, start up a docker container running the web server:
```bash
# Replace deer-flow-web-app with your preferred container name
docker run -d -t -p 3000:3000 --env-file .env --name deer-flow-web-app deer-flow-web
# stop the server
docker stop deer-flow-web-app
```
### Docker Compose
You can also setup this project with the docker compose:
```bash
# building docker image
docker compose build
# start the server
docker compose up
```
2025-04-17 12:02:23 +08:00
## License
2025-04-25 10:34:08 +08:00
This project is open source and available under the [MIT License ](../LICENSE ).
2025-04-17 12:02:23 +08:00
## Acknowledgments
2025-04-25 15:14:04 +08:00
We extend our heartfelt gratitude to the open source community for their invaluable contributions.
DeerFlow is built upon the foundation of these outstanding projects:
2025-04-17 12:02:23 +08:00
In particular, we want to express our deep appreciation for:
2025-05-13 19:53:28 +08:00
- [Next.js ](https://nextjs.org/ ) for their exceptional framework
- [Shadcn ](https://ui.shadcn.com/ ) for their minimalistic components that powers our UI
- [Zustand ](https://zustand.docs.pmnd.rs/ ) for their stunning state management
- [Framer Motion ](https://www.framer.com/motion/ ) for their amazing animation library
- [React Markdown ](https://www.npmjs.com/package/react-markdown ) for their exceptional markdown rendering and customizability
- Last but not least, special thanks to [SToneX ](https://github.com/stonexer ) for his great contribution for [token-by-token visual effect ](./src/core/rehype/rehype-split-words-into-spans.ts )
2025-04-17 12:02:23 +08:00
2025-04-25 10:34:08 +08:00
These outstanding projects form the backbone of DeerFlow and exemplify the transformative power of open source collaboration.