diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/common/module/PostRunningAgentModule.java b/Partner-Core/src/main/java/work/slhaf/partner/module/common/module/PostRunningAgentModule.java deleted file mode 100644 index 037cf1ca..00000000 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/common/module/PostRunningAgentModule.java +++ /dev/null @@ -1,19 +0,0 @@ -package work.slhaf.partner.module.common.module; - -import work.slhaf.partner.api.agent.factory.component.abstracts.AbstractAgentModule; -import work.slhaf.partner.runtime.interaction.data.context.PartnerRunningFlowContext; - -public abstract class PostRunningAgentModule extends AbstractAgentModule.Running { - @Override - public final void execute(PartnerRunningFlowContext context) { - boolean trigger = context.getModuleContext().getExtraContext().getBoolean("post_process_trigger"); - if (!trigger && relyOnMessage()) { - return; - } - doExecute(context); - } - - public abstract void doExecute(PartnerRunningFlowContext context); - - protected abstract boolean relyOnMessage(); -} diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/modules/memory/updater/MemoryUpdater.java b/Partner-Core/src/main/java/work/slhaf/partner/module/modules/memory/updater/MemoryUpdater.java index 4b9ea170..0e6f5282 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/modules/memory/updater/MemoryUpdater.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/modules/memory/updater/MemoryUpdater.java @@ -5,6 +5,7 @@ import kotlin.Unit; import lombok.Data; import lombok.EqualsAndHashCode; import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability; +import work.slhaf.partner.api.agent.factory.component.abstracts.AbstractAgentModule; import work.slhaf.partner.api.agent.factory.component.annotation.Init; import work.slhaf.partner.api.agent.factory.component.annotation.InjectModule; import work.slhaf.partner.api.chat.pojo.Message; @@ -16,7 +17,6 @@ import work.slhaf.partner.core.memory.MemoryCapability; import work.slhaf.partner.core.memory.pojo.MemorySlice; import work.slhaf.partner.core.memory.pojo.MemoryUnit; import work.slhaf.partner.core.perceive.PerceiveCapability; -import work.slhaf.partner.module.common.module.PostRunningAgentModule; import work.slhaf.partner.module.modules.action.scheduler.ActionScheduler; import work.slhaf.partner.module.modules.memory.runtime.MemoryRuntime; import work.slhaf.partner.module.modules.memory.updater.summarizer.MultiSummarizer; @@ -32,11 +32,12 @@ import java.util.concurrent.atomic.AtomicBoolean; @EqualsAndHashCode(callSuper = true) @Data -public class MemoryUpdater extends PostRunningAgentModule { +public class MemoryUpdater extends AbstractAgentModule.Running { private static final String AUTO_UPDATE_CRON = "0/10 * * * * ?"; private static final long UPDATE_TRIGGER_INTERVAL = 60 * 60 * 1000; private static final int CONTEXT_RETAIN_DIVISOR = 6; + private static final int MEMORY_UPDATE_TRIGGER_ROLL_LIMIT = 36; @InjectCapability private CognationCapability cognationCapability; @@ -80,28 +81,17 @@ public class MemoryUpdater extends PostRunningAgentModule { } @Override - public void doExecute(PartnerRunningFlowContext context) { + public void execute(PartnerRunningFlowContext context) { + boolean trigger = cognationCapability.getChatMessages().size() >= MEMORY_UPDATE_TRIGGER_ROLL_LIMIT; + if (!trigger) { + return; + } executor.execute(() -> { - JSONObject moduleContext = context.getModuleContext().getExtraContext(); - boolean recall = moduleContext.getBoolean("recall"); - if (recall) { - int recallCount = moduleContext.getIntValue("recall_count"); - log.debug("[MemoryUpdater] 当前激活记忆数量 [{}]", recallCount); - } - boolean trigger = moduleContext.getBoolean("post_process_trigger"); - if (!trigger) { - return; - } log.debug("[MemoryUpdater] 记忆更新触发"); triggerMemoryUpdate(false); }); } - @Override - protected boolean relyOnMessage() { - return true; - } - private void tryAutoUpdate() { long currentTime = System.currentTimeMillis(); int chatCount = cognationCapability.snapshotChatMessages().size(); diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/modules/process/PostprocessExecutor.java b/Partner-Core/src/main/java/work/slhaf/partner/module/modules/process/PostprocessExecutor.java deleted file mode 100644 index d85ba891..00000000 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/modules/process/PostprocessExecutor.java +++ /dev/null @@ -1,28 +0,0 @@ -package work.slhaf.partner.module.modules.process; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability; -import work.slhaf.partner.api.agent.factory.component.abstracts.AbstractAgentModule; -import work.slhaf.partner.core.cognation.CognationCapability; -import work.slhaf.partner.runtime.interaction.data.context.PartnerRunningFlowContext; - -@EqualsAndHashCode(callSuper = true) -@Data -public class PostprocessExecutor extends AbstractAgentModule.Running { - private static final int POST_PROCESS_TRIGGER_ROLL_LIMIT = 36; - @InjectCapability - private CognationCapability cognationCapability; - - @Override - public void execute(PartnerRunningFlowContext context) { - boolean trigger = cognationCapability.getChatMessages().size() >= POST_PROCESS_TRIGGER_ROLL_LIMIT; - context.getModuleContext().getExtraContext().put("post_process_trigger", trigger); - log.debug("[PostprocessExecutor] 是否执行后处理: {}", trigger); - } - - @Override - public int order() { - return 6; - } -}