From 7cb2c9c5ca864837e0a8b63568c49e95aa618cf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=BD=AE?= Date: Thu, 26 Feb 2026 08:29:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8D=95=E6=99=BA=E8=83=BD=E4=BD=93?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=8B=E5=8A=A0=E8=BD=BD=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=89=80=E6=9C=89=E7=9F=A5=E8=AF=86=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - get_bot_settings 接口中,单智能体模式时加载用户的所有知识库 - 不再从 settings_json 读取 dataset_ids 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- routes/bot_manager.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) 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),