DynamicSubagentsMiddleware
public class DynamicSubagentsMiddleware implements HarnessRuntimeMiddleware
io/agentscope/harness/agent/middleware/DynamicSubagentsMiddleware.java:66–271Dynamic Subagents 中间件,在智能体执行流程中提供横切扩展。位于 io.agentscope.harness.agent.middleware 包,实现 HarnessRuntimeMiddleware。核心成员包括 setGatewayBridge、getAgentManager、getTools、getTaskRepository、onReasoning、DynamicSubagentsMiddleware。
Dynamic counterpart to SubagentsMiddleware that re-resolves the registered subagent
set on every reasoning step, supporting per-user isolation through the workspace
AbstractFilesystem (e.g. CompositeFilesystem routing user-scoped writes into
a remote Store).
Two-layer load (mirrors the previous DynamicSubagentsHook
override semantics):
-
Layer 1 (override) —
filesystem.glob("*.md", "subagents")+ per-filefilesystem.read. The backend'sNamespaceFactoryis applied transparently so each user sees their own slice of the store. -
Layer 2 (base) —
AgentSpecLoader.loadFromDirectoryreads the local workspacesubagents/directory directly. -
Merge — same-name entries from Layer 1 override Layer 2; programmatic (builder-registered) entries are preserved as the static prefix and same-name dynamic declarations override them too.
构造器摘要Constructor Summary
方法摘要Method Summary
| 方法Method | 说明Description |
|---|---|
public DynamicSubagentsMiddleware setGatewayBridge(io.agentscope.harness.agent.gateway.SubagentGatewayBridge bridge) | 设置 `setGatewayBridge`。 Wires a gateway bridge into the internal `AgentSpawnTool`, enabling spawned subagents
to be exposed as user-addressable threads. |
public DefaultAgentManager getAgentManager() | 获取智能体管理器。 Returns the internal `DefaultAgentManager` that can re-materialize subagents, or
`null` when none is owned. |
public List<Object> getTools() | 获取工具。 Returns the tool instances this middleware contributes to the agent toolkit. |
public TaskRepository getTaskRepository() | 获取任务仓库。 Returns the task repository. |
public Flux<AgentEvent> onReasoning(Agent agent, RuntimeContext ctx, ReasoningInput input, Function<ReasoningInput, Flux<AgentEvent>> next) | 处理推理事件。 Performs the on reasoning operation. |
构造器详情Constructor Detail
DynamicSubagentsMiddleware
public DynamicSubagentsMiddleware(List<SubagentEntry> staticEntries, AbstractFilesystem filesystem, Path mainWorkspace, Function<SubagentDeclaration, SubagentFactory> factoryBuilder, DefaultAgentManager agentManager, Object subagentTool, TaskRepository taskRepository)
初始化 DynamicSubagentsMiddleware 实例。
Creates a new instance.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
staticEntries | List<SubagentEntry> | static 条目(类型 `List`)。The static entries. |
filesystem | AbstractFilesystem | 文件系统(类型 `AbstractFilesystem`)。The filesystem. |
mainWorkspace | Path | 主工作区(类型 `Path`)。The main workspace. |
factoryBuilder | Function<SubagentDeclaration, SubagentFactory> | 工厂构建器(类型 `Function`)。The factory builder. |
agentManager | DefaultAgentManager | 智能体管理器(类型 `DefaultAgentManager`)。The agent manager. |
subagentTool | Object | 子智能体工具(类型 `Object`)。The subagent tool. |
taskRepository | TaskRepository | 任务仓库(类型 `TaskRepository`)。The task repository. |
io/agentscope/harness/agent/middleware/DynamicSubagentsMiddleware.java:82–102方法详情Method Detail
setGatewayBridge
public DynamicSubagentsMiddleware setGatewayBridge(io.agentscope.harness.agent.gateway.SubagentGatewayBridge bridge)
设置 setGatewayBridge。
Wires a gateway bridge into the internal AgentSpawnTool, enabling spawned subagents to be exposed as user-addressable threads.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
bridge | io.agentscope.harness.agent.gateway.SubagentGatewayBridge | bridge(类型 `io.agentscope.harness.agent.gateway.SubagentGatewayBridge`)。The bridge. |
DynamicSubagentsMiddlewareio/agentscope/harness/agent/middleware/DynamicSubagentsMiddleware.java:109–124getAgentManager
public DefaultAgentManager getAgentManager()
获取智能体管理器。
Returns the internal DefaultAgentManager that can re-materialize subagents, or null when none is owned.
DefaultAgentManagerio/agentscope/harness/agent/middleware/DynamicSubagentsMiddleware.java:131–133getTools
public List<Object> getTools()
获取工具。
Returns the tool instances this middleware contributes to the agent toolkit.
List<Object>io/agentscope/harness/agent/middleware/DynamicSubagentsMiddleware.java:139–141getTaskRepository
public TaskRepository getTaskRepository()
获取任务仓库。
Returns the task repository.
TaskRepositoryio/agentscope/harness/agent/middleware/DynamicSubagentsMiddleware.java:143–145onReasoning
public Flux<AgentEvent> onReasoning(Agent agent, RuntimeContext ctx, ReasoningInput input, Function<ReasoningInput, Flux<AgentEvent>> next)
处理推理事件。
Performs the on reasoning operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
agent | Agent | 智能体(类型 `Agent`)。The agent. |
ctx | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The ctx. |
input | ReasoningInput | 输入消息(类型 `ReasoningInput`)。The input. |
next | Function<ReasoningInput, Flux<AgentEvent>> | 下一个(类型 `Function >`)。The next. |
Flux<AgentEvent>io/agentscope/harness/agent/middleware/DynamicSubagentsMiddleware.java:147–172