diff --git a/data/skills/art_prompts/chinese_sweet_romance/README.md b/data/skills/art_prompts/chinese_sweet_romance/README.md index 0d35dd8..165cb0d 100644 --- a/data/skills/art_prompts/chinese_sweet_romance/README.md +++ b/data/skills/art_prompts/chinese_sweet_romance/README.md @@ -1,4 +1,4 @@ name 123123水电费水电费水电费水电费水电费 -123123123 +12312312312 123123123 \ No newline at end of file diff --git a/src/routes/assetsGenerate/batchPolishAssetsPrompt.ts b/src/routes/assetsGenerate/batchPolishAssetsPrompt.ts index b05abf0..7f42327 100644 --- a/src/routes/assetsGenerate/batchPolishAssetsPrompt.ts +++ b/src/routes/assetsGenerate/batchPolishAssetsPrompt.ts @@ -84,16 +84,13 @@ export default router.post( }); const result: ResultItem[] = Object.values(itemMap); - const typeConfig: Record = { - role: { promptKey: "role-polish", itemType: "characters", label: "角色标准四视图", nameLabel: "角色" }, - scene: { promptKey: "scene-polish", itemType: "scenes", label: "场景图", nameLabel: "场景" }, - tool: { promptKey: "tool-polish", itemType: "props", label: "道具图", nameLabel: "道具" }, + const typeConfig: Record = { + role: { promptKey: "role-polish", itemType: "characters", label: "角色标准四视图", nameLabel: "角色", visualManual: "art_character" }, + scene: { promptKey: "scene-polish", itemType: "scenes", label: "场景图", nameLabel: "场景", visualManual: "art_scene" }, + tool: { promptKey: "tool-polish", itemType: "props", label: "道具图", nameLabel: "道具", visualManual: "art_prop" }, }; - const novelData = (await u.db("o_novel").whereIn("chapterIndex", [1]).select("*")) as NovelChapter[]; const novelText = mergeNovelText(novelData); - const data = await u.db("o_prompt").where("type", "assetsPromptGeneration").first("data"); - // 批量更新所有 item 状态为生成中 const assetsIds = items.map((item: { assetsId: number }) => item.assetsId); await u.db("o_assets").whereIn("id", assetsIds).update({ promptState: "生成中" }); @@ -105,11 +102,12 @@ export default router.post( limit(async () => { const config = typeConfig[item.type]; if (!config) return; - + //获取到视觉手册 + const visualManual = await u.getArtPrompt(project.artStyle as string, config.visualManual); + if (!visualManual) return res.status(500).send(error("视觉手册未定义")); findItemByName(result, item.name, config.itemType); - const systemPrompt = `${data?.data} - + const systemPrompt = ` 请根据以下参数生成${config.label}提示词: **基础参数:** @@ -122,6 +120,7 @@ export default router.post( - ${config.nameLabel}描述:${item.describe}, 请严格按照skill规范生成${item.type === "role" ? "人物角色四视图" : config.label}提示词。 + ${visualManual} `; try { diff --git a/src/routes/assetsGenerate/polishAssetsPrompt.ts b/src/routes/assetsGenerate/polishAssetsPrompt.ts index f922283..bb12bc5 100644 --- a/src/routes/assetsGenerate/polishAssetsPrompt.ts +++ b/src/routes/assetsGenerate/polishAssetsPrompt.ts @@ -85,27 +85,26 @@ export default router.post( const result: ResultItem[] = Object.values(itemMap); - const typeConfig: Record = { - role: { promptKey: "role-polish", itemType: "characters", label: "角色标准四视图", nameLabel: "角色" }, - scene: { promptKey: "scene-polish", itemType: "scenes", label: "场景图", nameLabel: "场景" }, - tool: { promptKey: "tool-polish", itemType: "props", label: "道具图", nameLabel: "道具" }, + const typeConfig: Record = { + role: { promptKey: "role-polish", itemType: "characters", label: "角色标准四视图", nameLabel: "角色", visualManual: "art_character" }, + scene: { promptKey: "scene-polish", itemType: "scenes", label: "场景图", nameLabel: "场景", visualManual: "art_scene" }, + tool: { promptKey: "tool-polish", itemType: "props", label: "道具图", nameLabel: "道具", visualManual: "art_prop" }, }; const config = typeConfig[type]; if (!config) return res.status(500).send(error("不支持的类型")); - + if (!config.visualManual) return res.status(500).send(error("视觉手册未定义")); + //获取到视觉手册 + const visualManual = await u.getArtPrompt(project.artStyle as string, config.visualManual); + if (!visualManual) return res.status(500).send(error("视觉手册未定义")); findItemByName(result, name, config.itemType); const novelData = (await u.db("o_novel").whereIn("chapterIndex", [1]).select("*")) as NovelChapter[]; const novelText = mergeNovelText(novelData); - const data = await u.db("o_prompt").where("type", "assetsPromptGeneration").first("data"); - - const systemPrompt = `${data?.data} - + const systemPrompt = ` 请根据以下参数生成${config.label}提示词: **基础参数:** - - 风格: ${project?.artStyle || "未指定"} - 小说类型: ${project?.type || "未指定"} - 小说背景: ${project?.intro || "未指定"} @@ -113,7 +112,8 @@ export default router.post( - ${config.nameLabel}名称:${name}, - ${config.nameLabel}描述:${describe}, - 请严格按照skill规范生成${type === "role" ? "人物角色四视图" : config.label}提示词。 + 请严格按照skill规范生成${type === "role" ? "人物角色四视图" : config.label}提示词 + ${visualManual}。 `; try { diff --git a/src/types/database.d.ts b/src/types/database.d.ts index 4544078..735f17d 100644 --- a/src/types/database.d.ts +++ b/src/types/database.d.ts @@ -1,12 +1,18 @@ -// @db-hash f7bc2fdb80756d5536929eb47155578b +// @db-hash e24c7c99757472b92af11f26a2b2b8c7 //该文件由脚本自动生成,请勿手动修改 -export interface _o_script_old_20260327 { - 'content'?: string | null; +export interface _o_project_old_20260328 { + 'artStyle'?: string | null; 'createTime'?: number | null; - 'id'?: number; + 'id'?: number | null; + 'imageModel'?: string | null; + 'intro'?: string | null; 'name'?: string | null; - 'projectId'?: number | null; + 'projectType'?: string | null; + 'type'?: string | null; + 'userId'?: number | null; + 'videoModel'?: string | null; + 'videoRatio'?: string | null; } export interface memories { 'content': string; @@ -54,6 +60,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; @@ -173,7 +180,7 @@ export interface o_storyboard { 'filePath'?: string | null; 'frameMode'?: string | null; 'id'?: number; - 'index'?: string | null; + 'index'?: number | null; 'lines'?: string | null; 'mode'?: string | null; 'model'?: string | null; @@ -238,7 +245,7 @@ export interface o_videoConfig { } export interface DB { - "_o_script_old_20260327": _o_script_old_20260327; + "_o_project_old_20260328": _o_project_old_20260328; "memories": memories; "o_agentDeploy": o_agentDeploy; "o_agentWorkData": o_agentWorkData;