Files
deer-flow/web
Jiahe Wu a4f64abd1f feat(web): add multi-format report export (Markdown, HTML, PDF, Word,… (#756)
* feat(web): add multi-format report export (Markdown, HTML, PDF, Word, Image)

* fix: correct import order for docx (lint error)

* fix(web): address Copilot review comments for multi-format export

- Add i18n support for dropdown menu items (en/zh)

- Add DOMPurify for HTML sanitization (XSS protection)

- Fix async handling for canvas.toBlob with Promise wrapper

- Add toast notifications for export errors

- Fix Tooltip + DropdownMenuTrigger nesting (accessibility)

- Ensure container cleanup in finally block

* fix(web): enhance markdown parsing for PDF and Word export

- Add list support (bullet and numbered) for PDF export
- Add parseInlineMarkdown helper for Word export to handle bold, italic, code, links
- Add list support for Word export (bullet and numbered)
- Address Copilot review comments from PR #756

* fix(web): address PR review feedback for multi-format export

- Extract PDF formatting magic numbers into PDF_CONSTANTS

- Add Tooltip wrapper for download dropdown button

- Reduce triggerDownload cleanup timeout from 1000ms to 100ms

- Use marked.Lexer.lexInline for robust markdown parsing

- Add console.warn for image export cleanup errors

- Add numbering config for Word document ordered lists

- Fix CSS class typo: px-5pb-20 -> px-5 pb-20

- Remove unreachable dead code in parseInlineMarkdown

---------

Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
2025-12-16 09:06:24 +08:00
..
2025-06-14 13:12:43 +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-05-13 19:53:28 +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.