mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-05-23 00:16:48 +00:00
27b66d6753
Introduce an always-on auth layer with auto-created admin on first boot, multi-tenant isolation for threads/stores, and a full setup/login flow. Backend - JWT access tokens with `ver` field for stale-token rejection; bump on password/email change - Password hashing, HttpOnly+Secure cookies (Secure derived from request scheme at runtime) - CSRF middleware covering both REST and LangGraph routes - IP-based login rate limiting (5 attempts / 5-min lockout) with bounded dict growth and X-Forwarded-For bypass fix - Multi-worker-safe admin auto-creation (single DB write, WAL once) - needs_setup + token_version on User model; SQLite schema migration - Thread/store isolation by owner; orphan thread migration on first admin registration - thread_id validated as UUID to prevent log injection - CLI tool to reset admin password - Decorator-based authz module extracted from auth core Frontend - Login and setup pages with SSR guard for needs_setup flow - Account settings page (change password / email) - AuthProvider + route guards; skips redirect when no users registered - i18n (en-US / zh-CN) for auth surfaces - Typed auth API client; parseAuthError unwraps FastAPI detail envelope Infra & tooling - Unified `serve.sh` with gateway mode + auto dep install - Public PyPI uv.toml pin for CI compatibility - Regenerated uv.lock with public index Tests - HTTP vs HTTPS cookie security tests - Auth middleware, rate limiter, CSRF, setup flow coverage
96 lines
4.2 KiB
Plaintext
96 lines
4.2 KiB
Plaintext
---
|
|
title: DeerFlow Documentation
|
|
description: Understand DeerFlow, build with the Harness, and deploy the App.
|
|
---
|
|
|
|
# DeerFlow Documentation
|
|
|
|
DeerFlow is a framework for building and operating agent systems. It gives you a runtime harness for composing agents with memory, tools, skills, sandboxes, and subagents, and it also provides an application layer that turns those capabilities into a usable product experience.
|
|
|
|
This documentation is organized around those two parts:
|
|
|
|
- **DeerFlow Harness**: the core SDK and runtime layer for building your own agent system.
|
|
- **DeerFlow App**: a reference application built on top of the Harness for deployment, operations, and end-user workflows.
|
|
|
|
If you want to understand how DeerFlow works, start with the Introduction. If you want to build on the core runtime, go to the Harness docs. If you want to deploy and use DeerFlow as an application, go to the App docs.
|
|
|
|
## Start here
|
|
|
|
### If you are new to DeerFlow
|
|
|
|
Start with the conceptual overview first.
|
|
|
|
- [Introduction](/docs/introduction)
|
|
- [Why DeerFlow](/docs/introduction/why-deerflow)
|
|
- [Harness vs App](/docs/introduction/harness-vs-app)
|
|
|
|
### If you want to build with DeerFlow
|
|
|
|
Start with the Harness section. This path is for teams who want to integrate DeerFlow capabilities into their own system or build a custom agent product on top of the DeerFlow runtime.
|
|
|
|
- [DeerFlow Harness](/docs/harness)
|
|
- [Quick Start](/docs/harness/quick-start)
|
|
- [Configuration](/docs/harness/configuration)
|
|
- [Customization](/docs/harness/customization)
|
|
|
|
### If you want to deploy and use DeerFlow
|
|
|
|
Start with the App section. This path is for teams who want to run DeerFlow as a complete application and understand how to configure, operate, and use it in practice.
|
|
|
|
- [DeerFlow App](/docs/app)
|
|
- [Quick Start](/docs/app/quick-start)
|
|
- [Deployment Guide](/docs/app/deployment-guide)
|
|
- [Workspace Usage](/docs/app/workspace-usage)
|
|
|
|
## Documentation structure
|
|
|
|
### Introduction
|
|
|
|
The Introduction section helps you build the right mental model before you look at implementation details.
|
|
|
|
- **What is DeerFlow** explains what DeerFlow is and what problems it is designed to solve.
|
|
- **Why DeerFlow** explains the motivation behind the project.
|
|
- **Core Concepts** introduces the concepts that appear across the documentation.
|
|
- **Harness vs App** explains the relationship between the runtime layer and the application layer.
|
|
|
|
### DeerFlow Harness
|
|
|
|
The Harness section is the core of the technical documentation. It is written for developers who want to build their own DeerFlow-based system.
|
|
|
|
- **Quick Start** shows how to create your first harness with the core DeerFlow API.
|
|
- **Design Principles** explains the architectural ideas behind the Harness.
|
|
- **Configuration** covers the main configuration surface of the SDK/runtime.
|
|
- **Memory**, **Tools**, **Skills**, and **Sandbox** explain the major system capabilities separately.
|
|
- **Customization** shows how to adapt DeerFlow to your own product requirements.
|
|
- **Integration Guide** explains how to integrate the Harness into a larger system.
|
|
|
|
### DeerFlow App
|
|
|
|
The App section is written for teams who want to deploy DeerFlow as a usable product.
|
|
|
|
- **Quick Start** helps you run the application locally.
|
|
- **Deployment Guide** explains how to deploy DeerFlow in your own environment.
|
|
- **Configuration** covers the application-level configuration model.
|
|
- **Workspace Usage** explains the main user workflows.
|
|
- **Agents and Threads** explains how users interact with DeerFlow in practice.
|
|
- **Operations and Troubleshooting** covers maintenance and production usage.
|
|
|
|
### Tutorials
|
|
|
|
The Tutorials section is for hands-on, task-oriented learning.
|
|
|
|
- [Tutorials](/docs/tutorials)
|
|
|
|
### Reference
|
|
|
|
The Reference section is for detailed lookup material, including configuration, runtime modes, APIs, and source-oriented mapping.
|
|
|
|
- [Reference](/docs/reference)
|
|
|
|
## Choose the right path
|
|
|
|
- If you are **evaluating the project**, start with [Introduction](/docs/introduction).
|
|
- If you are **building your own agent system**, start with [DeerFlow Harness](/docs/harness).
|
|
- If you are **deploying DeerFlow for users**, start with [DeerFlow App](/docs/app).
|
|
- If you want to **learn by doing**, go to [Tutorials](/docs/tutorials).
|