模块注解机制完成,待测试。

- 调整Api包下的目录结构
- 抽取方法‘递归收集某类的继承链上的所有类’中
- 移除 ModuleFactoryContext、ModuleRegisterFactory 中关于 Init 方法的加载逻辑,将在 ModuleInitHookExecuteFactory 中加载并执行
- 完善了 ActivateModel 接口中prompt通用加载的实现
- 移除原有的框架Demo实现,开始进行测试Demo的编写
This commit is contained in:
2025-08-07 23:33:11 +08:00
parent 35b7dc7cda
commit cf1578fd14
141 changed files with 624 additions and 686 deletions

View File

@@ -1,10 +0,0 @@
package work.slhaf;
import work.slhaf.demo.TestModule;
public class Main {
public static void main(String[] args) {
TestModule testModule = new TestModule();
testModule.execute();
}
}

View File

@@ -0,0 +1,12 @@
package work.slhaf.demo;
import work.slhaf.demo.flow.AgentDemoFlowContext;
import work.slhaf.partner.api.agent.Agent;
public class AgentDemoApplication {
public static void main(String[] args) {
Agent.newAgent(AgentDemoApplication.class, new AgentDemoFlowContext())
.run();
}
}

View File

@@ -1,16 +0,0 @@
package work.slhaf.demo;
import work.slhaf.partner.api.factory.capability.annotation.CoordinateManager;
import work.slhaf.partner.api.factory.capability.annotation.Coordinated;
import java.util.List;
@CoordinateManager
public class MyCognationManager {
@Coordinated(capability = "memory")
public List<String> selectMemory(String path) {
return List.of("1", "2", path);
}
}

View File

@@ -1,16 +0,0 @@
package work.slhaf.demo;
import work.slhaf.demo.ability.MemoryCapability;
import work.slhaf.partner.api.factory.capability.annotation.CapabilityHolder;
import work.slhaf.partner.api.factory.capability.annotation.InjectCapability;
@CapabilityHolder
public class TestModule {
@InjectCapability
private MemoryCapability capability;
public void execute(){
System.out.println("111");
System.out.println(capability.selectMemory("zjw"));
}
}

View File

@@ -1,18 +0,0 @@
package work.slhaf.demo.ability;
import work.slhaf.partner.api.factory.capability.annotation.Capability;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
@Capability(value = "cache")
public interface CacheCapability {
HashMap<LocalDateTime, String> getDialogMap();
ConcurrentHashMap<LocalDateTime, String> getUserDialogMap(String userId);
void updateDialogMap(LocalDateTime dateTime, String newDialogCache);
String getDialogMapStr();
String getUserDialogMapStr(String userId,int id);
}

View File

@@ -1,16 +0,0 @@
package work.slhaf.demo.ability;
import work.slhaf.partner.api.factory.capability.annotation.Capability;
import work.slhaf.partner.api.factory.capability.annotation.ToCoordinated;
import java.util.List;
@Capability(value = "memory")
public interface MemoryCapability {
void cleanSelectedSliceFilter();
String getTopicTree();
List<String> listMemory(String userId);
@ToCoordinated
List<String> selectMemory(String path);
}

View File

@@ -1,11 +0,0 @@
package work.slhaf.demo.ability;
import work.slhaf.partner.api.factory.capability.annotation.Capability;
@Capability(value = "perceive")
public interface PerceiveCapability {
String getUser(String id);
String addUser(String userInfo, String platform, String userNickName);
void updateUser(String user);
}

View File

@@ -1,54 +0,0 @@
package work.slhaf.demo.core;
import lombok.extern.slf4j.Slf4j;
import work.slhaf.partner.api.factory.capability.annotation.CapabilityCore;
import work.slhaf.partner.api.factory.capability.annotation.CapabilityMethod;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
@CapabilityCore(value = "cache")
@Slf4j
public class CacheCore {
public static volatile CacheCore cacheCore;
private CacheCore() {
cacheCore = this;
}
public static CacheCore getInstance() {
return cacheCore;
}
@CapabilityMethod
public HashMap<LocalDateTime, String> getDialogMap() {
log.info("cache: getDialogMap");
return new HashMap<>();
}
@CapabilityMethod
public ConcurrentHashMap<LocalDateTime, String> getUserDialogMap(String userId) {
log.info("cache: getUserDialogMap");
return new ConcurrentHashMap<>();
}
@CapabilityMethod
public void updateDialogMap(LocalDateTime dateTime, String newDialogCache) {
log.info("cache: updateDialogMap");
}
@CapabilityMethod
public String getDialogMapStr() {
log.info("cache: getDialogMapStr");
return "";
}
@CapabilityMethod
public String getUserDialogMapStr(String userId,int id) {
log.info("cache: getUserDialogMapStr");
return userId+id;
}
}

View File

@@ -1,40 +0,0 @@
package work.slhaf.demo.core;
import lombok.extern.slf4j.Slf4j;
import work.slhaf.partner.api.factory.capability.annotation.CapabilityCore;
import work.slhaf.partner.api.factory.capability.annotation.CapabilityMethod;
import java.util.ArrayList;
import java.util.List;
@CapabilityCore(value = "memory")
@Slf4j
public class MemoryCore {
public static volatile MemoryCore memoryCore;
private MemoryCore() {
memoryCore = this;
}
public static MemoryCore getInstance() {
return memoryCore;
}
@CapabilityMethod
public void cleanSelectedSliceFilter(){
log.info("memory: cleanSelectedSliceFilter");
}
@CapabilityMethod
public String getTopicTree(){
log.info("memory: getTopicTree");
return "";
}
@CapabilityMethod
public List<String> listMemory(String userId){
log.info("memory: listMemory");
return new ArrayList<>();
}
}

View File

@@ -1,38 +0,0 @@
package work.slhaf.demo.core;
import lombok.extern.slf4j.Slf4j;
import work.slhaf.partner.api.factory.capability.annotation.CapabilityCore;
import work.slhaf.partner.api.factory.capability.annotation.CapabilityMethod;
@CapabilityCore(value = "perceive")
@Slf4j
public class PerceiveCore {
public static volatile PerceiveCore perceiveCore;
private PerceiveCore() {
perceiveCore = this;
}
public static PerceiveCore getInstance() {
return perceiveCore;
}
@CapabilityMethod
public String getUser(String id){
log.info("perceive: getUser");
return "";
}
@CapabilityMethod
public String addUser(String userInfo, String platform, String userNickName){
log.info("perceive: addUser");
return "";
}
@CapabilityMethod
public void updateUser(String user){
log.info("perceive: updateUser");
}
}

View File

@@ -0,0 +1,6 @@
package work.slhaf.demo.flow;
import work.slhaf.partner.api.agent.flow.entity.InteractionFlowContext;
public class AgentDemoFlowContext extends InteractionFlowContext {
}

View File

@@ -0,0 +1,7 @@
package work.slhaf.demo.module;
import work.slhaf.partner.api.agent.factory.module.annotation.AgentModule;
@AgentModule(name = "module_a",order = 0)
public class ATestModule {
}

View File

@@ -0,0 +1,18 @@
package work.slhaf.demo.service;
import work.slhaf.demo.service.core.BTestCore;
import work.slhaf.demo.service.core.CTestCore;
import work.slhaf.partner.api.agent.factory.capability.annotation.CoordinateManager;
import work.slhaf.partner.api.agent.factory.capability.annotation.Coordinated;
@CoordinateManager
public class TestCoordinateManager {
private BTestCore bTestCore = new BTestCore();
private CTestCore cTestCore = new CTestCore();
@Coordinated(capability = "test_c")
public void testMethodCoordinate(String input){
String resultB = bTestCore.testCoordinateSubMethod();
cTestCore.testCoordinateSubMethod(resultB);
}
}

View File

@@ -0,0 +1,9 @@
package work.slhaf.demo.service.capability;
import work.slhaf.partner.api.agent.factory.capability.annotation.Capability;
@Capability("test_a")
public interface ATestCapability {
void testMethodNormalA();
String testMethodNormalB();
}

View File

@@ -0,0 +1,8 @@
package work.slhaf.demo.service.capability;
import work.slhaf.partner.api.agent.factory.capability.annotation.Capability;
@Capability("test_b")
public interface BTestCapability {
void testMethodNormalA();
}

View File

@@ -0,0 +1,12 @@
package work.slhaf.demo.service.capability;
import work.slhaf.partner.api.agent.factory.capability.annotation.Capability;
import work.slhaf.partner.api.agent.factory.capability.annotation.ToCoordinated;
@Capability("test_c")
public interface CTestCapability {
void testMethodNormalA(String input);
@ToCoordinated
void testMethodCoordinate(String input);
}

View File

@@ -0,0 +1,19 @@
package work.slhaf.demo.service.core;
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
@CapabilityCore("test_a")
public class ATestCore {
@CapabilityMethod
public void testMethodNormalA(){
System.out.println("ATestCore::testMethodNormalA");
}
@CapabilityMethod
public String testMethodNormalB(){
return "ATestCore::testMethodNormalB";
}
}

View File

@@ -0,0 +1,17 @@
package work.slhaf.demo.service.core;
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
@CapabilityCore("test_b")
public class BTestCore {
@CapabilityMethod
public void testMethodNormalA(){
System.out.println("BTestCore::testMethodNormalA");
}
public String testCoordinateSubMethod(){
return "BTestCore::testMethodCoordinate";
}
}

View File

@@ -0,0 +1,17 @@
package work.slhaf.demo.service.core;
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
@CapabilityCore("test_c")
public class CTestCore {
@CapabilityMethod
public void testMethodNormalA(String input){
System.out.println("CTestCore::testMethodNormalA, input: " + input);
}
public void testCoordinateSubMethod(String input){
System.out.println("CTestCore::testMethodCoordinate, input: " + input);
}
}