diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/__init__.py b/apps/jingrow/jingrow/ai/nodes/__init__.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/__init__.py rename to apps/jingrow/jingrow/ai/nodes/__init__.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/ai_content_generation/ai_content_generation.json b/apps/jingrow/jingrow/ai/nodes/ai_content_generation/ai_content_generation.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/ai_content_generation/ai_content_generation.json rename to apps/jingrow/jingrow/ai/nodes/ai_content_generation/ai_content_generation.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/ai_content_generation/ai_content_generation.py b/apps/jingrow/jingrow/ai/nodes/ai_content_generation/ai_content_generation.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/ai_content_generation/ai_content_generation.py rename to apps/jingrow/jingrow/ai/nodes/ai_content_generation/ai_content_generation.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/ai_image_generation/ai_image_generation.json b/apps/jingrow/jingrow/ai/nodes/ai_image_generation/ai_image_generation.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/ai_image_generation/ai_image_generation.json rename to apps/jingrow/jingrow/ai/nodes/ai_image_generation/ai_image_generation.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/ai_image_generation/ai_image_generation.py b/apps/jingrow/jingrow/ai/nodes/ai_image_generation/ai_image_generation.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/ai_image_generation/ai_image_generation.py rename to apps/jingrow/jingrow/ai/nodes/ai_image_generation/ai_image_generation.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/condition_check/condition_check.json b/apps/jingrow/jingrow/ai/nodes/condition_check/condition_check.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/condition_check/condition_check.json rename to apps/jingrow/jingrow/ai/nodes/condition_check/condition_check.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/condition_check/condition_check.py b/apps/jingrow/jingrow/ai/nodes/condition_check/condition_check.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/condition_check/condition_check.py rename to apps/jingrow/jingrow/ai/nodes/condition_check/condition_check.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/create_record/create_record.json b/apps/jingrow/jingrow/ai/nodes/create_record/create_record.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/create_record/create_record.json rename to apps/jingrow/jingrow/ai/nodes/create_record/create_record.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/create_record/create_record.py b/apps/jingrow/jingrow/ai/nodes/create_record/create_record.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/create_record/create_record.py rename to apps/jingrow/jingrow/ai/nodes/create_record/create_record.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/data_processing/data_processing.json b/apps/jingrow/jingrow/ai/nodes/data_processing/data_processing.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/data_processing/data_processing.json rename to apps/jingrow/jingrow/ai/nodes/data_processing/data_processing.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/data_processing/data_processing.py b/apps/jingrow/jingrow/ai/nodes/data_processing/data_processing.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/data_processing/data_processing.py rename to apps/jingrow/jingrow/ai/nodes/data_processing/data_processing.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/get_record_name/get_record_name.json b/apps/jingrow/jingrow/ai/nodes/get_record_name/get_record_name.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/get_record_name/get_record_name.json rename to apps/jingrow/jingrow/ai/nodes/get_record_name/get_record_name.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/get_record_name/get_record_name.py b/apps/jingrow/jingrow/ai/nodes/get_record_name/get_record_name.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/get_record_name/get_record_name.py rename to apps/jingrow/jingrow/ai/nodes/get_record_name/get_record_name.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_concurrent_tasks/go_concurrent_tasks.go b/apps/jingrow/jingrow/ai/nodes/go_concurrent_tasks/go_concurrent_tasks.go similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_concurrent_tasks/go_concurrent_tasks.go rename to apps/jingrow/jingrow/ai/nodes/go_concurrent_tasks/go_concurrent_tasks.go diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_concurrent_tasks/go_concurrent_tasks.json b/apps/jingrow/jingrow/ai/nodes/go_concurrent_tasks/go_concurrent_tasks.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_concurrent_tasks/go_concurrent_tasks.json rename to apps/jingrow/jingrow/ai/nodes/go_concurrent_tasks/go_concurrent_tasks.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_data_processing/go_data_processing.go b/apps/jingrow/jingrow/ai/nodes/go_data_processing/go_data_processing.go similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_data_processing/go_data_processing.go rename to apps/jingrow/jingrow/ai/nodes/go_data_processing/go_data_processing.go diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_data_processing/go_data_processing.json b/apps/jingrow/jingrow/ai/nodes/go_data_processing/go_data_processing.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_data_processing/go_data_processing.json rename to apps/jingrow/jingrow/ai/nodes/go_data_processing/go_data_processing.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_file_operations/go_file_operations.go b/apps/jingrow/jingrow/ai/nodes/go_file_operations/go_file_operations.go similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_file_operations/go_file_operations.go rename to apps/jingrow/jingrow/ai/nodes/go_file_operations/go_file_operations.go diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_file_operations/go_file_operations.json b/apps/jingrow/jingrow/ai/nodes/go_file_operations/go_file_operations.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_file_operations/go_file_operations.json rename to apps/jingrow/jingrow/ai/nodes/go_file_operations/go_file_operations.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_http_client/go_http_client.go b/apps/jingrow/jingrow/ai/nodes/go_http_client/go_http_client.go similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_http_client/go_http_client.go rename to apps/jingrow/jingrow/ai/nodes/go_http_client/go_http_client.go diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_http_client/go_http_client.json b/apps/jingrow/jingrow/ai/nodes/go_http_client/go_http_client.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/go_http_client/go_http_client.json rename to apps/jingrow/jingrow/ai/nodes/go_http_client/go_http_client.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/image_upload/image_upload.json b/apps/jingrow/jingrow/ai/nodes/image_upload/image_upload.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/image_upload/image_upload.json rename to apps/jingrow/jingrow/ai/nodes/image_upload/image_upload.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/image_upload/image_upload.py b/apps/jingrow/jingrow/ai/nodes/image_upload/image_upload.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/image_upload/image_upload.py rename to apps/jingrow/jingrow/ai/nodes/image_upload/image_upload.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/input_record/input_record.json b/apps/jingrow/jingrow/ai/nodes/input_record/input_record.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/input_record/input_record.json rename to apps/jingrow/jingrow/ai/nodes/input_record/input_record.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/input_record/input_record.py b/apps/jingrow/jingrow/ai/nodes/input_record/input_record.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/input_record/input_record.py rename to apps/jingrow/jingrow/ai/nodes/input_record/input_record.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_go/language_go.go b/apps/jingrow/jingrow/ai/nodes/language_go/language_go.go similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_go/language_go.go rename to apps/jingrow/jingrow/ai/nodes/language_go/language_go.go diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_go/language_go.json b/apps/jingrow/jingrow/ai/nodes/language_go/language_go.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_go/language_go.json rename to apps/jingrow/jingrow/ai/nodes/language_go/language_go.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_python/language_python.json b/apps/jingrow/jingrow/ai/nodes/language_python/language_python.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_python/language_python.json rename to apps/jingrow/jingrow/ai/nodes/language_python/language_python.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_python/language_python.py b/apps/jingrow/jingrow/ai/nodes/language_python/language_python.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_python/language_python.py rename to apps/jingrow/jingrow/ai/nodes/language_python/language_python.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_rust/language_rust.json b/apps/jingrow/jingrow/ai/nodes/language_rust/language_rust.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_rust/language_rust.json rename to apps/jingrow/jingrow/ai/nodes/language_rust/language_rust.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_rust/language_rust.rs b/apps/jingrow/jingrow/ai/nodes/language_rust/language_rust.rs similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/language_rust/language_rust.rs rename to apps/jingrow/jingrow/ai/nodes/language_rust/language_rust.rs diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_crypto/rust_crypto.json b/apps/jingrow/jingrow/ai/nodes/rust_crypto/rust_crypto.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_crypto/rust_crypto.json rename to apps/jingrow/jingrow/ai/nodes/rust_crypto/rust_crypto.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_crypto/rust_crypto.rs b/apps/jingrow/jingrow/ai/nodes/rust_crypto/rust_crypto.rs similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_crypto/rust_crypto.rs rename to apps/jingrow/jingrow/ai/nodes/rust_crypto/rust_crypto.rs diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_image_processing/rust_image_processing.json b/apps/jingrow/jingrow/ai/nodes/rust_image_processing/rust_image_processing.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_image_processing/rust_image_processing.json rename to apps/jingrow/jingrow/ai/nodes/rust_image_processing/rust_image_processing.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_image_processing/rust_image_processing.rs b/apps/jingrow/jingrow/ai/nodes/rust_image_processing/rust_image_processing.rs similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_image_processing/rust_image_processing.rs rename to apps/jingrow/jingrow/ai/nodes/rust_image_processing/rust_image_processing.rs diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_numeric_computing/rust_numeric_computing.json b/apps/jingrow/jingrow/ai/nodes/rust_numeric_computing/rust_numeric_computing.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_numeric_computing/rust_numeric_computing.json rename to apps/jingrow/jingrow/ai/nodes/rust_numeric_computing/rust_numeric_computing.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_numeric_computing/rust_numeric_computing.rs b/apps/jingrow/jingrow/ai/nodes/rust_numeric_computing/rust_numeric_computing.rs similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_numeric_computing/rust_numeric_computing.rs rename to apps/jingrow/jingrow/ai/nodes/rust_numeric_computing/rust_numeric_computing.rs diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_regex_processing/rust_regex_processing.json b/apps/jingrow/jingrow/ai/nodes/rust_regex_processing/rust_regex_processing.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_regex_processing/rust_regex_processing.json rename to apps/jingrow/jingrow/ai/nodes/rust_regex_processing/rust_regex_processing.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_regex_processing/rust_regex_processing.rs b/apps/jingrow/jingrow/ai/nodes/rust_regex_processing/rust_regex_processing.rs similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/rust_regex_processing/rust_regex_processing.rs rename to apps/jingrow/jingrow/ai/nodes/rust_regex_processing/rust_regex_processing.rs diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/update_record/update_record.json b/apps/jingrow/jingrow/ai/nodes/update_record/update_record.json similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/update_record/update_record.json rename to apps/jingrow/jingrow/ai/nodes/update_record/update_record.json diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/update_record/update_record.py b/apps/jingrow/jingrow/ai/nodes/update_record/update_record.py similarity index 100% rename from apps/jingrow/jingrow/ai/pagetype/local_ai_agent/nodes/update_record/update_record.py rename to apps/jingrow/jingrow/ai/nodes/update_record/update_record.py diff --git a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/executor.py b/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/executor.py index fa6fbc4..421c53f 100644 --- a/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/executor.py +++ b/apps/jingrow/jingrow/ai/pagetype/local_ai_agent/executor.py @@ -8,14 +8,10 @@ from typing import Dict, Any class NodeExecutor: - """节点执行器 - 支持多语言节点执行 - - 迁移至 local_ai_agent 包,以便与本地AI节点实现保持聚合。 - """ + """节点执行器 - 支持多语言节点执行""" def __init__(self): - # 更新为新的节点路径:local_ai_agent/nodes - self.nodes_base_path = "ai/pagetype/local_ai_agent/nodes" + self.nodes_base_path = "ai/nodes" async def execute_node(self, node_type: str, flow_id: str, context: Dict[str, Any], inputs: Dict[str, Any], config: Dict[str, Any], session_cookie: str = None) -> Dict[str, Any]: @@ -41,7 +37,6 @@ class NodeExecutor: """检测节点实现文件""" # 获取当前文件所在目录的绝对路径 current_dir = os.path.dirname(os.path.abspath(__file__)) - # 构建到jingrow根目录的路径 (ai/pagetype/local_ai_agent -> jingrow) jingrow_root = os.path.dirname(os.path.dirname(os.path.dirname(current_dir))) node_path = os.path.join(jingrow_root, self.nodes_base_path, node_type) @@ -58,7 +53,7 @@ class NodeExecutor: """执行Python节点""" try: # 动态导入Python模块 - module_path = f"jingrow.ai.pagetype.local_ai_agent.nodes.{node_type}.{node_type}" + module_path = f"jingrow.ai.nodes.{node_type}.{node_type}" module = importlib.import_module(module_path) # 设置session_cookie和flow_id到context diff --git a/apps/jingrow/jingrow/api/node_definitions.py b/apps/jingrow/jingrow/api/node_definitions.py index 1323d95..7f94306 100644 --- a/apps/jingrow/jingrow/api/node_definitions.py +++ b/apps/jingrow/jingrow/api/node_definitions.py @@ -12,7 +12,7 @@ router = APIRouter() @router.post("/jingrow/node-definitions/export") async def export_node_definition(payload: Dict[str, Any]): """ - 导出节点定义(metadata + schema)为 JSON 文件:backend/nodes/{type}/{type}.json + 导出节点定义(metadata + schema)为 JSON 文件 """ try: metadata = payload.get("metadata") or {} @@ -25,7 +25,7 @@ async def export_node_definition(payload: Dict[str, Any]): current_file = Path(__file__).resolve() jingrow_root = current_file.parents[1] # 修正路径层级 - new_root = jingrow_root / "ai" / "pagetype" / "local_ai_agent" / "nodes" + new_root = jingrow_root / "ai" / "nodes" target = new_root / node_type / f"{node_type}.json" atomic_write_json(target, export_data) return {"success": True, "path": str(target)} @@ -41,7 +41,7 @@ async def import_local_node_definitions(): try: current_file = Path(__file__).resolve() jingrow_root = current_file.parents[1] # 修正路径层级 - nodes_root = jingrow_root / "ai" / "pagetype" / "local_ai_agent" / "nodes" + nodes_root = jingrow_root / "ai" / "nodes" if not nodes_root.exists(): return {"success": True, "matched": 0, "imported": 0, "skipped_existing": 0} @@ -120,7 +120,7 @@ async def get_all_node_metadata(): try: current_file = Path(__file__).resolve() jingrow_root = current_file.parents[1] # 修正路径层级 - nodes_root = jingrow_root / "ai" / "pagetype" / "local_ai_agent" / "nodes" + nodes_root = jingrow_root / "ai" / "nodes" if not nodes_root.exists(): return {"success": True, "data": {}} @@ -169,7 +169,7 @@ async def get_node_schema(node_type: str): try: current_file = Path(__file__).resolve() jingrow_root = current_file.parents[1] - nodes_root = jingrow_root / "ai" / "pagetype" / "local_ai_agent" / "nodes" + nodes_root = jingrow_root / "ai" / "nodes" json_file = nodes_root / node_type / f"{node_type}.json" if not json_file.exists():