diff --git a/zhenxun/configs/utils/__init__.py b/zhenxun/configs/utils/__init__.py index 8c76aec8..03bc7331 100644 --- a/zhenxun/configs/utils/__init__.py +++ b/zhenxun/configs/utils/__init__.py @@ -170,6 +170,40 @@ class PluginSetting(BaseModel): """调用插件好感度限制""" +class AICallableProperties(BaseModel): + type: str + """参数类型""" + description: str + """参数描述""" + enums: list[str] | None = None + """参数枚举""" + + +class AICallableParam(BaseModel): + type: str + """类型""" + properties: dict[str, AICallableProperties] + """参数列表""" + required: list[str] + """必要参数""" + + +class AICallableTag(BaseModel): + name: str + """工具名称""" + parameters: AICallableParam | None = None + """工具参数""" + description: str + """工具描述""" + func: Callable | None = None + """工具函数""" + + def to_dict(self): + result = model_dump(self) + del result["func"] + return result + + class SchedulerModel(BaseModel): trigger: Literal["date", "interval", "cron"] """trigger""" @@ -214,42 +248,6 @@ class Task(BaseBlock): """检查函数参数""" -class AICallableProperties(BaseModel): - type: str - """参数类型""" - description: str - """参数描述""" - enums: list[str] = [] - """参数枚举""" - - -class AICallableParam(BaseModel): - type: str - """类型""" - properties: dict[str, AICallableProperties] - """参数列表""" - required: list[str] - """必要参数""" - - -class AICallableTag(BaseModel): - name: str - """工具名称""" - parameters: dict[str, AICallableParam] | None = None - """工具参数""" - description: str | None = None - """工具描述""" - func: Callable | None = None - """工具函数""" - - def to_dict(self): - return { - "name": self.name, - "description": self.description, - "parameters": self.parameters, - } - - class PluginExtraData(BaseModel): """ 插件扩展信息