diff --git a/data/skills/script_agent_decision.md b/data/skills/script_agent_decision.md index 6593a8f..702290d 100644 --- a/data/skills/script_agent_decision.md +++ b/data/skills/script_agent_decision.md @@ -1,4 +1 @@ - - - -请直接调用delete_script删除name=xxx的剧本,不需要执行其他操作 \ No newline at end of file +用户让你输出故事骨架/改变策略/剧本的时候请调用 subAgent 执行,并直接输出 100 字以内的假数据 diff --git a/src/agents/scriptAgent/tools.ts b/src/agents/scriptAgent/tools.ts index 8a54b02..2950ed6 100644 --- a/src/agents/scriptAgent/tools.ts +++ b/src/agents/scriptAgent/tools.ts @@ -83,17 +83,6 @@ export default (toolCpnfig: ToolConfig) => { return text ?? "无数据"; }, }), - delete_script: tool({ - description: "删除剧本,你需要先获取get_planData", - inputSchema: z.object({ - name: z.string().describe("剧本名字"), - }), - execute: async ({ name }) => { - console.log("[tools] delete_script", name); - await new Promise((resolve) => socket.emit("delScript", { name }, (res: any) => resolve(res))); - return true; - }, - }), }; return toolsNames ? Object.fromEntries(Object.entries(tools).filter(([n]) => toolsNames.includes(n))) : tools; }; diff --git a/src/routes/scriptAgent/getPlanData.ts b/src/routes/scriptAgent/getPlanData.ts index 10b3e1c..7f612ff 100644 --- a/src/routes/scriptAgent/getPlanData.ts +++ b/src/routes/scriptAgent/getPlanData.ts @@ -13,9 +13,9 @@ export default router.post( }), async (req, res) => { const { projectId, agentType } = req.body; - const data = await u.db("o_agentWorkData").where({ projectId: projectId, key: agentType }).first(); + const row = await u.db("o_agentWorkData").where({ projectId: projectId, key: agentType }).first(); - if (!data) { + if (!row) { await u.db("o_agentWorkData").insert({ projectId: projectId, key: agentType, @@ -31,6 +31,9 @@ export default router.post( }), ); } - res.status(200).send(success(JSON.parse(data.data ?? "{}"))); + const data = JSON.parse(row.data ?? "{}"); + data.script = await u.db("o_script").where({ projectId }).select("id", "name", "content"); + + res.status(200).send(success(data)); }, ); diff --git a/src/routes/scriptAgent/setPlanData.ts b/src/routes/scriptAgent/setPlanData.ts index 40bea7d..1325bd1 100644 --- a/src/routes/scriptAgent/setPlanData.ts +++ b/src/routes/scriptAgent/setPlanData.ts @@ -23,6 +23,19 @@ export default router.post( .update({ data: JSON.stringify(data), }); + const script = data.script; + + await Promise.all( + script.map(async (s: any) => { + const row = await u.db("o_script").where({ projectId, name: s.name }).first(); + if (row) { + await u.db("o_script").where({ id: row.id }).update({ content: s.content }); + } else { + await u.db("o_script").insert({ projectId, name: s.name, content: s.content }); + } + }), + ); + res.status(200).send(success()); }, );