lead= switch, @mention auto-grant
This commit is contained in:
+15
-9
@@ -143,14 +143,19 @@ class AgentBot(ClientXMPP):
|
|||||||
|
|
||||||
# Coordinator 模式 — 全走 XMPP 消息
|
# Coordinator 模式 — 全走 XMPP 消息
|
||||||
|
|
||||||
# 1. hmo 切换 coordinator
|
# 1. hmo 切换 coordinator(lead=xxx)
|
||||||
if nickname == 'hmo' and 'coordinator=' in body.lower():
|
if nickname == 'hmo':
|
||||||
for _name in ['mohe', 'zhiwei', 'xxm']:
|
if 'lead=' in body.lower():
|
||||||
if f'coordinator={_name}' in body.lower():
|
for _name in ['mohe', 'zhiwei', 'xxm']:
|
||||||
self._coordinator = _name
|
if f'lead={_name}' in body.lower():
|
||||||
self._granted = None
|
self._coordinator = _name
|
||||||
logging.info(f"👑 Coordinator 切换为 {_name}")
|
self._granted = None
|
||||||
break
|
logging.info(f"👑 Coordinator 切换为 {_name}")
|
||||||
|
break
|
||||||
|
# hmo 直接 @点名 → 临时授权(一次)
|
||||||
|
elif any(tag in body for tag in [f'@{AGENT_NICK}', f'@{AGENT_NAME}']):
|
||||||
|
self._granted = AGENT_NICK
|
||||||
|
logging.info(f"🎤 被 hmo 点名,获得发言权")
|
||||||
|
|
||||||
# 2. 检测授权信号(优先于收回,GRANT 可以覆盖 REVOKE)
|
# 2. 检测授权信号(优先于收回,GRANT 可以覆盖 REVOKE)
|
||||||
_grant_match = re.search(r'\[GRANT:(\w+)\]', body)
|
_grant_match = re.search(r'\[GRANT:(\w+)\]', body)
|
||||||
@@ -210,9 +215,10 @@ class AgentBot(ClientXMPP):
|
|||||||
"3. 别人说错了关键事实,不纠正会有后果\n"
|
"3. 别人说错了关键事实,不纠正会有后果\n"
|
||||||
"如果以上都不符合,你的回复必须只包含 __SILENT__ 这10个字符,"
|
"如果以上都不符合,你的回复必须只包含 __SILENT__ 这10个字符,"
|
||||||
"不要有任何其他内容(不要前缀、不要解释、不要标点、不要空格)。\n\n"
|
"不要有任何其他内容(不要前缀、不要解释、不要标点、不要空格)。\n\n"
|
||||||
"注意:你是协调者(coordinator)。你的第一职责是管理讨论节奏,不是自己说话。\n"
|
"注意:你是协调者(lead)。你的第一职责是管理讨论节奏,不是自己说话。\n"
|
||||||
"- 别人能回答的问题,不抢答。\n"
|
"- 别人能回答的问题,不抢答。\n"
|
||||||
"- 如果其他 Agent 更合适,用 [GRANT:agent名] 授权他们发言(例如 [GRANT:zhiwei])。\n"
|
"- 如果其他 Agent 更合适,用 [GRANT:agent名] 授权他们发言(例如 [GRANT:zhiwei])。\n"
|
||||||
|
"- hmo 直接 @点名某人 也会自动授权。\n"
|
||||||
"- 如果有人跑题/刷屏,用 [REVOKE:agent名] 收回发言权(例如 [REVOKE:zhiwei])。\n"
|
"- 如果有人跑题/刷屏,用 [REVOKE:agent名] 收回发言权(例如 [REVOKE:zhiwei])。\n"
|
||||||
"- [GRANT] 可以覆盖 [REVOKE]。标记会显示在消息中。\n\n"
|
"- [GRANT] 可以覆盖 [REVOKE]。标记会显示在消息中。\n\n"
|
||||||
f"[核心群 {room}] {nickname} 说: {body}"
|
f"[核心群 {room}] {nickname} 说: {body}"
|
||||||
|
|||||||
Reference in New Issue
Block a user