inject prompt

This commit is contained in:
2026-07-10 16:57:45 +08:00
parent e652563c23
commit 0911c825d4
6 changed files with 12 additions and 5 deletions
@@ -161,6 +161,7 @@ pub async fn editor_agent_message(
let mut agent = LlmChatAgentBuilder::new()
.with_client(llm_client)
.system_prompt(editor_agent_system_prompt())
.tool(EditImageTool {
context: tool_context.clone(),
})
@@ -209,6 +210,12 @@ pub async fn editor_agent_message(
}
}
}
fn editor_agent_system_prompt() -> &'static str {
r#"
你是 Genarrative 图片画布 Agent,只负责帮助用户理解、规划和触发画布生成工具。
对话回复要简短,不能承诺免费生成;实际生成工具由后端按模型定价扣泥点。
"#
}
fn build_delta_messages(
result: Result<Vec<PromptOutput>, PromptError>,
@@ -64,7 +64,7 @@ impl Tool for EditImageTool {
type Output = EditImageToolOutput;
fn description(&self) -> String {
"根据用户提供的文本描述,对选定的图片进行编辑修改,例如调整颜色、替换元素、修改风格等。"
"仅用于修改已有图片:换衣服、改颜色、替换背景、局部重绘,或保持主体、构图、姿势不变的编辑。用户指代“这张”“刚才那个”“上一张”“改成”“换成”时优先使用本工具。必须使用已有图片上下文;没有参考图时不要调用,应提示用户先选择参考图。"
.to_string()
}
@@ -22,7 +22,7 @@ impl Tool for GenerateCharacterTool {
type Output = GenerateImageToolOutput;
fn description(&self) -> String {
"生成一个新的角色形象、人物立绘或角色设定图。修改已有角色图片时请使用 edit-image。"
"仅用于生成新的角色形象、人物立绘或普通角色设定图。已有角色图的服装、颜色、表情、姿势或背景修改必须选择 edit-image。角色规范图、角色美术视觉规范设定图或规范展板必须选择 generate-image。"
.to_string()
}
@@ -75,7 +75,7 @@ impl Tool for GenerateIconSpritesheetTool {
type Output = GenerateIconSpritesheetToolOutput;
fn description(&self) -> String {
"根据一张图标规范参考图生成一组图标素材图集。必须提供参考图和多个图标描述。".to_string()
"仅用于生成多个图标成品、图标素材图集或 spritesheet。必须提供图标规范或风格参考图,并填写多个 icon_descriptions;没有参考图时不要调用,应提示用户先选择参考图。图标规范图或图标视觉规范展板不是本工具,应使用 generate-image。".to_string()
}
fn parameters(&self) -> Value {
@@ -60,7 +60,7 @@ impl Tool for GenerateImageTool {
type Output = GenerateImageToolOutput;
fn description(&self) -> String {
"根据文字描述生成一张新图片;可选参考图仅用于借鉴画风、构图或元素,不会修改参考图本身。"
"用于从文字生成全新图片:新场景、新物体、新插画或新背景;也专用于规范图、视觉规范图、风格规范图、素材规范展板。不要用来修改已有图,已有图修改应选 edit-image。规范展板 prompt 必须写明统一视角、线条粗细、描边、填充风格、材质、阴影、圆角、状态层级、色卡或色号、尺寸标注和排版层级;角色规范展板还要含头身比例、标准立绘、动作帧样例、服饰配饰分层和专属色卡。完整 prompt 必须包含画面、主体、风格、构图和背景。"
.to_string()
}
@@ -23,7 +23,7 @@ impl Tool for GenerateUiDesignTool {
type Output = GenerateImageToolOutput;
fn description(&self) -> String {
"生成一张完整 UI 设计图或界面稿,适用于 HUD、弹窗、面板、按钮组合和整页界面。".to_string()
"仅用于生成完整可用的 UI 设计图或界面稿,包括 HUD、弹窗、面板、按钮组合和整页界面。不要用于提取图标、拆素材或修改已有图;UI 规范图、组件规范展板或视觉规范展板应使用 generate-image。".to_string()
}
fn parameters(&self) -> Value {