Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,7 @@ def calculate_sum(a, b):
* @param triggerCodeactTools Trigger模块的工具列表(可选)
* @param unifiedSearchCodeactTool 统一搜索工具(可选)
* @param mcpToolCallbackProvider MCP工具提供者(由MCP Client Boot Starter自动注入,可选)
* @param springDiscoveredCodeactTools 容器中其它 {@link CodeactTool} Bean(如 start 模块自定义 {@code @Component} 工具)
*/
@Bean
public CodeactAgent grayscaleCodeactAgent(
Expand All @@ -225,6 +226,7 @@ public CodeactAgent grayscaleCodeactAgent(
@Autowired(required = false) SearchCodeactToolFactory searchCodeactToolFactory,
@Autowired(required = false) List<TriggerCodeactTool> triggerCodeactTools,
@Autowired(required = false) UnifiedSearchCodeactTool unifiedSearchCodeactTool,
@Autowired(required = false) List<CodeactTool> springDiscoveredCodeactTools,
@Autowired(required = false) ToolCallbackProvider mcpToolCallbackProvider,
@Autowired(required = false) ExperienceProvider experienceProvider,
@Autowired(required = false) ExperienceExtensionProperties experienceExtensionProperties,
Expand Down Expand Up @@ -267,6 +269,20 @@ public CodeactAgent grayscaleCodeactAgent(
logger.info("CodeactAgentConfig#grayscaleCodeactAgent - reason=添加TriggerCodeactTools, count={}", triggerCodeactTools.size());
}

// 注册仅实现 CodeactTool 的 Spring Bean(例如 assistant-agent-start 下的 @Component 自定义工具)
if (springDiscoveredCodeactTools != null) {
for (CodeactTool tool : springDiscoveredCodeactTools) {
if (tool instanceof ReplyCodeactTool || tool instanceof SearchCodeactTool || tool instanceof TriggerCodeactTool) {
continue;
}
allCodeactTools.add(tool);
logger.info(
"CodeactAgentConfig#grayscaleCodeactAgent - reason=添加 Spring 注册的自定义 CodeactTool, class={}, name={}",
tool.getClass().getSimpleName(),
tool.getToolDefinition() != null ? tool.getToolDefinition().name() : "null");
}
}

// 添加 MCP 动态工具(通过 MCP Client Boot Starter 注入的 ToolCallbackProvider)
// 配置方式参考 mcp-client-spring-boot.md,在 application.properties 中配置:
// spring.ai.mcp.client.streamable-http.connections.my-server.url=https://mcp.example.com
Expand Down
Loading