diff --git a/agentscope-extensions/agentscope-extensions-agui/src/main/java/io/agentscope/core/agui/adapter/AguiAdapterConfig.java b/agentscope-extensions/agentscope-extensions-agui/src/main/java/io/agentscope/core/agui/adapter/AguiAdapterConfig.java index 8870e2689e..a5c4042736 100644 --- a/agentscope-extensions/agentscope-extensions-agui/src/main/java/io/agentscope/core/agui/adapter/AguiAdapterConfig.java +++ b/agentscope-extensions/agentscope-extensions-agui/src/main/java/io/agentscope/core/agui/adapter/AguiAdapterConfig.java @@ -30,6 +30,7 @@ public class AguiAdapterConfig { private final boolean emitStateEvents; private final boolean emitToolCallArgs; private final boolean enableReasoning; + private final boolean enableActingChunk; private final Duration runTimeout; private final String defaultAgentId; @@ -38,6 +39,7 @@ private AguiAdapterConfig(Builder builder) { this.emitStateEvents = builder.emitStateEvents; this.emitToolCallArgs = builder.emitToolCallArgs; this.enableReasoning = builder.enableReasoning; + this.enableActingChunk = builder.enableActingChunk; this.runTimeout = builder.runTimeout; this.defaultAgentId = builder.defaultAgentId; } @@ -82,6 +84,18 @@ public boolean isEnableReasoning() { return enableReasoning; } + /** + * Check if intermediate acting chunk emissions should be included. + * + *
When enabled, intermediate tool execution outputs (such as progress) + * will be streamed to the frontend. + * + * @return true if acting chunks should be included + */ + public boolean isEnableActingChunk() { + return enableActingChunk; + } + /** * Get the run timeout duration. * @@ -127,6 +141,7 @@ public static class Builder { private boolean emitStateEvents = true; private boolean emitToolCallArgs = true; private boolean enableReasoning = false; + private boolean enableActingChunk = false; private Duration runTimeout = Duration.ofMinutes(10); private String defaultAgentId; @@ -178,6 +193,20 @@ public Builder enableReasoning(boolean enableReasoning) { return this; } + /** + * Set whether to enable acting chunk emissions. + * + *
When enabled, tools can emit intermediate chunks (e.g., Custom events for progress
+ * or real-time logs) during execution. Default is false.
+ *
+ * @param enableActingChunk true to enable acting chunks
+ * @return This builder
+ */
+ public Builder enableActingChunk(boolean enableActingChunk) {
+ this.enableActingChunk = enableActingChunk;
+ return this;
+ }
+
/**
* Set the run timeout duration.
*
diff --git a/agentscope-extensions/agentscope-extensions-agui/src/main/java/io/agentscope/core/agui/adapter/AguiAgentAdapter.java b/agentscope-extensions/agentscope-extensions-agui/src/main/java/io/agentscope/core/agui/adapter/AguiAgentAdapter.java
index 2314e72b9d..936d3b1f30 100644
--- a/agentscope-extensions/agentscope-extensions-agui/src/main/java/io/agentscope/core/agui/adapter/AguiAgentAdapter.java
+++ b/agentscope-extensions/agentscope-extensions-agui/src/main/java/io/agentscope/core/agui/adapter/AguiAgentAdapter.java
@@ -102,6 +102,7 @@ public Flux When enabled, tools can emit intermediate chunks (e.g., Custom events for progress
+ * or real-time logs) during execution.
+ */
+ private boolean enableActingChunk = false;
+
/** Default agent ID to use when not specified in the request. */
private String defaultAgentId = "default";
@@ -176,6 +185,14 @@ public void setEnableReasoning(boolean enableReasoning) {
this.enableReasoning = enableReasoning;
}
+ public boolean isEnableActingChunk() {
+ return enableActingChunk;
+ }
+
+ public void setEnableActingChunk(boolean enableActingChunk) {
+ this.enableActingChunk = enableActingChunk;
+ }
+
public String getDefaultAgentId() {
return defaultAgentId;
}
diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-agui-spring-boot-starter/src/main/java/io/agentscope/spring/boot/agui/mvc/AgentscopeAguiMvcAutoConfiguration.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-agui-spring-boot-starter/src/main/java/io/agentscope/spring/boot/agui/mvc/AgentscopeAguiMvcAutoConfiguration.java
index e74d5a91b0..abd44cf272 100644
--- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-agui-spring-boot-starter/src/main/java/io/agentscope/spring/boot/agui/mvc/AgentscopeAguiMvcAutoConfiguration.java
+++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-agui-spring-boot-starter/src/main/java/io/agentscope/spring/boot/agui/mvc/AgentscopeAguiMvcAutoConfiguration.java
@@ -81,6 +81,7 @@ public AguiMvcController aguiMvcController(
.emitStateEvents(props.isEmitStateEvents())
.emitToolCallArgs(props.isEmitToolCallArgs())
.enableReasoning(props.isEnableReasoning())
+ .enableActingChunk(props.isEnableActingChunk())
.defaultAgentId(props.getDefaultAgentId())
.build();
diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-agui-spring-boot-starter/src/main/java/io/agentscope/spring/boot/agui/webflux/AgentscopeAguiWebFluxAutoConfiguration.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-agui-spring-boot-starter/src/main/java/io/agentscope/spring/boot/agui/webflux/AgentscopeAguiWebFluxAutoConfiguration.java
index 23513f2b42..67c8dfdeb7 100644
--- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-agui-spring-boot-starter/src/main/java/io/agentscope/spring/boot/agui/webflux/AgentscopeAguiWebFluxAutoConfiguration.java
+++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-agui-spring-boot-starter/src/main/java/io/agentscope/spring/boot/agui/webflux/AgentscopeAguiWebFluxAutoConfiguration.java
@@ -84,6 +84,7 @@ public AguiWebFluxHandler aguiWebFluxHandler(
.emitStateEvents(props.isEmitStateEvents())
.emitToolCallArgs(props.isEmitToolCallArgs())
.enableReasoning(props.isEnableReasoning())
+ .enableActingChunk(props.isEnableActingChunk())
.defaultAgentId(props.getDefaultAgentId())
.build();