From b7aa6d6c4f58d6330057f4b7d42a64dc4f2f4a94 Mon Sep 17 00:00:00 2001 From: Lynn Date: Fri, 7 Nov 2025 09:27:31 +0800 Subject: [PATCH] Fix: add avatar for UI (#11080) ### What problem does this PR solve? Add avatar for admin UI. ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- admin/client/admin_client.py | 14 +++++++++++--- admin/server/services.py | 4 +++- api/db/services/canvas_service.py | 1 + api/db/services/knowledgebase_service.py | 1 + api/utils/health_utils.py | 5 ++++- 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/admin/client/admin_client.py b/admin/client/admin_client.py index 261698ebf..e96d4afbc 100644 --- a/admin/client/admin_client.py +++ b/admin/client/admin_client.py @@ -632,7 +632,9 @@ class AdminCLI(Cmd): response = self.session.get(url) res_json = response.json() if response.status_code == 200: - self._print_table_simple(res_json['data']) + table_data = res_json['data'] + table_data.pop('avatar') + self._print_table_simple(table_data) else: print(f"Fail to get user {user_name}, code: {res_json['code']}, message: {res_json['message']}") @@ -705,7 +707,10 @@ class AdminCLI(Cmd): response = self.session.get(url) res_json = response.json() if response.status_code == 200: - self._print_table_simple(res_json['data']) + table_data = res_json['data'] + for t in table_data: + t.pop('avatar') + self._print_table_simple(table_data) else: print(f"Fail to get all datasets of {user_name}, code: {res_json['code']}, message: {res_json['message']}") @@ -717,7 +722,10 @@ class AdminCLI(Cmd): response = self.session.get(url) res_json = response.json() if response.status_code == 200: - self._print_table_simple(res_json['data']) + table_data = res_json['data'] + for t in table_data: + t.pop('avatar') + self._print_table_simple(table_data) else: print(f"Fail to get all agents of {user_name}, code: {res_json['code']}, message: {res_json['message']}") diff --git a/admin/server/services.py b/admin/server/services.py index 06682acec..05f408918 100644 --- a/admin/server/services.py +++ b/admin/server/services.py @@ -52,6 +52,7 @@ class UserMgr: result = [] for user in users: result.append({ + 'avatar': user.avatar, 'email': user.email, 'language': user.language, 'last_login_time': user.last_login_time, @@ -170,7 +171,8 @@ class UserServiceMgr: return [{ 'title': r['title'], 'permission': r['permission'], - 'canvas_category': r['canvas_category'].split('_')[0] + 'canvas_category': r['canvas_category'].split('_')[0], + 'avatar': r['avatar'] } for r in res] diff --git a/api/db/services/canvas_service.py b/api/db/services/canvas_service.py index ff3aad67b..5a0f82c2b 100644 --- a/api/db/services/canvas_service.py +++ b/api/db/services/canvas_service.py @@ -67,6 +67,7 @@ class UserCanvasService(CommonService): # will get all permitted agents, be cautious fields = [ cls.model.id, + cls.model.avatar, cls.model.title, cls.model.permission, cls.model.canvas_type, diff --git a/api/db/services/knowledgebase_service.py b/api/db/services/knowledgebase_service.py index 7df7957b8..03179da49 100644 --- a/api/db/services/knowledgebase_service.py +++ b/api/db/services/knowledgebase_service.py @@ -201,6 +201,7 @@ class KnowledgebaseService(CommonService): # will get all permitted kb, be cautious. fields = [ cls.model.name, + cls.model.avatar, cls.model.language, cls.model.permission, cls.model.doc_num, diff --git a/api/utils/health_utils.py b/api/utils/health_utils.py index 06937562e..f9a11323c 100644 --- a/api/utils/health_utils.py +++ b/api/utils/health_utils.py @@ -146,7 +146,10 @@ def get_redis_info(): def check_ragflow_server_alive(): start_time = timer() try: - response = requests.get(f'http://{settings.HOST_IP}:{settings.HOST_PORT}/v1/system/ping') + url = f'http://{settings.HOST_IP}:{settings.HOST_PORT}/v1/system/ping' + if '0.0.0.0' in url: + url.replace('0.0.0.0', '127.0.0.1') + response = requests.get(url) if response.status_code == 200: return {"status": "alive", "message": f"Confirm elapsed: {(timer() - start_time) * 1000.0:.1f} ms."} else: