diff --git a/routes/bot_manager.py b/routes/bot_manager.py index dcf8fda..c6bfc17 100644 --- a/routes/bot_manager.py +++ b/routes/bot_manager.py @@ -1508,12 +1508,24 @@ async def get_bot_settings(bot_uuid: str, authorization: Optional[str] = Header( api_key=None ) - # 处理 dataset_ids:将字符串转换为数组 - dataset_ids = settings.get('dataset_ids') - if dataset_ids and isinstance(dataset_ids, str): - dataset_ids = [id.strip() for id in dataset_ids.split(',') if id.strip()] - elif not dataset_ids: - dataset_ids = None + # 处理 dataset_ids + # 单智能体模式:加载用户的所有知识库 + # 普通模式:从 settings 读取 + if SINGLE_AGENT_MODE: + await cursor.execute(""" + SELECT dataset_id + FROM user_datasets + WHERE user_id = %s + ORDER BY created_at DESC + """, (user_id,)) + user_datasets = await cursor.fetchall() + dataset_ids = [row[0] for row in user_datasets] if user_datasets else [] + else: + dataset_ids = settings.get('dataset_ids') + if dataset_ids and isinstance(dataset_ids, str): + dataset_ids = [id.strip() for id in dataset_ids.split(',') if id.strip()] + elif not dataset_ids: + dataset_ids = None return BotSettingsResponse( bot_id=str(bot_id),