feat: 添加生命周期报告和AI规则管理功能 - 在Dockerfile中添加pillow依赖包用于图像处理 - 实现生命周期报告调度任务,支持日报和周报两种类型 - 新增TASK_RUN_LIFECYCLE任务常量和相关配置选项 - 扩展AI Agent服务以支持用户规则,并在分析时应用规则 - 添加AI用户规则创建、更新和查询接口 - 增加项目生命周期和财务需求分析技能 - 扩展现有模型以支持更完整的业务数据字段 - 实现飞书图片上传功能用于报告展示 ```
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
from typing import Any
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from app.modules.ai_memory.constants import AIMemoryScope
|
|
|
|
|
|
class AIMemoryRecallRequest(BaseModel):
|
|
query: str = Field(..., min_length=1)
|
|
scope: str = AIMemoryScope.GLOBAL
|
|
subject: str | None = None
|
|
limit: int = Field(default=5, ge=1, le=50)
|
|
|
|
|
|
class AIMemoryRead(BaseModel):
|
|
code: str
|
|
scope: str
|
|
subject: str
|
|
content: str
|
|
summary: str | None
|
|
tags: list[Any] | None
|
|
source: str
|
|
importance: int
|
|
status: str
|
|
actor: str
|
|
last_used_at: str | None
|
|
expires_at: str | None
|
|
created_at: str
|
|
updated_at: str
|
|
|
|
|
|
class AIUserRuleCreate(BaseModel):
|
|
content: str = Field(..., min_length=1, max_length=2000)
|
|
scope: str = AIMemoryScope.GLOBAL
|
|
subject: str = Field(default="company", min_length=1, max_length=128)
|
|
priority: int = Field(default=50, ge=1, le=100)
|
|
tags: list[str] = Field(default_factory=list, max_length=20)
|
|
|
|
|
|
class AIUserRuleUpdate(BaseModel):
|
|
content: str | None = Field(default=None, min_length=1, max_length=2000)
|
|
priority: int | None = Field(default=None, ge=1, le=100)
|
|
tags: list[str] | None = Field(default=None, max_length=20)
|
|
enabled: bool | None = None
|