chore: initialize qiming workspace repository

This commit is contained in:
Codex
2026-05-29 14:22:48 +08:00
commit bfd67a0f2c
10750 changed files with 1885711 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>app-platform-memory</artifactId>
<groupId>com.xspaceagi</groupId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>app-platform-memory-domain</artifactId>
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>
<dependencies>
<dependency>
<groupId>com.xspaceagi</groupId>
<artifactId>app-platform-memory-spec</artifactId>
</dependency>
<!-- 其他原有依赖保持不变 -->
<dependency>
<groupId>com.xspaceagi</groupId>
<artifactId>app-platform-memory-sdk</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,111 @@
package com.xspaceagi.memory.domain.model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.util.Map;
/**
* 记忆领域模型
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Memory {
/**
* 记忆ID
*/
private String memoryId;
/**
* 用户ID
*/
private String userId;
/**
* 会话ID
*/
private String sessionId;
/**
* 记忆类型 (short_term, long_term, working)
*/
private String memoryType;
/**
* 记忆内容
*/
private String content;
/**
* 扩展元数据
*/
private Map<String, Object> metadata;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 过期时间
*/
private LocalDateTime expireTime;
/**
* 记忆状态 (active, archived, deleted)
*/
private String status;
/**
* 重要性评分 (0.0-1.0)
*/
private Double importanceScore;
/**
* 访问次数
*/
private Integer accessCount;
/**
* 最后访问时间
*/
private LocalDateTime lastAccessTime;
/**
* 标签列表
*/
private String tags;
/**
* 检查记忆是否过期
*/
public boolean isExpired() {
return expireTime != null && LocalDateTime.now().isAfter(expireTime);
}
/**
* 检查记忆是否活跃
*/
public boolean isActive() {
return "active".equals(status) && !isExpired();
}
/**
* 增加访问次数
*/
public void incrementAccessCount() {
this.accessCount = (this.accessCount == null ? 0 : this.accessCount) + 1;
this.lastAccessTime = LocalDateTime.now();
}
}

View File

@@ -0,0 +1,63 @@
package com.xspaceagi.memory.domain.repository;
import com.xspaceagi.memory.domain.model.Memory;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Optional;
/**
* 记忆仓储接口
*/
public interface MemoryRepository {
/**
* 保存记忆
*/
Memory save(Memory memory);
/**
* 根据ID查找记忆
*/
Optional<Memory> findById(String memoryId);
/**
* 根据用户ID和记忆类型查找记忆列表
*/
List<Memory> findByUserIdAndType(String userId, String memoryType);
/**
* 根据会话ID查找记忆列表
*/
List<Memory> findBySessionId(String sessionId);
/**
* 查找过期的记忆
*/
List<Memory> findExpiredMemories(LocalDateTime currentTime);
/**
* 根据重要性分数查找记忆
*/
List<Memory> findByImportanceScoreGreaterThan(Double minScore);
/**
* 删除记忆
*/
void deleteById(String memoryId);
/**
* 批量删除记忆
*/
void batchDelete(List<String> memoryIds);
/**
* 更新记忆状态
*/
void updateStatus(String memoryId, String status);
/**
* 统计用户记忆数量
*/
long countByUserIdAndType(String userId, String memoryType);
}