From 2d20c7cbbaff8658736cdda6e5c3057a906d7980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=BD=AE?= Date: Tue, 10 Feb 2026 22:18:30 +0800 Subject: [PATCH] update dataset_id_str --- agent/prompt_loader.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/agent/prompt_loader.py b/agent/prompt_loader.py index 5182757..a7c40fa 100644 --- a/agent/prompt_loader.py +++ b/agent/prompt_loader.py @@ -144,21 +144,23 @@ def replace_mcp_placeholders(mcp_settings: List[Dict], dataset_dir: str, bot_id: if not mcp_settings or not isinstance(mcp_settings, list): return mcp_settings + dataset_id_str = ','.join(dataset_ids) if dataset_ids else '' + def replace_placeholders_in_obj(obj): """递归替换对象中的占位符""" if isinstance(obj, dict): for key, value in obj.items(): if key == 'args' and isinstance(value, list): # 特别处理 args 列表 - obj[key] = [item.format(dataset_dir=dataset_dir, bot_id=bot_id, dataset_ids=','.join(dataset_ids)) if isinstance(item, str) else item + obj[key] = [item.format(dataset_dir=dataset_dir, bot_id=bot_id, dataset_ids=dataset_id_str) if isinstance(item, str) else item for item in value] elif isinstance(value, (dict, list)): obj[key] = replace_placeholders_in_obj(value) elif isinstance(value, str): - obj[key] = value.format(dataset_dir=dataset_dir, bot_id=bot_id, dataset_ids=','.join(dataset_ids)) + obj[key] = value.format(dataset_dir=dataset_dir, bot_id=bot_id, dataset_ids=dataset_id_str) elif isinstance(obj, list): return [replace_placeholders_in_obj(item) if isinstance(item, (dict, list)) else - item.format(dataset_dir=dataset_dir, bot_id=bot_id, dataset_ids=','.join(dataset_ids)) if isinstance(item, str) else item + item.format(dataset_dir=dataset_dir, bot_id=bot_id, dataset_ids=dataset_id_str) if isinstance(item, str) else item for item in obj] return obj