From 3ead260a5259ef80998369f65848f0d393aa0e54 Mon Sep 17 00:00:00 2001 From: zxstty Date: Sun, 20 Apr 2025 12:13:45 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=B5=81=E8=B0=83=E8=AF=95=E7=8A=B6=E6=80=81=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=9A=84bug;schema=E8=BD=AC=E6=8D=A2=E4=B8=BAjson=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E9=BB=98=E8=AE=A4=E5=80=BC=E4=BC=98=E5=85=88?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/manager/appcenter.py | 1 + apps/routers/chat.py | 4 ++++ apps/scheduler/scheduler/scheduler.py | 2 -- apps/service/flow.py | 8 +++++--- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/apps/manager/appcenter.py b/apps/manager/appcenter.py index bc98f16db..aeffa1a7b 100644 --- a/apps/manager/appcenter.py +++ b/apps/manager/appcenter.py @@ -106,6 +106,7 @@ class AppCenterManager: if keyword and search_type != SearchType.AUTHOR else base_filter ) + logging.exception(f'{filter}') apps, total_apps = await AppCenterManager._search_apps_by_filter(filters, page, page_size) fav_apps = await AppCenterManager._get_favorite_app_ids_by_user(user_sub) return [ diff --git a/apps/routers/chat.py b/apps/routers/chat.py index 4dd261e1d..a8414cddd 100644 --- a/apps/routers/chat.py +++ b/apps/routers/chat.py @@ -23,6 +23,7 @@ from apps.dependency import ( ) from apps.entities.request_data import RequestData from apps.entities.response_data import ResponseData +from apps.manager.flow import FlowManager from apps.manager.blacklist import QuestionBlacklistManager, UserBlacklistManager from apps.manager.task import TaskManager from apps.scheduler.scheduler import Scheduler @@ -36,6 +37,7 @@ router = APIRouter( tags=["chat"], ) + async def init_task(post_body: RequestData, user_sub: str, session_id: str) -> str: """初始化Task""" # 生成group_id @@ -103,6 +105,8 @@ async def chat_generator(post_body: RequestData, user_sub: str, session_id: str) yield "data: [DONE]\n\n" + if post_body.app and post_body.app.flow_id: + await FlowManager.update_flow_debug_by_app_and_flow_id(post_body.app.app_id, post_body.app.flow_id, debug=True) except Exception: logger.exception("[Chat] 生成答案失败") yield "data: [ERROR]\n\n" diff --git a/apps/scheduler/scheduler/scheduler.py b/apps/scheduler/scheduler/scheduler.py index 6ab82513f..2513ed279 100644 --- a/apps/scheduler/scheduler/scheduler.py +++ b/apps/scheduler/scheduler/scheduler.py @@ -176,6 +176,4 @@ class Scheduler: # 更新Task task = await TaskManager.get_task(task.id) # 如果状态正常,则更新Flow的debug状态 - if task.state and task.state.status == StepStatus.SUCCESS: - await FlowManager.update_flow_debug_by_app_and_flow_id(app_info.app_id, flow_id, debug=True) return diff --git a/apps/service/flow.py b/apps/service/flow.py index 58c8782ea..3f4e05735 100644 --- a/apps/service/flow.py +++ b/apps/service/flow.py @@ -260,6 +260,8 @@ def generate_from_schema(schema: dict) -> Any: def _generate_example(schema_node: dict) -> Any: # 处理类型为 object 的节点 + if "default" in schema_node: + return schema_node["default"] if schema_node.get("type") == "object": example = {} properties = schema_node.get("properties", {}) @@ -274,15 +276,15 @@ def generate_from_schema(schema: dict) -> Any: # 处理类型为 string 的节点 if schema_node.get("type") == "string": - return schema_node.get("default", "example_string") + return "example_string" # 处理类型为 number 或 integer 的节点 if schema_node.get("type") in ["number", "integer"]: - return schema_node.get("default", 0) + return 0 # 处理类型为 boolean 的节点 if schema_node.get("type") == "boolean": - return schema_node.get("default", False) + return False # 处理其他类型或未定义类型 return None -- Gitee From 748e8a0ddc836836169b16bbd971b92915b6a821 Mon Sep 17 00:00:00 2001 From: zxstty Date: Sun, 20 Apr 2025 12:26:50 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 2 +- apps/manager/appcenter.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4cabfda46..27c7bab79 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM hub.oepkgs.net/neocopilot/framework-baseimg:dev +FROM hub.oepkgs.net/neocopilot/framework_base:0.9.5-x86-test USER root RUN sed -i 's/umask 002/umask 027/g' /etc/bashrc && \ diff --git a/apps/manager/appcenter.py b/apps/manager/appcenter.py index aeffa1a7b..d8bf63225 100644 --- a/apps/manager/appcenter.py +++ b/apps/manager/appcenter.py @@ -103,10 +103,9 @@ class AppCenterManager: search_type, keyword, ) - if keyword and search_type != SearchType.AUTHOR + if keyword else base_filter ) - logging.exception(f'{filter}') apps, total_apps = await AppCenterManager._search_apps_by_filter(filters, page, page_size) fav_apps = await AppCenterManager._get_favorite_app_ids_by_user(user_sub) return [ -- Gitee From ed39bba90437bbc05046025f2dfbd13a6c8aaa97 Mon Sep 17 00:00:00 2001 From: zxstty Date: Sun, 20 Apr 2025 13:02:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E4=B8=AD=E6=96=B0=E5=92=8C=E8=AF=AD=E4=B9=89=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E6=88=91=E5=88=9B=E5=BB=BA=E5=92=8C=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E7=9A=84=E5=86=85=E5=AE=B9=E6=A3=80=E7=B4=A2=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/manager/appcenter.py | 5 +++++ apps/manager/service.py | 3 +++ 2 files changed, 8 insertions(+) diff --git a/apps/manager/appcenter.py b/apps/manager/appcenter.py index d8bf63225..9f0ae664e 100644 --- a/apps/manager/appcenter.py +++ b/apps/manager/appcenter.py @@ -7,6 +7,7 @@ Copyright (c) Huawei Technologies Co., Ltd. 2024-2025. All rights reserved. import logging import uuid from datetime import UTC, datetime +import re from typing import Any from apps.entities.appcenter import AppCenterCardItem, AppData @@ -22,6 +23,7 @@ from apps.scheduler.pool.loader.app import AppLoader logger = logging.getLogger(__name__) + class AppCenterManager: """应用中心管理器""" @@ -96,6 +98,9 @@ class AppCenterManager: """ try: # 搜索条件 + if search_type == SearchType.AUTHOR: + if keyword not in user_sub: + return [], 0 base_filter = {"author": user_sub} filters: dict[str, Any] = ( AppCenterManager._build_filters( diff --git a/apps/manager/service.py b/apps/manager/service.py index 82b072b8e..5cb870795 100644 --- a/apps/manager/service.py +++ b/apps/manager/service.py @@ -69,6 +69,9 @@ class ServiceCenterManager: page_size: int, ) -> tuple[list[ServiceCardItem], int]: """获取用户创建的服务""" + if search_type == SearchType.AUTHOR: + if keyword not in user_sub: + return [], 0 base_filter = {"author": user_sub} filters = ServiceCenterManager._build_filters(base_filter, search_type, keyword) if keyword else base_filter service_pools, total_count = await ServiceCenterManager._search_service(filters, page, page_size) -- Gitee