diff --git a/api/apps/restful_apis/agent_api.py b/api/apps/restful_apis/agent_api.py index 2338b86a64..33b6788436 100644 --- a/api/apps/restful_apis/agent_api.py +++ b/api/apps/restful_apis/agent_api.py @@ -715,12 +715,10 @@ async def create_agent(tenant_id): ) req["title"] = req["title"].strip() - if UserCanvasService.query( - user_id=tenant_id, - title=req["title"], - canvas_category=req["canvas_category"], - ): - return get_data_error_result(message=f"{req['title']} already exists.") + for canvas in UserCanvasService.query(user_id=tenant_id, canvas_category=req["canvas_category"]): + canvas_title = getattr(canvas, "title", req["title"]) + if canvas_title and canvas_title.lower() == req["title"].lower(): + return get_data_error_result(message=f"{req['title']} already exists.") req["id"] = get_uuid() if not UserCanvasService.save(**req): @@ -956,10 +954,15 @@ async def update_agent(agent_id, tenant_id): code=RetCode.ARGUMENT_ERROR, ) + _, current_agent = UserCanvasService.get_by_id(agent_id) if req.get("title") is not None: req["title"] = req["title"].strip() + canvas_category_for_duplicate_check = req.get("canvas_category") or (current_agent.canvas_category if current_agent else CanvasCategory.Agent) + for canvas in UserCanvasService.query(user_id=tenant_id, canvas_category=canvas_category_for_duplicate_check): + canvas_title = getattr(canvas, "title", "") + if getattr(canvas, "id", None) != agent_id and canvas_title and canvas_title.lower() == req["title"].lower(): + return get_data_error_result(message=f"{req['title']} already exists.") - _, current_agent = UserCanvasService.get_by_id(agent_id) agent_title_for_version = req.get("title") or (current_agent.title if current_agent else "") canvas_category = ( req.get("canvas_category") diff --git a/web/src/hooks/use-agent-request.ts b/web/src/hooks/use-agent-request.ts index 505ebe575b..3afc46f9f9 100644 --- a/web/src/hooks/use-agent-request.ts +++ b/web/src/hooks/use-agent-request.ts @@ -242,8 +242,6 @@ export const useUpdateAgentSetting = () => { queryClient.invalidateQueries({ queryKey: [AgentApiAction.FetchAgentListByPage], }); - } else { - message.error(ret?.data?.data); } return ret?.data?.code; },