feat:新增大屏存取发布接口

This commit is contained in:
2026-10-11 08:27:30 -07:00
parent dadd797391
commit afc07ba695
23 changed files with 2672 additions and 36 deletions
+20 -3
View File
@@ -1,9 +1,15 @@
"""会话及对话轮次,用于多轮上下文和后续持久化"""
from datetime import datetime
from typing import Literal
from typing import Annotated, Literal
from pydantic import BaseModel
from pydantic import BaseModel, StringConstraints
from .base import NonBlankString
Title = Annotated[
str, StringConstraints(strip_whitespace=True, min_length=1, max_length=100)
]
class Turn(BaseModel):
@@ -18,6 +24,15 @@ class Turn(BaseModel):
created_at: datetime
class ConversationCreate(BaseModel):
# 会话归属的大屏;不传则不归属任何大屏(兼容旧调用)
screen_id: NonBlankString | None = None
class ConversationRename(BaseModel):
title: Title
class ConversationCreated(BaseModel):
conversation_id: str
@@ -31,9 +46,11 @@ class ConversationSummary(BaseModel):
"""历史会话列表项,只包含已产生对话的会话"""
conversation_id: str
title: str # 取自首轮用户输入,过长时截断
title: str # 用户改过名用改的,否则取自首轮用户输入,过长时截断
screen_id: str | None = None
updated_at: datetime # 最近一轮对话的创建时间
class ConversationList(BaseModel):
conversations: list[ConversationSummary]
total: int # 符合条件的会话总数(不受 limit / offset 影响),管理页翻页用