mirror of
https://git.mirrors.martin98.com/https://github.com/bytedance/deer-flow
synced 2025-08-20 12:39:15 +08:00
Merge branch 'bytedance:main' into main
This commit is contained in:
commit
d302ae578d
@ -12,3 +12,6 @@ VOLCENGINE_TTS_APPID=xxx
|
|||||||
VOLCENGINE_TTS_ACCESS_TOKEN=xxx
|
VOLCENGINE_TTS_ACCESS_TOKEN=xxx
|
||||||
# VOLCENGINE_TTS_CLUSTER=volcano_tts # Optional, default is volcano_tts
|
# VOLCENGINE_TTS_CLUSTER=volcano_tts # Optional, default is volcano_tts
|
||||||
# VOLCENGINE_TTS_VOICE_TYPE=BV700_V2_streaming # Optional, default is BV700_V2_streaming
|
# VOLCENGINE_TTS_VOICE_TYPE=BV700_V2_streaming # Optional, default is BV700_V2_streaming
|
||||||
|
|
||||||
|
# [!NOTE]
|
||||||
|
# For model settings and other configurations, please refer to `docs/configuration_guide.md`
|
||||||
|
@ -92,7 +92,7 @@ brew install marp-cli
|
|||||||
Optionally, install web UI dependencies via [pnpm](https://pnpm.io/installation):
|
Optionally, install web UI dependencies via [pnpm](https://pnpm.io/installation):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd web
|
cd deer-flow/web
|
||||||
pnpm install
|
pnpm install
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
# [!NOTE]
|
||||||
# Read the `docs/configuration_guide.md` carefully, and update the configurations to match your specific settings and requirements.
|
# Read the `docs/configuration_guide.md` carefully, and update the configurations to match your specific settings and requirements.
|
||||||
# - Replace `api_key` with your own credentials
|
# - Replace `api_key` with your own credentials
|
||||||
# - Replace `base_url` and `model` name if you want to use a custom model
|
# - Replace `base_url` and `model` name if you want to use a custom model
|
||||||
|
@ -1,5 +1,14 @@
|
|||||||
# Configuration Guide
|
# Configuration Guide
|
||||||
|
|
||||||
|
## Quick Settings
|
||||||
|
|
||||||
|
Copy the `conf.yaml.example` file to `conf.yaml` and modify the configurations to match your specific settings and requirements.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd deer-flow
|
||||||
|
cp conf.yaml.example conf.yaml
|
||||||
|
```
|
||||||
|
|
||||||
## Which models does DeerFlow support?
|
## Which models does DeerFlow support?
|
||||||
|
|
||||||
In DeerFlow, currently we only support non-reasoning models, which means models like OpenAI's o1/o3 or DeepSeek's R1 are not supported yet, but we will add support for them in the future.
|
In DeerFlow, currently we only support non-reasoning models, which means models like OpenAI's o1/o3 or DeepSeek's R1 are not supported yet, but we will add support for them in the future.
|
||||||
|
@ -18,11 +18,11 @@
|
|||||||
|
|
||||||
## APIs
|
## APIs
|
||||||
|
|
||||||
### Get Information of MCP Server
|
### Get metadata of MCP Server
|
||||||
|
|
||||||
**POST /api/mcp/server/metadata**
|
**POST /api/mcp/server/metadata**
|
||||||
|
|
||||||
For stdio type:
|
For `stdio` type:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"transport": "stdio",
|
"transport": "stdio",
|
||||||
@ -32,7 +32,7 @@ For stdio type:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
For SSE type:
|
For `sse` type:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"transport": "sse",
|
"transport": "sse",
|
||||||
|
@ -1,68 +0,0 @@
|
|||||||
# SSE Integration Test
|
|
||||||
|
|
||||||
## Auto Accepted Case
|
|
||||||
```
|
|
||||||
curl --location 'http://localhost:8000/api/chat/stream' \
|
|
||||||
--header 'Accept: */*' \
|
|
||||||
--header 'Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7' \
|
|
||||||
--header 'Cache-Control: no-cache' \
|
|
||||||
--header 'Connection: keep-alive' \
|
|
||||||
--header 'Content-Type: application/json' \
|
|
||||||
--data '{
|
|
||||||
"messages": [
|
|
||||||
{
|
|
||||||
"role": "user",
|
|
||||||
"content": "what is mcp?"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"thread_id": "test_thread_1",
|
|
||||||
"auto_accepted_plan": true
|
|
||||||
}'
|
|
||||||
```
|
|
||||||
|
|
||||||
## Human in the Loop Case
|
|
||||||
|
|
||||||
### Initial Plan
|
|
||||||
```
|
|
||||||
curl --location 'http://localhost:8000/api/chat/stream' \
|
|
||||||
--header 'Accept: */*' \
|
|
||||||
--header 'Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7' \
|
|
||||||
--header 'Cache-Control: no-cache' \
|
|
||||||
--header 'Connection: keep-alive' \
|
|
||||||
--header 'Content-Type: application/json' \
|
|
||||||
--data '{
|
|
||||||
"messages": [
|
|
||||||
{
|
|
||||||
"role": "user",
|
|
||||||
"content": "what is mcp?"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"thread_id": "test_thread_2",
|
|
||||||
"auto_accepted_plan": false
|
|
||||||
}'
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### Edit the plan
|
|
||||||
```
|
|
||||||
{
|
|
||||||
"messages": [
|
|
||||||
{
|
|
||||||
"role": "user",
|
|
||||||
"content": "make the last step be comprehensive"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"thread_id": "test_thread_2",
|
|
||||||
"auto_accepted_plan": false,
|
|
||||||
"interrupt_feedback": "edit_plan"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Accept the plan
|
|
||||||
```
|
|
||||||
{
|
|
||||||
"thread_id": "test_thread_2",
|
|
||||||
"auto_accepted_plan": false,
|
|
||||||
"interrupt_feedback": "accepted"
|
|
||||||
}
|
|
||||||
```
|
|
@ -5,8 +5,10 @@ import "~/styles/globals.css";
|
|||||||
|
|
||||||
import { type Metadata } from "next";
|
import { type Metadata } from "next";
|
||||||
import { Geist } from "next/font/google";
|
import { Geist } from "next/font/google";
|
||||||
|
import Script from "next/script";
|
||||||
|
|
||||||
import { ThemeProviderWrapper } from "~/components/deer-flow/theme-provider-wrapper";
|
import { ThemeProviderWrapper } from "~/components/deer-flow/theme-provider-wrapper";
|
||||||
|
import { env } from "~/env";
|
||||||
|
|
||||||
import { Toaster } from "../components/deer-flow/toaster";
|
import { Toaster } from "../components/deer-flow/toaster";
|
||||||
|
|
||||||
@ -30,6 +32,20 @@ export default function RootLayout({
|
|||||||
<body className="bg-app">
|
<body className="bg-app">
|
||||||
<ThemeProviderWrapper>{children}</ThemeProviderWrapper>
|
<ThemeProviderWrapper>{children}</ThemeProviderWrapper>
|
||||||
<Toaster />
|
<Toaster />
|
||||||
|
{
|
||||||
|
// NO USER BEHAVIOR TRACKING OR PRIVATE DATA COLLECTION BY DEFAULT
|
||||||
|
//
|
||||||
|
// When `NEXT_PUBLIC_STATIC_WEBSITE_ONLY` is `true`, the script will be injected
|
||||||
|
// into the page only when `AMPLITUDE_API_KEY` is provided in `.env`
|
||||||
|
}
|
||||||
|
{env.NEXT_PUBLIC_STATIC_WEBSITE_ONLY && env.AMPLITUDE_API_KEY && (
|
||||||
|
<>
|
||||||
|
<Script src="https://cdn.amplitude.com/script/d2197dd1df3f2959f26295bb0e7e849f.js"></Script>
|
||||||
|
<Script id="amplitude-init" strategy="lazyOnload">
|
||||||
|
{`window.amplitude.init('${env.AMPLITUDE_API_KEY}', {"fetchRemoteConfig":true,"autocapture":true});`}
|
||||||
|
</Script>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
|
@ -11,6 +11,7 @@ export const env = createEnv({
|
|||||||
*/
|
*/
|
||||||
server: {
|
server: {
|
||||||
NODE_ENV: z.enum(["development", "test", "production"]),
|
NODE_ENV: z.enum(["development", "test", "production"]),
|
||||||
|
AMPLITUDE_API_KEY: z.string().optional(),
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -32,6 +33,7 @@ export const env = createEnv({
|
|||||||
NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL,
|
NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL,
|
||||||
NEXT_PUBLIC_STATIC_WEBSITE_ONLY:
|
NEXT_PUBLIC_STATIC_WEBSITE_ONLY:
|
||||||
process.env.NEXT_PUBLIC_STATIC_WEBSITE_ONLY === "true",
|
process.env.NEXT_PUBLIC_STATIC_WEBSITE_ONLY === "true",
|
||||||
|
AMPLITUDE_API_KEY: process.env.AMPLITUDE_API_KEY,
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially
|
* Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially
|
||||||
|
Loading…
x
Reference in New Issue
Block a user