mateclaw/mateclaw-server/src/main/java/vip/mate/agent/StructuredStreamCapable.java
matevip 579d60125b Initial commit: MateClaw — Java + Vue 3 AI Assistant System
Full-stack AI assistant built on Spring AI Alibaba.
Features: ReAct Agent, Plan-and-Execute, MCP Protocol, Multi-Model, Multi-Channel.

Apache-2.0 License
2026-04-04 19:03:49 +08:00

37 lines
1.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package vip.mate.agent;
import reactor.core.publisher.Flux;
/**
* 支持结构化流的 Agent 接口
* <p>
* 实现此接口的 Agent 可以在 SSE 流中同时发送事件(工具调用、阶段变更等)和内容。
*
* @author MateClaw Team
*/
public interface StructuredStreamCapable {
/**
* 结构化流式对话
* <p>
* 返回的 Flux 中包含两类 StreamDelta
* - 事件类型isEvent() == true工具调用开始/完成、阶段变更等
* - 内容类型hasPayload() == trueLLM 生成的文本内容
*
* @param userMessage 用户消息
* @param conversationId 会话ID
* @return 结构化流
*/
Flux<AgentService.StreamDelta> chatStructuredStream(String userMessage, String conversationId);
/**
* 结构化流式对话(带请求者身份)
*
* @param requesterId 请求发起者 ID用于审批身份校验
*/
default Flux<AgentService.StreamDelta> chatStructuredStream(String userMessage, String conversationId,
String requesterId) {
return chatStructuredStream(userMessage, conversationId);
}
}