feat(plan): 为月度计划添加软删除并优化状态提示词
为 `MonthlyPlan` 数据库模型增加 `is_deleted` 字段,以支持软删除功能,避免数据直接丢失。 同时,统一并优化了注入到AI上下文中的当前日程活动提示词,指导模型仅在被直接询问时才提及自身状态,使对话更加自然流畅。
This commit is contained in:
@@ -1506,15 +1506,15 @@ class DefaultReplyer:
|
|||||||
f"计划时间从{start_time.strftime('%H:%M')}到{end_time.strftime('%H:%M')}。"
|
f"计划时间从{start_time.strftime('%H:%M')}到{end_time.strftime('%H:%M')}。"
|
||||||
f"这项活动已经开始了{duration_minutes:.0f}分钟,"
|
f"这项活动已经开始了{duration_minutes:.0f}分钟,"
|
||||||
f"预计还有{remaining_minutes:.0f}分钟结束。"
|
f"预计还有{remaining_minutes:.0f}分钟结束。"
|
||||||
"(日程只是提醒,你可以根据聊天内容灵活安排时间)"
|
"(此为你的当前状态,仅供参考。除非被直接询问,否则不要在对话中主动提及。)"
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
schedule_block = f"你当前正在:{activity}。"
|
schedule_block = f'你当前正在进行“{activity}”。(此为你的当前状态,仅供参考。除非被直接询问,否则不要在对话中主动提及。)'
|
||||||
|
|
||||||
except (ValueError, AttributeError):
|
except (ValueError, AttributeError):
|
||||||
schedule_block = f"你当前正在:{activity}。"
|
schedule_block = f'你当前正在进行“{activity}”。(此为你的当前状态,仅供参考。除非被直接询问,否则不要在对话中主动提及。)'
|
||||||
else:
|
else:
|
||||||
schedule_block = f"你当前正在:{activity}。"
|
schedule_block = f'你当前正在进行“{activity}”。(此为你的当前状态,仅供参考。除非被直接询问,否则不要在对话中主动提及。)'
|
||||||
|
|
||||||
moderation_prompt_block = (
|
moderation_prompt_block = (
|
||||||
"请不要输出违法违规内容,不要输出色情,暴力,政治相关内容,如有敏感内容,请规避。"
|
"请不要输出违法违规内容,不要输出色情,暴力,政治相关内容,如有敏感内容,请规避。"
|
||||||
|
|||||||
@@ -654,6 +654,7 @@ class MonthlyPlan(Base):
|
|||||||
usage_count: Mapped[int] = mapped_column(Integer, nullable=False, default=0)
|
usage_count: Mapped[int] = mapped_column(Integer, nullable=False, default=0)
|
||||||
last_used_date: Mapped[str | None] = mapped_column(String(10), nullable=True, index=True)
|
last_used_date: Mapped[str | None] = mapped_column(String(10), nullable=True, index=True)
|
||||||
created_at: Mapped[datetime.datetime] = mapped_column(DateTime, nullable=False, default=datetime.datetime.now)
|
created_at: Mapped[datetime.datetime] = mapped_column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
|
is_deleted: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False, index=True)
|
||||||
|
|
||||||
__table_args__ = (
|
__table_args__ = (
|
||||||
Index("idx_monthlyplan_target_month_status", "target_month", "status"),
|
Index("idx_monthlyplan_target_month_status", "target_month", "status"),
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ class ChatterPlanFilter:
|
|||||||
if global_config.planning_system.schedule_enable:
|
if global_config.planning_system.schedule_enable:
|
||||||
if activity_info := schedule_manager.get_current_activity():
|
if activity_info := schedule_manager.get_current_activity():
|
||||||
activity = activity_info.get("activity", "未知活动")
|
activity = activity_info.get("activity", "未知活动")
|
||||||
schedule_block = f"你当前正在:{activity},但注意它与群聊的聊天无关。"
|
schedule_block = f'你当前正在进行“{activity}”。(此为你的当前状态,仅供参考。除非被直接询问,否则不要在对话中主动提及。)'
|
||||||
|
|
||||||
mood_block = ""
|
mood_block = ""
|
||||||
# 需要情绪模块打开才能获得情绪,否则会引发报错
|
# 需要情绪模块打开才能获得情绪,否则会引发报错
|
||||||
|
|||||||
Reference in New Issue
Block a user