diff --git a/src/plugins/built_in/social_toolkit_plugin/plugin.py b/src/plugins/built_in/social_toolkit_plugin/plugin.py index 78e20aefb..d7b3fa75c 100644 --- a/src/plugins/built_in/social_toolkit_plugin/plugin.py +++ b/src/plugins/built_in/social_toolkit_plugin/plugin.py @@ -140,7 +140,7 @@ class PokeAction(BaseAction): # === 基本信息(必须填写)=== action_name = "poke_user" - action_description = "可以让你戳其他用户,为互动增添一份小小的乐趣。" + action_description = "戳一戳其他用户。这是一个需要谨慎使用的互动方式,默认只戳一次。群聊中应当克制使用,私聊中可以适当主动。" activation_type = ActionActivationType.ALWAYS parallel_action = True @@ -148,17 +148,48 @@ class PokeAction(BaseAction): action_parameters: ClassVar[dict] = { "user_name": "需要戳一戳的用户的名字 (可选)", "user_id": "需要戳一戳的用户的ID (可选,优先级更高)", - "times": "需要戳一戳的次数 (默认为 1)", + "times": "需要戳一戳的次数 (默认为 1,最多3次)", } - action_require: ClassVar[list] = ["当需要戳某个用户时使用", "当你想提醒特定用户时使用"] + action_require: ClassVar[list] = [ + "用户明确要求戳某人时必须使用", + "私聊场景:可以在适当的互动时机主动使用(如回应戳一戳、俏皮互动等)", + "群聊场景:应当非常克制,仅在用户明确要求或有充分理由时才使用", + ] llm_judge_prompt = """ 判定是否需要使用戳一戳动作的条件: - 1. **互动时机**: 这是一个有趣的互动方式,可以在想提醒某人,或者单纯想开个玩笑时使用。 - 2. **用户请求**: 当用户明确要求使用戳一戳时。 - 3. **上下文需求**: 当上下文明确需要你戳一个或多个人时。 - 4. **频率与情绪**: 如果最近已经戳过,或者感觉对方情绪不高,请避免使用,不要打扰到别人哦。 - - 请根据上述规则,回答“是”或“否”。 + + **必须遵守的严格规则:** + 1. **用户明确要求**: 当用户明确说"戳XX"、"戳一下XX"等直接指令时,必须使用。 + + 2. **群聊场景(非常克制)**: + - 群聊中应当非常谨慎,避免在公共场合频繁打扰他人 + - 仅在以下情况考虑使用:用户明确要求、需要紧急提醒某人、或有特别充分的互动理由 + - 如果最近已经在群里戳过任何人,必须回答"否" + - 群聊中不要随意主动使用,除非有明确必要性 + + 3. **私聊场景(可以主动)**: + - 私聊中可以更加主动和俏皮 + - 在以下情况可以使用:回应对方的戳一戳、轻松愉快的互动氛围、想要增添趣味时 + - 但如果最近已经戳过对方,应避免频繁使用 + + 4. **频率限制(重要)**: + - 如果最近已经戳过同一个人,必须回答"否" + - 默认只戳一次,不要多次戳别人(除非用户明确要求多次) + - 注意对方的情绪反应,如果对方看起来不高兴或不想被打扰,必须回答"否" + + 5. **禁止情况**: + - 对方情绪低落、生气、不耐烦时,严禁使用 + - 严肃的对话场景中,严禁使用 + - 刚刚戳过的情况下,严禁再次使用 + + **判断逻辑**: + - 首先判断是群聊还是私聊 + - 群聊:除非用户明确要求或有特殊必要性,否则回答"否" + - 私聊:可以在合适的互动氛围中主动使用,但要注意频率 + - 检查是否最近已经戳过,如果是则回答"否" + - 评估对方情绪和对话氛围是否适合 + + 请严格根据上述规则,仅回答"是"或"否"。 """ associated_types: ClassVar[list[str]] = ["text"]