You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

30 lines
1.1 KiB

from fastapi import APIRouter, Request, Depends, HTTPException
from dependencies import get_current_user
from modules.memory.manager import get_memory_manager
router = APIRouter(prefix="/api/memory", tags=["记忆管理"])
@router.get("/sessions")
async def list_sessions(request: Request, user=Depends(get_current_user)):
mm = get_memory_manager()
sessions = await mm.list_user_sessions(str(user.id))
return {"code": 200, "data": sessions}
@router.get("/sessions/{session_id}")
async def get_session(session_id: str, request: Request, flow_id: str = "", user=Depends(get_current_user)):
mm = get_memory_manager()
history = await mm.get_conversation_history(
user_id=str(user.id),
flow_id=flow_id,
session_id=session_id,
)
return {"code": 200, "data": history}
@router.delete("/sessions/{session_id}")
async def clear_session(session_id: str, request: Request, user=Depends(get_current_user)):
mm = get_memory_manager()
await mm.delete_session(str(user.id), session_id)
return {"code": 200, "message": "记忆已清除"}