添加生成资产视觉手册

This commit is contained in:
小帅 2026-03-29 22:20:17 +08:00
parent 292a0042ab
commit 618007d80b
4 changed files with 35 additions and 29 deletions

View File

@ -1,4 +1,4 @@
name
123123水电费水电费水电费水电费水电费
123123123
12312312312
123123123

View File

@ -84,16 +84,13 @@ export default router.post(
});
const result: ResultItem[] = Object.values(itemMap);
const typeConfig: Record<string, { promptKey: string; itemType: ItemType; label: string; nameLabel: string }> = {
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<string, { promptKey: string; itemType: ItemType; label: string; nameLabel: string; visualManual: string }> = {
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 {

View File

@ -85,27 +85,26 @@ export default router.post(
const result: ResultItem[] = Object.values(itemMap);
const typeConfig: Record<string, { promptKey: string; itemType: ItemType; label: string; nameLabel: string }> = {
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<string, { promptKey: string; itemType: ItemType; label: string; nameLabel: string; visualManual: string }> = {
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 {

View File

@ -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;