"""会话创建与历史查询接口""" from fastapi import APIRouter, Depends, Request from app.common.response import ApiResponse, success_response from app.core.auth import get_current_user from app.core.exceptions import BizException from app.schemas.conversation import ConversationCreated, ConversationDetail from app.schemas.user import CurrentUser router = APIRouter(prefix="/conversations", tags=["Conversation"]) @router.post("") async def create_conversation( request: Request, user: CurrentUser = Depends(get_current_user) ) -> ApiResponse[ConversationCreated]: store = request.app.state.conversation_store return success_response( ConversationCreated(conversation_id=await store.create(user.id)) ) @router.get("/{conversation_id}") async def get_conversation( conversation_id: str, request: Request, user: CurrentUser = Depends(get_current_user), ) -> ApiResponse[ConversationDetail]: store = request.app.state.conversation_store # 他人的会话与不存在同样返回 404 if not await store.exists(conversation_id, user.id): raise BizException(404, "会话不存在或已过期") turns = await store.load_turns(conversation_id, None) return success_response( ConversationDetail(conversation_id=conversation_id, turns=turns) )