Skip to content

Commit 4ed5154

Browse files
author
厚正
committed
feat(jmanus):Extended acquisition agent implementation
1 parent f401d5f commit 4ed5154

File tree

4 files changed

+14
-3
lines changed

4 files changed

+14
-3
lines changed

spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/dynamic/agent/service/DynamicAgentLoader.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.Objects;
2121

2222
import com.alibaba.cloud.ai.example.manus.dynamic.prompt.service.PromptService;
23+
import com.alibaba.cloud.ai.example.manus.planning.model.vo.ExecutionContext;
2324
import org.springframework.ai.model.tool.ToolCallingManager;
2425
import org.springframework.beans.factory.annotation.Value;
2526
import org.springframework.context.annotation.Lazy;
@@ -88,4 +89,8 @@ public List<DynamicAgentEntity> getAllAgents() {
8889
.toList();
8990
}
9091

92+
@Override
93+
public List<DynamicAgentEntity> getAgents(ExecutionContext context) {
94+
return IDynamicAgentLoader.super.getAgents(context);
95+
}
9196
}

spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/dynamic/agent/service/IDynamicAgentLoader.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import com.alibaba.cloud.ai.example.manus.dynamic.agent.DynamicAgent;
2222
import com.alibaba.cloud.ai.example.manus.dynamic.agent.entity.DynamicAgentEntity;
23+
import com.alibaba.cloud.ai.example.manus.planning.model.vo.ExecutionContext;
2324

2425
/**
2526
* Dynamic Agent loader interface, providing Agent loading function
@@ -40,4 +41,8 @@ public interface IDynamicAgentLoader {
4041
*/
4142
List<DynamicAgentEntity> getAllAgents();
4243

44+
default List<DynamicAgentEntity> getAgents(ExecutionContext context){
45+
return getAllAgents();
46+
}
47+
4348
}

spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/planning/PlanningFactory.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.Map;
2323
import java.util.concurrent.TimeUnit;
2424

25+
import com.alibaba.cloud.ai.example.manus.planning.model.vo.ExecutionContext;
2526
import org.apache.hc.client5.http.classic.HttpClient;
2627
import org.apache.hc.client5.http.config.RequestConfig;
2728
import org.apache.hc.client5.http.impl.classic.HttpClients;
@@ -173,10 +174,10 @@ public PlanningFactory(ChromeDriverService chromeDriverService, PlanExecutionRec
173174
}
174175

175176
// Use the enhanced PlanningCoordinator with dynamic executor selection
176-
public PlanningCoordinator createPlanningCoordinator(String planId) {
177+
public PlanningCoordinator createPlanningCoordinator(ExecutionContext context) {
177178

178179
// Add all dynamic agents from the database
179-
List<DynamicAgentEntity> agentEntities = dynamicAgentLoader.getAllAgents();
180+
List<DynamicAgentEntity> agentEntities = dynamicAgentLoader.getAgents(context);
180181

181182
PlanningToolInterface planningTool = new PlanningTool();
182183

spring-ai-alibaba-jmanus/src/main/java/com/alibaba/cloud/ai/example/manus/planning/controller/ManusController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public ResponseEntity<Map<String, Object>> executeQuery(@RequestBody Map<String,
9898
context.setNeedSummary(true);
9999

100100
// Get or create planning flow
101-
PlanningCoordinator planningFlow = planningFactory.createPlanningCoordinator(planId);
101+
PlanningCoordinator planningFlow = planningFactory.createPlanningCoordinator(context);
102102

103103
// Asynchronous execution of task
104104
CompletableFuture.supplyAsync(() -> {

0 commit comments

Comments
 (0)