Merge branch 'develop' of https://github.com/HBAI-Ltd/Toonflow-app into develop

# Conflicts:
#	src/router.ts
This commit is contained in:
ACT丶流星雨 2026-04-13 03:46:42 +08:00
commit 9efd5edb18
11 changed files with 493 additions and 156 deletions

View File

@ -59,6 +59,14 @@ export default async (knex: Knex): Promise<void> => {
// 添加新字段
await addColumn("o_prompt", "useData", "text");
// 添加新字段
await addColumn("o_agentDeploy", "type", "string");
// 添加新字段
await addColumn("o_agentDeploy", "topP", "integer");
// 添加新字段
await addColumn("o_agentDeploy", "temperature", "integer");
// 添加新字段
await addColumn("o_agentDeploy", "maxOutputTokens", "integer");
//矫正提示词
await db("o_prompt").where("type", "scriptAssetExtraction").update({

View File

@ -58,7 +58,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise<void> =>
table.primary(["id"]);
table.unique(["id"]);
},
initData: async (knex) => {},
initData: async (knex) => { },
},
//Agent配置表
{
@ -71,6 +71,10 @@ export default async (knex: Knex, forceInit: boolean = false): Promise<void> =>
table.text("vendorId");
table.string("desc");
table.string("name");
table.string("type");
table.integer("topP");
table.integer("temperature");
table.integer("maxOutputTokens");
table.boolean("disabled").defaultTo(false);
table.primary(["id"]);
table.unique(["id"]);
@ -84,6 +88,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise<void> =>
key: "scriptAgent",
name: "剧本Agent",
desc: "用于读取原文生成故事骨架、改编策略,建议使用具备强大文本理解和生成能力的模型",
type: "普通",
disabled: false,
},
{
@ -93,6 +98,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise<void> =>
key: "productionAgent",
name: "生产Agent",
desc: "对工作流进行调度和管理,建议使用具备较强的逻辑推理和任务管理能力的模型",
type: "普通",
disabled: false,
},
{
@ -102,6 +108,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise<void> =>
key: "universalAi",
name: "通用AI",
desc: "用于小说事件提取、资产提示词生成、台词提取等边缘功能,建议使用具备较强文本处理能力的模型",
type: "普通",
disabled: false,
},
{
@ -111,8 +118,179 @@ export default async (knex: Knex, forceInit: boolean = false): Promise<void> =>
key: "ttsDubbing",
name: "TTS配音",
desc: "根据剧本内容生成角色配音,支持多种声音风格和情绪",
type: "普通",
disabled: true,
},
{
model: "",
modelName: "",
vendorId: null,
key: "scriptAgent:decisionAgent",
name: "剧本Agent:决策层",
desc: "决策层",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "scriptAgent:supervisionAgent",
name: "剧本Agent:监督层",
desc: "监督层",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "scriptAgent:storySkeletonAgent",
name: "剧本Agent:故事骨架",
desc: "故事骨架生成",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "scriptAgent:adaptationStrategyAgent",
name: "剧本Agent:改编策略",
desc: "改编策略生成",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "scriptAgent:scriptAgent",
name: "剧本Agent:剧本生成",
desc: "剧本生成",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "productionAgent:decisionAgent",
name: "生产Agent:决策层",
desc: "决策层",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "productionAgent:supervisionAgent",
name: "生产Agent:监督层",
desc: "监督层",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "productionAgent:deriveAssetsAgent",
name: "生产Agent:衍生资产",
desc: "衍生资产",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "productionAgent:generateAssetsAgent",
name: "生产Agent:生成资产",
desc: "生成资产",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "productionAgent:directorPlanAgent",
name: "生产Agent:导演规划",
desc: "导演规划",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "productionAgent:storyboardGenAgent",
name: "生产Agent:分镜生成",
desc: "分镜生成",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "productionAgent:storyboardPanelAgent",
name: "生产Agent:分镜面板",
desc: "分镜面板生成",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
{
model: "",
modelName: "",
vendorId: null,
key: "productionAgent:storyboardTableAgent",
name: "生产Agent:分镜表格",
desc: "分镜表格生成",
type: "高级",
topP: 1,
temperature: 1,
maxOutputTokens: 0,
disabled: false,
},
]);
},
},
@ -186,7 +364,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise<void> =>
table.primary(["id"]);
table.unique(["id"]);
},
initData: async (knex) => {},
initData: async (knex) => { },
},
//提示词表
{
@ -231,7 +409,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise<void> =>
table.primary(["id"]);
table.unique(["id"]);
},
initData: async (knex) => {},
initData: async (knex) => { },
},
//小说原文表
{
@ -310,7 +488,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise<void> =>
table.primary(["id"]);
table.unique(["id"]);
},
initData: async (knex) => {},
initData: async (knex) => { },
},
//生成图片表
{

View File

@ -1,4 +1,4 @@
// @routes-hash 9d985ef3adbb99ec14da4f4f03dc24db
// @routes-hash 0eb42cb2928b13229e60a26b83f977a9
import { Express } from "express";
import route1 from "./routes/agents/clearMemory";
@ -75,78 +75,79 @@ import route71 from "./routes/production/storyboard/previewImage";
import route72 from "./routes/production/storyboard/removeFrame";
import route73 from "./routes/production/storyboard/updateStoryboardUrl";
import route74 from "./routes/production/workbench/addTrack";
import route75 from "./routes/production/workbench/deleteTrack";
import route76 from "./routes/production/workbench/delVideo";
import route77 from "./routes/production/workbench/generateVideo";
import route78 from "./routes/production/workbench/generateVideoPrompt";
import route79 from "./routes/production/workbench/getGenerateData";
import route80 from "./routes/production/workbench/getVideoList";
import route81 from "./routes/production/workbench/selectVideo";
import route82 from "./routes/production/workbench/updateVideoPrompt";
import route83 from "./routes/project/addDirectorManual";
import route84 from "./routes/project/addProject";
import route85 from "./routes/project/addVisualManual";
import route86 from "./routes/project/deleteDirectorManual";
import route87 from "./routes/project/deleteVisualManual";
import route88 from "./routes/project/delProject";
import route89 from "./routes/project/editDirectorlManual";
import route90 from "./routes/project/editProject";
import route91 from "./routes/project/editVisualManual";
import route92 from "./routes/project/getModelDetails";
import route93 from "./routes/project/getProject";
import route94 from "./routes/project/getVisualManual";
import route95 from "./routes/project/queryDirectorManual";
import route96 from "./routes/project/visualManual";
import route97 from "./routes/script/addScript";
import route98 from "./routes/script/batchAddScript";
import route99 from "./routes/script/delScript";
import route100 from "./routes/script/exportScript";
import route101 from "./routes/script/extractAssets";
import route102 from "./routes/script/getAiRegex";
import route103 from "./routes/script/getScrptApi";
import route104 from "./routes/script/pollScriptAssets";
import route105 from "./routes/script/updateScript";
import route106 from "./routes/scriptAgent/getPlanData";
import route107 from "./routes/scriptAgent/setPlanData";
import route108 from "./routes/scriptAgent/updateData";
import route109 from "./routes/setting/about/checkUpdate";
import route110 from "./routes/setting/about/downloadApp";
import route111 from "./routes/setting/agentDeploy/agentSetKey";
import route112 from "./routes/setting/agentDeploy/deployAgentModel";
import route113 from "./routes/setting/agentDeploy/getAgentDeploy";
import route114 from "./routes/setting/dbConfig/clearData";
import route115 from "./routes/setting/dev/getSwitchAiDevTool";
import route116 from "./routes/setting/dev/updateSwitchAiDevTool";
import route117 from "./routes/setting/fileManagement/openFolder";
import route118 from "./routes/setting/getTextModel";
import route119 from "./routes/setting/loginConfig/getUser";
import route120 from "./routes/setting/loginConfig/updateUserPwd";
import route121 from "./routes/setting/memoryConfig/delAllMemory";
import route122 from "./routes/setting/memoryConfig/getMemory";
import route123 from "./routes/setting/memoryConfig/sureMemory";
import route124 from "./routes/setting/modelMap/bindingPrompt";
import route125 from "./routes/setting/modelMap/getImageAndVideoModel";
import route126 from "./routes/setting/promptManage/getPrompt";
import route127 from "./routes/setting/promptManage/updatePrompt";
import route128 from "./routes/setting/skillManagement/getSkillContent";
import route129 from "./routes/setting/skillManagement/getSkillList";
import route130 from "./routes/setting/skillManagement/saveSkillContent";
import route131 from "./routes/setting/vendorConfig/addVendor";
import route132 from "./routes/setting/vendorConfig/addVendorModel";
import route133 from "./routes/setting/vendorConfig/deleteVendor";
import route134 from "./routes/setting/vendorConfig/delVendorModel";
import route135 from "./routes/setting/vendorConfig/enableVendor";
import route136 from "./routes/setting/vendorConfig/getCodeByLink";
import route137 from "./routes/setting/vendorConfig/getVendorList";
import route138 from "./routes/setting/vendorConfig/modelTest";
import route139 from "./routes/setting/vendorConfig/updateCode";
import route140 from "./routes/setting/vendorConfig/updateVendorInputs";
import route141 from "./routes/setting/vendorConfig/upVendorModel";
import route142 from "./routes/task/getProject";
import route143 from "./routes/task/getTaskApi";
import route144 from "./routes/task/getTaskCategories";
import route145 from "./routes/task/taskDetails";
import route146 from "./routes/test/test";
import route75 from "./routes/production/workbench/checkVideoStateList";
import route76 from "./routes/production/workbench/deleteTrack";
import route77 from "./routes/production/workbench/delVideo";
import route78 from "./routes/production/workbench/generateVideo";
import route79 from "./routes/production/workbench/generateVideoPrompt";
import route80 from "./routes/production/workbench/getGenerateData";
import route81 from "./routes/production/workbench/getVideoList";
import route82 from "./routes/production/workbench/selectVideo";
import route83 from "./routes/production/workbench/updateVideoPrompt";
import route84 from "./routes/project/addDirectorManual";
import route85 from "./routes/project/addProject";
import route86 from "./routes/project/addVisualManual";
import route87 from "./routes/project/deleteDirectorManual";
import route88 from "./routes/project/deleteVisualManual";
import route89 from "./routes/project/delProject";
import route90 from "./routes/project/editDirectorlManual";
import route91 from "./routes/project/editProject";
import route92 from "./routes/project/editVisualManual";
import route93 from "./routes/project/getModelDetails";
import route94 from "./routes/project/getProject";
import route95 from "./routes/project/getVisualManual";
import route96 from "./routes/project/queryDirectorManual";
import route97 from "./routes/project/visualManual";
import route98 from "./routes/script/addScript";
import route99 from "./routes/script/batchAddScript";
import route100 from "./routes/script/delScript";
import route101 from "./routes/script/exportScript";
import route102 from "./routes/script/extractAssets";
import route103 from "./routes/script/getAiRegex";
import route104 from "./routes/script/getScrptApi";
import route105 from "./routes/script/pollScriptAssets";
import route106 from "./routes/script/updateScript";
import route107 from "./routes/scriptAgent/getPlanData";
import route108 from "./routes/scriptAgent/setPlanData";
import route109 from "./routes/scriptAgent/updateData";
import route110 from "./routes/setting/about/checkUpdate";
import route111 from "./routes/setting/about/downloadApp";
import route112 from "./routes/setting/agentDeploy/agentSetKey";
import route113 from "./routes/setting/agentDeploy/deployAgentModel";
import route114 from "./routes/setting/agentDeploy/getAgentDeploy";
import route115 from "./routes/setting/dbConfig/clearData";
import route116 from "./routes/setting/dev/getSwitchAiDevTool";
import route117 from "./routes/setting/dev/updateSwitchAiDevTool";
import route118 from "./routes/setting/fileManagement/openFolder";
import route119 from "./routes/setting/getTextModel";
import route120 from "./routes/setting/loginConfig/getUser";
import route121 from "./routes/setting/loginConfig/updateUserPwd";
import route122 from "./routes/setting/memoryConfig/delAllMemory";
import route123 from "./routes/setting/memoryConfig/getMemory";
import route124 from "./routes/setting/memoryConfig/sureMemory";
import route125 from "./routes/setting/modelMap/bindingPrompt";
import route126 from "./routes/setting/modelMap/getImageAndVideoModel";
import route127 from "./routes/setting/promptManage/getPrompt";
import route128 from "./routes/setting/promptManage/updatePrompt";
import route129 from "./routes/setting/skillManagement/getSkillContent";
import route130 from "./routes/setting/skillManagement/getSkillList";
import route131 from "./routes/setting/skillManagement/saveSkillContent";
import route132 from "./routes/setting/vendorConfig/addVendor";
import route133 from "./routes/setting/vendorConfig/addVendorModel";
import route134 from "./routes/setting/vendorConfig/deleteVendor";
import route135 from "./routes/setting/vendorConfig/delVendorModel";
import route136 from "./routes/setting/vendorConfig/enableVendor";
import route137 from "./routes/setting/vendorConfig/getCodeByLink";
import route138 from "./routes/setting/vendorConfig/getVendorList";
import route139 from "./routes/setting/vendorConfig/modelTest";
import route140 from "./routes/setting/vendorConfig/updateCode";
import route141 from "./routes/setting/vendorConfig/updateVendorInputs";
import route142 from "./routes/setting/vendorConfig/upVendorModel";
import route143 from "./routes/task/getProject";
import route144 from "./routes/task/getTaskApi";
import route145 from "./routes/task/getTaskCategories";
import route146 from "./routes/task/taskDetails";
import route147 from "./routes/test/test";
export default async (app: Express) => {
app.use("/api/agents/clearMemory", route1);
@ -223,76 +224,77 @@ export default async (app: Express) => {
app.use("/api/production/storyboard/removeFrame", route72);
app.use("/api/production/storyboard/updateStoryboardUrl", route73);
app.use("/api/production/workbench/addTrack", route74);
app.use("/api/production/workbench/deleteTrack", route75);
app.use("/api/production/workbench/delVideo", route76);
app.use("/api/production/workbench/generateVideo", route77);
app.use("/api/production/workbench/generateVideoPrompt", route78);
app.use("/api/production/workbench/getGenerateData", route79);
app.use("/api/production/workbench/getVideoList", route80);
app.use("/api/production/workbench/selectVideo", route81);
app.use("/api/production/workbench/updateVideoPrompt", route82);
app.use("/api/project/addDirectorManual", route83);
app.use("/api/project/addProject", route84);
app.use("/api/project/addVisualManual", route85);
app.use("/api/project/deleteDirectorManual", route86);
app.use("/api/project/deleteVisualManual", route87);
app.use("/api/project/delProject", route88);
app.use("/api/project/editDirectorlManual", route89);
app.use("/api/project/editProject", route90);
app.use("/api/project/editVisualManual", route91);
app.use("/api/project/getModelDetails", route92);
app.use("/api/project/getProject", route93);
app.use("/api/project/getVisualManual", route94);
app.use("/api/project/queryDirectorManual", route95);
app.use("/api/project/visualManual", route96);
app.use("/api/script/addScript", route97);
app.use("/api/script/batchAddScript", route98);
app.use("/api/script/delScript", route99);
app.use("/api/script/exportScript", route100);
app.use("/api/script/extractAssets", route101);
app.use("/api/script/getAiRegex", route102);
app.use("/api/script/getScrptApi", route103);
app.use("/api/script/pollScriptAssets", route104);
app.use("/api/script/updateScript", route105);
app.use("/api/scriptAgent/getPlanData", route106);
app.use("/api/scriptAgent/setPlanData", route107);
app.use("/api/scriptAgent/updateData", route108);
app.use("/api/setting/about/checkUpdate", route109);
app.use("/api/setting/about/downloadApp", route110);
app.use("/api/setting/agentDeploy/agentSetKey", route111);
app.use("/api/setting/agentDeploy/deployAgentModel", route112);
app.use("/api/setting/agentDeploy/getAgentDeploy", route113);
app.use("/api/setting/dbConfig/clearData", route114);
app.use("/api/setting/dev/getSwitchAiDevTool", route115);
app.use("/api/setting/dev/updateSwitchAiDevTool", route116);
app.use("/api/setting/fileManagement/openFolder", route117);
app.use("/api/setting/getTextModel", route118);
app.use("/api/setting/loginConfig/getUser", route119);
app.use("/api/setting/loginConfig/updateUserPwd", route120);
app.use("/api/setting/memoryConfig/delAllMemory", route121);
app.use("/api/setting/memoryConfig/getMemory", route122);
app.use("/api/setting/memoryConfig/sureMemory", route123);
app.use("/api/setting/modelMap/bindingPrompt", route124);
app.use("/api/setting/modelMap/getImageAndVideoModel", route125);
app.use("/api/setting/promptManage/getPrompt", route126);
app.use("/api/setting/promptManage/updatePrompt", route127);
app.use("/api/setting/skillManagement/getSkillContent", route128);
app.use("/api/setting/skillManagement/getSkillList", route129);
app.use("/api/setting/skillManagement/saveSkillContent", route130);
app.use("/api/setting/vendorConfig/addVendor", route131);
app.use("/api/setting/vendorConfig/addVendorModel", route132);
app.use("/api/setting/vendorConfig/deleteVendor", route133);
app.use("/api/setting/vendorConfig/delVendorModel", route134);
app.use("/api/setting/vendorConfig/enableVendor", route135);
app.use("/api/setting/vendorConfig/getCodeByLink", route136);
app.use("/api/setting/vendorConfig/getVendorList", route137);
app.use("/api/setting/vendorConfig/modelTest", route138);
app.use("/api/setting/vendorConfig/updateCode", route139);
app.use("/api/setting/vendorConfig/updateVendorInputs", route140);
app.use("/api/setting/vendorConfig/upVendorModel", route141);
app.use("/api/task/getProject", route142);
app.use("/api/task/getTaskApi", route143);
app.use("/api/task/getTaskCategories", route144);
app.use("/api/task/taskDetails", route145);
app.use("/api/test/test", route146);
app.use("/api/production/workbench/checkVideoStateList", route75);
app.use("/api/production/workbench/deleteTrack", route76);
app.use("/api/production/workbench/delVideo", route77);
app.use("/api/production/workbench/generateVideo", route78);
app.use("/api/production/workbench/generateVideoPrompt", route79);
app.use("/api/production/workbench/getGenerateData", route80);
app.use("/api/production/workbench/getVideoList", route81);
app.use("/api/production/workbench/selectVideo", route82);
app.use("/api/production/workbench/updateVideoPrompt", route83);
app.use("/api/project/addDirectorManual", route84);
app.use("/api/project/addProject", route85);
app.use("/api/project/addVisualManual", route86);
app.use("/api/project/deleteDirectorManual", route87);
app.use("/api/project/deleteVisualManual", route88);
app.use("/api/project/delProject", route89);
app.use("/api/project/editDirectorlManual", route90);
app.use("/api/project/editProject", route91);
app.use("/api/project/editVisualManual", route92);
app.use("/api/project/getModelDetails", route93);
app.use("/api/project/getProject", route94);
app.use("/api/project/getVisualManual", route95);
app.use("/api/project/queryDirectorManual", route96);
app.use("/api/project/visualManual", route97);
app.use("/api/script/addScript", route98);
app.use("/api/script/batchAddScript", route99);
app.use("/api/script/delScript", route100);
app.use("/api/script/exportScript", route101);
app.use("/api/script/extractAssets", route102);
app.use("/api/script/getAiRegex", route103);
app.use("/api/script/getScrptApi", route104);
app.use("/api/script/pollScriptAssets", route105);
app.use("/api/script/updateScript", route106);
app.use("/api/scriptAgent/getPlanData", route107);
app.use("/api/scriptAgent/setPlanData", route108);
app.use("/api/scriptAgent/updateData", route109);
app.use("/api/setting/about/checkUpdate", route110);
app.use("/api/setting/about/downloadApp", route111);
app.use("/api/setting/agentDeploy/agentSetKey", route112);
app.use("/api/setting/agentDeploy/deployAgentModel", route113);
app.use("/api/setting/agentDeploy/getAgentDeploy", route114);
app.use("/api/setting/dbConfig/clearData", route115);
app.use("/api/setting/dev/getSwitchAiDevTool", route116);
app.use("/api/setting/dev/updateSwitchAiDevTool", route117);
app.use("/api/setting/fileManagement/openFolder", route118);
app.use("/api/setting/getTextModel", route119);
app.use("/api/setting/loginConfig/getUser", route120);
app.use("/api/setting/loginConfig/updateUserPwd", route121);
app.use("/api/setting/memoryConfig/delAllMemory", route122);
app.use("/api/setting/memoryConfig/getMemory", route123);
app.use("/api/setting/memoryConfig/sureMemory", route124);
app.use("/api/setting/modelMap/bindingPrompt", route125);
app.use("/api/setting/modelMap/getImageAndVideoModel", route126);
app.use("/api/setting/promptManage/getPrompt", route127);
app.use("/api/setting/promptManage/updatePrompt", route128);
app.use("/api/setting/skillManagement/getSkillContent", route129);
app.use("/api/setting/skillManagement/getSkillList", route130);
app.use("/api/setting/skillManagement/saveSkillContent", route131);
app.use("/api/setting/vendorConfig/addVendor", route132);
app.use("/api/setting/vendorConfig/addVendorModel", route133);
app.use("/api/setting/vendorConfig/deleteVendor", route134);
app.use("/api/setting/vendorConfig/delVendorModel", route135);
app.use("/api/setting/vendorConfig/enableVendor", route136);
app.use("/api/setting/vendorConfig/getCodeByLink", route137);
app.use("/api/setting/vendorConfig/getVendorList", route138);
app.use("/api/setting/vendorConfig/modelTest", route139);
app.use("/api/setting/vendorConfig/updateCode", route140);
app.use("/api/setting/vendorConfig/updateVendorInputs", route141);
app.use("/api/setting/vendorConfig/upVendorModel", route142);
app.use("/api/task/getProject", route143);
app.use("/api/task/getTaskApi", route144);
app.use("/api/task/getTaskCategories", route145);
app.use("/api/task/taskDetails", route146);
app.use("/api/test/test", route147);
}

View File

@ -13,6 +13,9 @@ export default router.post(
}),
async (req, res) => {
const { projectId, scriptId, duration } = req.body;
const data = await u.db("o_project").where("id", projectId).first();
const video = data?.videoModel?.split(":");
const vemdor = await u.vendor.getModelList(video?.[0]!);
const [id] = await u.db("o_videoTrack").insert({
projectId,
scriptId,

View File

@ -0,0 +1,33 @@
import express from "express";
import u from "@/utils";
import { z } from "zod";
import { success } from "@/lib/responseFormat";
import { validateFields } from "@/middleware/middleware";
const router = express.Router();
export default router.post(
"/",
validateFields({
projectId: z.number(),
scriptId: z.number(),
videoIds: z.array(z.number()),
}),
async (req, res) => {
const { projectId, scriptId, videoIds } = req.body;
const videoList = await u
.db("o_video")
.whereIn("id", videoIds)
.whereIn("state", ["生成成功", "生成失败"])
.select("id", "state", "errorReason", "filePath");
res.status(200).send(
success(
await Promise.all(
videoList.map(async (s) => ({
...s,
src: s.filePath ? await u.oss.getFileUrl(s.filePath) : "",
})),
),
),
);
},
);

View File

@ -13,6 +13,9 @@ export default router.post(
async (req, res) => {
const { id } = req.body;
await u.db("o_videoTrack").where("id", id).delete();
await u.db("o_storyboard").where("trackId", id).update({
trackId: null,
});
res.status(200).send(success({ message: "视频段删除成功" }));
},
);

View File

@ -95,8 +95,6 @@ export default router.post(
></storyboardItem>`,
)},
`;
console.log("%c Line:87 🌮 content", "background:#2eafb0", content);
try {
const { text } = await u.Ai.Text("universalAi").invoke({
system: videoPromptGeneration,

View File

@ -43,6 +43,110 @@ export default router.post(
modelName: "toonflow:claude-haiku-4-5-20251001",
vendorId: "toonflow",
});
await u.db("o_agentDeploy").where("key", "scriptAgent:decisionAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "scriptAgent:supervisionAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "scriptAgent:storySkeletonAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "scriptAgent:adaptationStrategyAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "scriptAgent:scriptAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "productionAgent:decisionAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "productionAgent:supervisionAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "productionAgent:deriveAssetsAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "productionAgent:generateAssetsAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "productionAgent:directorPlanAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "productionAgent:storyboardGenAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "productionAgent:storyboardPanelAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
await u.db("o_agentDeploy").where("key", "productionAgent:storyboardTableAgent").update({
model: "claude-sonnet-4-6",
modelName: "toonflow:claude-sonnet-4-6",
vendorId: "toonflow",
topP: 1,
temperature: 1,
maxOutputTokens: 8192,
});
res.status(200).send(success("一键填入成功"));
}
} catch (err) {

View File

@ -14,10 +14,13 @@ export default router.post(
modelName: z.string(),
vendorId: z.string().nullable(),
desc: z.string(),
topP: z.number().optional(),
temperature: z.number().optional(),
maxOutputTokens: z.number().optional(),
}),
async (req, res) => {
const { id, name, model, modelName, vendorId, desc } = req.body;
await u.db("o_agentDeploy").where({ id }).update({ id, name, model, modelName, vendorId, desc });
const { id, name, model, modelName, vendorId, desc, topP, temperature, maxOutputTokens } = req.body;
await u.db("o_agentDeploy").where({ id }).update({ id, name, model, modelName, vendorId, desc, topP, temperature, maxOutputTokens });
res.status(200).send(success("配置成功"));
},
);

View File

@ -4,6 +4,7 @@ import u from "@/utils";
const router = express.Router();
export default router.post("/", async (req, res) => {
const data = await u.db("o_agentDeploy").leftJoin("o_vendorConfig", "o_vendorConfig.id", "o_agentDeploy.vendorId").select("o_agentDeploy.*");
res.status(200).send(success(data));
const qrdinaryData = await u.db("o_agentDeploy").where("type", "普通").leftJoin("o_vendorConfig", "o_vendorConfig.id", "o_agentDeploy.vendorId").select("o_agentDeploy.*");
const advancedData = await u.db("o_agentDeploy").where("type", "高级").leftJoin("o_vendorConfig", "o_vendorConfig.id", "o_agentDeploy.vendorId").select("o_agentDeploy.*");
res.status(200).send(success({ qrdinaryData, advancedData }));
});

View File

@ -1,4 +1,4 @@
// @db-hash 630ea42aa4b21853ca104d1fbdb87706
// @db-hash 5364c2db0bf42b520761b813ce040489
//该文件由脚本自动生成,请勿手动修改
export interface memories {
@ -18,9 +18,13 @@ export interface o_agentDeploy {
'disabled'?: boolean | null;
'id'?: number;
'key'?: string | null;
'maxOutputTokens'?: number | null;
'model'?: string | null;
'modelName'?: string | null;
'name'?: string | null;
'temperature'?: number | null;
'topP'?: number | null;
'type'?: string | null;
'vendorId'?: string | null;
}
export interface o_agentWorkData {