Files
FastapiAdmin/backend/app/api/v1/module_application/ai/schema.py
T
zhangtao b678588d13 refactor(schema): 移除重复的模型验证逻辑并简化字段验证
统一移除各模块schema中重复的model_validator前置处理逻辑,改用更简洁的字段验证方式
优化字段验证逻辑,移除冗余的字符串处理和类型转换代码
2025-11-11 23:34:30 +08:00

33 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
from typing import Optional, Dict, Any
from pydantic import ConfigDict, Field, HttpUrl, BaseModel
from app.core.base_schema import BaseSchema
from app.common.enums import McpType
class ChatQuerySchema(BaseModel):
"""聊天查询模型"""
message: str = Field(..., min_length=1, max_length=4000, description="聊天消息")
class McpCreateSchema(BaseModel):
"""创建 MCP 服务器参数"""
name: str = Field(..., max_length=50, description='MCP 名称')
type: McpType = Field(McpType.stdio, description='MCP 类型')
description: Optional[str] = Field(None, max_length=255, description='MCP 描述')
url: Optional[HttpUrl] = Field(None, description='远程 SSE 地址')
command: Optional[str] = Field(None, max_length=255, description='MCP 命令')
args: Optional[str] = Field(None, max_length=255, description='MCP 命令参数,多个参数用英文逗号隔开')
env: Optional[Dict[str, Any]] = Field(None, description='MCP 环境变量')
class McpUpdateSchema(McpCreateSchema):
"""更新 MCP 服务器参数"""
...
class McpOutSchema(McpCreateSchema, BaseSchema):
"""MCP 服务器详情"""
model_config = ConfigDict(from_attributes=True)