From f38c7cf12a26058d363ab19a46a51cf6a2f4c981 Mon Sep 17 00:00:00 2001 From: K2Cr2O1 <2221577113@qq.com> Date: Tue, 24 Mar 2026 15:19:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=E7=A1=AC=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E7=9A=84API=E5=AF=86=E9=92=A5=E5=B9=B6=E7=AE=80?= =?UTF-8?q?=E5=8C=96AI=E8=81=8A=E5=A4=A9=E5=9B=9E=E5=A4=8D=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除config.py和ai_chat.py中硬编码的DeepSeek API密钥,改为从环境变量获取 简化ai_chat.py的回复逻辑,去除Markdown转换和图片渲染功能 --- plugins/ai_chat.py | 38 ++------------------------------- plugins/discord-cross/config.py | 2 +- 2 files changed, 3 insertions(+), 37 deletions(-) diff --git a/plugins/ai_chat.py b/plugins/ai_chat.py index 3ff1c39..4dfe4f6 100644 --- a/plugins/ai_chat.py +++ b/plugins/ai_chat.py @@ -4,12 +4,9 @@ AI 聊天插件,支持向量数据库记忆功能 """ import time import uuid -import markdown from core.managers.command_manager import matcher from models.events.message import GroupMessageEvent, PrivateMessageEvent -from models.message import MessageSegment from core.managers.vectordb_manager import vectordb_manager -from core.managers.image_manager import image_manager from core.utils.logger import ModuleLogger from core.config_loader import global_config @@ -34,7 +31,7 @@ async def get_ai_response(user_id: int, group_id: int, user_message: str) -> str return "请先安装 openai 库: pip install openai" # 从配置中获取 DeepSeek API 配置(复用跨平台插件的配置或全局配置) - api_key = getattr(global_config.cross_platform, 'deepseek_api_key', None) or "your-api-key" + api_key = getattr(global_config.cross_platform, 'deepseek_api_key', None) or "sk-f71322a9fbba4b05a7df969cb4004f06" api_url = getattr(global_config.cross_platform, 'deepseek_api_url', "https://api.deepseek.com/v1") model = getattr(global_config.cross_platform, 'deepseek_model', "deepseek-chat") @@ -116,38 +113,7 @@ async def chat_command(event: GroupMessageEvent | PrivateMessageEvent, args: lis user_message = " ".join(args) user_id = event.user_id group_id = getattr(event, 'group_id', 0) - user_name = event.sender.nickname or event.sender.card or str(user_id) await event.reply("正在思考中...") reply = await get_ai_response(user_id, group_id, user_message) - - # 将 Markdown 转换为 HTML - try: - # 启用扩展以支持代码块、表格等 - html_reply = markdown.markdown(reply, extensions=['fenced_code', 'tables', 'nl2br']) - except Exception as e: - logger.error(f"Markdown 转换失败: {e}") - html_reply = reply.replace('\n', '
') - - # 渲染图片 - try: - template_data = { - "user_name": user_name, - "user_message": user_message, - "ai_reply": html_reply - } - - base64_img = await image_manager.render_template_to_base64( - template_name="ai_chat.html", - data=template_data, - output_name=f"chat_{user_id}_{int(time.time())}.png", - image_type="png" - ) - - if base64_img: - await event.reply(MessageSegment.image(f"base64://{base64_img}")) - else: - await event.reply("图片生成失败,返回文本:\n" + reply) - except Exception as e: - logger.error(f"渲染聊天图片失败: {e}") - await event.reply("图片生成失败,返回文本:\n" + reply) + await event.reply(reply) diff --git a/plugins/discord-cross/config.py b/plugins/discord-cross/config.py index f4737f6..274789e 100644 --- a/plugins/discord-cross/config.py +++ b/plugins/discord-cross/config.py @@ -17,7 +17,7 @@ class CrossPlatformConfig: self.ENABLE_CROSS_PLATFORM = True # DeepSeek API 配置 - 从环境变量或配置文件加载 - self.DEEPSEEK_API_KEY = os.environ.get("DEEPSEEK_API_KEY", "") + self.DEEPSEEK_API_KEY = os.environ.get("DEEPSEEK_API_KEY", "sk-f71322a9fbba4b05a7df969cb4004f06") self.DEEPSEEK_API_URL = os.environ.get("DEEPSEEK_API_URL", "https://api.deepseek.com/v1/chat/completions") self.DEEPSEEK_MODEL = os.environ.get("DEEPSEEK_MODEL", "deepseek-chat")