This commit is contained in:
Windpicker-owo
2025-11-02 11:48:47 +08:00
4 changed files with 37 additions and 33 deletions

View File

@@ -240,6 +240,8 @@ class ActionModifier:
action_instance = cast(BaseAction, action_instance)
# 设置必要的属性
action_instance.log_prefix = self.log_prefix
# 强制注入 chat_content 以供 go_activate 内部的辅助函数使用
setattr(action_instance, "_activation_chat_content", chat_content)
# 调用 go_activate 方法
task = action_instance.go_activate(
llm_judge_model=self.llm_judge

View File

@@ -71,11 +71,12 @@ def init_prompt():
不要复读你前面发过的内容,意思相近也不行。
不要浮夸,不要夸张修辞,平淡且不要输出多余内容(包括前后缀冒号和引号括号表情包at或 @等 ),只输出一条回复就好。
**【重要】不要在回复中输出任何格式化标记**
- 不要输出类似 [表情包xxx]、[图片xxx]、[回复<xxx>xxx] 这样的格式
- 如果想表达笑的情绪,直接说"哈哈""笑死"等,不要说"[表情包:笑哭]"
- 如果想提到某人,直接说""、或者他的名字,不要说"[回复<某人>]"
- 说什么就直接输出什么,不要加任何格式化标记
**【!!!绝对禁止!!!】在回复中输出任何格式化标记**
- **核心原则**: 你的回复**只能**包含纯粹的口语化文本。任何看起来像程序指令、系统提示或格式标签的内容都**绝对不允许**出现在你的回复里。
- **禁止模仿系统消息**: 绝对禁止输出任何类似 `[回复<xxx>xxx]`、`[表情包xxx]`、`[图片xxx]` 的格式。这些都是系统用于展示消息的方式,不是你应该说的话。
- **禁止模仿动作指令**: 绝对禁止输出 `[戳了戳]` 或 `[poke]`。这类互动由名为 `poke_user` 的特殊动作处理,不是文本消息。
- **正确提及用户**: 如果想提到某人,直接说“你”或他/她的名字,绝对禁止使用 `[回复<某人>]` 或 `@某人` 的格式。
- **正确表达情绪**: 如果想表达笑的情绪,直接说“哈哈”、“嘻嘻”等,绝对禁止使用 `[表情包:笑哭]` 这样的文字。
*你叫{bot_name},也有人叫你{bot_nickname}*
@@ -144,11 +145,12 @@ def init_prompt():
请注意不要输出多余内容(包括前后缀冒号和引号at或 @等 )。只输出回复内容。
**【重要】不要在回复中输出任何格式化标记**
- 不要输出类似 [表情包xxx]、[图片xxx]、[回复<xxx>xxx] 这样的格式
- 如果想表达笑的情绪,直接说"哈哈""笑死"等,不要说"[表情包:笑哭]"
- 如果想提到某人,直接说"""",不要说"[回复<某人>]"
- 说什么就直接输出什么,不要加任何标记或括号
**【!!!绝对禁止!!!】在回复中输出任何格式化标记**
- **核心原则**: 你的回复**只能**包含纯粹的口语化文本。任何看起来像程序指令、系统提示或格式标签的内容都**绝对不允许**出现在你的回复里。
- **禁止模仿系统消息**: 绝对禁止输出任何类似 `[回复<xxx>xxx]`、`[表情包xxx]`、`[图片xxx]` 的格式。这些都是系统用于展示消息的方式,不是你应该说的话。
- **禁止模仿动作指令**: 绝对禁止输出 `[戳了戳]` 或 `[poke]`。这类互动由名为 `poke_user` 的特殊动作处理,不是文本消息。
- **正确提及用户**: 如果想提到某人,直接说“你”或他/她的名字,绝对禁止使用 `[回复<某人>]` 或 `@某人` 的格式。
- **正确表达情绪**: 如果想表达笑的情绪,直接说“哈哈”、“嘻嘻”等,绝对禁止使用 `[表情包:笑哭]` 这样的文字。
{moderation_prompt}
@@ -216,11 +218,12 @@ If you need to use the search tool, please directly call the function "lpmm_sear
{keywords_reaction_prompt}
请注意不要输出多余内容(包括前后缀冒号和引号at或 @等 )。只输出回复内容。
**【重要】不要在回复中输出任何格式化标记**
- 不要输出类似 [表情包xxx]、[图片xxx]、[回复<xxx>xxx] 这样的格式
- 如果想表达笑的情绪,直接说"哈哈""笑死"等,不要说"[表情包:笑哭]"
- 如果想提到某人,直接说"""",不要说"[回复<某人>]"
- 说什么就直接输出什么,不要加任何标记或括号
**【!!!绝对禁止!!!】在回复中输出任何格式化标记**
- **核心原则**: 你的回复**只能**包含纯粹的口语化文本。任何看起来像程序指令、系统提示或格式标签的内容都**绝对不允许**出现在你的回复里。
- **禁止模仿系统消息**: 绝对禁止输出任何类似 `[回复<xxx>xxx]`、`[表情包xxx]`、`[图片xxx]` 的格式。这些都是系统用于展示消息的方式,不是你应该说的话。
- **禁止模仿动作指令**: 绝对禁止输出 `[戳了戳]` 或 `[poke]`。这类互动由名为 `poke_user` 的特殊动作处理,不是文本消息。
- **正确提及用户**: 如果想提到某人,直接说“你”或他/她的名字,绝对禁止使用 `[回复<某人>]` 或 `@某人` 的格式。
- **正确表达情绪**: 如果想表达笑的情绪,直接说“哈哈”、“嘻嘻”等,绝对禁止使用 `[表情包:笑哭]` 这样的文字。
{moderation_prompt}
你的核心任务是针对 {reply_target_block} 中提到的内容,{relation_info_block}生成一段紧密相关且能推动对话的回复。你的回复应该:
@@ -1266,7 +1269,7 @@ class DefaultReplyer:
# 构建action描述 (如果启用planner)
action_descriptions = ""
if available_actions:
action_descriptions = "你有以下的动作能力,但执行这些动作不由你决定,由另外一个模型同步决定,因此你只需要知道有如下能力即可:\n"
action_descriptions = "以下是系统中可用的动作列表。**【重要】**这些动作将由一个独立的决策模型决定是否执行,**并非你的职责**。你只需要了解这些能力的存在,以便更好地理解对话情景,**严禁**在你的回复中模仿、调用或提及这些动作本身。\n"
for action_name, action_info in available_actions.items():
action_description = action_info.description
action_descriptions += f"- {action_name}: {action_description}\n"
@@ -1976,7 +1979,7 @@ class DefaultReplyer:
return f"你与{sender}是普通朋友关系。"
async def _store_chat_memory_async(self, reply_to: str, reply_message: dict[str, Any] | None = None):
async def _store_chat_memory_async(self, reply_to: str, reply_message: DatabaseMessages | dict[str, Any] | None = None):
"""
异步存储聊天记忆从build_memory_block迁移而来