Skip to content

Commit 12b25af

Browse files
authored
refactor: refactor sandbox module (#86)
1 parent 6a6227e commit 12b25af

File tree

243 files changed

+4927
-7524
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

243 files changed

+4927
-7524
lines changed

agents/agentscope/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
<dependencies>
4747
<dependency>
4848
<groupId>io.agentscope</groupId>
49-
<artifactId>agentscope-runtime-core</artifactId>
49+
<artifactId>agentscope-runtime-engine</artifactId>
5050
<version>1.0.1</version>
5151
</dependency>
5252

agents/agentscope/src/main/java/io/agentscope/runtime/engine/agents/agentscope/tools/ToolkitInit.java

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@
2323
import io.agentscope.runtime.engine.agents.agentscope.tools.fs.*;
2424
import io.agentscope.runtime.engine.agents.agentscope.tools.mcp.AsMCPTool;
2525
import io.agentscope.runtime.sandbox.box.Sandbox;
26-
import io.agentscope.runtime.sandbox.manager.SandboxManager;
27-
import io.agentscope.runtime.sandbox.manager.model.container.SandboxType;
26+
import io.agentscope.runtime.sandbox.manager.SandboxService;
2827
import io.agentscope.runtime.sandbox.tools.MCPTool;
2928
import io.agentscope.runtime.sandbox.tools.McpConfigConverter;
3029
import org.slf4j.Logger;
@@ -299,26 +298,26 @@ public static AgentTool SearchFilesTool(Sandbox sandbox) {
299298
}
300299

301300
public static List<AgentTool> getMcpTools(String serverConfigs,
302-
SandboxType sandboxType,
303-
SandboxManager sandboxManager) {
304-
return getMcpTools(serverConfigs, sandboxType, sandboxManager, null, null);
301+
String sandboxType,
302+
SandboxService sandboxService) {
303+
return getMcpTools(serverConfigs, sandboxType, sandboxService, null, null);
305304
}
306305

307306
public static List<AgentTool> getMcpTools(Map<String, Object> serverConfigs,
308-
SandboxType sandboxType,
309-
SandboxManager sandboxManager) {
310-
return getMcpTools(serverConfigs, sandboxType, sandboxManager, null, null);
307+
String sandboxType,
308+
SandboxService sandboxService) {
309+
return getMcpTools(serverConfigs, sandboxType, sandboxService, null, null);
311310
}
312311

313312
public static List<AgentTool> getMcpTools(String serverConfigs,
314-
SandboxType sandboxType,
315-
SandboxManager sandboxManager,
313+
String sandboxType,
314+
SandboxService sandboxService,
316315
Set<String> whitelist,
317316
Set<String> blacklist) {
318317
McpConfigConverter converter = McpConfigConverter.builder()
319318
.serverConfigs(serverConfigs)
320319
.sandboxType(sandboxType)
321-
.sandboxManager(sandboxManager)
320+
.sandboxService(sandboxService)
322321
.whitelist(whitelist)
323322
.blacklist(blacklist)
324323
.build();
@@ -327,14 +326,14 @@ public static List<AgentTool> getMcpTools(String serverConfigs,
327326
}
328327

329328
public static List<AgentTool> getMcpTools(Map<String, Object> serverConfigs,
330-
SandboxType sandboxType,
331-
SandboxManager sandboxManager,
329+
String sandboxType,
330+
SandboxService sandboxService,
332331
Set<String> whitelist,
333332
Set<String> blacklist) {
334333
McpConfigConverter converter = McpConfigConverter.builder()
335334
.serverConfigs(serverConfigs)
336335
.sandboxType(sandboxType)
337-
.sandboxManager(sandboxManager)
336+
.sandboxService(sandboxService)
338337
.whitelist(whitelist)
339338
.blacklist(blacklist)
340339
.build();
@@ -343,23 +342,23 @@ public static List<AgentTool> getMcpTools(Map<String, Object> serverConfigs,
343342
}
344343

345344
public static List<AgentTool> getMcpTools(String serverConfigs,
346-
SandboxManager sandboxManager) {
347-
return getMcpTools(serverConfigs, null, sandboxManager, null, null);
345+
SandboxService sandboxService) {
346+
return getMcpTools(serverConfigs, null, sandboxService, null, null);
348347
}
349348

350349
public static List<AgentTool> getMcpTools(Map<String, Object> serverConfigs,
351-
SandboxManager sandboxManager) {
352-
return getMcpTools(serverConfigs, null, sandboxManager, null, null);
350+
SandboxService sandboxService) {
351+
return getMcpTools(serverConfigs, null, sandboxService, null, null);
353352
}
354353

355354
// public static List<AgentTool> getAllToolsWithMcp(String mcpServerConfigs,
356-
// SandboxType sandboxType,
357-
// SandboxManager sandboxManager) {
355+
// String sandboxType,
356+
// SandboxService sandboxService) {
358357
// List<AgentTool> allTools = new ArrayList<>(getAllTools());
359358
//
360359
// if (mcpServerConfigs != null && !mcpServerConfigs.trim().isEmpty()) {
361360
// try {
362-
// List<AgentTool> mcpTools = getMcpTools(mcpServerConfigs, sandboxType, sandboxManager);
361+
// List<AgentTool> mcpTools = getMcpTools(mcpServerConfigs, sandboxType, sandboxService);
363362
// allTools.addAll(mcpTools);
364363
// logger.info(String.format("Added %d MCP tools to the toolkit", mcpTools.size()));
365364
// } catch (Exception e) {
@@ -371,13 +370,13 @@ public static List<AgentTool> getMcpTools(Map<String, Object> serverConfigs,
371370
// }
372371

373372
// public static List<AgentTool> getAllToolsWithMcp(Map<String, Object> mcpServerConfigs,
374-
// SandboxType sandboxType,
375-
// SandboxManager sandboxManager) {
373+
// String sandboxType,
374+
// SandboxService sandboxService) {
376375
// List<AgentTool> allTools = new ArrayList<>(getAllTools());
377376
//
378377
// if (mcpServerConfigs != null && !mcpServerConfigs.isEmpty()) {
379378
// try {
380-
// List<AgentTool> mcpTools = getMcpTools(mcpServerConfigs, sandboxType, sandboxManager);
379+
// List<AgentTool> mcpTools = getMcpTools(mcpServerConfigs, sandboxType, sandboxService);
381380
// allTools.addAll(mcpTools);
382381
// logger.info(String.format("Added %d MCP tools to the toolkit", mcpTools.size()));
383382
// } catch (Exception e) {
@@ -389,24 +388,24 @@ public static List<AgentTool> getMcpTools(Map<String, Object> serverConfigs,
389388
// }
390389

391390
public static List<MCPTool> createMcpToolInstances(String serverConfigs,
392-
SandboxType sandboxType,
393-
SandboxManager sandboxManager) {
391+
String sandboxType,
392+
SandboxService sandboxService) {
394393
McpConfigConverter converter = McpConfigConverter.builder()
395394
.serverConfigs(serverConfigs)
396395
.sandboxType(sandboxType)
397-
.sandboxManager(sandboxManager)
396+
.sandboxService(sandboxService)
398397
.build();
399398

400399
return converter.toBuiltinTools();
401400
}
402401

403402
public static List<MCPTool> createMcpToolInstances(Map<String, Object> serverConfigs,
404-
SandboxType sandboxType,
405-
SandboxManager sandboxManager) {
403+
String sandboxType,
404+
SandboxService sandboxService) {
406405
McpConfigConverter converter = McpConfigConverter.builder()
407406
.serverConfigs(serverConfigs)
408407
.sandboxType(sandboxType)
409-
.sandboxManager(sandboxManager)
408+
.sandboxService(sandboxService)
410409
.build();
411410

412411
return converter.toBuiltinTools();

agents/agentscope/src/main/java/io/agentscope/runtime/engine/agents/agentscope/tools/mcp/AsMCPTool.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@
1818

1919
import io.agentscope.core.message.ToolResultBlock;
2020
import io.agentscope.runtime.engine.agents.agentscope.tools.AgentScopeSandboxAwareTool;
21-
import io.agentscope.runtime.sandbox.manager.SandboxManager;
22-
import io.agentscope.runtime.sandbox.manager.model.container.SandboxType;
21+
import io.agentscope.runtime.sandbox.manager.SandboxService;
2322
import io.agentscope.runtime.sandbox.tools.MCPTool;
2423
import reactor.core.publisher.Mono;
2524

@@ -29,14 +28,14 @@
2928
public class AsMCPTool extends AgentScopeSandboxAwareTool<MCPTool> {
3029
public AsMCPTool(String name, String toolType, String description,
3130
Map<String, Object> schema, Map<String, Object> serverConfigs,
32-
SandboxType sandboxType, SandboxManager sandboxManager) {
31+
String sandboxType, SandboxService sandboxService) {
3332
super(new MCPTool(name,
3433
toolType,
3534
description,
3635
schema,
3736
serverConfigs,
3837
sandboxType,
39-
sandboxManager));
38+
sandboxService));
4039
}
4140

4241
public AsMCPTool(MCPTool mcpTool) {

cookbook/en/deployment/agent_app.md

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -351,10 +351,9 @@ import io.agentscope.runtime.app.AgentApp;
351351
import io.agentscope.runtime.engine.services.agent_state.InMemoryStateService;
352352
import io.agentscope.runtime.engine.services.memory.persistence.memory.service.InMemoryMemoryService;
353353
import io.agentscope.runtime.engine.services.memory.persistence.session.InMemorySessionHistoryService;
354-
import io.agentscope.runtime.engine.services.sandbox.SandboxService;
355-
import io.agentscope.runtime.sandbox.manager.SandboxManager;
356-
import io.agentscope.runtime.sandbox.manager.client.config.KubernetesClientConfig;
357-
import io.agentscope.runtime.sandbox.manager.model.ManagerConfig;
354+
import io.agentscope.runtime.sandbox.manager.ManagerConfig;
355+
import io.agentscope.runtime.sandbox.manager.SandboxService;
356+
import io.agentscope.runtime.sandbox.manager.client.container.docker.DockerClientStarter;
358357
import org.jetbrains.annotations.NotNull;
359358

360359
/**
@@ -364,7 +363,7 @@ import org.jetbrains.annotations.NotNull;
364363
* <ul>
365364
* <li>Session state management (in-memory storage)</li>
366365
* <li>Short-term memory (session history) and long-term memory (user-level memory store)</li>
367-
* <li>Python sandbox tool support (isolated execution environment via Kubernetes)</li>
366+
* <li>Python sandbox tool support (isolated execution environment via Docker)</li>
368367
* <li>Streaming agent inference service via HTTP interface</li>
369368
* </ul>
370369
*
@@ -403,19 +402,18 @@ public class AgentScopeDeployExample {
403402
}
404403

405404
/**
406-
* Build sandbox service instance, using Kubernetes client configuration by default.
405+
* Build sandbox service instance, using Docker client configuration by default.
407406
*
408407
* @return Configured SandboxService instance
409408
*/
410409
@NotNull
411410
private static SandboxService buildSandboxService() {
412-
// Use default Kubernetes configuration (can be replaced with actual cluster configuration for deployment)
413-
var clientConfig = KubernetesClientConfig.builder().build();
411+
var clientConfig = DockerClientStarter.builder().build();
414412
var managerConfig = ManagerConfig.builder()
415-
.containerDeployment(clientConfig)
416-
.build();
413+
.clientStarter(clientConfig)
414+
.build();
417415

418-
return new SandboxService(new SandboxManager(managerConfig));
416+
return new SandboxService(managerConfig);
419417
}
420418
}
421419
```

0 commit comments

Comments
 (0)