diff --git a/utils/fastapi_utils.py b/utils/fastapi_utils.py index e154657..4c8a3a2 100644 --- a/utils/fastapi_utils.py +++ b/utils/fastapi_utils.py @@ -374,7 +374,7 @@ def create_project_directory(dataset_ids: Optional[List[str]], bot_id: str, robo try: from utils.multi_project_manager import create_robot_project from pathlib import Path - return create_robot_project(dataset_ids, bot_id, project_path=Path("~", ".deepagents"), skills=skills) + return create_robot_project(dataset_ids, bot_id, project_path=Path("~", ".deepagents"), skills=skills, robot_type=robot_type) except Exception as e: logger.error(f"Error creating project directory: {e}") return None diff --git a/utils/multi_project_manager.py b/utils/multi_project_manager.py index 8547542..dc57877 100644 --- a/utils/multi_project_manager.py +++ b/utils/multi_project_manager.py @@ -396,7 +396,7 @@ def should_rebuild_robot_project(dataset_ids: List[str], bot_id: str, project_pa return False -def create_robot_project(dataset_ids: List[str], bot_id: str, force_rebuild: bool = False, project_path: Path = Path("projects"), skills: Optional[List[str]] = None) -> str: +def create_robot_project(dataset_ids: List[str], bot_id: str, force_rebuild: bool = False, project_path: Path = Path("projects"), skills: Optional[List[str]] = None, robot_type: str = "catalog_agent") -> str: """ 创建机器人项目,合并多个源项目的dataset文件夹 @@ -405,10 +405,16 @@ def create_robot_project(dataset_ids: List[str], bot_id: str, force_rebuild: boo bot_id: 机器人ID force_rebuild: 是否强制重建 skills: 技能文件名列表(如 ["rag-retrieve", "device_controller.zip"]) + robot_type: 机器人类型 (catalog_agent, deep_agent 等) Returns: str: 机器人项目目录路径 """ + # 如果 skills 为空或 None,且 robot_type 是 catalog_agent 或 deep_agent,默认加载 rag-retrieve + if not skills and robot_type in ("catalog_agent", "deep_agent"): + skills = ["rag-retrieve"] + logger.info(f"No skills provided, using default skill 'rag-retrieve' for {robot_type}") + logger.info(f"Creating robot project: {bot_id} from sources: {dataset_ids}, skills: {skills}") # 检查是否需要重建 @@ -497,7 +503,7 @@ if __name__ == "__main__": test_dataset_ids = ["test-project-1", "test-project-2"] test_bot_id = "test-robot-001" - robot_dir = create_robot_project(test_dataset_ids, test_bot_id) + robot_dir = create_robot_project(test_dataset_ids, test_bot_id, robot_type="catalog_agent") logger.info(f"Created robot project at: {robot_dir}")