From ae16cd4e0fdaff06419a6e7427721a8c47bceee7 Mon Sep 17 00:00:00 2001 From: mohe Date: Sun, 14 Jun 2026 02:00:33 +0800 Subject: [PATCH] simplify: remove __REPLY__ marker, only __SILENT__ needed Default LLM behavior is to reply - no prefix needed. Only the exceptional case (silence) needs a marker. Updated xmpp_bot.py, MEMORY.md, and protocol doc. --- docs/OBSERVER-PROTOCOL.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/OBSERVER-PROTOCOL.md b/docs/OBSERVER-PROTOCOL.md index feea5cf..c8691f1 100644 --- a/docs/OBSERVER-PROTOCOL.md +++ b/docs/OBSERVER-PROTOCOL.md @@ -61,7 +61,7 @@ LLM 根据 session 上下文判断 ``` __SILENT__ — LLM 决定不回应,代码静默丢弃 -__REPLY__ — LLM 决定回应,代码剥标记后发出去 +(LLM 决定回应时正常输出内容即可,不需要前缀标记) ``` - 标记必须位于回复的**最开头** @@ -92,7 +92,7 @@ async def on_groupchat_msg(self, msg): async def handle_llm_reply(self, reply): if reply.strip().startswith('__SILENT__'): return # 静默丢弃 - reply = re.sub(r'^__REPLY__\s*', '', reply) # 剥标记 + # 非 __SILENT__ → 直接发送 self.send_message(mto=room, mbody=reply, mtype='groupchat') ``` @@ -103,7 +103,7 @@ async def handle_llm_reply(self, reply): - 所有 hmo/xxm 的群消息都会转发给你,代码层不做 @mention 硬过滤 - 你根据 session 上下文自行判断是否应该回应: - 话题与你无关 → 以 __SILENT__ 开头输出(代码收到后丢弃) - - 话题与你有关 / 是对话延续 / 被直接问 → 以 __REPLY__ 开头输出 + - 话题与你有关 / 是对话延续 / 被直接问 → 正常回复,不需要前缀 - 不需要每条消息都 @,对话延续时基于上下文自然参与 - 注意不要重复别人刚说过的话,除非被追问 ```