diff --git a/src/lib/initDB.ts b/src/lib/initDB.ts index 45af157..ce18dac 100644 --- a/src/lib/initDB.ts +++ b/src/lib/initDB.ts @@ -78,7 +78,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise => modelName: "", vendorId: null, key: "scriptAgent", - name: "剧本Agent", + name: "剧本AI", desc: "用于读取原文生成故事骨架、改编策略,建议使用具备强大文本理解和生成能力的模型", disabled: false, }, @@ -87,7 +87,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise => modelName: "", vendorId: null, key: "productionAgent", - name: "生产Agent", + name: "生产AI", desc: "对工作流进行调度和管理,建议使用具备较强的逻辑推理和任务管理能力的模型", disabled: false, }, @@ -96,7 +96,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise => modelName: "", vendorId: null, key: "universalAgent", - name: "通用Agent", + name: "通用AI", desc: "用于小说事件提取、资产提示词生成、台词提取等边缘功能,建议使用具备较强文本处理能力的模型", disabled: false, }, @@ -288,6 +288,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise => table.integer("assetsId"); table.integer("projectId"); table.integer("startTime"); + table.string("promptState"); table.primary(["id"]); table.unique(["id"]); }, diff --git a/src/router.ts b/src/router.ts index 0f66d09..63253f9 100644 --- a/src/router.ts +++ b/src/router.ts @@ -1,4 +1,4 @@ -// @routes-hash 4397feb795394ec5313dafe4f6a9aa67 +// @routes-hash 63d067de9d3f97b0602ef91a69334bc8 import { Express } from "express"; import route1 from "./routes/agents/clearMemory"; @@ -14,95 +14,97 @@ import route10 from "./routes/assets/delAssets"; import route11 from "./routes/assets/getAssetsApi"; import route12 from "./routes/assets/getImage"; import route13 from "./routes/assets/getMaterialData"; -import route14 from "./routes/assets/saveAssets"; -import route15 from "./routes/assets/updateAssets"; -import route16 from "./routes/assets/uploadClip"; -import route17 from "./routes/assetsGenerate/generateAssets"; -import route18 from "./routes/assetsGenerate/polishAssetsPrompt"; -import route19 from "./routes/cornerScape/getAllAssets"; -import route20 from "./routes/general/generalStatistics"; -import route21 from "./routes/general/getSingleProject"; -import route22 from "./routes/general/updateProject"; -import route23 from "./routes/login/login"; -import route24 from "./routes/migrate/migrateData"; -import route25 from "./routes/modelSelect/getModelDetail"; -import route26 from "./routes/modelSelect/getModelList"; -import route27 from "./routes/novel/addNovel"; -import route28 from "./routes/novel/batchDeleteNovel"; -import route29 from "./routes/novel/delNovel"; -import route30 from "./routes/novel/event/batchDeleteEvent"; -import route31 from "./routes/novel/event/deletEvent"; -import route32 from "./routes/novel/event/generateEvents"; -import route33 from "./routes/novel/event/getEvent"; -import route34 from "./routes/novel/getNovel"; -import route35 from "./routes/novel/getNovelEventState"; -import route36 from "./routes/novel/getNovelIndex"; -import route37 from "./routes/novel/updateNovel"; -import route38 from "./routes/other/deleteAllData"; -import route39 from "./routes/other/getVersion"; -import route40 from "./routes/production/assets/getAssetsData"; -import route41 from "./routes/production/editImage/generateFlowImage"; -import route42 from "./routes/production/editImage/getImageFlow"; -import route43 from "./routes/production/editImage/saveImageFlow"; -import route44 from "./routes/production/editImage/updateImageFlow"; -import route45 from "./routes/production/exportImage"; -import route46 from "./routes/production/getFlowData"; -import route47 from "./routes/production/getProductionData"; -import route48 from "./routes/production/getStoryboardData"; -import route49 from "./routes/production/saveFlowData"; -import route50 from "./routes/production/storyboard/downPreviewImage"; -import route51 from "./routes/production/storyboard/getStoryboardData"; -import route52 from "./routes/production/storyboard/previewImage"; -import route53 from "./routes/production/workbench/confirmSelection"; -import route54 from "./routes/production/workbench/delVideo"; -import route55 from "./routes/production/workbench/generateVideo"; -import route56 from "./routes/production/workbench/getChatLines"; -import route57 from "./routes/production/workbench/getVideoModelDetail"; -import route58 from "./routes/production/workbench/videoPolling"; -import route59 from "./routes/project/addProject"; -import route60 from "./routes/project/delProject"; -import route61 from "./routes/project/editProject"; -import route62 from "./routes/project/getProject"; -import route63 from "./routes/script/addScript"; -import route64 from "./routes/script/delScript"; -import route65 from "./routes/script/exportScript"; -import route66 from "./routes/script/extractAssets"; -import route67 from "./routes/script/getScrptApi"; -import route68 from "./routes/script/updateScript"; -import route69 from "./routes/scriptAgent/getPlanData"; -import route70 from "./routes/scriptAgent/setPlanData"; -import route71 from "./routes/setting/about/checkUpdate"; -import route72 from "./routes/setting/agentDeploy/agentSetKey"; -import route73 from "./routes/setting/agentDeploy/deployAgentModel"; -import route74 from "./routes/setting/agentDeploy/getAgentDeploy"; -import route75 from "./routes/setting/dbConfig/clearData"; -import route76 from "./routes/setting/dev/getSwitchAiDevTool"; -import route77 from "./routes/setting/dev/updateSwitchAiDevTool"; -import route78 from "./routes/setting/fileManagement/openFolder"; -import route79 from "./routes/setting/getTextModel"; -import route80 from "./routes/setting/loginConfig/getUser"; -import route81 from "./routes/setting/loginConfig/updateUserPwd"; -import route82 from "./routes/setting/memoryConfig/delAllMemory"; -import route83 from "./routes/setting/memoryConfig/getMemory"; -import route84 from "./routes/setting/memoryConfig/sureMemory"; -import route85 from "./routes/setting/skillManagement/addSkill"; -import route86 from "./routes/setting/skillManagement/deleteSkill"; -import route87 from "./routes/setting/skillManagement/embeddingSkill"; -import route88 from "./routes/setting/skillManagement/generateDescription"; -import route89 from "./routes/setting/skillManagement/getSkillList"; -import route90 from "./routes/setting/skillManagement/scanSkills"; -import route91 from "./routes/setting/skillManagement/updateSkill"; -import route92 from "./routes/setting/vendorConfig/addVendor"; -import route93 from "./routes/setting/vendorConfig/deleteVendor"; -import route94 from "./routes/setting/vendorConfig/getVendorList"; -import route95 from "./routes/setting/vendorConfig/modelTest"; -import route96 from "./routes/setting/vendorConfig/updateCode"; -import route97 from "./routes/setting/vendorConfig/updateVendor"; -import route98 from "./routes/task/getProject"; -import route99 from "./routes/task/getTaskApi"; -import route100 from "./routes/task/getTaskCategories"; -import route101 from "./routes/task/taskDetails"; -import route102 from "./routes/test/test"; +import route14 from "./routes/assets/pollingImageAssets"; +import route15 from "./routes/assets/pollingPromptAssets"; +import route16 from "./routes/assets/saveAssets"; +import route17 from "./routes/assets/updateAssets"; +import route18 from "./routes/assets/uploadClip"; +import route19 from "./routes/assetsGenerate/generateAssets"; +import route20 from "./routes/assetsGenerate/polishAssetsPrompt"; +import route21 from "./routes/cornerScape/getAllAssets"; +import route22 from "./routes/general/generalStatistics"; +import route23 from "./routes/general/getSingleProject"; +import route24 from "./routes/general/updateProject"; +import route25 from "./routes/login/login"; +import route26 from "./routes/migrate/migrateData"; +import route27 from "./routes/modelSelect/getModelDetail"; +import route28 from "./routes/modelSelect/getModelList"; +import route29 from "./routes/novel/addNovel"; +import route30 from "./routes/novel/batchDeleteNovel"; +import route31 from "./routes/novel/delNovel"; +import route32 from "./routes/novel/event/batchDeleteEvent"; +import route33 from "./routes/novel/event/deletEvent"; +import route34 from "./routes/novel/event/generateEvents"; +import route35 from "./routes/novel/event/getEvent"; +import route36 from "./routes/novel/getNovel"; +import route37 from "./routes/novel/getNovelEventState"; +import route38 from "./routes/novel/getNovelIndex"; +import route39 from "./routes/novel/updateNovel"; +import route40 from "./routes/other/deleteAllData"; +import route41 from "./routes/other/getVersion"; +import route42 from "./routes/production/assets/getAssetsData"; +import route43 from "./routes/production/editImage/generateFlowImage"; +import route44 from "./routes/production/editImage/getImageFlow"; +import route45 from "./routes/production/editImage/saveImageFlow"; +import route46 from "./routes/production/editImage/updateImageFlow"; +import route47 from "./routes/production/exportImage"; +import route48 from "./routes/production/getFlowData"; +import route49 from "./routes/production/getProductionData"; +import route50 from "./routes/production/getStoryboardData"; +import route51 from "./routes/production/saveFlowData"; +import route52 from "./routes/production/storyboard/downPreviewImage"; +import route53 from "./routes/production/storyboard/getStoryboardData"; +import route54 from "./routes/production/storyboard/previewImage"; +import route55 from "./routes/production/workbench/confirmSelection"; +import route56 from "./routes/production/workbench/delVideo"; +import route57 from "./routes/production/workbench/generateVideo"; +import route58 from "./routes/production/workbench/getChatLines"; +import route59 from "./routes/production/workbench/getVideoModelDetail"; +import route60 from "./routes/production/workbench/videoPolling"; +import route61 from "./routes/project/addProject"; +import route62 from "./routes/project/delProject"; +import route63 from "./routes/project/editProject"; +import route64 from "./routes/project/getProject"; +import route65 from "./routes/script/addScript"; +import route66 from "./routes/script/delScript"; +import route67 from "./routes/script/exportScript"; +import route68 from "./routes/script/extractAssets"; +import route69 from "./routes/script/getScrptApi"; +import route70 from "./routes/script/updateScript"; +import route71 from "./routes/scriptAgent/getPlanData"; +import route72 from "./routes/scriptAgent/setPlanData"; +import route73 from "./routes/setting/about/checkUpdate"; +import route74 from "./routes/setting/agentDeploy/agentSetKey"; +import route75 from "./routes/setting/agentDeploy/deployAgentModel"; +import route76 from "./routes/setting/agentDeploy/getAgentDeploy"; +import route77 from "./routes/setting/dbConfig/clearData"; +import route78 from "./routes/setting/dev/getSwitchAiDevTool"; +import route79 from "./routes/setting/dev/updateSwitchAiDevTool"; +import route80 from "./routes/setting/fileManagement/openFolder"; +import route81 from "./routes/setting/getTextModel"; +import route82 from "./routes/setting/loginConfig/getUser"; +import route83 from "./routes/setting/loginConfig/updateUserPwd"; +import route84 from "./routes/setting/memoryConfig/delAllMemory"; +import route85 from "./routes/setting/memoryConfig/getMemory"; +import route86 from "./routes/setting/memoryConfig/sureMemory"; +import route87 from "./routes/setting/skillManagement/addSkill"; +import route88 from "./routes/setting/skillManagement/deleteSkill"; +import route89 from "./routes/setting/skillManagement/embeddingSkill"; +import route90 from "./routes/setting/skillManagement/generateDescription"; +import route91 from "./routes/setting/skillManagement/getSkillList"; +import route92 from "./routes/setting/skillManagement/scanSkills"; +import route93 from "./routes/setting/skillManagement/updateSkill"; +import route94 from "./routes/setting/vendorConfig/addVendor"; +import route95 from "./routes/setting/vendorConfig/deleteVendor"; +import route96 from "./routes/setting/vendorConfig/getVendorList"; +import route97 from "./routes/setting/vendorConfig/modelTest"; +import route98 from "./routes/setting/vendorConfig/updateCode"; +import route99 from "./routes/setting/vendorConfig/updateVendor"; +import route100 from "./routes/task/getProject"; +import route101 from "./routes/task/getTaskApi"; +import route102 from "./routes/task/getTaskCategories"; +import route103 from "./routes/task/taskDetails"; +import route104 from "./routes/test/test"; export default async (app: Express) => { app.use("/api/agents/clearMemory", route1); @@ -118,93 +120,95 @@ export default async (app: Express) => { app.use("/api/assets/getAssetsApi", route11); app.use("/api/assets/getImage", route12); app.use("/api/assets/getMaterialData", route13); - app.use("/api/assets/saveAssets", route14); - app.use("/api/assets/updateAssets", route15); - app.use("/api/assets/uploadClip", route16); - app.use("/api/assetsGenerate/generateAssets", route17); - app.use("/api/assetsGenerate/polishAssetsPrompt", route18); - app.use("/api/cornerScape/getAllAssets", route19); - app.use("/api/general/generalStatistics", route20); - app.use("/api/general/getSingleProject", route21); - app.use("/api/general/updateProject", route22); - app.use("/api/login/login", route23); - app.use("/api/migrate/migrateData", route24); - app.use("/api/modelSelect/getModelDetail", route25); - app.use("/api/modelSelect/getModelList", route26); - app.use("/api/novel/addNovel", route27); - app.use("/api/novel/batchDeleteNovel", route28); - app.use("/api/novel/delNovel", route29); - app.use("/api/novel/event/batchDeleteEvent", route30); - app.use("/api/novel/event/deletEvent", route31); - app.use("/api/novel/event/generateEvents", route32); - app.use("/api/novel/event/getEvent", route33); - app.use("/api/novel/getNovel", route34); - app.use("/api/novel/getNovelEventState", route35); - app.use("/api/novel/getNovelIndex", route36); - app.use("/api/novel/updateNovel", route37); - app.use("/api/other/deleteAllData", route38); - app.use("/api/other/getVersion", route39); - app.use("/api/production/assets/getAssetsData", route40); - app.use("/api/production/editImage/generateFlowImage", route41); - app.use("/api/production/editImage/getImageFlow", route42); - app.use("/api/production/editImage/saveImageFlow", route43); - app.use("/api/production/editImage/updateImageFlow", route44); - app.use("/api/production/exportImage", route45); - app.use("/api/production/getFlowData", route46); - app.use("/api/production/getProductionData", route47); - app.use("/api/production/getStoryboardData", route48); - app.use("/api/production/saveFlowData", route49); - app.use("/api/production/storyboard/downPreviewImage", route50); - app.use("/api/production/storyboard/getStoryboardData", route51); - app.use("/api/production/storyboard/previewImage", route52); - app.use("/api/production/workbench/confirmSelection", route53); - app.use("/api/production/workbench/delVideo", route54); - app.use("/api/production/workbench/generateVideo", route55); - app.use("/api/production/workbench/getChatLines", route56); - app.use("/api/production/workbench/getVideoModelDetail", route57); - app.use("/api/production/workbench/videoPolling", route58); - app.use("/api/project/addProject", route59); - app.use("/api/project/delProject", route60); - app.use("/api/project/editProject", route61); - app.use("/api/project/getProject", route62); - app.use("/api/script/addScript", route63); - app.use("/api/script/delScript", route64); - app.use("/api/script/exportScript", route65); - app.use("/api/script/extractAssets", route66); - app.use("/api/script/getScrptApi", route67); - app.use("/api/script/updateScript", route68); - app.use("/api/scriptAgent/getPlanData", route69); - app.use("/api/scriptAgent/setPlanData", route70); - app.use("/api/setting/about/checkUpdate", route71); - app.use("/api/setting/agentDeploy/agentSetKey", route72); - app.use("/api/setting/agentDeploy/deployAgentModel", route73); - app.use("/api/setting/agentDeploy/getAgentDeploy", route74); - app.use("/api/setting/dbConfig/clearData", route75); - app.use("/api/setting/dev/getSwitchAiDevTool", route76); - app.use("/api/setting/dev/updateSwitchAiDevTool", route77); - app.use("/api/setting/fileManagement/openFolder", route78); - app.use("/api/setting/getTextModel", route79); - app.use("/api/setting/loginConfig/getUser", route80); - app.use("/api/setting/loginConfig/updateUserPwd", route81); - app.use("/api/setting/memoryConfig/delAllMemory", route82); - app.use("/api/setting/memoryConfig/getMemory", route83); - app.use("/api/setting/memoryConfig/sureMemory", route84); - app.use("/api/setting/skillManagement/addSkill", route85); - app.use("/api/setting/skillManagement/deleteSkill", route86); - app.use("/api/setting/skillManagement/embeddingSkill", route87); - app.use("/api/setting/skillManagement/generateDescription", route88); - app.use("/api/setting/skillManagement/getSkillList", route89); - app.use("/api/setting/skillManagement/scanSkills", route90); - app.use("/api/setting/skillManagement/updateSkill", route91); - app.use("/api/setting/vendorConfig/addVendor", route92); - app.use("/api/setting/vendorConfig/deleteVendor", route93); - app.use("/api/setting/vendorConfig/getVendorList", route94); - app.use("/api/setting/vendorConfig/modelTest", route95); - app.use("/api/setting/vendorConfig/updateCode", route96); - app.use("/api/setting/vendorConfig/updateVendor", route97); - app.use("/api/task/getProject", route98); - app.use("/api/task/getTaskApi", route99); - app.use("/api/task/getTaskCategories", route100); - app.use("/api/task/taskDetails", route101); - app.use("/api/test/test", route102); + app.use("/api/assets/pollingImageAssets", route14); + app.use("/api/assets/pollingPromptAssets", route15); + app.use("/api/assets/saveAssets", route16); + app.use("/api/assets/updateAssets", route17); + app.use("/api/assets/uploadClip", route18); + app.use("/api/assetsGenerate/generateAssets", route19); + app.use("/api/assetsGenerate/polishAssetsPrompt", route20); + app.use("/api/cornerScape/getAllAssets", route21); + app.use("/api/general/generalStatistics", route22); + app.use("/api/general/getSingleProject", route23); + app.use("/api/general/updateProject", route24); + app.use("/api/login/login", route25); + app.use("/api/migrate/migrateData", route26); + app.use("/api/modelSelect/getModelDetail", route27); + app.use("/api/modelSelect/getModelList", route28); + app.use("/api/novel/addNovel", route29); + app.use("/api/novel/batchDeleteNovel", route30); + app.use("/api/novel/delNovel", route31); + app.use("/api/novel/event/batchDeleteEvent", route32); + app.use("/api/novel/event/deletEvent", route33); + app.use("/api/novel/event/generateEvents", route34); + app.use("/api/novel/event/getEvent", route35); + app.use("/api/novel/getNovel", route36); + app.use("/api/novel/getNovelEventState", route37); + app.use("/api/novel/getNovelIndex", route38); + app.use("/api/novel/updateNovel", route39); + app.use("/api/other/deleteAllData", route40); + app.use("/api/other/getVersion", route41); + app.use("/api/production/assets/getAssetsData", route42); + app.use("/api/production/editImage/generateFlowImage", route43); + app.use("/api/production/editImage/getImageFlow", route44); + app.use("/api/production/editImage/saveImageFlow", route45); + app.use("/api/production/editImage/updateImageFlow", route46); + app.use("/api/production/exportImage", route47); + app.use("/api/production/getFlowData", route48); + app.use("/api/production/getProductionData", route49); + app.use("/api/production/getStoryboardData", route50); + app.use("/api/production/saveFlowData", route51); + app.use("/api/production/storyboard/downPreviewImage", route52); + app.use("/api/production/storyboard/getStoryboardData", route53); + app.use("/api/production/storyboard/previewImage", route54); + app.use("/api/production/workbench/confirmSelection", route55); + app.use("/api/production/workbench/delVideo", route56); + app.use("/api/production/workbench/generateVideo", route57); + app.use("/api/production/workbench/getChatLines", route58); + app.use("/api/production/workbench/getVideoModelDetail", route59); + app.use("/api/production/workbench/videoPolling", route60); + app.use("/api/project/addProject", route61); + app.use("/api/project/delProject", route62); + app.use("/api/project/editProject", route63); + app.use("/api/project/getProject", route64); + app.use("/api/script/addScript", route65); + app.use("/api/script/delScript", route66); + app.use("/api/script/exportScript", route67); + app.use("/api/script/extractAssets", route68); + app.use("/api/script/getScrptApi", route69); + app.use("/api/script/updateScript", route70); + app.use("/api/scriptAgent/getPlanData", route71); + app.use("/api/scriptAgent/setPlanData", route72); + app.use("/api/setting/about/checkUpdate", route73); + app.use("/api/setting/agentDeploy/agentSetKey", route74); + app.use("/api/setting/agentDeploy/deployAgentModel", route75); + app.use("/api/setting/agentDeploy/getAgentDeploy", route76); + app.use("/api/setting/dbConfig/clearData", route77); + app.use("/api/setting/dev/getSwitchAiDevTool", route78); + app.use("/api/setting/dev/updateSwitchAiDevTool", route79); + app.use("/api/setting/fileManagement/openFolder", route80); + app.use("/api/setting/getTextModel", route81); + app.use("/api/setting/loginConfig/getUser", route82); + app.use("/api/setting/loginConfig/updateUserPwd", route83); + app.use("/api/setting/memoryConfig/delAllMemory", route84); + app.use("/api/setting/memoryConfig/getMemory", route85); + app.use("/api/setting/memoryConfig/sureMemory", route86); + app.use("/api/setting/skillManagement/addSkill", route87); + app.use("/api/setting/skillManagement/deleteSkill", route88); + app.use("/api/setting/skillManagement/embeddingSkill", route89); + app.use("/api/setting/skillManagement/generateDescription", route90); + app.use("/api/setting/skillManagement/getSkillList", route91); + app.use("/api/setting/skillManagement/scanSkills", route92); + app.use("/api/setting/skillManagement/updateSkill", route93); + app.use("/api/setting/vendorConfig/addVendor", route94); + app.use("/api/setting/vendorConfig/deleteVendor", route95); + app.use("/api/setting/vendorConfig/getVendorList", route96); + app.use("/api/setting/vendorConfig/modelTest", route97); + app.use("/api/setting/vendorConfig/updateCode", route98); + app.use("/api/setting/vendorConfig/updateVendor", route99); + app.use("/api/task/getProject", route100); + app.use("/api/task/getTaskApi", route101); + app.use("/api/task/getTaskCategories", route102); + app.use("/api/task/taskDetails", route103); + app.use("/api/test/test", route104); } diff --git a/src/routes/assets/getAssetsApi.ts b/src/routes/assets/getAssetsApi.ts index ee666cb..1573148 100644 --- a/src/routes/assets/getAssetsApi.ts +++ b/src/routes/assets/getAssetsApi.ts @@ -21,7 +21,7 @@ export default router.post( let query = u .db("o_assets") .leftJoin("o_image", "o_assets.imageId", "o_image.id") - .select("o_assets.*", "o_image.filePath") + .select("o_assets.*", "o_image.filePath", "o_image.state") .where("o_assets.projectId", projectId) .andWhere("o_assets.type", type); if (name) { @@ -34,7 +34,7 @@ export default router.post( let childQuery = u .db("o_assets") .leftJoin("o_image", "o_assets.imageId", "o_image.id") - .select("o_assets.*", "o_image.filePath") + .select("o_assets.*", "o_image.filePath", "o_image.state") .where("o_assets.projectId", projectId) .andWhere("o_assets.type", type) .whereNotNull("o_assets.assetsId"); diff --git a/src/routes/assets/pollingImageAssets.ts b/src/routes/assets/pollingImageAssets.ts new file mode 100644 index 0000000..df8a83a --- /dev/null +++ b/src/routes/assets/pollingImageAssets.ts @@ -0,0 +1,28 @@ +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({ + ids: z.array(z.number()), + }), + async (req, res) => { + const { ids } = req.body; + const data = await u + .db("o_assets") + .leftJoin("o_image", "o_assets.id", "o_image.assetsId") + .whereIn("o_assets.id", ids) + .select("o_image.state", "o_assets.id", "o_image.filePath"); + const result = await Promise.all( + data.map(async (item: any) => ({ + ...item, + filePath: item.filePath ? await u.oss.getFileUrl(item.filePath) : null, + })), + ); + res.status(200).send(success(result)); + }, +); diff --git a/src/routes/assets/pollingPromptAssets.ts b/src/routes/assets/pollingPromptAssets.ts new file mode 100644 index 0000000..40a285a --- /dev/null +++ b/src/routes/assets/pollingPromptAssets.ts @@ -0,0 +1,18 @@ +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({ + ids: z.array(z.number()), + }), + async (req, res) => { + const { ids } = req.body; + const data = await u.db("o_assets").whereIn("id", ids).select("*"); + res.status(200).send(success(data)); + }, +); diff --git a/src/routes/assetsGenerate/generateAssets.ts b/src/routes/assetsGenerate/generateAssets.ts index 977a876..fe60a22 100644 --- a/src/routes/assetsGenerate/generateAssets.ts +++ b/src/routes/assetsGenerate/generateAssets.ts @@ -87,6 +87,7 @@ export default router.post("/", validateFields(requestSchema), async (req, res) state: "生成中", assetsId: id, }); + await u.db("o_assets").where("id", id).update({ imageId }); // 3. 准备生成参数 const imagePath = `/${projectId}/${cfg.dir}/${uuidv4()}.jpg`; @@ -106,7 +107,7 @@ export default router.post("/", validateFields(requestSchema), async (req, res) describe, projectId, relatedObjects: JSON.stringify(relatedObjects), - }); + }) aiImage.save(imagePath); // 5. 更新记录 & 返回结果 diff --git a/src/routes/assetsGenerate/polishAssetsPrompt.ts b/src/routes/assetsGenerate/polishAssetsPrompt.ts index 29fdf19..2f605be 100644 --- a/src/routes/assetsGenerate/polishAssetsPrompt.ts +++ b/src/routes/assetsGenerate/polishAssetsPrompt.ts @@ -61,6 +61,7 @@ export default router.post( if (!project) return res.status(500).send(success({ message: "项目为空" })); const allOutlineDataList: { data: string }[] = await u.db("o_outline").where("projectId", projectId).select("data"); + await u.db("o_assets").where("id", assetsId).update({ promptState: "生成中" }); const itemMap: Record = {}; @@ -124,7 +125,7 @@ export default router.post( })) as any; if (!_output) return res.status(500).send("失败"); - await u.db("o_assets").where("id", assetsId).update({ prompt: _output }); + await u.db("o_assets").where("id", assetsId).update({ prompt: _output, promptState: "生成成功" }); res.status(200).send(success({ prompt: _output, assetsId })); } catch (e: any) { diff --git a/src/routes/novel/addNovel.ts b/src/routes/novel/addNovel.ts index 60415ba..f629679 100644 --- a/src/routes/novel/addNovel.ts +++ b/src/routes/novel/addNovel.ts @@ -37,7 +37,6 @@ export default router.post( const chapterAllList = await u.db("o_novel").where("projectId", projectId).whereIn("id", totalNovelId); const novelClass = new u.cleanNovel(); novelClass.emitter.on("item", async (item) => { - console.log("%c Line:40 🍇 item", "background:#6ec1c2", item); await u .db("o_novel") .where("id", item.id) diff --git a/src/routes/setting/agentDeploy/agentSetKey.ts b/src/routes/setting/agentDeploy/agentSetKey.ts index 22f541a..47fa251 100644 --- a/src/routes/setting/agentDeploy/agentSetKey.ts +++ b/src/routes/setting/agentDeploy/agentSetKey.ts @@ -14,7 +14,7 @@ export default router.post( const { id } = req.body; await u.db("o_agentDeploy").whereIn("id", id).where("disabled", "<>", 1).update({ model: "gpt-4.1", - modelName: "1:gpt-4.1", + modelName: "toonflow:gpt-4.1", vendorId: 1, }); res.status(200).send(success("配置成功")); diff --git a/src/routes/setting/vendorConfig/modelTest.ts b/src/routes/setting/vendorConfig/modelTest.ts index e16f1eb..495a24e 100644 --- a/src/routes/setting/vendorConfig/modelTest.ts +++ b/src/routes/setting/vendorConfig/modelTest.ts @@ -76,7 +76,6 @@ export default router.post( for await (const chunk of textStream) { fullResponse += chunk; } - console.log("%c Line:78 🥝 fullResponse", "background:#ea7e5c", fullResponse); res.status(200).send(success(fullResponse)); } else { const aiTypeFn = { diff --git a/src/types/database.d.ts b/src/types/database.d.ts index 58f4ecc..ff06954 100644 --- a/src/types/database.d.ts +++ b/src/types/database.d.ts @@ -1,6 +1,34 @@ -// @db-hash 982ecc457e8b79aea4521c60afd06753 +// @db-hash dca563f0fd86a5e9e9709d61b322e923 //该文件由脚本自动生成,请勿手动修改 +export interface _o_assets_old_20260327 { + 'assetsId'?: number | null; + 'describe'?: string | null; + 'id'?: number; + 'imageId'?: number | null; + 'name'?: string | null; + 'projectId'?: number | null; + 'prompt'?: string | null; + 'promptState'?: string | null; + 'remark'?: string | null; + 'scriptId'?: number | null; + 'startTime'?: number | null; + 'type'?: string | null; +} +export interface _o_assets_old_20260327_1 { + 'assetsId'?: number | null; + 'describe'?: string | null; + 'id'?: number; + 'imageId'?: number | null; + 'name'?: string | null; + 'projectId'?: number | null; + 'prompt'?: string | null; + 'promptState'?: string | null; + 'remark'?: string | null; + 'scriptId'?: number | null; + 'startTime'?: number | null; + 'type'?: string | null; +} export interface memories { 'content': string; 'createTime': number; @@ -46,6 +74,7 @@ export interface o_assets { 'name'?: string | null; 'projectId'?: number | null; 'prompt'?: string | null; + 'promptState'?: string | null; 'remark'?: string | null; 'scriptId'?: number | null; 'startTime'?: number | null; @@ -226,6 +255,8 @@ export interface o_videoConfig { } export interface DB { + "_o_assets_old_20260327": _o_assets_old_20260327; + "_o_assets_old_20260327_1": _o_assets_old_20260327_1; "memories": memories; "o_agentDeploy": o_agentDeploy; "o_agentWorkData": o_agentWorkData; diff --git a/src/utils/cleanNovel.ts b/src/utils/cleanNovel.ts index 7a03698..6380f54 100644 --- a/src/utils/cleanNovel.ts +++ b/src/utils/cleanNovel.ts @@ -32,7 +32,15 @@ class CleanNovel { messages: [ { role: "user", - content: "请根据以下小说章节生成事件摘要:\n" + novel.chapterData!, + content: + "请根据以下小说章节数:" + + novel.chapterIndex + + "小说章节券:" + + novel.reel + + "小说章节名称:" + + novel.chapter + + "、小说章节内容生成事件摘要:\n" + + novel.chapterData!, }, ], });