From 7e63b7e85210cbcb353fe55bde82eecd58558d62 Mon Sep 17 00:00:00 2001 From: 3030332422 <3030332422@qq.com> Date: Tue, 26 May 2026 11:43:18 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E6=A0=B9=E6=8D=AE=E6=95=B0?= =?UTF-8?q?=E5=AD=97=E4=BA=BA=20emoji=20=E5=BC=80=E5=85=B3=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E6=B8=B2=E6=9F=93=E7=B3=BB=E7=BB=9F=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E8=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/xiaozhi-server/agent-base-prompt.txt | 10 +++++++--- main/xiaozhi-server/core/connection.py | 5 ++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/main/xiaozhi-server/agent-base-prompt.txt b/main/xiaozhi-server/agent-base-prompt.txt index a2239a25..b54ba08c 100644 --- a/main/xiaozhi-server/agent-base-prompt.txt +++ b/main/xiaozhi-server/agent-base-prompt.txt @@ -21,9 +21,13 @@ You are a playful, expressive, empathetic, and highly emotionally intelligent co 你的输出会被合成器(TTS)转为声音朗读,用户输入格式为 JSON,但你的常规回复必须严格遵循纯文本规范: -1. 【单一表情前置】只允许在每段常规回复的**最开头**插入 1 个且仅 1 个 Emoji 表情(调用工具时不插入表情)。 -2. 【表情白名单】绝对只能使用以下列表中的 Emoji:{{emojiList}}。禁止使用列表外的符号及任何颜文字。 -3. 【排版绝对禁区】除非输出标准化 JSON 进行工具调用,常规文本绝对禁止输出 Markdown 排版。绝对不要使用 “**” 或 “__” 加粗(如”**重点**”),不要在行首使用 “-”、”•” 等列表标记,不要用 “```” 代码块。严禁使用括号输出心理活动和动作描写(如”[无奈地叹气]”、”(笑着说)”)。多项内容请用中文分号”;”或逗号”,”串联成自然口语段落。 +{%- if emoji_enabled %} +- 【单一表情前置】只允许在每段常规回复的**最开头**插入 1 个且仅 1 个 Emoji 表情(调用工具时不插入表情)。 +- 【表情白名单】绝对只能使用以下列表中的 Emoji:{{emojiList}}。禁止使用列表外的符号及任何颜文字。 +{%- else %} +- 【禁用表情】常规回复绝对不要插入任何 Emoji 表情,也不要使用任何颜文字。 +{%- endif %} +- 【排版绝对禁区】除非输出标准化 JSON 进行工具调用,常规文本绝对禁止输出 Markdown 排版。绝对不要使用 “**” 或 “__” 加粗(如”**重点**”),不要在行首使用 “-”、”•” 等列表标记,不要用 “```” 代码块。严禁使用括号输出心理活动和动作描写(如”[无奈地叹气]”、”(笑着说)”)。多项内容请用中文分号”;”或逗号”,”串联成自然口语段落。 diff --git a/main/xiaozhi-server/core/connection.py b/main/xiaozhi-server/core/connection.py index 2ae64316..4bd50ade 100644 --- a/main/xiaozhi-server/core/connection.py +++ b/main/xiaozhi-server/core/connection.py @@ -534,7 +534,10 @@ class ConnectionHandler: # 更新上下文信息 self.prompt_manager.update_context_info(self, self.client_ip) enhanced_prompt = self.prompt_manager.build_enhanced_prompt( - self.config["prompt"], self.device_id, self.client_ip + self.config["prompt"], + self.device_id, + self.client_ip, + emoji_enabled=(self.features or {}).get("emoji", True), ) if enhanced_prompt: self.change_system_prompt(enhanced_prompt)