优化 Agent 过程展示,增加时间格式化和状态管理
This commit is contained in:
+17
-1
@@ -3,7 +3,7 @@ import { config } from "@config/config";
|
||||
|
||||
export type StreamEvent =
|
||||
| { type: "token"; sessionId: string; content: string }
|
||||
| { type: "done"; sessionId: string }
|
||||
| { type: "done"; sessionId: string; totalDurationMs?: number }
|
||||
| { type: "session_title"; sessionId: string; title: string }
|
||||
| {
|
||||
type: "progress";
|
||||
@@ -13,12 +13,17 @@ export type StreamEvent =
|
||||
status: "running" | "completed" | "error";
|
||||
title: string;
|
||||
detail?: string;
|
||||
startedAt?: number;
|
||||
endedAt?: number;
|
||||
elapsedMs?: number;
|
||||
durationMs?: number;
|
||||
}
|
||||
| {
|
||||
type: "error";
|
||||
sessionId?: string;
|
||||
message: string;
|
||||
detail?: string;
|
||||
totalDurationMs?: number;
|
||||
}
|
||||
| {
|
||||
type: "tool_call";
|
||||
@@ -162,6 +167,11 @@ export const streamAgentChat = async ({
|
||||
phase?: string;
|
||||
status?: "running" | "completed" | "error";
|
||||
title?: string;
|
||||
started_at?: number;
|
||||
ended_at?: number;
|
||||
elapsed_ms?: number;
|
||||
duration_ms?: number;
|
||||
total_duration_ms?: number;
|
||||
};
|
||||
if (event === "token") {
|
||||
onEvent({
|
||||
@@ -178,11 +188,16 @@ export const streamAgentChat = async ({
|
||||
status: parsed.status ?? "running",
|
||||
title: parsed.title ?? "正在处理",
|
||||
detail: parsed.detail,
|
||||
startedAt: parsed.started_at,
|
||||
endedAt: parsed.ended_at,
|
||||
elapsedMs: parsed.elapsed_ms,
|
||||
durationMs: parsed.duration_ms,
|
||||
});
|
||||
} else if (event === "done") {
|
||||
onEvent({
|
||||
type: "done",
|
||||
sessionId: parsed.session_id ?? "",
|
||||
totalDurationMs: parsed.total_duration_ms,
|
||||
});
|
||||
} else if (event === "session_title") {
|
||||
onEvent({
|
||||
@@ -196,6 +211,7 @@ export const streamAgentChat = async ({
|
||||
sessionId: parsed.session_id,
|
||||
message: parsed.message ?? "unknown error",
|
||||
detail: parsed.detail,
|
||||
totalDurationMs: parsed.total_duration_ms,
|
||||
});
|
||||
} else if (event === "tool_call") {
|
||||
onEvent({
|
||||
|
||||
Reference in New Issue
Block a user