From 332792daa285354522b4a75054e5ac4f6a74f596 Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Sun, 5 Apr 2026 23:23:02 +0800 Subject: [PATCH] refactor(action): make LocalRunnerClient as default runner client --- .../work/slhaf/partner/core/action/ActionCore.java | 8 +++++--- .../slhaf/partner/core/action/runner/RunnerClient.java | 10 +++------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Partner-Core/src/main/java/work/slhaf/partner/core/action/ActionCore.java b/Partner-Core/src/main/java/work/slhaf/partner/core/action/ActionCore.java index be0c1cba..7396b18b 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/core/action/ActionCore.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/core/action/ActionCore.java @@ -6,6 +6,7 @@ import lombok.val; import org.jetbrains.annotations.Nullable; import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore; import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod; +import work.slhaf.partner.api.agent.runtime.config.ConfigCenter; import work.slhaf.partner.core.PartnerCore; import work.slhaf.partner.core.action.entity.ExecutableAction; import work.slhaf.partner.core.action.entity.MetaAction; @@ -13,8 +14,8 @@ import work.slhaf.partner.core.action.entity.MetaActionInfo; import work.slhaf.partner.core.action.entity.intervention.InterventionType; import work.slhaf.partner.core.action.entity.intervention.MetaIntervention; import work.slhaf.partner.core.action.exception.MetaActionNotFoundException; +import work.slhaf.partner.core.action.runner.LocalRunnerClient; import work.slhaf.partner.core.action.runner.RunnerClient; -import work.slhaf.partner.core.action.runner.SandboxRunnerClient; import java.io.IOException; import java.util.*; @@ -47,8 +48,9 @@ public class ActionCore extends PartnerCore { private RunnerClient runnerClient; public ActionCore() throws IOException, ClassNotFoundException { - // TODO 通过 AgentConfigManager指定采用何种 runnerClient - runnerClient = new SandboxRunnerClient(existedMetaActions, virtualExecutor); + String baseActionPath = ConfigCenter.INSTANCE.getPaths().getResourcesDir().resolve("action").normalize().toAbsolutePath().toString(); + // TODO 通过 Config 指定采用何种 runnerClient,当前只提供 LocalRunnerClient + runnerClient = new LocalRunnerClient(existedMetaActions, virtualExecutor, baseActionPath); setupShutdownHook(); } diff --git a/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/RunnerClient.java b/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/RunnerClient.java index 6cd9d953..8998423b 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/RunnerClient.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/RunnerClient.java @@ -4,7 +4,7 @@ import lombok.Data; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import lombok.val; -import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.NotNull; import work.slhaf.partner.core.action.entity.ActionFileMetaData; import work.slhaf.partner.core.action.entity.MetaAction; import work.slhaf.partner.core.action.entity.MetaAction.Result; @@ -18,9 +18,6 @@ import java.nio.file.Path; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutorService; -import static work.slhaf.partner.common.Constant.Path.DATA; -import static work.slhaf.partner.common.util.PathUtil.buildPathStr; - /** * 执行客户端抽象类 *
@@ -51,11 +48,10 @@ public abstract class RunnerClient { /** * ActionCore 将注入虚拟线程池 */ - public RunnerClient(ConcurrentHashMap existedMetaActions, ExecutorService executor, @Nullable String baseActionPath) { + public RunnerClient(ConcurrentHashMap existedMetaActions, ExecutorService executor, @NotNull String baseActionPath) { this.existedMetaActions = existedMetaActions; this.executor = executor; - baseActionPath = baseActionPath == null ? DATA : baseActionPath; - this.ACTION_PATH = buildPathStr(baseActionPath, "action"); + this.ACTION_PATH = baseActionPath; createPath(ACTION_PATH); }