修复豆包text

This commit is contained in:
zhishi 2026-02-06 14:47:32 +08:00
parent 33db2c024c
commit 7abda02b25
3 changed files with 80 additions and 66 deletions

View File

@ -1,13 +1,18 @@
import { readFileSync, existsSync } from "fs"; import { readFileSync, existsSync, writeFileSync } from "fs";
function createDefaultEnvFile(path: string) {
const defaultContent = ["# 环境变量配置", "NODE_ENV=dev"].join("\n");
writeFileSync(path, defaultContent, { encoding: "utf8" });
console.log(`[环境变量]: 已创建默认的 ${path}`);
}
function loadDotenvESM(envPath = ".env.local") { function loadDotenvESM(envPath = ".env.local") {
// 尝试从 userData 目录读取环境变量,如果不存在则使用当前目录
let finalPath: string; let finalPath: string;
if (typeof process.versions?.electron !== "undefined") { if (typeof process.versions?.electron !== "undefined") {
const { app } = require("electron"); const { app } = require("electron");
finalPath = app.getPath("userData"); finalPath = app.getPath("userData") + `/${envPath}`;
// 如果 userData 目录中不存在,尝试使用当前目录 // 如果 userData 目录下的 env 文件不存在,则尝试当前目录
if (!existsSync(finalPath)) { if (!existsSync(finalPath)) {
finalPath = envPath; finalPath = envPath;
} }
@ -15,9 +20,9 @@ function loadDotenvESM(envPath = ".env.local") {
finalPath = envPath; finalPath = envPath;
} }
// 若文件不存在,自动创建一个带默认内容的环境变量文件
if (!existsSync(finalPath)) { if (!existsSync(finalPath)) {
console.log(`[环境变量]: ${envPath} 文件不存在`); createDefaultEnvFile(finalPath);
return;
} }
const text = readFileSync(finalPath, "utf8"); const text = readFileSync(finalPath, "utf8");
@ -25,7 +30,8 @@ function loadDotenvESM(envPath = ".env.local") {
const idx = line.indexOf("="); const idx = line.indexOf("=");
if (idx > 0) process.env[line.slice(0, idx).trim()] = line.slice(idx + 1).trim(); if (idx > 0) process.env[line.slice(0, idx).trim()] = line.slice(idx + 1).trim();
} }
console.log(`[环境变量]: ${finalPath}`); console.log(`[环境变量]: 已加载 ${finalPath}`);
} }
// 若非 Electron 环境,则加载 .env.local
if (typeof process.versions?.electron == "undefined") loadDotenvESM(".env.local"); if (typeof process.versions?.electron == "undefined") loadDotenvESM(".env.local");

View File

@ -1,4 +1,4 @@
// @routes-hash e51790d6b94bfa5992116635a72e547b // @routes-hash df8fc2bdd69f6bbf900ca75396098390
import { Express } from "express"; import { Express } from "express";
import route1 from "./routes/assets/addAssets"; import route1 from "./routes/assets/addAssets";
@ -44,34 +44,38 @@ import route40 from "./routes/prompt/updatePrompt";
import route41 from "./routes/script/generateScriptApi"; import route41 from "./routes/script/generateScriptApi";
import route42 from "./routes/script/generateScriptSave"; import route42 from "./routes/script/generateScriptSave";
import route43 from "./routes/script/geScriptApi"; import route43 from "./routes/script/geScriptApi";
import route44 from "./routes/setting/getLog"; import route44 from "./routes/setting/addModel";
import route45 from "./routes/setting/getSetting"; import route45 from "./routes/setting/configurationModel";
import route46 from "./routes/setting/updateSetting"; import route46 from "./routes/setting/delModel";
import route47 from "./routes/storyboard/batchSuperScoreImage"; import route47 from "./routes/setting/getAiModelMap";
import route48 from "./routes/storyboard/chatStoryboard"; import route48 from "./routes/setting/getLog";
import route49 from "./routes/storyboard/generateShotImage"; import route49 from "./routes/setting/getSetting";
import route50 from "./routes/storyboard/generateStoryboardApi"; import route50 from "./routes/setting/updeteModel";
import route51 from "./routes/storyboard/generateVideoPrompt"; import route51 from "./routes/storyboard/batchSuperScoreImage";
import route52 from "./routes/storyboard/getStoryboard"; import route52 from "./routes/storyboard/chatStoryboard";
import route53 from "./routes/storyboard/keepStoryboard"; import route53 from "./routes/storyboard/generateShotImage";
import route54 from "./routes/storyboard/saveStoryboard"; import route54 from "./routes/storyboard/generateStoryboardApi";
import route55 from "./routes/storyboard/uploadImage"; import route55 from "./routes/storyboard/generateVideoPrompt";
import route56 from "./routes/task/getTaskApi"; import route56 from "./routes/storyboard/getStoryboard";
import route57 from "./routes/task/taskDetails"; import route57 from "./routes/storyboard/keepStoryboard";
import route58 from "./routes/user/getUser"; import route58 from "./routes/storyboard/saveStoryboard";
import route59 from "./routes/video/addVideo"; import route59 from "./routes/storyboard/uploadImage";
import route60 from "./routes/video/addVideoConfig"; import route60 from "./routes/task/getTaskApi";
import route61 from "./routes/video/deleteVideoConfig"; import route61 from "./routes/task/taskDetails";
import route62 from "./routes/video/generatePrompt"; import route62 from "./routes/user/getUser";
import route63 from "./routes/video/generateVideo"; import route63 from "./routes/video/addVideo";
import route64 from "./routes/video/getManufacturer"; import route64 from "./routes/video/addVideoConfig";
import route65 from "./routes/video/getVideo"; import route65 from "./routes/video/deleteVideoConfig";
import route66 from "./routes/video/getVideoConfigs"; import route66 from "./routes/video/generatePrompt";
import route67 from "./routes/video/getVideoModel"; import route67 from "./routes/video/generateVideo";
import route68 from "./routes/video/getVideoStoryboards"; import route68 from "./routes/video/getManufacturer";
import route69 from "./routes/video/reviseVideoStoryboards"; import route69 from "./routes/video/getVideo";
import route70 from "./routes/video/saveVideo"; import route70 from "./routes/video/getVideoConfigs";
import route71 from "./routes/video/upDateVideoConfig"; import route71 from "./routes/video/getVideoModel";
import route72 from "./routes/video/getVideoStoryboards";
import route73 from "./routes/video/reviseVideoStoryboards";
import route74 from "./routes/video/saveVideo";
import route75 from "./routes/video/upDateVideoConfig";
export default async (app: Express) => { export default async (app: Express) => {
app.use("/assets/addAssets", route1); app.use("/assets/addAssets", route1);
@ -117,32 +121,36 @@ export default async (app: Express) => {
app.use("/script/generateScriptApi", route41); app.use("/script/generateScriptApi", route41);
app.use("/script/generateScriptSave", route42); app.use("/script/generateScriptSave", route42);
app.use("/script/geScriptApi", route43); app.use("/script/geScriptApi", route43);
app.use("/setting/getLog", route44); app.use("/setting/addModel", route44);
app.use("/setting/getSetting", route45); app.use("/setting/configurationModel", route45);
app.use("/setting/updateSetting", route46); app.use("/setting/delModel", route46);
app.use("/storyboard/batchSuperScoreImage", route47); app.use("/setting/getAiModelMap", route47);
app.use("/storyboard/chatStoryboard", route48); app.use("/setting/getLog", route48);
app.use("/storyboard/generateShotImage", route49); app.use("/setting/getSetting", route49);
app.use("/storyboard/generateStoryboardApi", route50); app.use("/setting/updeteModel", route50);
app.use("/storyboard/generateVideoPrompt", route51); app.use("/storyboard/batchSuperScoreImage", route51);
app.use("/storyboard/getStoryboard", route52); app.use("/storyboard/chatStoryboard", route52);
app.use("/storyboard/keepStoryboard", route53); app.use("/storyboard/generateShotImage", route53);
app.use("/storyboard/saveStoryboard", route54); app.use("/storyboard/generateStoryboardApi", route54);
app.use("/storyboard/uploadImage", route55); app.use("/storyboard/generateVideoPrompt", route55);
app.use("/task/getTaskApi", route56); app.use("/storyboard/getStoryboard", route56);
app.use("/task/taskDetails", route57); app.use("/storyboard/keepStoryboard", route57);
app.use("/user/getUser", route58); app.use("/storyboard/saveStoryboard", route58);
app.use("/video/addVideo", route59); app.use("/storyboard/uploadImage", route59);
app.use("/video/addVideoConfig", route60); app.use("/task/getTaskApi", route60);
app.use("/video/deleteVideoConfig", route61); app.use("/task/taskDetails", route61);
app.use("/video/generatePrompt", route62); app.use("/user/getUser", route62);
app.use("/video/generateVideo", route63); app.use("/video/addVideo", route63);
app.use("/video/getManufacturer", route64); app.use("/video/addVideoConfig", route64);
app.use("/video/getVideo", route65); app.use("/video/deleteVideoConfig", route65);
app.use("/video/getVideoConfigs", route66); app.use("/video/generatePrompt", route66);
app.use("/video/getVideoModel", route67); app.use("/video/generateVideo", route67);
app.use("/video/getVideoStoryboards", route68); app.use("/video/getManufacturer", route68);
app.use("/video/reviseVideoStoryboards", route69); app.use("/video/getVideo", route69);
app.use("/video/saveVideo", route70); app.use("/video/getVideoConfigs", route70);
app.use("/video/upDateVideoConfig", route71); app.use("/video/getVideoModel", route71);
app.use("/video/getVideoStoryboards", route72);
app.use("/video/reviseVideoStoryboards", route73);
app.use("/video/saveVideo", route74);
app.use("/video/upDateVideoConfig", route75);
} }

View File

@ -45,14 +45,14 @@ const buildOptions = async (input: AIInput<any>, config: AIConfig) => {
}, },
}; };
const output = input.output ? outputBuilders[owned.responseFormat]?.(input.output) ?? null : null; const output = input.output ? (outputBuilders[owned.responseFormat]?.(input.output) ?? null) : null;
return { return {
config: { config: {
model: model:
process.env.NODE_ENV === "dev" process.env.NODE_ENV === "dev"
? wrapLanguageModel({ ? wrapLanguageModel({
model: modelInstance(model!) as any, model: modelInstance.chat(model!) as any,
middleware: devToolsMiddleware(), middleware: devToolsMiddleware(),
}) })
: (modelInstance(model!) as LanguageModel), : (modelInstance(model!) as LanguageModel),