Files
deer-flow/web
CHANGXUBO 1bfec3ad05 feat: Enhance chat streaming and tool call processing (#498)
* feat: Enhance chat streaming and tool call processing

- Added support for MongoDB checkpointer in the chat streaming workflow.
- Introduced functions to process tool call chunks and sanitize arguments.
- Improved event message creation with additional metadata.
- Enhanced error handling for JSON serialization in event messages.
- Updated the frontend to convert escaped characters in tool call arguments.
- Refactored the workflow input preparation and initial message processing.
- Added new dependencies for MongoDB integration and tool argument sanitization.

* fix: Update MongoDB checkpointer configuration to use LANGGRAPH_CHECKPOINT_DB_URL

* feat: Add support for Postgres checkpointing and update README with database recommendations

* feat: Implement checkpoint saver functionality and update MongoDB connection handling

* refactor: Improve code formatting and readability in app.py and json_utils.py

* refactor: Clean up commented code and improve formatting in server.py

* refactor: Remove unused imports and improve code organization in app.py

* refactor: Improve code organization and remove unnecessary comments in app.py

* chore: use langgraph-checkpoint-postgres==2.0.21 to avoid the JSON convert issue in the latest version, implement chat stream persistant with Postgres

* feat: add MongoDB and PostgreSQL support for LangGraph checkpointing, enhance environment variable handling

* fix: update comments for clarity on Windows event loop policy

* chore: remove empty code changes in MongoDB and PostgreSQL checkpoint tests

* chore: clean up unused imports and code in checkpoint-related files

* chore: remove empty code changes in test_checkpoint.py

* chore: remove empty code changes in test_checkpoint.py

* chore: remove empty code changes in test_checkpoint.py

* test: update status code assertions in MCP endpoint tests to allow for 403 responses

* test: update MCP endpoint tests to assert specific status codes and enable MCP server configuration

* chore: remove unnecessary environment variables from unittest workflow

* fix: invert condition for MCP server configuration check to raise 403 when disabled

* chore: remove pymongo from test dependencies in uv.lock

* chore:  optimize the _get_agent_name method

* test: enhance ChatStreamManager tests for PostgreSQL and MongoDB initialization

* test: add persistence tests for ChatStreamManager with PostgreSQL and MongoDB

* test: add unit tests for ChatStreamManager initialization with PostgreSQL and MongoDB

* test: enhance persistence tests for ChatStreamManager with PostgreSQL and MongoDB to verify message aggregation

* test: add unit tests for ChatStreamManager with PostgreSQL and MongoDB

* test: add unit tests for ChatStreamManager initialization with PostgreSQL and MongoDB

* test: add unit tests for ChatStreamManager initialization with PostgreSQL and MongoDB

---------

Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
2025-08-16 21:03:12 +08:00
..
2025-06-14 13:12:43 +08:00
2025-07-14 18:56:17 +08:00
2025-05-13 19:53:28 +08:00
2025-04-17 12:02:23 +08:00
2025-04-17 12:02:23 +08:00
2025-05-13 19:53:28 +08:00
2025-07-24 16:53:40 +08:00
2025-05-13 19:53:28 +08:00
2025-04-17 12:02:23 +08:00

🦌 DeerFlow Web UI

License: MIT

Originated from Open Source, give back to Open Source.

This is the web UI for DeerFlow.

Quick Start

Prerequisites

  • DeerFlow
  • 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:

cp .env.example .env

How to Install

DeerFlow Web UI uses pnpm as its package manager. To install the dependencies, run:

cd web
pnpm install

How to Run in Development Mode

Note

Ensure the Python API service is running before starting the web UI.

Start the web UI development server:

cd web
pnpm dev

By default, the web UI will be available at http://localhost:3000.

You can set the NEXT_PUBLIC_API_URL environment variable if you're using a different host or location.

# .env
NEXT_PUBLIC_API_URL=http://localhost:8000/api

Docker

You can also run this project with Docker.

First, you need read the configuration below. Make sure .env file is ready.

Second, to build a Docker image of your own web server:

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:

# 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:

# building docker image
docker compose build

# start the server
docker compose up

License

This project is open source and available under the MIT License.

Acknowledgments

We extend our heartfelt gratitude to the open source community for their invaluable contributions. DeerFlow is built upon the foundation of these outstanding projects:

In particular, we want to express our deep appreciation for:

These outstanding projects form the backbone of DeerFlow and exemplify the transformative power of open source collaboration.