完善配置工厂遗留问题; 初步完善 AgentRunningFlow 流程相关。

- 修复了 ActivateModel 中 model 实例化后却未赋值的问题
- 调整 Api 包下目录结构, 新增 runtime 包用于存放运行时相关类
- 完善 AgentConfigManager 基类以及对应的默认实现类中的加载、序列化以及更新逻辑
- 将异常类型分类为‘启动时异常’与‘运行时异常’,前者将直接导致启动停止,后者可通过异常回调实现进行处理
- 新增全局异常处理类以及默认的异常回调实现
- 新增几个异常类
- 完善 Agent 链式构建流程, 实际上只是做了一些方法转发,但毕竟那些可提供自定义实现的,不管是factory还是manager、handler, 它们都过于分散了。
This commit is contained in:
2025-08-11 00:19:08 +08:00
parent cf1578fd14
commit 86548903a0
61 changed files with 574 additions and 324 deletions

View File

@@ -7,7 +7,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import work.slhaf.partner.api.agent.flow.abstracts.ActivateModel;
import work.slhaf.partner.api.agent.flow.abstracts.AgentInteractionSubModule;
import work.slhaf.partner.api.agent.flow.abstracts.AgentRunningSubModule;
import work.slhaf.partner.common.thread.InteractionThreadPoolExecutor;
import work.slhaf.partner.core.cognation.common.pojo.MemoryResult;
import work.slhaf.partner.core.cognation.common.pojo.MemorySliceResult;
@@ -30,7 +30,7 @@ import static work.slhaf.partner.common.util.ExtractUtil.extractJson;
@EqualsAndHashCode(callSuper = true)
@Data
@Slf4j
public class SliceSelectEvaluator extends AgentInteractionSubModule<EvaluatorInput, List<EvaluatedSlice>> implements ActivateModel {
public class SliceSelectEvaluator extends AgentRunningSubModule<EvaluatorInput, List<EvaluatedSlice>> implements ActivateModel {
private static volatile SliceSelectEvaluator sliceSelectEvaluator;
private InteractionThreadPoolExecutor executor;

View File

@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability;
import work.slhaf.partner.api.agent.flow.abstracts.ActivateModel;
import work.slhaf.partner.api.agent.flow.abstracts.AgentInteractionSubModule;
import work.slhaf.partner.api.agent.flow.abstracts.AgentRunningSubModule;
import work.slhaf.partner.api.chat.pojo.Message;
import work.slhaf.partner.api.chat.pojo.MetaMessage;
import work.slhaf.partner.common.exception_handler.GlobalExceptionHandler;
@@ -31,7 +31,7 @@ import static work.slhaf.partner.common.util.ExtractUtil.fixTopicPath;
@EqualsAndHashCode(callSuper = true)
@Data
@Slf4j
public class MemorySelectExtractor extends AgentInteractionSubModule<InteractionContext, ExtractorResult> implements ActivateModel {
public class MemorySelectExtractor extends AgentRunningSubModule<InteractionContext, ExtractorResult> implements ActivateModel {
private static volatile MemorySelectExtractor memorySelectExtractor;

View File

@@ -3,7 +3,7 @@ package work.slhaf.partner.module.modules.memory.updater.summarizer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import work.slhaf.partner.api.agent.flow.abstracts.AgentInteractionSubModule;
import work.slhaf.partner.api.agent.flow.abstracts.AgentRunningSubModule;
import work.slhaf.partner.common.thread.InteractionThreadPoolExecutor;
import work.slhaf.partner.module.modules.memory.updater.summarizer.data.SummarizeInput;
import work.slhaf.partner.module.modules.memory.updater.summarizer.data.SummarizeResult;
@@ -13,7 +13,7 @@ import java.util.HashMap;
@EqualsAndHashCode(callSuper = true)
@Data
@Slf4j
public class MemorySummarizer extends AgentInteractionSubModule<SummarizeInput,SummarizeResult> {
public class MemorySummarizer extends AgentRunningSubModule<SummarizeInput,SummarizeResult> {
private static volatile MemorySummarizer memorySummarizer;
public static final String MODEL_KEY = "memory_summarizer";

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import work.slhaf.partner.api.agent.flow.abstracts.ActivateModel;
import work.slhaf.partner.api.agent.flow.abstracts.AgentInteractionSubModule;
import work.slhaf.partner.api.agent.flow.abstracts.AgentRunningSubModule;
import work.slhaf.partner.api.chat.pojo.ChatResponse;
import work.slhaf.partner.module.modules.memory.updater.summarizer.data.SummarizeInput;
import work.slhaf.partner.module.modules.memory.updater.summarizer.data.SummarizeResult;
@@ -20,7 +20,7 @@ import static work.slhaf.partner.common.util.ExtractUtil.fixTopicPath;
@EqualsAndHashCode(callSuper = true)
@Data
@Slf4j
public class MultiSummarizer extends AgentInteractionSubModule<SummarizeInput, SummarizeResult> implements ActivateModel {
public class MultiSummarizer extends AgentRunningSubModule<SummarizeInput, SummarizeResult> implements ActivateModel {
private static volatile MultiSummarizer multiSummarizer;

View File

@@ -5,7 +5,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import work.slhaf.partner.api.agent.flow.abstracts.ActivateModel;
import work.slhaf.partner.api.agent.flow.abstracts.AgentInteractionSubModule;
import work.slhaf.partner.api.agent.flow.abstracts.AgentRunningSubModule;
import work.slhaf.partner.api.chat.constant.ChatConstant;
import work.slhaf.partner.api.chat.pojo.ChatResponse;
import work.slhaf.partner.api.chat.pojo.Message;
@@ -20,7 +20,7 @@ import java.util.concurrent.atomic.AtomicInteger;
@EqualsAndHashCode(callSuper = true)
@Slf4j
@Data
public class SingleSummarizer extends AgentInteractionSubModule<List<Message>,Void> implements ActivateModel {
public class SingleSummarizer extends AgentRunningSubModule<List<Message>,Void> implements ActivateModel {
private static volatile SingleSummarizer singleSummarizer;

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import work.slhaf.partner.api.agent.flow.abstracts.ActivateModel;
import work.slhaf.partner.api.agent.flow.abstracts.AgentInteractionSubModule;
import work.slhaf.partner.api.agent.flow.abstracts.AgentRunningSubModule;
import work.slhaf.partner.api.chat.pojo.ChatResponse;
import java.util.HashMap;
@@ -16,7 +16,7 @@ import static work.slhaf.partner.common.util.ExtractUtil.extractJson;
@EqualsAndHashCode(callSuper = true)
@Data
@Slf4j
public class TotalSummarizer extends AgentInteractionSubModule<HashMap<String, String>, String> implements ActivateModel {
public class TotalSummarizer extends AgentRunningSubModule<HashMap<String, String>, String> implements ActivateModel {
private static volatile TotalSummarizer totalSummarizer;

View File

@@ -4,7 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
import lombok.Data;
import lombok.EqualsAndHashCode;
import work.slhaf.partner.api.agent.flow.abstracts.ActivateModel;
import work.slhaf.partner.api.agent.flow.abstracts.AgentInteractionSubModule;
import work.slhaf.partner.api.agent.flow.abstracts.AgentRunningSubModule;
import work.slhaf.partner.api.chat.pojo.ChatResponse;
import work.slhaf.partner.api.chat.pojo.Message;
import work.slhaf.partner.core.cognation.cognation.CognationCapability;
@@ -21,7 +21,7 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
public class RelationExtractor extends AgentInteractionSubModule<InteractionContext, RelationExtractResult> implements ActivateModel {
public class RelationExtractor extends AgentRunningSubModule<InteractionContext, RelationExtractResult> implements ActivateModel {
private static volatile RelationExtractor relationExtractor;

View File

@@ -6,7 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import work.slhaf.partner.api.agent.factory.capability.annotation.InjectCapability;
import work.slhaf.partner.api.agent.flow.abstracts.ActivateModel;
import work.slhaf.partner.api.agent.flow.abstracts.AgentInteractionSubModule;
import work.slhaf.partner.api.agent.flow.abstracts.AgentRunningSubModule;
import work.slhaf.partner.api.chat.pojo.ChatResponse;
import work.slhaf.partner.core.cognation.cognation.CognationCapability;
import work.slhaf.partner.core.cognation.submodule.perceive.PerceiveCapability;
@@ -18,7 +18,7 @@ import java.util.HashMap;
@EqualsAndHashCode(callSuper = true)
@Data
public class StaticMemoryExtractor extends AgentInteractionSubModule<InteractionContext, HashMap<String, String>> implements ActivateModel {
public class StaticMemoryExtractor extends AgentRunningSubModule<InteractionContext, HashMap<String, String>> implements ActivateModel {
private static volatile StaticMemoryExtractor staticMemoryExtractor;