feat(monthly_plan): 增强月度计划系统,引入状态管理和智能抽取
对月度计划系统进行了全面的重构和功能增强,以提供更智能、更可持续的计划管理体验。 主要变更包括: - **引入状态生命周期**: 废弃了原有的 `is_deleted` 软删除标记,引入了更明确的 `status` 字段 (`active`, `completed`, `archived`),用于管理计划的整个生命周期。 - **增加使用统计与自动完成**: 新增 `usage_count` 和 `last_used_date` 字段来跟踪计划的使用情况。当计划使用次数达到可配置的阈值后,会自动标记为 `completed`。 - **实现智能计划抽取**: 为每日日程生成实现了新的智能抽取算法。该算法会优先选择使用次数较少且近期未被使用的计划,以增加计划的多样性并避免重复。 - **更新配置选项**: 移除了旧的概率删除相关配置,增加了 `completion_threshold`、`avoid_repetition_days` 等新选项以支持新逻辑。 - **数据库模型更新**: 更新了 `MonthlyPlan` 的数据库模型和索引,以支持新功能并优化查询性能。保留 `is_deleted` 字段以兼容旧数据。
This commit is contained in:
@@ -680,13 +680,13 @@ class WakeUpSystemConfig(ValidatedConfigBase):
|
||||
|
||||
|
||||
class MonthlyPlanSystemConfig(ValidatedConfigBase):
|
||||
"""月层计划系统配置类"""
|
||||
"""月度计划系统配置类"""
|
||||
|
||||
enable: bool = Field(default=True, description="是否启用本功能")
|
||||
generation_threshold: int = Field(default=10, ge=0, description="启动时,如果当月计划少于此数量,则触发LLM生成")
|
||||
plans_per_generation: int = Field(default=5, ge=1, description="每次调用LLM期望生成的计划数量")
|
||||
deletion_probability_on_use: float = Field(default=0.5, ge=0.0, le=1.0, description="计划被使用后,被删除的概率")
|
||||
max_plans_per_month: int = Field(default=20, ge=1, description="每个月允许存在的最大计划数量")
|
||||
completion_threshold: int = Field(default=3, ge=1, description="计划使用多少次后自动标记为已完成")
|
||||
avoid_repetition_days: int = Field(default=7, ge=1, description="多少天内不重复抽取同一个计划")
|
||||
guidelines: Optional[str] = Field(default=None, description="月度计划生成的指导原则")
|
||||
|
||||
|
||||
class ContextGroup(ValidatedConfigBase):
|
||||
|
||||
Reference in New Issue
Block a user