Skip to content

Commit f2ee219

Browse files
authored
refactor: optimize scene prompt formatting and selection sync logic (#143)
1 parent d2f34a3 commit f2ee219

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

packages/derisk-serve/src/derisk_serve/agent/agents/chat/agent_chat.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1137,11 +1137,12 @@ async def _load_and_inject_scenes(
11371137
return ""
11381138

11391139
# 构建场景提示词
1140+
scene_separator = "\n\n---\n\n"
11401141
scene_prompt = f"""# 场景定义
11411142
11421143
你是根据以下场景定义来协助用户的智能助手。请严格遵循场景定义中的角色设定、工作流程和工具使用规范。
11431144
1144-
{"\n\n---\n\n".join(scene_contents)}
1145+
{scene_separator.join(scene_contents)}
11451146
11461147
---
11471148

web/src/app/application/app/components/tab-scenes.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,14 @@ export default function TabScenes() {
200200

201201
// 从 appInfo 中获取已选择的场景
202202
useEffect(() => {
203-
if (appInfo?.scenes) {
204-
setSelectedScenes(appInfo.scenes);
203+
if (appInfo?.scenes && appInfo.scenes.length > 0) {
204+
const serverHasNewScenes = appInfo.scenes.some(id => !selectedScenes.includes(id));
205+
const localHasUnsyncedScenes = selectedScenes.some(id => !appInfo.scenes.includes(id));
206+
const isInitializing = selectedScenes.length === 0;
207+
208+
if (serverHasNewScenes || (isInitializing && !localHasUnsyncedScenes)) {
209+
setSelectedScenes(appInfo.scenes);
210+
}
205211
}
206212
}, [appInfo?.scenes]);
207213

@@ -338,10 +344,12 @@ export default function TabScenes() {
338344

339345
const newScenes = [...selectedScenes, newScene.scene_id];
340346
setSelectedScenes(newScenes);
347+
341348
await fetchUpdateApp({ ...appInfo, scenes: newScenes });
342349

343350
message.success(t('scene_create_success', '场景创建成功'));
344351
setCreateModalVisible(false);
352+
345353
setActiveSceneId(newScene.scene_id);
346354
setEditingContent(defaultContent);
347355
setHasChanges(false);

0 commit comments

Comments
 (0)