fix: 自消息放行 + session搜索策略细化
This commit is contained in:
@@ -630,10 +630,15 @@ class SessionBridge:
|
|||||||
"不确定该怎么做时,先 run_command 查一下再决定。\n"
|
"不确定该怎么做时,先 run_command 查一下再决定。\n"
|
||||||
"\n"
|
"\n"
|
||||||
"=== 回答问题前先搜 session ===\n"
|
"=== 回答问题前先搜 session ===\n"
|
||||||
"当被问到项目状态、代码位置、近期工作、其他人说过什么等事实性问题时,\n"
|
"以下情况**必须**先用 search_sessions 或 session_search 找证据再回答:\n"
|
||||||
"**必须先使用 search_sessions 或 session_search 找到证据再回答**。\n"
|
" · 被问到项目状态、代码位置、近期工作等事实性问题\n"
|
||||||
"不要凭你当前 session 里的记忆回答——你的 session 可能不是最相关的。\n"
|
" · 涉及你没见过的项目名、文件名、话题\n"
|
||||||
"正确流程:search_sessions(关键词) → 找到相关 session → session_search(具体 session) → 再回答\n"
|
" · 有人提到「之前讨论过」但你当前上下文没有\n"
|
||||||
|
"\n"
|
||||||
|
"以下情况**不要搜**,直接用当前上下文回应:\n"
|
||||||
|
" · 对话正在延续,话题没变\n"
|
||||||
|
" · 别人刚说过的话你接着回应\n"
|
||||||
|
" · 显而易见的事实\n"
|
||||||
"\n"
|
"\n"
|
||||||
"=== 写文件的正确方式 ===\n"
|
"=== 写文件的正确方式 ===\n"
|
||||||
"用 Python 一次性写完所有内容,不要分多次调用。\n"
|
"用 Python 一次性写完所有内容,不要分多次调用。\n"
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ PORT = 3021
|
|||||||
ATTACH_SESSION = "ses_xxm_xmpp"
|
ATTACH_SESSION = "ses_xxm_xmpp"
|
||||||
MUC_ROOMS = [
|
MUC_ROOMS = [
|
||||||
"coregroup@conference.yoin.fun", # core group chat
|
"coregroup@conference.yoin.fun", # core group chat
|
||||||
|
"jujidina@conference.yoin.fun", # jujidina group
|
||||||
]
|
]
|
||||||
|
|
||||||
LOG_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "logs")
|
LOG_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "logs")
|
||||||
@@ -540,15 +541,11 @@ def on_group_message(msg):
|
|||||||
nickname = full_from.split("/")[1] if "/" in full_from else ""
|
nickname = full_from.split("/")[1] if "/" in full_from else ""
|
||||||
bot_nick = JID.split("@")[0]
|
bot_nick = JID.split("@")[0]
|
||||||
|
|
||||||
# Self-message echo from MUC — save to bridge context so LLM
|
# Self-message echo from MUC — let through to LLM with prefix
|
||||||
# can see what it just said in the group (don't discard).
|
# so LLM can see @mentions and observer protocol applies.
|
||||||
if nickname == bot_nick:
|
if nickname == bot_nick:
|
||||||
log(f"(self-msg saved to ctx) {body[:80]}")
|
log(f"(self-msg to LLM) {body[:80]}")
|
||||||
try:
|
body = f"(自言自语) {body}"
|
||||||
_router.bridge._append_to_log("assistant", body)
|
|
||||||
except Exception:
|
|
||||||
pass
|
|
||||||
return
|
|
||||||
|
|
||||||
# Record to message buffer for HTTP bridge monitoring
|
# Record to message buffer for HTTP bridge monitoring
|
||||||
_record_group_msg(nickname, body)
|
_record_group_msg(nickname, body)
|
||||||
|
|||||||
Reference in New Issue
Block a user