feat: add NEXT_PUBLIC_BACKEND_BASE_URL

This commit is contained in:
Henry Li
2026-01-19 11:23:40 +08:00
parent d8391ca3ea
commit f3f66ee924
5 changed files with 19 additions and 10 deletions

View File

@@ -9,6 +9,9 @@
# When adding additional environment variables, the schema in "/src/env.js"
# should be updated accordingly.
# The base URL of DeerFlow's backend service
NEXT_PUBLIC_BACKEND_BASE_URL="http://localhost:8000"
# Better Auth
## Better Auth - Google OAuth
BETTER_AUTH_GOOGLE_CLIENT_ID=""

View File

@@ -2,16 +2,12 @@
import { Client as LangGraphClient } from "@langchain/langgraph-sdk/client";
import { getBackendBaseURL } from "../config";
let _singleton: LangGraphClient | null = null;
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({
apiUrl: "http://localhost:2024",
apiUrl: getBackendBaseURL(),
});
return _singleton;
}

View File

@@ -1,3 +1,4 @@
import { getBackendBaseURL } from "../config";
import type { AgentThread } from "../threads";
export function urlOfArtifact({
@@ -9,7 +10,7 @@ export function urlOfArtifact({
threadId: string;
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) {

View File

@@ -0,0 +1,5 @@
import { env } from "@/env";
export function getBackendBaseURL() {
return env.NEXT_PUBLIC_BACKEND_BASE_URL ?? "http://localhost:8000";
}

View File

@@ -24,7 +24,10 @@ export const env = createEnv({
* `NEXT_PUBLIC_`.
*/
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:
process.env.BETTER_AUTH_GITHUB_CLIENT_SECRET,
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