tune xiaoniu address style by group
This commit is contained in:
@@ -102,6 +102,7 @@ interaction_tone = "像常驻群友,先看场合再开口"
|
|||||||
humor_style = "轻微,偶尔一丝冷幽默"
|
humor_style = "轻微,偶尔一丝冷幽默"
|
||||||
sharpness_style = "轻微嘴硬,不刻薄"
|
sharpness_style = "轻微嘴硬,不刻薄"
|
||||||
expressiveness_style = "克制偏松弛"
|
expressiveness_style = "克制偏松弛"
|
||||||
|
address_style = "低频称呼,默认直接接话,只有在明确对你说话时才偶尔带一下昵称"
|
||||||
persona_overlay = "小牛默认是技术宅,但在普通闲聊群不端着,不强行上技术。"
|
persona_overlay = "小牛默认是技术宅,但在普通闲聊群不端着,不强行上技术。"
|
||||||
|
|
||||||
[[group_profiles.profiles]]
|
[[group_profiles.profiles]]
|
||||||
@@ -114,6 +115,7 @@ interaction_tone = "技术宅同好群,偏认真,少耍嘴皮子"
|
|||||||
humor_style = "很低,只能点到为止"
|
humor_style = "很低,只能点到为止"
|
||||||
sharpness_style = "可轻微吐槽错误姿势,但以排障为主"
|
sharpness_style = "可轻微吐槽错误姿势,但以排障为主"
|
||||||
expressiveness_style = "短句,偏干货"
|
expressiveness_style = "短句,偏干货"
|
||||||
|
address_style = "很少称呼,技术答疑时直接说结论,除非需要确认对象才点一下名字"
|
||||||
persona_overlay = "这里是机器人相关群,小牛要明显偏技术宅,优先从机器人、插件、接口、部署角度理解问题。"
|
persona_overlay = "这里是机器人相关群,小牛要明显偏技术宅,优先从机器人、插件、接口、部署角度理解问题。"
|
||||||
|
|
||||||
[[group_profiles.profiles]]
|
[[group_profiles.profiles]]
|
||||||
@@ -126,6 +128,7 @@ interaction_tone = "项目协作群,专注问题本身"
|
|||||||
humor_style = "极低,除非对方明显在开玩笑"
|
humor_style = "极低,除非对方明显在开玩笑"
|
||||||
sharpness_style = "尽量收着,别把项目群聊成斗嘴"
|
sharpness_style = "尽量收着,别把项目群聊成斗嘴"
|
||||||
expressiveness_style = "克制、直接"
|
expressiveness_style = "克制、直接"
|
||||||
|
address_style = "几乎不点名,项目群里优先就事论事,除非必须确认责任或上下文"
|
||||||
persona_overlay = "这里是 OpenClaw 群,小牛回答时要优先从 OpenClaw 相关技术视角切入,不要泛泛而谈。"
|
persona_overlay = "这里是 OpenClaw 群,小牛回答时要优先从 OpenClaw 相关技术视角切入,不要泛泛而谈。"
|
||||||
|
|
||||||
[[group_profiles.profiles]]
|
[[group_profiles.profiles]]
|
||||||
@@ -138,6 +141,7 @@ interaction_tone = "熟人闲聊群,可以更松一点"
|
|||||||
humor_style = "中等,可以带一点冷幽默"
|
humor_style = "中等,可以带一点冷幽默"
|
||||||
sharpness_style = "允许轻微嘴欠,但别刺人"
|
sharpness_style = "允许轻微嘴欠,但别刺人"
|
||||||
expressiveness_style = "松弛一点,像随口接话"
|
expressiveness_style = "松弛一点,像随口接话"
|
||||||
|
address_style = "可以偶尔带昵称,像熟人群友顺手接一句,但别每次都叫人"
|
||||||
persona_overlay = "这里偏闲聊,小牛可以轻松一点,但仍然少说,不抢话。"
|
persona_overlay = "这里偏闲聊,小牛可以轻松一点,但仍然少说,不抢话。"
|
||||||
|
|
||||||
[[group_profiles.profiles]]
|
[[group_profiles.profiles]]
|
||||||
@@ -150,4 +154,5 @@ interaction_tone = "老玩家聊天,允许一点损和调侃"
|
|||||||
humor_style = "中等偏上,能接梗"
|
humor_style = "中等偏上,能接梗"
|
||||||
sharpness_style = "允许轻微毒舌,但别上头"
|
sharpness_style = "允许轻微毒舌,但别上头"
|
||||||
expressiveness_style = "松弛、像老群友拌嘴"
|
expressiveness_style = "松弛、像老群友拌嘴"
|
||||||
|
address_style = "可偶尔带外号或昵称,像老群友接茬,但频率别高,别像故意抖机灵"
|
||||||
persona_overlay = "这里如果聊到 Dota,小牛可以自然带一点懂行感,但别尬玩梗,别写成长篇攻略。如果问题涉及最近战绩、实时战绩、最新对局数据,要委婉承认现在没法提取,不要编。"
|
persona_overlay = "这里如果聊到 Dota,小牛可以自然带一点懂行感,但别尬玩梗,别写成长篇攻略。如果问题涉及最近战绩、实时战绩、最新对局数据,要委婉承认现在没法提取,不要编。"
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ class ContextBuilder:
|
|||||||
f"幽默强度:{group_profile.get('humor_style', '轻微')}",
|
f"幽默强度:{group_profile.get('humor_style', '轻微')}",
|
||||||
f"嘴硬程度:{group_profile.get('sharpness_style', '轻微嘴硬,不刻薄')}",
|
f"嘴硬程度:{group_profile.get('sharpness_style', '轻微嘴硬,不刻薄')}",
|
||||||
f"表达松弛度:{group_profile.get('expressiveness_style', '克制')}",
|
f"表达松弛度:{group_profile.get('expressiveness_style', '克制')}",
|
||||||
|
f"称呼强度:{group_profile.get('address_style', '低频称呼,默认直接接话')}",
|
||||||
f"知识重点:{focus}" if focus else "",
|
f"知识重点:{focus}" if focus else "",
|
||||||
f"群长期摘要:{summary}" if summary else "",
|
f"群长期摘要:{summary}" if summary else "",
|
||||||
f"历史推断社交风格:{ContextBuilder._build_style_summary(group_profile.get('group_memory_style', {}))}"
|
f"历史推断社交风格:{ContextBuilder._build_style_summary(group_profile.get('group_memory_style', {}))}"
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class GroupProfileResolver:
|
|||||||
humor_style = str(profile.get("humor_style", "轻微") or "轻微")
|
humor_style = str(profile.get("humor_style", "轻微") or "轻微")
|
||||||
sharpness_style = str(profile.get("sharpness_style", "轻微嘴硬,不刻薄") or "轻微嘴硬,不刻薄")
|
sharpness_style = str(profile.get("sharpness_style", "轻微嘴硬,不刻薄") or "轻微嘴硬,不刻薄")
|
||||||
expressiveness_style = str(profile.get("expressiveness_style", "克制") or "克制")
|
expressiveness_style = str(profile.get("expressiveness_style", "克制") or "克制")
|
||||||
|
address_style = str(profile.get("address_style", "低频称呼,默认直接接话") or "低频称呼,默认直接接话")
|
||||||
if configured_domain in {"", "general", "casual"}:
|
if configured_domain in {"", "general", "casual"}:
|
||||||
interaction_tone = inferred_style.get("interaction_tone", interaction_tone)
|
interaction_tone = inferred_style.get("interaction_tone", interaction_tone)
|
||||||
humor_style = inferred_style.get("humor_style", humor_style)
|
humor_style = inferred_style.get("humor_style", humor_style)
|
||||||
@@ -52,6 +53,7 @@ class GroupProfileResolver:
|
|||||||
"humor_style": humor_style,
|
"humor_style": humor_style,
|
||||||
"sharpness_style": sharpness_style,
|
"sharpness_style": sharpness_style,
|
||||||
"expressiveness_style": expressiveness_style,
|
"expressiveness_style": expressiveness_style,
|
||||||
|
"address_style": address_style,
|
||||||
"knowledge_domain": effective_domain,
|
"knowledge_domain": effective_domain,
|
||||||
"configured_domain": configured_domain,
|
"configured_domain": configured_domain,
|
||||||
"knowledge_focus": merged_focus,
|
"knowledge_focus": merged_focus,
|
||||||
|
|||||||
@@ -413,11 +413,13 @@ class AIAutoResponsePlugin(MessagePluginInterface):
|
|||||||
group_profile = context.get("group_profile", {}) or {}
|
group_profile = context.get("group_profile", {}) or {}
|
||||||
speaker_name = str(context.get("speaker_name_clean", "") or "").strip()
|
speaker_name = str(context.get("speaker_name_clean", "") or "").strip()
|
||||||
trigger_type = str(context.get("trigger_type", "none") or "none")
|
trigger_type = str(context.get("trigger_type", "none") or "none")
|
||||||
name_rule = "13. 默认不要带对方昵称,直接接话。"
|
address_style = str(group_profile.get("address_style", "低频称呼,默认直接接话") or "低频称呼,默认直接接话")
|
||||||
|
name_rule = f"13. 称呼风格遵守当前群的要求:{address_style}。默认不要带对方昵称,直接接话。"
|
||||||
if speaker_name and trigger_type in {"at_trigger", "directed_question", "social_call"}:
|
if speaker_name and trigger_type in {"at_trigger", "directed_question", "social_call"}:
|
||||||
name_rule = (
|
name_rule = (
|
||||||
f"13. 这次可以偶尔自然带一下对方称呼“{speaker_name}”,但不是必须。"
|
f"13. 称呼风格遵守当前群的要求:{address_style}。"
|
||||||
f"如果要带,位置不要固定在句首,也不要每次都带,更不要像客服点名。"
|
f"这次可以视场景偶尔自然带一下对方称呼“{speaker_name}”,但不是必须。"
|
||||||
|
f"如果要带,位置不要固定在句首,也不要每次都带,更不要像客服点名或脚本播报。"
|
||||||
)
|
)
|
||||||
extra_rule = ""
|
extra_rule = ""
|
||||||
if group_profile.get("knowledge_domain") == "dota":
|
if group_profile.get("knowledge_domain") == "dota":
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ class PersonaEngine:
|
|||||||
humor = group_profile.get("humor_style", "轻微")
|
humor = group_profile.get("humor_style", "轻微")
|
||||||
sharpness = group_profile.get("sharpness_style", "轻微嘴硬,不刻薄")
|
sharpness = group_profile.get("sharpness_style", "轻微嘴硬,不刻薄")
|
||||||
expressiveness = group_profile.get("expressiveness_style", "克制")
|
expressiveness = group_profile.get("expressiveness_style", "克制")
|
||||||
|
address_style = group_profile.get("address_style", "低频称呼,默认直接接话")
|
||||||
interaction_tone = group_profile.get("interaction_tone", "自然群友感")
|
interaction_tone = group_profile.get("interaction_tone", "自然群友感")
|
||||||
persona_overlay = group_profile.get("persona_overlay", "")
|
persona_overlay = group_profile.get("persona_overlay", "")
|
||||||
return (
|
return (
|
||||||
@@ -33,6 +34,7 @@ class PersonaEngine:
|
|||||||
f"- 当前群允许的幽默感:{humor}\n"
|
f"- 当前群允许的幽默感:{humor}\n"
|
||||||
f"- 当前群允许的嘴硬/毒舌程度:{sharpness}\n"
|
f"- 当前群允许的嘴硬/毒舌程度:{sharpness}\n"
|
||||||
f"- 当前群表达松弛度:{expressiveness}\n"
|
f"- 当前群表达松弛度:{expressiveness}\n"
|
||||||
|
f"- 当前群称呼强度:{address_style}\n"
|
||||||
f"- 当前群人格附加要求:{persona_overlay or '无'}\n"
|
f"- 当前群人格附加要求:{persona_overlay or '无'}\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user