fix: group_ambient模式区分管理员和非管理员审查提示
管理员在群里说话不@bot时,group_ambient审查提示不应限制其工具使用权限。 现在管理员走「群聊审查模式-管理员」提示,允许正常使用工具; 普通群友仍然走严格审查,防止随意插话。 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1115,13 +1115,13 @@ func handleChat(
|
||||
if thinker != nil {
|
||||
thinker.RecordUserMessage(req.SessionID)
|
||||
}
|
||||
// 在消息前加审查指令,让 LLM 自己判断是否插话。
|
||||
// 关键规则:
|
||||
// 1. 绝大多数群聊消息不需要你回复。只有话题直接涉及你、有人@你、或你真有特别相关的信息时才开口。
|
||||
// 2. 如果有人说"别说话""闭嘴""先别说""别让ta说"之类让你安静的话,必须立刻闭嘴,后续几条消息都不要回复。
|
||||
// 3. 不想说话时不要发消息。不要为了刷存在感而发言。
|
||||
// 4. 每轮最多说 1-2 句话,不要长篇大论。
|
||||
// 管理员消息 vs 普通群友消息使用不同的审查提示。
|
||||
// 管理员在群里说话(不@bot)也走 group_ambient,但不应限制其使用工具的权限。
|
||||
if req.IsAdmin {
|
||||
req.Message = "【群聊审查模式-管理员】以下是群聊里的一条消息,发送者是开拓者本人(管理员)。\n你可以正常回应他的指令和请求,包括使用各种工具。但如果他只是闲聊或对别人说话,你可以保持安静。\n每次回复最多1-2句话。如果你觉得不该说话,在消息开头写 【不发送】。\n\n" + message
|
||||
} else {
|
||||
req.Message = "【群聊审查模式】以下是群聊里的一条消息。绝大多数群聊消息你不需要回复。只有以下情况才开口:(1)有人直接@你或叫你名字 (2)话题与你高度相关 (3)你有重要信息补充。如果有人让你闭嘴/别说话,必须严格遵守。每次回复最多1-2句话。如果你被唤醒了但觉得不该说话,在消息开头写 【不发送】——这条消息就不会被发出去,只在你心里想过。\n\n" + message
|
||||
}
|
||||
req.Mode = "text"
|
||||
}
|
||||
if req.Mode == "platform_silent" {
|
||||
|
||||
Reference in New Issue
Block a user