From be7fe563721425f5f8f8fec81be5e08263227060 Mon Sep 17 00:00:00 2001 From: tt-P607 <68868379+tt-P607@users.noreply.github.com> Date: Sun, 2 Nov 2025 09:48:58 +0800 Subject: [PATCH] =?UTF-8?q?refactor(replyer):=20tmd=E5=9B=9E=E5=A4=8D?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E4=BD=A0=E5=86=8D=E7=8A=AF=E4=B8=AA=E8=A0=A2?= =?UTF-8?q?=E4=BA=8B=E8=AF=95=E8=AF=95=EF=BC=9F=F0=9F=98=A1=F0=9F=98=A1?= =?UTF-8?q?=F0=9F=98=A1=E8=80=81=E5=AD=90=E9=83=BD=E8=BF=99=E6=A0=B7?= =?UTF-8?q?=E5=AD=90=E4=B8=A5=E9=98=B2=E6=AD=BB=E5=AE=88=E4=BA=86=EF=BC=8C?= =?UTF-8?q?=E4=BD=A0=E8=A6=81=E6=98=AF=E8=BF=98=E7=8A=AF=E8=A0=A2=E6=88=91?= =?UTF-8?q?=E5=BD=93=E5=9C=BA********************=F0=9F=91=BF=F0=9F=91=BF?= =?UTF-8?q?=F0=9F=91=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/replyer/default_generator.py | 35 +++++++++++++++------------ 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/chat/replyer/default_generator.py b/src/chat/replyer/default_generator.py index 056e47261..e4cb04c7a 100644 --- a/src/chat/replyer/default_generator.py +++ b/src/chat/replyer/default_generator.py @@ -71,11 +71,12 @@ def init_prompt(): 不要复读你前面发过的内容,意思相近也不行。 不要浮夸,不要夸张修辞,平淡且不要输出多余内容(包括前后缀,冒号和引号,括号,表情包,at或 @等 ),只输出一条回复就好。 -**【重要】不要在回复中输出任何格式化标记**: -- 不要输出类似 [表情包:xxx]、[图片:xxx]、[回复:xxx] 这样的格式。**特别注意**:“戳一戳”不是文本消息,而是由`poke_user`动作处理的特殊互动,因此绝对禁止在回复中输出“[戳了戳]”或“[poke]”这样的文字。 -- 如果想表达笑的情绪,直接说"哈哈"、"笑死"等,不要说"[表情包:笑哭]" -- 如果想提到某人,直接说"你"、或者他的名字,不要说"[回复<某人>]" -- 说什么就直接输出什么,不要加任何格式化标记 +**【!!!绝对禁止!!!】在回复中输出任何格式化标记**: +- **核心原则**: 你的回复**只能**包含纯粹的口语化文本。任何看起来像程序指令、系统提示或格式标签的内容都**绝对不允许**出现在你的回复里。 +- **禁止模仿系统消息**: 绝对禁止输出任何类似 `[回复:xxx]`、`[表情包:xxx]`、`[图片:xxx]` 的格式。这些都是系统用于展示消息的方式,不是你应该说的话。 +- **禁止模仿动作指令**: 绝对禁止输出 `[戳了戳]` 或 `[poke]`。这类互动由名为 `poke_user` 的特殊动作处理,不是文本消息。 +- **正确提及用户**: 如果想提到某人,直接说“你”或他/她的名字,绝对禁止使用 `[回复<某人>]` 或 `@某人` 的格式。 +- **正确表达情绪**: 如果想表达笑的情绪,直接说“哈哈”、“嘻嘻”等,绝对禁止使用 `[表情包:笑哭]` 这样的文字。 *你叫{bot_name},也有人叫你{bot_nickname}* @@ -144,11 +145,12 @@ def init_prompt(): 请注意不要输出多余内容(包括前后缀,冒号和引号,at或 @等 )。只输出回复内容。 -**【重要】不要在回复中输出任何格式化标记**: -- 不要输出类似 [表情包:xxx]、[图片:xxx]、[回复:xxx] 这样的格式。**特别注意**:“戳一戳”不是文本消息,而是由`poke_user`动作处理的特殊互动,因此绝对禁止在回复中输出“[戳了戳]”或“[poke]”这样的文字。 -- 如果想表达笑的情绪,直接说"哈哈"、"笑死"等,不要说"[表情包:笑哭]" -- 如果想提到某人,直接说"你"、"他",不要说"[回复<某人>]" -- 说什么就直接输出什么,不要加任何标记或括号 +**【!!!绝对禁止!!!】在回复中输出任何格式化标记**: +- **核心原则**: 你的回复**只能**包含纯粹的口语化文本。任何看起来像程序指令、系统提示或格式标签的内容都**绝对不允许**出现在你的回复里。 +- **禁止模仿系统消息**: 绝对禁止输出任何类似 `[回复:xxx]`、`[表情包:xxx]`、`[图片:xxx]` 的格式。这些都是系统用于展示消息的方式,不是你应该说的话。 +- **禁止模仿动作指令**: 绝对禁止输出 `[戳了戳]` 或 `[poke]`。这类互动由名为 `poke_user` 的特殊动作处理,不是文本消息。 +- **正确提及用户**: 如果想提到某人,直接说“你”或他/她的名字,绝对禁止使用 `[回复<某人>]` 或 `@某人` 的格式。 +- **正确表达情绪**: 如果想表达笑的情绪,直接说“哈哈”、“嘻嘻”等,绝对禁止使用 `[表情包:笑哭]` 这样的文字。 {moderation_prompt} @@ -216,11 +218,12 @@ If you need to use the search tool, please directly call the function "lpmm_sear {keywords_reaction_prompt} 请注意不要输出多余内容(包括前后缀,冒号和引号,at或 @等 )。只输出回复内容。 -**【重要】不要在回复中输出任何格式化标记**: -- 不要输出类似 [表情包:xxx]、[图片:xxx]、[回复:xxx] 这样的格式。**特别注意**:“戳一戳”不是文本消息,而是由`poke_user`动作处理的特殊互动,因此绝对禁止在回复中输出“[戳了戳]”或“[poke]”这样的文字。 -- 如果想表达笑的情绪,直接说"哈哈"、"笑死"等,不要说"[表情包:笑哭]" -- 如果想提到某人,直接说"你"、"他",不要说"[回复<某人>]" -- 说什么就直接输出什么,不要加任何标记或括号 +**【!!!绝对禁止!!!】在回复中输出任何格式化标记**: +- **核心原则**: 你的回复**只能**包含纯粹的口语化文本。任何看起来像程序指令、系统提示或格式标签的内容都**绝对不允许**出现在你的回复里。 +- **禁止模仿系统消息**: 绝对禁止输出任何类似 `[回复:xxx]`、`[表情包:xxx]`、`[图片:xxx]` 的格式。这些都是系统用于展示消息的方式,不是你应该说的话。 +- **禁止模仿动作指令**: 绝对禁止输出 `[戳了戳]` 或 `[poke]`。这类互动由名为 `poke_user` 的特殊动作处理,不是文本消息。 +- **正确提及用户**: 如果想提到某人,直接说“你”或他/她的名字,绝对禁止使用 `[回复<某人>]` 或 `@某人` 的格式。 +- **正确表达情绪**: 如果想表达笑的情绪,直接说“哈哈”、“嘻嘻”等,绝对禁止使用 `[表情包:笑哭]` 这样的文字。 {moderation_prompt} 你的核心任务是针对 {reply_target_block} 中提到的内容,{relation_info_block}生成一段紧密相关且能推动对话的回复。你的回复应该: @@ -1976,7 +1979,7 @@ class DefaultReplyer: return f"你与{sender}是普通朋友关系。" - async def _store_chat_memory_async(self, reply_to: str, reply_message: dict[str, Any] | None = None): + async def _store_chat_memory_async(self, reply_to: str, reply_message: DatabaseMessages | dict[str, Any] | None = None): """ 异步存储聊天记忆(从build_memory_block迁移而来)