diff --git a/src/main/java/work/slhaf/agent/core/interaction/data/context/subcontext/CoreContext.java b/src/main/java/work/slhaf/agent/core/interaction/data/context/subcontext/CoreContext.java index 1f448ac7..b15e0215 100644 --- a/src/main/java/work/slhaf/agent/core/interaction/data/context/subcontext/CoreContext.java +++ b/src/main/java/work/slhaf/agent/core/interaction/data/context/subcontext/CoreContext.java @@ -2,11 +2,19 @@ package work.slhaf.agent.core.interaction.data.context.subcontext; import com.alibaba.fastjson2.JSONObject; import lombok.Data; +import lombok.EqualsAndHashCode; +import work.slhaf.agent.common.serialize.PersistableObject; +import java.io.Serial; import java.util.HashMap; +@EqualsAndHashCode(callSuper = true) @Data -public class CoreContext { +public class CoreContext extends PersistableObject { + + @Serial + private static final long serialVersionUID = 1L; + private String text; private String dateTime; private String userNick; diff --git a/src/main/java/work/slhaf/agent/core/interaction/data/context/subcontext/ModuleContext.java b/src/main/java/work/slhaf/agent/core/interaction/data/context/subcontext/ModuleContext.java index 44fdde97..ae70e1da 100644 --- a/src/main/java/work/slhaf/agent/core/interaction/data/context/subcontext/ModuleContext.java +++ b/src/main/java/work/slhaf/agent/core/interaction/data/context/subcontext/ModuleContext.java @@ -2,13 +2,21 @@ package work.slhaf.agent.core.interaction.data.context.subcontext; import com.alibaba.fastjson2.JSONObject; import lombok.Data; +import lombok.EqualsAndHashCode; +import work.slhaf.agent.common.serialize.PersistableObject; import work.slhaf.agent.module.common.AppendPromptData; +import java.io.Serial; import java.util.ArrayList; import java.util.List; +@EqualsAndHashCode(callSuper = true) @Data -public class ModuleContext { +public class ModuleContext extends PersistableObject { + + @Serial + private static final long serialVersionUID = 1L; + private List appendedPrompt = new ArrayList<>(); private JSONObject extraContext = new JSONObject(); private boolean finished = false; diff --git a/src/main/java/work/slhaf/agent/module/common/AppendPromptData.java b/src/main/java/work/slhaf/agent/module/common/AppendPromptData.java index c72fa6ac..824af7c6 100644 --- a/src/main/java/work/slhaf/agent/module/common/AppendPromptData.java +++ b/src/main/java/work/slhaf/agent/module/common/AppendPromptData.java @@ -1,11 +1,19 @@ package work.slhaf.agent.module.common; import lombok.Data; +import lombok.EqualsAndHashCode; +import work.slhaf.agent.common.serialize.PersistableObject; +import java.io.Serial; import java.util.HashMap; +@EqualsAndHashCode(callSuper = true) @Data -public class AppendPromptData { +public class AppendPromptData extends PersistableObject { + + @Serial + private static final long serialVersionUID = 1L; + private String moduleName; private HashMap appendedPrompt; } diff --git a/src/main/java/work/slhaf/agent/module/modules/core/CoreModel.java b/src/main/java/work/slhaf/agent/module/modules/core/CoreModel.java index 377f0c11..2850cd87 100644 --- a/src/main/java/work/slhaf/agent/module/modules/core/CoreModel.java +++ b/src/main/java/work/slhaf/agent/module/modules/core/CoreModel.java @@ -121,10 +121,9 @@ public class CoreModel extends Model implements InteractionModule { } private void activateModule(InteractionContext context) { - HashMap activeModules = context.getCoreContext().getActiveModules(); for (AppendPromptData data : context.getModuleContext().getAppendedPrompt()) { if (data.getAppendedPrompt().isEmpty()) continue; - activeModules.put(data.getModuleName(), true); + context.getCoreContext().activateModule(data.getModuleName()); } }