From 3f6491b8dad2c6205a1feaf39fabc1d6ad59fab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=A6=E7=9B=8F?= Date: Mon, 27 Apr 2026 11:46:20 +0800 Subject: [PATCH] fix: update examples to use clientStarter and fix BrowserSandbox lazy init - Rename clientConfig to clientStarter in ManagerConfig.builder() calls across all examples to match the refactored API (commit 12b25af) - Add browserSandbox.getInfo() before getDesktopUrl() to trigger lazy initialization, preventing 'Sandbox null is not healthy' error - Fix typo in SandboxStructuredExample: 'agent-sessopn' -> 'agent-session' Affected examples: - simple_sandbox_tool_example - structured_sandbox_tool_example - custom_sandbox_example - browser_use_fullstack_runtime Change-Id: I984405de32f5e4325253614204a2df0092cd8611 Co-developed-by: Qoder --- .../io/agentscope/browser/BrowserAgentApplication.java | 4 ++-- .../src/main/java/io/agentscope/Main.java | 4 ++-- .../com/example/agentscope/config/AgentConfig.java | 10 +++++++--- .../example/agentscope/SandboxStructuredExample.java | 9 ++++++--- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/examples/browser_use_fullstack_runtime/backend/src/main/java/io/agentscope/browser/BrowserAgentApplication.java b/examples/browser_use_fullstack_runtime/backend/src/main/java/io/agentscope/browser/BrowserAgentApplication.java index 8c8421f..1d4e2c7 100755 --- a/examples/browser_use_fullstack_runtime/backend/src/main/java/io/agentscope/browser/BrowserAgentApplication.java +++ b/examples/browser_use_fullstack_runtime/backend/src/main/java/io/agentscope/browser/BrowserAgentApplication.java @@ -70,9 +70,9 @@ public InMemoryMemoryService memoryService() { @Bean public SandboxService sandboxService() { logger.info("Creating SandboxService bean"); - BaseClientStarter clientConfig = DockerClientStarter.builder().build(); + BaseClientStarter clientStarter = DockerClientStarter.builder().build(); ManagerConfig managerConfig = ManagerConfig.builder() - .clientConfig(clientConfig) + .clientStarter(clientStarter) .build(); SandboxService sandboxService = new SandboxService(managerConfig); sandboxService.start(); diff --git a/examples/simple_agent_use_examples/custom_sandbox_example/src/main/java/io/agentscope/Main.java b/examples/simple_agent_use_examples/custom_sandbox_example/src/main/java/io/agentscope/Main.java index d7f841f..020aef2 100644 --- a/examples/simple_agent_use_examples/custom_sandbox_example/src/main/java/io/agentscope/Main.java +++ b/examples/simple_agent_use_examples/custom_sandbox_example/src/main/java/io/agentscope/Main.java @@ -25,9 +25,9 @@ public class Main { public static void main(String[] args) { - BaseClientStarter clientConfig = DockerClientStarter.builder().build(); + BaseClientStarter clientStarter = DockerClientStarter.builder().build(); ManagerConfig managerConfig = ManagerConfig.builder() - .clientConfig(clientConfig) + .clientStarter(clientStarter) .build(); SandboxService sandboxService = new SandboxService(managerConfig); sandboxService.start(); diff --git a/examples/simple_sandbox_tool_example/src/main/java/com/example/agentscope/config/AgentConfig.java b/examples/simple_sandbox_tool_example/src/main/java/com/example/agentscope/config/AgentConfig.java index e04169a..413ac61 100644 --- a/examples/simple_sandbox_tool_example/src/main/java/com/example/agentscope/config/AgentConfig.java +++ b/examples/simple_sandbox_tool_example/src/main/java/com/example/agentscope/config/AgentConfig.java @@ -68,9 +68,9 @@ public DashScopeChatModel chatModel() { */ @Bean public SandboxService sandboxService() { - BaseClientStarter clientConfig = DockerClientStarter.builder().build(); + BaseClientStarter clientStarter = DockerClientStarter.builder().build(); ManagerConfig managerConfig = ManagerConfig.builder() - .clientConfig(clientConfig) + .clientStarter(clientStarter) .build(); SandboxService service = new SandboxService(managerConfig); @@ -92,9 +92,13 @@ public Toolkit createToolkit(SandboxService sandboxService) { try { BrowserSandbox browserSandbox = new BrowserSandbox(sandboxService, "agent-user", "agent-session"); toolkit.registerTool(ToolkitInit.BrowserNavigateTool(browserSandbox)); + // getInfo() triggers lazy initialization (container creation) + // getDesktopUrl() bypasses it, so we must initialize first + browserSandbox.getInfo(); String desktopUrl = browserSandbox.getDesktopUrl(); System.out.println("GUI Desktop URL: " + desktopUrl); - } catch (Exception ignored) { + } catch (Exception exception) { + exception.printStackTrace(); } return toolkit; } diff --git a/examples/structured_sandbox_tool_example/src/main/java/com/example/agentscope/SandboxStructuredExample.java b/examples/structured_sandbox_tool_example/src/main/java/com/example/agentscope/SandboxStructuredExample.java index 135c43a..67c8815 100644 --- a/examples/structured_sandbox_tool_example/src/main/java/com/example/agentscope/SandboxStructuredExample.java +++ b/examples/structured_sandbox_tool_example/src/main/java/com/example/agentscope/SandboxStructuredExample.java @@ -39,9 +39,9 @@ public class SandboxStructuredExample { public static void main(String[] args) throws Exception { - BaseClientStarter clientConfig = DockerClientStarter.builder().build(); + BaseClientStarter clientStarter = DockerClientStarter.builder().build(); ManagerConfig managerConfig = ManagerConfig.builder() - .clientConfig(clientConfig) + .clientStarter(clientStarter) .build(); SandboxService service = new SandboxService(managerConfig); @@ -49,8 +49,11 @@ public static void main(String[] args) throws Exception { Toolkit toolkit = new Toolkit(); try { - BrowserSandbox browserSandbox = new BrowserSandbox(service, "agent-user", "agent-sessopn"); + BrowserSandbox browserSandbox = new BrowserSandbox(service, "agent-user", "agent-session"); toolkit.registerTool(ToolkitInit.BrowserNavigateTool(browserSandbox)); + // getInfo() triggers lazy initialization (container creation) + // getDesktopUrl() bypasses it, so we must initialize first + browserSandbox.getInfo(); String desktopUrl = browserSandbox.getDesktopUrl(); System.out.println("GUI Desktop URL: " + desktopUrl); } catch (Exception ignored) {