From 5a717dbddab0cbf045155d7c20daf51404e55b97 Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Tue, 17 Mar 2026 12:21:31 +0800 Subject: [PATCH] refactor(runner): load different policy provider according to os, now support bwrap sandbox in linux only --- .../core/action/runner/LocalRunnerClient.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java b/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java index 874c0b80..a6ddfeed 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java @@ -1,5 +1,7 @@ package work.slhaf.partner.core.action.runner; +import cn.hutool.system.OsInfo; +import cn.hutool.system.SystemUtil; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.jetbrains.annotations.Nullable; @@ -71,7 +73,8 @@ public class LocalRunnerClient extends RunnerClient implements AutoCloseable { McpConfigWatcher configWatcher = null; try { - ExecutionPolicyRegistry.INSTANCE.registerPolicyProvider(BwrapPolicyProvider.INSTANCE); + + registerPolicyProviders(); metaRegistry = new McpMetaRegistry(existedMetaActions); registerMcpClient(clientRegistry, transportFactory, MCP_NAME_DESC, metaRegistry.clientConfig(MCP_NAME_DESC, 10)); @@ -123,6 +126,13 @@ public class LocalRunnerClient extends RunnerClient implements AutoCloseable { setupShutdownHook(); } + private void registerPolicyProviders() { + OsInfo os = SystemUtil.getOsInfo(); + if (os.isLinux()) { + ExecutionPolicyRegistry.INSTANCE.registerPolicyProvider(BwrapPolicyProvider.INSTANCE); + } + } + @Override protected RunnerResponse doRun(MetaAction metaAction) { log.debug("执行行动: {}", metaAction);