From 628234f6e203d5d7a02d41fcc0aa64c584ecf6e9 Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Tue, 16 Dec 2025 10:37:04 +0800 Subject: [PATCH] refactor(MetaActionType): redefine meta action types into MCP and ORIGIN Context: Previously, SCRIPT and PLUGIN were treated as separate action types, but their semantics are already covered by MCP. However, a generic execution path for locally generated actions is still required, which is represented by ORIGIN. --- .../slhaf/partner/core/action/entity/MetaAction.java | 3 +-- .../partner/core/action/entity/MetaActionType.java | 11 +++++++++-- .../partner/core/action/runner/LocalRunnerClient.java | 3 +-- .../dispatcher/executor/DynamicActionGenerator.java | 2 +- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/MetaAction.java b/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/MetaAction.java index 14bbe1c0..d4545eb6 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/MetaAction.java +++ b/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/MetaAction.java @@ -44,8 +44,7 @@ public class MetaAction implements Comparable { public void resetPath() { path = switch (type) { - case PLUGIN -> Path.of(ACTION_PROGRAM, key, "action.jar"); - case SCRIPT -> Path.of(ACTION_PROGRAM, key, "action.py"); + case ORIGIN -> path; case MCP -> Path.of(ACTION_PROGRAM, key, "action.json"); }; } diff --git a/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/MetaActionType.java b/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/MetaActionType.java index a260141a..5de3a85a 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/MetaActionType.java +++ b/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/MetaActionType.java @@ -1,5 +1,12 @@ package work.slhaf.partner.core.action.entity; public enum MetaActionType { - PLUGIN, MCP, SCRIPT -} \ No newline at end of file + /** + * 将调用的 MCP 工具,可包括远程、本地任意服务 + */ + MCP, + /** + * 适用于‘临时生成’的行动程序,在生成后根据序列化选项及执行情况,进行持久化 + */ + ORIGIN +} diff --git a/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java b/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java index 46d11aed..08257d3c 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java +++ b/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java @@ -41,9 +41,8 @@ public class LocalRunnerClient extends RunnerClient { try { // 由于三种方式返回的内容结构变化太大,所以选择油具体执行逻辑返回真正的 Response 对象 response = switch (metaAction.getType()) { - case MetaActionType.SCRIPT -> doRunWithScript(metaAction); case MetaActionType.MCP -> doRunWithMcp(metaAction); - case MetaActionType.PLUGIN -> doRunWithPlugin(metaAction); + case MetaActionType.ORIGIN -> doRunWithOrigin(metaAction); }; } catch (Exception e) { response = new RunnerResponse(); diff --git a/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/DynamicActionGenerator.java b/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/DynamicActionGenerator.java index d9d6e854..1677f2c8 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/DynamicActionGenerator.java +++ b/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/DynamicActionGenerator.java @@ -65,7 +65,7 @@ public class DynamicActionGenerator extends AgentRunningSubModule