mirror of
https://gitee.com/wanwujie/deer-flow
synced 2026-04-19 04:14:46 +08:00
feat: add NEXT_PUBLIC_BACKEND_BASE_URL
This commit is contained in:
@@ -9,6 +9,9 @@
|
|||||||
# When adding additional environment variables, the schema in "/src/env.js"
|
# When adding additional environment variables, the schema in "/src/env.js"
|
||||||
# should be updated accordingly.
|
# should be updated accordingly.
|
||||||
|
|
||||||
|
# The base URL of DeerFlow's backend service
|
||||||
|
NEXT_PUBLIC_BACKEND_BASE_URL="http://localhost:8000"
|
||||||
|
|
||||||
# Better Auth
|
# Better Auth
|
||||||
## Better Auth - Google OAuth
|
## Better Auth - Google OAuth
|
||||||
BETTER_AUTH_GOOGLE_CLIENT_ID=""
|
BETTER_AUTH_GOOGLE_CLIENT_ID=""
|
||||||
|
|||||||
@@ -2,16 +2,12 @@
|
|||||||
|
|
||||||
import { Client as LangGraphClient } from "@langchain/langgraph-sdk/client";
|
import { Client as LangGraphClient } from "@langchain/langgraph-sdk/client";
|
||||||
|
|
||||||
|
import { getBackendBaseURL } from "../config";
|
||||||
|
|
||||||
let _singleton: LangGraphClient | null = null;
|
let _singleton: LangGraphClient | null = null;
|
||||||
export function getAPIClient(): LangGraphClient {
|
export function getAPIClient(): LangGraphClient {
|
||||||
let url: URL | null = null;
|
|
||||||
if (typeof window === "undefined") {
|
|
||||||
url = new URL("/api/langgraph", "http://localhost:3000");
|
|
||||||
} else {
|
|
||||||
url = new URL("/api/langgraph", window.location.origin);
|
|
||||||
}
|
|
||||||
_singleton ??= new LangGraphClient({
|
_singleton ??= new LangGraphClient({
|
||||||
apiUrl: "http://localhost:2024",
|
apiUrl: getBackendBaseURL(),
|
||||||
});
|
});
|
||||||
return _singleton;
|
return _singleton;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { getBackendBaseURL } from "../config";
|
||||||
import type { AgentThread } from "../threads";
|
import type { AgentThread } from "../threads";
|
||||||
|
|
||||||
export function urlOfArtifact({
|
export function urlOfArtifact({
|
||||||
@@ -9,7 +10,7 @@ export function urlOfArtifact({
|
|||||||
threadId: string;
|
threadId: string;
|
||||||
download?: boolean;
|
download?: boolean;
|
||||||
}) {
|
}) {
|
||||||
return `http://localhost:8000/api/threads/${threadId}/artifacts${filepath}${download ? "?download=true" : ""}`;
|
return `${getBackendBaseURL()}/api/threads/${threadId}/artifacts${filepath}${download ? "?download=true" : ""}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function extractArtifactsFromThread(thread: AgentThread) {
|
export function extractArtifactsFromThread(thread: AgentThread) {
|
||||||
|
|||||||
5
frontend/src/core/config/index.ts
Normal file
5
frontend/src/core/config/index.ts
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import { env } from "@/env";
|
||||||
|
|
||||||
|
export function getBackendBaseURL() {
|
||||||
|
return env.NEXT_PUBLIC_BACKEND_BASE_URL ?? "http://localhost:8000";
|
||||||
|
}
|
||||||
@@ -24,7 +24,10 @@ export const env = createEnv({
|
|||||||
* `NEXT_PUBLIC_`.
|
* `NEXT_PUBLIC_`.
|
||||||
*/
|
*/
|
||||||
client: {
|
client: {
|
||||||
// NEXT_PUBLIC_CLIENTVAR: z.string(),
|
NEXT_PUBLIC_BACKEND_BASE_URL: z
|
||||||
|
.string()
|
||||||
|
.optional()
|
||||||
|
.default("http://localhost:8000/api"),
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -37,7 +40,8 @@ export const env = createEnv({
|
|||||||
BETTER_AUTH_GITHUB_CLIENT_SECRET:
|
BETTER_AUTH_GITHUB_CLIENT_SECRET:
|
||||||
process.env.BETTER_AUTH_GITHUB_CLIENT_SECRET,
|
process.env.BETTER_AUTH_GITHUB_CLIENT_SECRET,
|
||||||
NODE_ENV: process.env.NODE_ENV,
|
NODE_ENV: process.env.NODE_ENV,
|
||||||
// NEXT_PUBLIC_CLIENTVAR: process.env.NEXT_PUBLIC_CLIENTVAR,
|
|
||||||
|
NEXT_PUBLIC_BACKEND_BASE_URL: process.env.NEXT_PUBLIC_BACKEND_BASE_URL,
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 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
|
||||||
|
|||||||
Reference in New Issue
Block a user