Remove unused imports across multiple modules

Cleaned up various files by removing unused or redundant import statements to improve code readability and reduce potential confusion. No functional changes were made.
This commit is contained in:
雅诺狐
2025-08-19 11:55:24 +08:00
parent bd3cfc47f6
commit 5e91f9ef5f
23 changed files with 15 additions and 41 deletions

View File

@@ -6,7 +6,6 @@
""" """
from __future__ import annotations from __future__ import annotations
import re
import sqlite3 import sqlite3
import pymysql import pymysql
from contextlib import closing from contextlib import closing

View File

@@ -11,8 +11,7 @@
import re import re
import time import time
import hashlib import hashlib
import asyncio from typing import Dict, List
from typing import Dict, List, Optional, Tuple
from dataclasses import asdict from dataclasses import asdict
from src.common.logger import get_logger from src.common.logger import get_logger

View File

@@ -6,9 +6,7 @@
主要通过注入系统提示词来指导AI安全响应。 主要通过注入系统提示词来指导AI安全响应。
""" """
import random from typing import List
import re
from typing import List, Optional
from src.common.logger import get_logger from src.common.logger import get_logger
from src.config.config import global_config from src.config.config import global_config

View File

@@ -13,7 +13,6 @@ from typing import Optional, Tuple, List, Any
from PIL import Image from PIL import Image
from rich.traceback import install from rich.traceback import install
from sqlalchemy import select from sqlalchemy import select
from src.common.database.database import db
from src.common.database.sqlalchemy_database_api import get_db_session from src.common.database.sqlalchemy_database_api import get_db_session
from src.common.database.sqlalchemy_models import Emoji, Images from src.common.database.sqlalchemy_models import Emoji, Images
from src.common.logger import get_logger from src.common.logger import get_logger

View File

@@ -7,8 +7,7 @@ from rich.traceback import install
from maim_message import GroupInfo, UserInfo from maim_message import GroupInfo, UserInfo
from src.common.logger import get_logger from src.common.logger import get_logger
from src.common.database.database import db from sqlalchemy import select
from sqlalchemy import select, text
from sqlalchemy.dialects.sqlite import insert as sqlite_insert from sqlalchemy.dialects.sqlite import insert as sqlite_insert
from sqlalchemy.dialects.mysql import insert as mysql_insert from sqlalchemy.dialects.mysql import insert as mysql_insert
from src.common.database.sqlalchemy_models import ChatStreams # 新增导入 from src.common.database.sqlalchemy_models import ChatStreams # 新增导入

View File

@@ -12,7 +12,6 @@ from src.common.logger import get_logger
from src.chat.utils.utils_image import get_image_manager from src.chat.utils.utils_image import get_image_manager
from src.chat.utils.utils_voice import get_voice_text from src.chat.utils.utils_voice import get_voice_text
from src.chat.utils.utils_video import get_video from src.chat.utils.utils_video import get_video
from src.multimodal.video_analyzer import get_video_analyzer
from src.config.config import global_config from src.config.config import global_config
from .chat_stream import ChatStream from .chat_stream import ChatStream

View File

@@ -16,7 +16,6 @@ from src.chat.utils.chat_message_builder import (
build_readable_messages_with_id, build_readable_messages_with_id,
get_raw_msg_before_timestamp_with_chat, get_raw_msg_before_timestamp_with_chat,
) )
from src.plugin_system.apis.message_api import filter_mai_messages
from src.chat.utils.utils import get_chat_type_and_target_info from src.chat.utils.utils import get_chat_type_and_target_info
from src.chat.planner_actions.action_manager import ActionManager from src.chat.planner_actions.action_manager import ActionManager
from src.chat.message_receive.chat_stream import get_chat_manager from src.chat.message_receive.chat_stream import get_chat_manager

View File

@@ -260,7 +260,6 @@ def get_actions_by_timestamp_with_chat(
) -> List[Dict[str, Any]]: ) -> List[Dict[str, Any]]:
"""获取在特定聊天从指定时间戳到指定时间戳的动作记录,按时间升序排序,返回动作记录列表""" """获取在特定聊天从指定时间戳到指定时间戳的动作记录,按时间升序排序,返回动作记录列表"""
from src.common.logger import get_logger from src.common.logger import get_logger
from src.common.database.sqlalchemy_database_api import get_db_session
logger = get_logger("chat_message_builder") logger = get_logger("chat_message_builder")
@@ -353,7 +352,6 @@ def get_actions_by_timestamp_with_chat_inclusive(
chat_id: str, timestamp_start: float, timestamp_end: float, limit: int = 0, limit_mode: str = "latest" chat_id: str, timestamp_start: float, timestamp_end: float, limit: int = 0, limit_mode: str = "latest"
) -> List[Dict[str, Any]]: ) -> List[Dict[str, Any]]:
"""获取在特定聊天从指定时间戳到指定时间戳的动作记录(包含边界),按时间升序排序,返回动作记录列表""" """获取在特定聊天从指定时间戳到指定时间戳的动作记录(包含边界),按时间升序排序,返回动作记录列表"""
from src.common.database.sqlalchemy_database_api import get_db_session
with get_db_session() as session: with get_db_session() as session:
if limit > 0: if limit > 0:
if limit_mode == "latest": if limit_mode == "latest":
@@ -785,7 +783,6 @@ def build_pic_mapping_info(pic_id_mapping: Dict[str, str]) -> str:
sorted_items = sorted(pic_id_mapping.items(), key=lambda x: int(x[1].replace("图片", ""))) sorted_items = sorted(pic_id_mapping.items(), key=lambda x: int(x[1].replace("图片", "")))
from src.common.database.sqlalchemy_database_api import get_db_session
for pic_id, display_name in sorted_items: for pic_id, display_name in sorted_items:
# 从数据库中获取图片描述 # 从数据库中获取图片描述
description = "内容正在阅读,请稍等" description = "内容正在阅读,请稍等"

View File

@@ -12,7 +12,6 @@ from PIL import Image
from rich.traceback import install from rich.traceback import install
from src.common.logger import get_logger from src.common.logger import get_logger
from src.common.database.database import db
from src.common.database.sqlalchemy_models import Images, ImageDescriptions from src.common.database.sqlalchemy_models import Images, ImageDescriptions
from src.config.config import global_config, model_config from src.config.config import global_config, model_config
from src.llm_models.utils_model import LLMRequest from src.llm_models.utils_model import LLMRequest

View File

@@ -1,8 +1,6 @@
import time import time
import json import json
import hashlib import hashlib
import inspect
import os
from pathlib import Path from pathlib import Path
import numpy as np import numpy as np
import faiss import faiss

View File

@@ -1,7 +1,6 @@
# mmc/src/common/database/db_migration.py # mmc/src/common/database/db_migration.py
from sqlalchemy import inspect, text from sqlalchemy import inspect, text
from sqlalchemy.engine import Engine
from src.common.database.sqlalchemy_models import Base, get_engine from src.common.database.sqlalchemy_models import Base, get_engine
from src.common.logger import get_logger from src.common.logger import get_logger

View File

@@ -7,9 +7,7 @@
import traceback import traceback
import time import time
from typing import Dict, List, Any, Union, Type, Optional from typing import Dict, List, Any, Union, Type, Optional
from contextlib import contextmanager from sqlalchemy.exc import SQLAlchemyError
from sqlalchemy.orm import Session
from sqlalchemy.exc import SQLAlchemyError, DisconnectionError, OperationalError
from sqlalchemy import desc, asc, func, and_ from sqlalchemy import desc, asc, func, and_
from src.common.logger import get_logger from src.common.logger import get_logger
from src.common.database.sqlalchemy_models import ( from src.common.database.sqlalchemy_models import (

View File

@@ -11,7 +11,6 @@ import os
import datetime import datetime
import time import time
from src.common.logger import get_logger from src.common.logger import get_logger
import threading
from contextlib import contextmanager from contextlib import contextmanager
logger = get_logger("sqlalchemy_models") logger = get_logger("sqlalchemy_models")

View File

@@ -1,7 +1,7 @@
import asyncio import asyncio
import io import io
import base64 import base64
from typing import Callable, AsyncIterator, Optional, Coroutine, Any, List, Dict, Union from typing import Callable, AsyncIterator, Optional, Coroutine, Any, List, Dict
import google.generativeai as genai import google.generativeai as genai
from google.generativeai.types import ( from google.generativeai.types import (

View File

@@ -17,7 +17,6 @@ from src.common.server import get_global_server, Server
from src.mood.mood_manager import mood_manager from src.mood.mood_manager import mood_manager
from rich.traceback import install from rich.traceback import install
from src.manager.schedule_manager import schedule_manager from src.manager.schedule_manager import schedule_manager
from src.common.cache_manager import tool_cache
# from src.api.main import start_api_server # from src.api.main import start_api_server
# 导入新的插件管理器和热重载管理器 # 导入新的插件管理器和热重载管理器

View File

@@ -156,7 +156,7 @@ class ScheduleManager:
schedule_str += f" - {item.get('time_range', '未知时间')}: {item.get('activity', '未知活动')}\n" schedule_str += f" - {item.get('time_range', '未知时间')}: {item.get('activity', '未知活动')}\n"
logger.info(schedule_str) logger.info(schedule_str)
else: else:
logger.warning(f"数据库中的日程数据格式无效,将重新生成日程") logger.warning("数据库中的日程数据格式无效,将重新生成日程")
await self.generate_and_save_schedule() await self.generate_and_save_schedule()
except json.JSONDecodeError as e: except json.JSONDecodeError as e:
logger.error(f"日程数据JSON解析失败: {e},将重新生成日程") logger.error(f"日程数据JSON解析失败: {e},将重新生成日程")
@@ -219,13 +219,13 @@ class ScheduleManager:
existing_schedule = session.query(Schedule).filter(Schedule.date == today_str).first() existing_schedule = session.query(Schedule).filter(Schedule.date == today_str).first()
if existing_schedule: if existing_schedule:
# 更新现有日程 # 更新现有日程
setattr(existing_schedule, 'schedule_data', json.dumps(schedule_data)) existing_schedule.schedule_data = json.dumps(schedule_data)
setattr(existing_schedule, 'updated_at', datetime.now()) existing_schedule.updated_at = datetime.now()
else: else:
# 创建新日程 # 创建新日程
new_schedule = Schedule() new_schedule = Schedule()
setattr(new_schedule, 'date', today_str) new_schedule.date = today_str
setattr(new_schedule, 'schedule_data', json.dumps(schedule_data)) new_schedule.schedule_data = json.dumps(schedule_data)
session.add(new_schedule) session.add(new_schedule)
session.commit() session.commit()
@@ -241,7 +241,7 @@ class ScheduleManager:
logger.warning(f"{attempt + 1} 次生成的日程验证失败,正在重试...") logger.warning(f"{attempt + 1} 次生成的日程验证失败,正在重试...")
if attempt < self.max_retries - 1: if attempt < self.max_retries - 1:
# 在重试时添加更详细的错误提示 # 在重试时添加更详细的错误提示
prompt += f"\n\n**上次生成失败,请特别注意**:\n- 确保所有时间段连续覆盖24小时\n- 时间格式必须为HH:MM-HH:MM\n- 不能有时间间隙或重叠" prompt += "\n\n**上次生成失败,请特别注意**:\n- 确保所有时间段连续覆盖24小时\n- 时间格式必须为HH:MM-HH:MM\n- 不能有时间间隙或重叠"
except Exception as e: except Exception as e:
logger.error(f"{attempt + 1} 次生成日程失败: {e}") logger.error(f"{attempt + 1} 次生成日程失败: {e}")

View File

@@ -73,7 +73,7 @@ class VideoAnalyzer:
self.frame_interval = 1.0 # 抽帧时间间隔(秒) self.frame_interval = 1.0 # 抽帧时间间隔(秒)
self.batch_size = 3 # 批处理时每批处理的帧数 self.batch_size = 3 # 批处理时每批处理的帧数
self.timeout = 60.0 # 分析超时时间(秒) self.timeout = 60.0 # 分析超时时间(秒)
self.logger.info(f"✅ 从配置文件读取视频分析参数") self.logger.info("✅ 从配置文件读取视频分析参数")
except AttributeError as e: except AttributeError as e:
# 如果配置不存在,使用代码中的默认值 # 如果配置不存在,使用代码中的默认值
@@ -494,7 +494,7 @@ class VideoAnalyzer:
return {"summary": existing_video.description} return {"summary": existing_video.description}
# hash未匹配但可能是重编码的相同视频进行特征检测 # hash未匹配但可能是重编码的相同视频进行特征检测
self.logger.info(f"未找到hash匹配的视频记录检查是否为重编码的相同视频测试功能") self.logger.info("未找到hash匹配的视频记录检查是否为重编码的相同视频测试功能")
# 创建临时文件以提取视频特征 # 创建临时文件以提取视频特征
with tempfile.NamedTemporaryFile(delete=False, suffix='.mp4') as temp_file: with tempfile.NamedTemporaryFile(delete=False, suffix='.mp4') as temp_file:
@@ -520,7 +520,7 @@ class VideoAnalyzer:
self._update_video_count(existing_similar_video.id) self._update_video_count(existing_similar_video.id)
return {"summary": existing_similar_video.description} return {"summary": existing_similar_video.description}
self.logger.info(f"未找到相似视频,开始新的分析") self.logger.info("未找到相似视频,开始新的分析")
# 检查临时文件是否创建成功 # 检查临时文件是否创建成功
if not os.path.exists(temp_path): if not os.path.exists(temp_path):

View File

@@ -9,7 +9,6 @@ from json_repair import repair_json
from typing import Any, Callable, Dict, Union, Optional from typing import Any, Callable, Dict, Union, Optional
from sqlalchemy import select from sqlalchemy import select
from src.common.logger import get_logger from src.common.logger import get_logger
from src.common.database.database import db
from src.common.database.sqlalchemy_models import PersonInfo from src.common.database.sqlalchemy_models import PersonInfo
from src.common.database.sqlalchemy_database_api import get_db_session from src.common.database.sqlalchemy_database_api import get_db_session
from src.llm_models.utils_model import LLMRequest from src.llm_models.utils_model import LLMRequest

View File

@@ -209,7 +209,7 @@ class PluginHotReloadManager:
else: else:
dir_info.append(f"{watch_dir} (外部插件)") dir_info.append(f"{watch_dir} (外部插件)")
logger.info(f"🚀 插件热重载已启动,监听目录:") logger.info("🚀 插件热重载已启动,监听目录:")
for info in dir_info: for info in dir_info:
logger.info(f" 📂 {info}") logger.info(f" 📂 {info}")

View File

@@ -10,7 +10,6 @@ from src.plugin_system import (
) )
from src.person_info.person_info import get_person_info_manager from src.person_info.person_info import get_person_info_manager
from src.common.logger import get_logger from src.common.logger import get_logger
from src.plugin_system import database_api
from src.plugin_system.base.component_types import ChatType from src.plugin_system.base.component_types import ChatType
logger = get_logger(__name__) logger = get_logger(__name__)

View File

@@ -3,7 +3,6 @@ from collections import deque
# 导入新插件系统 # 导入新插件系统
from src.plugin_system import BaseAction, ActionActivationType, ChatMode from src.plugin_system import BaseAction, ActionActivationType, ChatMode
from src.plugin_system.base.component_types import ChatType
# 导入依赖的系统组件 # 导入依赖的系统组件
from src.common.logger import get_logger from src.common.logger import get_logger

View File

@@ -4,7 +4,6 @@
负责处理所有与图片相关的任务特别是AI生成图片。 负责处理所有与图片相关的任务特别是AI生成图片。
""" """
import base64 import base64
import os
from pathlib import Path from pathlib import Path
from typing import Callable from typing import Callable

View File

@@ -1,6 +1,5 @@
import re import re
from typing import List, Tuple, Type from typing import List, Tuple, Type
import difflib
from src.plugin_system import ( from src.plugin_system import (
BasePlugin, BasePlugin,
@@ -9,9 +8,7 @@ from src.plugin_system import (
ComponentInfo, ComponentInfo,
ActionActivationType, ActionActivationType,
ConfigField, ConfigField,
database_api,
) )
from src.common.database.sqlalchemy_models import Messages, PersonInfo
from src.common.logger import get_logger from src.common.logger import get_logger
from src.plugin_system.apis import send_api from src.plugin_system.apis import send_api
from .qq_emoji_list import qq_face from .qq_emoji_list import qq_face