mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
feat: implement file upload and callback handling for Web Agent
This commit is contained in:
+16
-1
@@ -264,9 +264,11 @@ class AgentWebChatRequest(BaseModel):
|
||||
name: Optional[str] = Field(None)
|
||||
mime_type: Optional[str] = Field(None)
|
||||
size: Optional[int] = Field(None)
|
||||
local_path: Optional[str] = Field(None)
|
||||
status: Optional[str] = Field(None)
|
||||
|
||||
# 用户本轮输入
|
||||
text: str = Field(..., min_length=1)
|
||||
text: str = Field(default="")
|
||||
# 前端会话标识,相同标识复用同一段 Agent 记忆
|
||||
session_id: Optional[str] = Field(None)
|
||||
# 图片 URL 或 data URL 列表
|
||||
@@ -277,6 +279,17 @@ class AgentWebChatRequest(BaseModel):
|
||||
files: Optional[List[AgentWebChatFile]] = Field(default_factory=list)
|
||||
|
||||
|
||||
class AgentWebChoiceRequest(BaseModel):
|
||||
"""
|
||||
Web 智能助手按钮选择请求。
|
||||
"""
|
||||
|
||||
# 前端会话标识,用于保持与原对话窗口的关联
|
||||
session_id: Optional[str] = Field(None)
|
||||
# Agent 工具生成的按钮回调数据
|
||||
callback_data: str = Field(..., min_length=1)
|
||||
|
||||
|
||||
class ChannelCapability(Enum):
|
||||
"""
|
||||
渠道能力枚举
|
||||
@@ -474,6 +487,8 @@ class ChannelCapabilityManager:
|
||||
MessageChannel.WebAgent: ChannelCapabilities(
|
||||
channel=MessageChannel.WebAgent,
|
||||
capabilities={
|
||||
ChannelCapability.INLINE_BUTTONS,
|
||||
ChannelCapability.CALLBACK_QUERIES,
|
||||
ChannelCapability.MESSAGE_EDITING,
|
||||
ChannelCapability.MARKDOWN,
|
||||
ChannelCapability.RICH_TEXT,
|
||||
|
||||
Reference in New Issue
Block a user