build / build-push (push) Successful in 40s
- com.yunhai.agent,端口 8093,context-path /agent,制品 target/agent.jar;与 NoticeService 同构 - CAS 单点登录 + 三层角色权限(学生/教师/管理员/访客)+ 会话与工具调用审计落库 - DeepSeek 大模型编排 + 7 个业务模块工具(请假/公告/宿舍/活动/作业/资源库/教师发展) - 浏览器代执行协议(服务端挂起 → 前端用登录态代调 → toolResult 续跑)+ 调用失败深链兜底 - 登出修复:服务端真正 session.invalidate() + 前端两步登出 + logout-guard - 保留 projman 注入的 .gitea/workflows/build.yml 与 docker/Dockerfile;docker/application-prod.yml、run-app.sh 随工程入库
52 lines
1.5 KiB
Java
52 lines
1.5 KiB
Java
package com.yunhai.agent.entity;
|
||
|
||
import lombok.Getter;
|
||
import lombok.Setter;
|
||
|
||
import javax.persistence.Column;
|
||
import javax.persistence.Entity;
|
||
import javax.persistence.Index;
|
||
import javax.persistence.Lob;
|
||
import javax.persistence.Table;
|
||
|
||
/**
|
||
* 会话里的一条消息(system / user / assistant / tool),按 seq_no 保序。
|
||
*
|
||
* <p>assistant 消息可能携带工具调用请求,序列化进 {@link #toolCalls};
|
||
* tool 消息用于回填工具执行结果,关联 {@link #toolCallId}。
|
||
*/
|
||
@Entity
|
||
@Table(name = "agent_message", indexes = {
|
||
@Index(name = "idx_agent_msg_sid", columnList = "session_id,seq_no")
|
||
})
|
||
@Getter
|
||
@Setter
|
||
public class AgentMessage extends BaseEntity {
|
||
|
||
/** 所属会话 id */
|
||
@Column(name = "session_id", nullable = false, length = 64)
|
||
private String sessionId;
|
||
|
||
/** 会话内顺序(从 0 递增) */
|
||
@Column(name = "seq_no")
|
||
private Integer seqNo;
|
||
|
||
/** 角色:system / user / assistant / tool */
|
||
@Column(name = "role", length = 16)
|
||
private String role;
|
||
|
||
/** 正文(可能为空:assistant 只想调工具时) */
|
||
@Lob
|
||
@Column(name = "content", columnDefinition = "TEXT")
|
||
private String content;
|
||
|
||
/** assistant 的 tool_calls(JSON 数组字符串) */
|
||
@Lob
|
||
@Column(name = "tool_calls", columnDefinition = "TEXT")
|
||
private String toolCalls;
|
||
|
||
/** role=tool 时关联的调用 id */
|
||
@Column(name = "tool_call_id", length = 64)
|
||
private String toolCallId;
|
||
}
|