diff --git a/Partner-Core/src/main/java/work/slhaf/partner/common/Constant.java b/Partner-Core/src/main/java/work/slhaf/partner/common/Constant.java deleted file mode 100644 index 5cecd24a..00000000 --- a/Partner-Core/src/main/java/work/slhaf/partner/common/Constant.java +++ /dev/null @@ -1,10 +0,0 @@ -package work.slhaf.partner.common; - -public final class Constant { - - public static final class Path { - public static final String DATA = "data"; - public static final String MEMORY_DATA = DATA + "/memory"; - } - -} diff --git a/Partner-Core/src/main/java/work/slhaf/partner/common/util/ExtractUtil.java b/Partner-Core/src/main/java/work/slhaf/partner/common/util/ExtractUtil.java deleted file mode 100644 index 69c5152b..00000000 --- a/Partner-Core/src/main/java/work/slhaf/partner/common/util/ExtractUtil.java +++ /dev/null @@ -1,42 +0,0 @@ -package work.slhaf.partner.common.util; - -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class ExtractUtil { - public static String extractJson(String jsonStr) { - jsonStr = jsonStr.replace("“", "\"").replace("”", "\""); - int start = jsonStr.indexOf("{"); - int end = jsonStr.lastIndexOf("}"); - if (start != -1 && end != -1 && start < end) { - return jsonStr.substring(start, end + 1); - } - return jsonStr; - } - - public static String extractUserId(String messageContent) { - Pattern pattern = Pattern.compile("\\[.*\\(([^)]+)\\)\\]"); - Matcher matcher = pattern.matcher(messageContent); - if (!matcher.find()) { - return null; - } - return matcher.group(1); - } - - public static String fixTopicPath(String topicPath) { - String[] parts = topicPath.split("->"); - List cleanedParts = new ArrayList<>(); - - for (String part : parts) { - // 修正正则表达式,正确移除 [xxx] 部分 - String cleaned = part.replaceAll("\\[[^\\]]*\\]", "").trim(); - if (!cleaned.isEmpty()) { // 忽略空字符串 - cleanedParts.add(cleaned); - } - } - - return String.join("->", cleanedParts); - } -} diff --git a/Partner-Core/src/main/java/work/slhaf/partner/common/util/PathUtil.java b/Partner-Core/src/main/java/work/slhaf/partner/common/util/PathUtil.java deleted file mode 100644 index 3266de53..00000000 --- a/Partner-Core/src/main/java/work/slhaf/partner/common/util/PathUtil.java +++ /dev/null @@ -1,14 +0,0 @@ -package work.slhaf.partner.common.util; - -public class PathUtil { - public static String buildPathStr(String... path) { - StringBuilder str = new StringBuilder(); - for (int i = 0; i < path.length; i++) { - str.append(path[i]); - if (i < path.length - 1) { - str.append("/"); - } - } - return str.toString(); - } -} \ No newline at end of file diff --git a/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java b/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java index 695296f8..d8134fef 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java @@ -22,8 +22,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.atomic.AtomicBoolean; -import static work.slhaf.partner.common.util.PathUtil.buildPathStr; - @Slf4j public class LocalRunnerClient extends RunnerClient implements AutoCloseable { @@ -195,4 +193,15 @@ public class LocalRunnerClient extends RunnerClient implements AutoCloseable { } catch (Exception ignored) { } } + + public String buildPathStr(String... path) { + StringBuilder str = new StringBuilder(); + for (int i = 0; i < path.length; i++) { + str.append(path[i]); + if (i < path.length - 1) { + str.append("/"); + } + } + return str.toString(); + } } diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/communication/CommunicationProducer.java b/Partner-Core/src/main/java/work/slhaf/partner/module/communication/CommunicationProducer.java index 5bdfa156..5bc2fa96 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/communication/CommunicationProducer.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/communication/CommunicationProducer.java @@ -1,6 +1,5 @@ package work.slhaf.partner.module.communication; -import com.alibaba.fastjson2.JSONObject; import lombok.Data; import lombok.EqualsAndHashCode; import org.jetbrains.annotations.NotNull; @@ -25,8 +24,6 @@ import java.io.StringWriter; import java.util.*; import java.util.stream.Collectors; -import static work.slhaf.partner.common.util.ExtractUtil.extractJson; - @EqualsAndHashCode(callSuper = true) @Data public class CommunicationProducer extends AbstractAgentModule.Running implements ActivateModel { @@ -160,15 +157,7 @@ public class CommunicationProducer extends AbstractAgentModule.Running") || trimmed.startsWith("") || trimmed.startsWith("") || trimmed.startsWith("") || trimmed.startsWith(""); + List cleanedParts = new ArrayList<>(); + + for (String part : parts) { + // 修正正则表达式,正确移除 [xxx] 部分 + String cleaned = part.replaceAll("\\[[^\\]]*\\]", "").trim(); + if (!cleaned.isEmpty()) { // 忽略空字符串 + cleanedParts.add(cleaned); + } + } + + return String.join("->", cleanedParts); + } + private static final class TopicTreeNode { private final Map children = new LinkedHashMap<>(); private int count; diff --git a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/extractor/MemorySelectExtractor.java b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/extractor/MemorySelectExtractor.java index dfaf9bb7..3b6b62ab 100644 --- a/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/extractor/MemorySelectExtractor.java +++ b/Partner-Core/src/main/java/work/slhaf/partner/module/memory/selector/extractor/MemorySelectExtractor.java @@ -22,8 +22,6 @@ import work.slhaf.partner.module.memory.selector.extractor.entity.ExtractorResul import java.time.format.DateTimeFormatter; import java.util.List; -import static work.slhaf.partner.common.util.ExtractUtil.fixTopicPath; - @EqualsAndHashCode(callSuper = true) @Data public class MemorySelectExtractor extends AbstractAgentModule.Sub implements ActivateModel { @@ -81,7 +79,7 @@ public class MemorySelectExtractor extends AbstractAgentModule.Sub implements ActivateModel { + + @InjectModule + private MemoryRuntime memoryRuntime; + @Override public SummarizeResult execute(SummarizeInput input) { log.debug("[MemorySummarizer] 整体摘要开始..."); @@ -33,10 +37,10 @@ public class MultiSummarizer extends AbstractAgentModule.Sub relatedTopicPath = new ArrayList<>(); for (String s : result.getRelatedTopicPath()) { - relatedTopicPath.add(fixTopicPath(s)); + relatedTopicPath.add(memoryRuntime.fixTopicPath(s)); } result.setTopicPath(topicPath); result.setRelatedTopicPath(relatedTopicPath);