MemoryMaintenanceMiddleware
public class MemoryMaintenanceMiddleware implements HarnessRuntimeMiddleware
io/agentscope/harness/agent/middleware/MemoryMaintenanceMiddleware.java:68–293记忆维护中间件,在智能体执行流程中提供横切扩展。位于 io.agentscope.harness.agent.middleware 包,实现 HarnessRuntimeMiddleware。核心成员包括 onAgent、MemoryMaintenanceMiddleware、DEFAULT_MIN_GAP。
Middleware that performs periodic memory maintenance after each agent call.
Fires on the agent invocation completion (via onAgent doOnComplete, after
MemoryFlushMiddleware) and is throttled by a configurable minimum gap so it
does not run on every single call. The maintenance is fire-and-forget: the agent
stream completes immediately while the maintenance runs on a background scheduler.
Maintenance steps executed in order:
-
Expire daily memory files older than
dailyFileRetentionDaysby moving them tomemory/archive/. -
Run LLM-based consolidation (
MemoryConsolidator#consolidate) if a consolidator is configured. -
Prune session log files older than
sessionRetentionDays.
The throttle window is tracked per isolation key, which matches the memory data isolation in use:
-
IsolationScope#USER(default) — one window peruserId. -
IsolationScope#SESSION— one window persessionId. -
IsolationScope#AGENT/IsolationScope#GLOBAL— one shared window for the whole agent instance (prevents concurrent maintenance races on shared memory files).
字段摘要Field Summary
| 字段Field | 类型Type | 说明Description |
|---|---|---|
DEFAULT_MIN_GAPstaticfinal | Duration | 默认最小 GAP字段。 Default minimum gap between two maintenance runs. |
构造器摘要Constructor Summary
方法摘要Method Summary
| 方法Method | 说明Description |
|---|---|
public Flux<AgentEvent> onAgent(Agent agent, RuntimeContext ctx, AgentInput input, Function<AgentInput, Flux<AgentEvent>> next) | 处理智能体事件。 Performs the on agent operation. |
字段详情Field Detail
DEFAULT_MIN_GAP
public static final Duration DEFAULT_MIN_GAP
默认最小 GAP字段。声明为 public static final Duration DEFAULT_MIN_GAP。
Default minimum gap between two maintenance runs.
io/agentscope/harness/agent/middleware/MemoryMaintenanceMiddleware.java:73构造器详情Constructor Detail
MemoryMaintenanceMiddleware
public MemoryMaintenanceMiddleware(WorkspaceManager workspaceManager, MemoryConsolidator consolidator, int dailyFileRetentionDays, int sessionRetentionDays, Duration minGap)
初始化 MemoryMaintenanceMiddleware 实例。
Creates a new instance.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
workspaceManager | WorkspaceManager | 工作区管理器(类型 `WorkspaceManager`)。The workspace manager. |
consolidator | MemoryConsolidator | consolidator(类型 `MemoryConsolidator`)。The consolidator. |
dailyFileRetentionDays | int | daily 文件 Retention Days(类型 `int`)。The daily file retention days. |
sessionRetentionDays | int | 会话 Retention Days(类型 `int`)。The session retention days. |
minGap | Duration | 最小 Gap(类型 `Duration`)。The min gap. |
io/agentscope/harness/agent/middleware/MemoryMaintenanceMiddleware.java:83–97MemoryMaintenanceMiddleware
public MemoryMaintenanceMiddleware(WorkspaceManager workspaceManager, MemoryConsolidator consolidator, int dailyFileRetentionDays, int sessionRetentionDays, Duration minGap, IsolationScope isolationScope)
初始化 MemoryMaintenanceMiddleware 实例。
Creates a new instance.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
workspaceManager | WorkspaceManager | 工作区管理器(类型 `WorkspaceManager`)。The workspace manager. |
consolidator | MemoryConsolidator | consolidator(类型 `MemoryConsolidator`)。The consolidator. |
dailyFileRetentionDays | int | daily 文件 Retention Days(类型 `int`)。The daily file retention days. |
sessionRetentionDays | int | 会话 Retention Days(类型 `int`)。The session retention days. |
minGap | Duration | 最小 Gap(类型 `Duration`)。The min gap. |
isolationScope | IsolationScope | 隔离范围(类型 `IsolationScope`)。The isolation scope. |
io/agentscope/harness/agent/middleware/MemoryMaintenanceMiddleware.java:99–114MemoryMaintenanceMiddleware
public MemoryMaintenanceMiddleware(WorkspaceManager workspaceManager, MemoryConsolidator consolidator, int dailyFileRetentionDays, int sessionRetentionDays, Duration minGap, IsolationScope isolationScope, PeriodicGate periodicGate)
初始化 MemoryMaintenanceMiddleware 实例。
Creates a new instance.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
workspaceManager | WorkspaceManager | 工作区管理器(类型 `WorkspaceManager`)。The workspace manager. |
consolidator | MemoryConsolidator | consolidator(类型 `MemoryConsolidator`)。The consolidator. |
dailyFileRetentionDays | int | daily 文件 Retention Days(类型 `int`)。The daily file retention days. |
sessionRetentionDays | int | 会话 Retention Days(类型 `int`)。The session retention days. |
minGap | Duration | 最小 Gap(类型 `Duration`)。The min gap. |
isolationScope | IsolationScope | 隔离范围(类型 `IsolationScope`)。The isolation scope. |
periodicGate | PeriodicGate | periodic Gate(类型 `PeriodicGate`)。The periodic gate. |
io/agentscope/harness/agent/middleware/MemoryMaintenanceMiddleware.java:116–131MemoryMaintenanceMiddleware
public MemoryMaintenanceMiddleware(WorkspaceManager workspaceManager, MemoryConsolidator consolidator)
初始化 MemoryMaintenanceMiddleware 实例。
Creates a new instance.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
workspaceManager | WorkspaceManager | 工作区管理器(类型 `WorkspaceManager`)。The workspace manager. |
consolidator | MemoryConsolidator | consolidator(类型 `MemoryConsolidator`)。The consolidator. |
io/agentscope/harness/agent/middleware/MemoryMaintenanceMiddleware.java:133–136方法详情Method Detail
onAgent
public Flux<AgentEvent> onAgent(Agent agent, RuntimeContext ctx, AgentInput input, Function<AgentInput, Flux<AgentEvent>> next)
处理智能体事件。
Performs the on agent operation.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
agent | Agent | 智能体(类型 `Agent`)。The agent. |
ctx | RuntimeContext | 运行时上下文(类型 `RuntimeContext`)。The ctx. |
input | AgentInput | 输入消息(类型 `AgentInput`)。The input. |
next | Function<AgentInput, Flux<AgentEvent>> | 下一个(类型 `Function >`)。The next. |
Flux<AgentEvent>io/agentscope/harness/agent/middleware/MemoryMaintenanceMiddleware.java:138–163