perf(methods): 通过移除不必要的 self 参数优化方法签名

在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
This commit is contained in:
雅诺狐
2025-09-20 10:55:06 +08:00
parent 0cc4f5bb27
commit 898208f425
111 changed files with 643 additions and 467 deletions

View File

@@ -94,7 +94,7 @@ class HeartFChatting:
self.context.running = True
self.context.relationship_builder = relationship_builder_manager.get_or_create_builder(self.context.stream_id)
self.context.expression_learner = expression_learner_manager.get_expression_learner(self.context.stream_id)
self.context.expression_learner = await expression_learner_manager.get_expression_learner(self.context.stream_id)
# 启动主动思考监视器
if global_config.chat.enable_proactive_thinking:
@@ -281,7 +281,8 @@ class HeartFChatting:
logger.error(f"{self.context.log_prefix} 动态间隔计算出错: {e},使用固定间隔")
return max(300, abs(global_config.chat.proactive_thinking_interval))
def _format_duration(self, seconds: float) -> str:
@staticmethod
def _format_duration(seconds: float) -> str:
"""
格式化时长为可读字符串

View File

@@ -1,17 +1,15 @@
from typing import List, Optional, TYPE_CHECKING
import time
from src.chat.message_receive.chat_stream import ChatStream, get_chat_manager
from src.person_info.relationship_builder_manager import RelationshipBuilder
from src.chat.express.expression_learner import ExpressionLearner
from src.chat.planner_actions.action_manager import ActionManager
from typing import List, Optional, TYPE_CHECKING
from src.chat.chat_loop.hfc_utils import CycleDetail
from src.chat.express.expression_learner import ExpressionLearner
from src.chat.message_receive.chat_stream import ChatStream, get_chat_manager
from src.chat.planner_actions.action_manager import ActionManager
from src.config.config import global_config
from src.person_info.relationship_builder_manager import RelationshipBuilder
if TYPE_CHECKING:
from .sleep_manager.wakeup_manager import WakeUpManager
from .energy_manager import EnergyManager
from .heartFC_chat import HeartFChatting
from .sleep_manager.sleep_manager import SleepManager
pass
class HfcContext:

View File

@@ -2,19 +2,18 @@ import time
import traceback
from typing import TYPE_CHECKING, Dict, Any
from src.chat.utils.chat_message_builder import get_raw_msg_before_timestamp_with_chat, build_readable_messages_with_id
from src.common.database.sqlalchemy_database_api import store_action_info
from src.common.logger import get_logger
from src.plugin_system.base.component_types import ChatMode
from ..hfc_context import HfcContext
from .events import ProactiveTriggerEvent
from src.config.config import global_config
from src.mood.mood_manager import mood_manager
from src.plugin_system import tool_api
from src.plugin_system.apis import generator_api
from src.plugin_system.apis.generator_api import process_human_text
from src.plugin_system.base.component_types import ChatMode
from src.schedule.schedule_manager import schedule_manager
from src.plugin_system import tool_api
from src.config.config import global_config
from src.chat.utils.chat_message_builder import get_raw_msg_before_timestamp_with_chat, build_readable_messages_with_id
from src.mood.mood_manager import mood_manager
from src.common.database.sqlalchemy_database_api import store_action_info, db_get
from src.common.database.sqlalchemy_models import Messages
from .events import ProactiveTriggerEvent
from ..hfc_context import HfcContext
if TYPE_CHECKING:
from ..cycle_processor import CycleProcessor

View File

@@ -5,12 +5,12 @@ from typing import Optional, TYPE_CHECKING
from src.common.logger import get_logger
from src.config.config import global_config
from .notification_sender import NotificationSender
from .sleep_state import SleepState, SleepStateSerializer
from .time_checker import TimeChecker
from .notification_sender import NotificationSender
if TYPE_CHECKING:
from .wakeup_manager import WakeUpManager
pass
logger = get_logger("sleep_manager")

View File

@@ -34,7 +34,8 @@ class TimeChecker:
return self._daily_sleep_offset, self._daily_wake_offset
def get_today_schedule(self) -> Optional[List[Dict[str, Any]]]:
@staticmethod
def get_today_schedule() -> Optional[List[Dict[str, Any]]]:
"""从全局 ScheduleManager 获取今天的日程安排。"""
return schedule_manager.today_schedule