From bc8895510721dcb952bacaecb3760552416116e8 Mon Sep 17 00:00:00 2001 From: SXP-Simon Date: Tue, 4 Nov 2025 17:20:54 +0800 Subject: [PATCH] =?UTF-8?q?[v3.4.1]=20=E9=81=BF=E5=85=8D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=89=8B=E5=8A=A8=E5=8D=B8=E8=BD=BD=E6=8F=92=E4=BB=B6=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E7=9A=84=E6=9B=B4=E6=96=B0=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E5=8F=97=203.3.0=20=E4=BB=A5=E5=8F=8A=203.2.?= =?UTF-8?q?0=20=E9=94=99=E8=AF=AF=E7=89=88=E6=9C=AC=E7=9A=84=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E8=AF=8D=E9=85=8D=E7=BD=AE=E5=BD=B1=E5=93=8D=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=BE=A4=E5=88=86=E6=9E=90=E4=B8=8D=E5=8F=AF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 ++++- _conf_schema.json | 6 +++--- metadata.yaml | 2 +- src/core/config.py | 42 +++++++++++++++++++++++++++--------------- 4 files changed, 35 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index fa39620..01c3294 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # QQ群日常分析插件 -[![Plugin Version](https://img.shields.io/badge/Latest_Version-v3.4.0-blue.svg?style=for-the-badge&color=76bad9)](https://github.com/SXP-Simon/astrbot-qq-group-daily-analysis) +[![Plugin Version](https://img.shields.io/badge/Latest_Version-v3.4.1-blue.svg?style=for-the-badge&color=76bad9)](https://github.com/SXP-Simon/astrbot-qq-group-daily-analysis) [![AstrBot](https://img.shields.io/badge/AstrBot-Plugin-ff69b4?style=for-the-badge)](https://github.com/AstrBotDevs/AstrBot) [![License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE) @@ -158,6 +158,9 @@ _✨ 一个基于AstrBot的智能群聊分析插件,能够生成精美的群 ### v3.4.0 - 自定义提示词模板,简单修复格式问题,尽量保证可用 +### v3.4.1 +- 更新配置文件配置项名称,为了避免用户手动卸载插件配置文件的更新,避免受 3.3.0 以及 3.2.0 错误版本的提示词配置影响导致群分析不可用 + ## 许可证 MIT License diff --git a/_conf_schema.json b/_conf_schema.json index d99fecc..57a55f4 100644 --- a/_conf_schema.json +++ b/_conf_schema.json @@ -152,7 +152,7 @@ "type": "object", "hint": "话题分析提示词模板,可自定义修改,保留变量 {max_topics} 和 {messages_text} 写法不要更改,需要写 JSON 块请使用双花括号 {{ ... }} 兼容当前编辑存在的问题。非常推荐根据实际群聊情况进行优化,保留一定提示样本示例供模型参考", "items": { - "default": { + "topic_prompt": { "description": "默认话题分析提示词", "type": "text", "editor_mode": true, @@ -166,7 +166,7 @@ "type": "object", "hint": "用户称号分析提示词模板,可自定义修改,保留变量 {users_text} 写法不要更改,需要写 JSON 块请使用双花括号 {{ ... }} 兼容当前编辑存在的问题。非常推荐根据实际群聊情况进行优化,保留一定提示样本示例供模型参考", "items": { - "default": { + "user_title_prompt": { "description": "默认用户称号分析提示词", "type": "text", "editor_mode": true, @@ -180,7 +180,7 @@ "type": "object", "hint": "金句分析提示词模板,可自定义修改,保留变量 {max_golden_quotes} 和 {messages_text} 写法不要更改,需要写 JSON 块请使用双花括号 {{ ... }} 兼容当前编辑存在的问题。非常推荐根据实际群聊情况进行优化,保留一定提示样本示例供模型参考", "items": { - "default": { + "golden_quote_prompt": { "description": "默认金句分析提示词", "type": "text", "editor_mode": true, diff --git a/metadata.yaml b/metadata.yaml index 1da2082..127d903 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -13,6 +13,6 @@ help: | # 插件的帮助信息 命令: /群分析 [天数] - 分析群聊活动 /分析设置 [操作] - 管理设置(enable/disable/status/test) -version: v3.4.0 # 插件版本号。格式:v1.1.1 或者 v1.1 +version: v3.4.1 # 插件版本号。格式:v1.1.1 或者 v1.1 author: SXP-Simon # 作者 repo: https://github.com/SXP-Simon/astrbot-qq-group-daily-analysis # 插件的仓库地址 diff --git a/src/core/config.py b/src/core/config.py index 739b924..f15d61c 100644 --- a/src/core/config.py +++ b/src/core/config.py @@ -110,58 +110,70 @@ class ConfigManager: """获取PDF文件名格式""" return self.config.get("pdf_filename_format", "群聊分析报告_{group_id}_{date}.pdf") - def get_topic_analysis_prompt(self, style: str = "default") -> str: + def get_topic_analysis_prompt(self, style: str = "topic_prompt") -> str: """ 获取话题分析提示词模板 Args: - style: 提示词风格,默认为 "default" + style: 提示词条目名称,默认为 "topic_prompt" Returns: 提示词模板字符串 """ - # 直接从配置中获取 prompts 对象 + # 从配置中获取 topic_analysis_prompts 对象 prompts_config = self.config.get("topic_analysis_prompts", {}) - # 获取指定的 prompt - prompt = prompts_config.get(style, "default") + # 获取 items 对象 + items = prompts_config.get("items", {}) + # 从 items 中获取指定的 prompt 配置 + prompt_config = items.get(style, {}) + # 获取 default 字段的值 + prompt = prompt_config.get("default", "") if prompt: return prompt # 兼容旧配置 return self.config.get("topic_analysis_prompt", "") - def get_user_title_analysis_prompt(self, style: str = "default") -> str: + def get_user_title_analysis_prompt(self, style: str = "user_title_prompt") -> str: """ 获取用户称号分析提示词模板 Args: - style: 提示词风格,默认为 "default" + style: 提示词条目名称,默认为 "user_title_prompt" Returns: 提示词模板字符串 """ - # 直接从配置中获取 prompts 对象 + # 从配置中获取 user_title_analysis_prompts 对象 prompts_config = self.config.get("user_title_analysis_prompts", {}) - # 获取指定的 prompt - prompt = prompts_config.get(style, "default") + # 获取 items 对象 + items = prompts_config.get("items", {}) + # 从 items 中获取指定的 prompt 配置 + prompt_config = items.get(style, {}) + # 获取 default 字段的值 + prompt = prompt_config.get("default", "") if prompt: return prompt # 兼容旧配置 return self.config.get("user_title_analysis_prompt", "") - def get_golden_quote_analysis_prompt(self, style: str = "default") -> str: + def get_golden_quote_analysis_prompt(self, style: str = "golden_quote_prompt") -> str: """ 获取金句分析提示词模板 Args: - style: 提示词风格,默认为 "default" + style: 提示词条目名称,默认为 "golden_quote_prompt" Returns: 提示词模板字符串 """ - # 直接从配置中获取 prompts 对象 + # 从配置中获取 golden_quote_analysis_prompts 对象 prompts_config = self.config.get("golden_quote_analysis_prompts", {}) - # 获取指定的 prompt - prompt = prompts_config.get(style, "default") + # 获取 items 对象 + items = prompts_config.get("items", {}) + # 从 items 中获取指定的 prompt 配置 + prompt_config = items.get(style, {}) + # 获取 default 字段的值 + prompt = prompt_config.get("default", "") if prompt: return prompt # 兼容旧配置