Files
company-ai-platform/app/modules/ai_memory/schemas.py
JiuContinent 9cf7c44393 ```
feat: 添加生命周期报告和AI规则管理功能

- 在Dockerfile中添加pillow依赖包用于图像处理
- 实现生命周期报告调度任务,支持日报和周报两种类型
- 新增TASK_RUN_LIFECYCLE任务常量和相关配置选项
- 扩展AI Agent服务以支持用户规则,并在分析时应用规则
- 添加AI用户规则创建、更新和查询接口
- 增加项目生命周期和财务需求分析技能
- 扩展现有模型以支持更完整的业务数据字段
- 实现飞书图片上传功能用于报告展示
```
2026-07-12 17:44:49 +08:00

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