记忆系统,上下文处理+mem0

This commit is contained in:
2026-04-13 23:37:30 +08:00
parent f6a43302d2
commit d3d41b20d7
13 changed files with 262 additions and 56 deletions

View File

@@ -106,7 +106,7 @@ export default function Home() {
let usedModelName = "";
try {
for await (const event of sendChat(apiMessages, finalRefServerUrl, imageModel)) {
for await (const event of sendChat(apiMessages, finalRefServerUrl, imageModel, activeSessionId)) {
switch (event.type) {
case "text_delta":
assistantText += event.data.text as string;
@@ -166,6 +166,11 @@ export default function Home() {
break;
}
case "memory_warning":
console.warn("[记忆系统]", event.data.message);
setStatusText(`${event.data.message}`);
break;
case "error":
assistantText += `\n\n[错误: ${event.data.message}]`;
setStreamingText(assistantText);

View File

@@ -72,7 +72,7 @@ export function uploadRefImage(
}
export interface SSEEvent {
type: "text_delta" | "tool_start" | "image_result" | "tool_error" | "done" | "error";
type: "text_delta" | "tool_start" | "image_result" | "tool_error" | "memory_warning" | "done" | "error";
data: Record<string, unknown>;
}
@@ -95,7 +95,8 @@ export async function fetchModels(): Promise<{
export async function* sendChat(
messages: ApiMessage[],
refImageUrl?: string | null,
imageModel?: string | null
imageModel?: string | null,
sessionId?: string | null
): AsyncGenerator<SSEEvent> {
const formData = new FormData();
@@ -113,6 +114,10 @@ export async function* sendChat(
formData.append("image_model", imageModel);
}
if (sessionId) {
formData.append("session_id", sessionId);
}
const response = await fetch(`${API_URL}/api/chat`, {
method: "POST",
body: formData,