feat(reminder): 增强提醒功能,可将“我”识别为目标用户

通过向LLM提示词中传递消息发送者昵称,系统现在能够正确解析包含第一人称代词(如“我”)的提醒任务。这解决了之前无法为用户设置“提醒我”这类个人提醒的问题,使其交互更加自然。

此外,还优化了`@user`插件中生成提醒内容的提示词,明确指示LLM不要在回复中包含`@`或用户名,以避免系统自动@后出现重复的用户名,提升了提醒消息的质量。
This commit is contained in:
tt-P607
2025-09-10 17:10:24 +08:00
committed by Windpicker-owo
parent 96455526b4
commit ff35586f84
3 changed files with 21 additions and 9 deletions

View File

@@ -131,7 +131,13 @@ class AtAction(BaseAction):
reminder_task = at_message.replace("定时提醒:", "").strip()
extra_info = f"""你之前记下了一个提醒任务:'{reminder_task}'
现在时间到了,你需要去提醒用户 '{user_name}'
请像一个朋友一样,自然地完成这个提醒,而不是生硬地复述任务。"""
**重要规则**
- 你的任务**只**是生成提醒的**内容**。
- **绝对不要**在你的回复中包含任何`@`符号或者目标用户的名字。真正的@操作会由系统自动完成。
- 像一个朋友一样,自然地完成这个提醒,而不是生硬地复述任务。
请直接输出提醒的**内容**。"""
success, llm_response, _ = await replyer.generate_reply_with_context(
reply_to=f"是时候提醒'{user_name}'", # 内部上下文,更符合执行任务的语境