修复新增项目问题,删除问题,更新skill
This commit is contained in:
parent
8926fbc637
commit
cdad1d50c0
@ -141,6 +141,7 @@ add_deriveAsset({
|
||||
|
||||
1. 加载风格技法参考,获取 `script` 和 `assets`,并并且激活 `director_planning_narrative` 以及 `director_planning_style`,所有规划内容以该文档为风格基准,冲突时以风格技法参考为准。
|
||||
2. 按下方规范制定导演规划(创作规划),全文遵守「导演具象化原则」
|
||||
3. 严格按照XML格式写出导演规划<storyboardTable>内容</storyboardTable>
|
||||
|
||||
### 导演具象化原则(贯穿全文)
|
||||
|
||||
@ -257,6 +258,7 @@ add_deriveAsset({
|
||||
|
||||
1. 获取 `script` 和 `assets`,并且激活 `director_storyboard_table_narrative` 以及 `director_storyboard_table_style` ,作为分镜设计的风格参考。
|
||||
2. 按下方规则将剧本拆分为分镜,**每写一行前**回顾上一行状态,确保符合「视觉连续性铁律」后再填写当前行所有字段
|
||||
3. 严格按照XML格式写出导演规划<scriptPlan>内容</scriptPlan>
|
||||
|
||||
### 分镜拆分原则
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
- 主要删除决策:被删/压缩内容、原因、对主线影响
|
||||
- 世界观呈现策略:关键元素出场节奏、解释度策略、角色态度锚点
|
||||
3. **阐述思路**(200-300字):核心改编原则方向、删减大方向、世界观呈现思路
|
||||
4. 使用要求的XML格式写出改编策略。
|
||||
4. 严格按照XML格式写出改编策略<adaptationStrategy>改编策略内容</adaptationStrategy>。
|
||||
5. 返回简短确认,如:"改编策略已保存,请在右侧工作台查看。"
|
||||
|
||||
## 约束
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
1. 调用 `get_planData` 获取骨架与改编策略;若存在上一集剧本id,调用 `get_script_content(ids)` 获取最后一集剧本内容,用于衔接剧情与角色状态,调用 `get_novel_text` 获取对应章节原文,调用 `get_novel_events(ids)` 获取事件表
|
||||
2. 从骨架中**仅提取当前任务集**的信息:覆盖章节、戏剧功能、场景核心、删减决策、集末钩子。**忽略其他已完成或未分配的集**
|
||||
3. **阐述思路**(200-300字):场景组织方式、重点情绪与冲突、节奏把控思路
|
||||
4. 严格按照XML格式写出剧本内容<scriptItem name="剧本名称">剧本内容</scriptItem>`。
|
||||
4. 严格按照XML格式写出剧本内容<scriptItem name="剧本名称">剧本内容</scriptItem>。
|
||||
5. 返回简短确认,如:"第X集剧本已写入,请在工作台查看。"
|
||||
|
||||
## 约束
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
- 全局删减决策表
|
||||
- 付费卡点设计
|
||||
3. **阐述思路**(200-300字):核心吸引力判断、三幕划分思路、分集策略方向
|
||||
4. 使用规定的XML格式写出骨架。
|
||||
4. 严格按照XML格式写出故事骨架<storySkeleton>故事骨架内容</storySkeleton>。
|
||||
5. 返回简短确认,如:"故事骨架已保存,请在右侧工作台查看。"
|
||||
|
||||
## 约束
|
||||
|
||||
@ -168,7 +168,7 @@ function createSubAgent(parentCtx: AgentContext) {
|
||||
memoryKey: "assistant:execution",
|
||||
messages: [
|
||||
{ role: "assistant", content: artSkills.prompt + `\n${modelInfo}` },
|
||||
{ role: "user", content: prompt },
|
||||
{ role: "user", content: prompt + addPrompt },
|
||||
],
|
||||
tools: { ...artSkills.tools },
|
||||
});
|
||||
@ -183,7 +183,7 @@ function createSubAgent(parentCtx: AgentContext) {
|
||||
const systemPrompt = await fs.promises.readFile(skill, "utf-8");
|
||||
return runAgent({
|
||||
prompt,
|
||||
system: systemPrompt + "你必须使用如下XML格式写入工作区:\n<storySkeleton>故事骨架内容</storySkeleton>",
|
||||
system: systemPrompt,
|
||||
name: "监制",
|
||||
memoryKey: "assistant:supervision",
|
||||
});
|
||||
@ -230,4 +230,4 @@ export function buildSkillPrompt(skills: { name: string; description: string }[]
|
||||
<available_skills>
|
||||
${skillEntries}
|
||||
</available_skills>`;
|
||||
}
|
||||
}
|
||||
|
||||
@ -141,11 +141,15 @@ function createSubAgent(parentCtx: AgentContext) {
|
||||
execute: async ({ prompt }) => {
|
||||
const skill = path.join(u.getPath("skills"), "script_execution_skeleton.md");
|
||||
const systemPrompt = await fs.promises.readFile(skill, "utf-8");
|
||||
|
||||
const formatPrompt = "\n你必须使用如下XML格式写入工作区:\n<storySkeleton>故事骨架内容</storySkeleton>";
|
||||
|
||||
return runAgent({
|
||||
prompt,
|
||||
system: systemPrompt + "\n你必须使用如下XML格式写入工作区:\n<storySkeleton>故事骨架内容</storySkeleton>",
|
||||
system: systemPrompt + formatPrompt,
|
||||
name: "编剧",
|
||||
memoryKey: "assistant:execution:storySkeleton",
|
||||
messages: [{ role: "user", content: prompt + formatPrompt }],
|
||||
});
|
||||
},
|
||||
});
|
||||
@ -156,11 +160,15 @@ function createSubAgent(parentCtx: AgentContext) {
|
||||
execute: async ({ prompt }) => {
|
||||
const skill = path.join(u.getPath("skills"), "script_execution_adaptation.md");
|
||||
const systemPrompt = await fs.promises.readFile(skill, "utf-8");
|
||||
|
||||
const formatPrompt = "\n你必须使用如下XML格式写入工作区:\n<adaptationStrategy>改编策略内容</adaptationStrategy>";
|
||||
|
||||
return runAgent({
|
||||
prompt,
|
||||
system: systemPrompt + "\n你必须使用如下XML格式写入工作区:\n<adaptationStrategy>改编策略内容</adaptationStrategy>",
|
||||
system: systemPrompt + formatPrompt,
|
||||
name: "编剧",
|
||||
memoryKey: "assistant:execution:adaptationStrategy",
|
||||
messages: [{ role: "user", content: prompt + formatPrompt }],
|
||||
});
|
||||
},
|
||||
});
|
||||
@ -181,14 +189,14 @@ function createSubAgent(parentCtx: AgentContext) {
|
||||
|
||||
const projectPrompt = ["## 章节ID映射(ID:章序)", novelData.map((i: any) => `${i.id}:${i.index}`).join(","), ""].join("\n");
|
||||
|
||||
const formatPrompt = `\n你必须使用如下XML格式写入工作区:\nXML不得添加任何额外标签<scriptItem name="剧本名称">剧本内容</scriptItem><scriptItem name="剧本名称">剧本内容</scriptItem><scriptItem name="剧本名称">剧本内容</scriptItem>`;
|
||||
|
||||
return runAgent({
|
||||
prompt,
|
||||
system:
|
||||
systemPrompt +
|
||||
`\n你必须使用如下XML格式写入工作区:\nXML不得添加任何额外标签<scriptItem name="剧本名称">剧本内容</scriptItem><scriptItem name="剧本名称">剧本内容</scriptItem><scriptItem name="剧本名称">剧本内容</scriptItem>`,
|
||||
system: systemPrompt + formatPrompt,
|
||||
messages: [
|
||||
{ role: "assistant", content: projectPrompt + "\n" + scriptPrompt },
|
||||
{ role: "user", content: prompt },
|
||||
{ role: "user", content: prompt + formatPrompt },
|
||||
],
|
||||
name: "编剧",
|
||||
memoryKey: "assistant:execution:script",
|
||||
|
||||
@ -25,6 +25,7 @@ export default router.post(
|
||||
const { projectType, name, intro, type, directorManual, artStyle, videoRatio, imageModel, videoModel, imageQuality, mode } = req.body;
|
||||
|
||||
await u.db("o_project").insert({
|
||||
id: Date.now(),
|
||||
projectType,
|
||||
name,
|
||||
intro,
|
||||
|
||||
@ -54,6 +54,9 @@ export default router.post(
|
||||
await u.db("o_videoTrack").where("projectId", id).delete();
|
||||
await u.db("o_video").where("projectId", id).delete();
|
||||
//删除项目下的资源
|
||||
|
||||
await u.db("memories").where("isolationKey", "like", `${id}:%`).delete();
|
||||
|
||||
try {
|
||||
await u.oss.deleteDirectory(`${id}/`);
|
||||
console.log(`项目 ${id} 的OSS文件夹删除成功`);
|
||||
|
||||
19
src/types/database.d.ts
vendored
19
src/types/database.d.ts
vendored
@ -1,22 +1,6 @@
|
||||
// @db-hash 19c726e36479d905346c772cfa8007ba
|
||||
// @db-hash 6fa5017e455bc367c9c902ba574d11b4
|
||||
//该文件由脚本自动生成,请勿手动修改
|
||||
|
||||
export interface _o_project_old_20260404 {
|
||||
'artStyle'?: string | null;
|
||||
'createTime'?: number | null;
|
||||
'directorManual'?: string | null;
|
||||
'id'?: number | null;
|
||||
'imageModel'?: string | null;
|
||||
'imageQuality'?: string | null;
|
||||
'intro'?: string | null;
|
||||
'mode'?: string | null;
|
||||
'name'?: string | null;
|
||||
'projectType'?: string | null;
|
||||
'type'?: string | null;
|
||||
'userId'?: number | null;
|
||||
'videoModel'?: string | null;
|
||||
'videoRatio'?: string | null;
|
||||
}
|
||||
export interface memories {
|
||||
'content': string;
|
||||
'createTime': number;
|
||||
@ -247,7 +231,6 @@ export interface o_videoTrack {
|
||||
}
|
||||
|
||||
export interface DB {
|
||||
"_o_project_old_20260404": _o_project_old_20260404;
|
||||
"memories": memories;
|
||||
"o_agentDeploy": o_agentDeploy;
|
||||
"o_agentWorkData": o_agentWorkData;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user