mirror of https://github.com/Mai-with-u/MaiBot.git
同步pr分支
parent
cdd2b2c2aa
commit
5a1dd6b257
|
|
@ -284,7 +284,7 @@ class BotConfig:
|
|||
nickname_probability_smoothing: int = 1 # 绰号加权随机选择的平滑因子
|
||||
nickname_queue_max_size: int = 100 # 绰号处理队列最大容量
|
||||
nickname_process_sleep_interval: float = 60 # 绰号处理进程休眠间隔(秒)
|
||||
nickname_observation_context_size: int = 30 # 绰号处理选中上下文长度
|
||||
nickname_analysis_history_limit: int = 30 # 绰号处理可见最大上下文
|
||||
|
||||
# 模型配置
|
||||
llm_reasoning: dict[str, str] = field(default_factory=lambda: {})
|
||||
|
|
@ -420,7 +420,7 @@ class BotConfig:
|
|||
config.steal_emoji = emoji_config.get("steal_emoji", config.steal_emoji)
|
||||
|
||||
def group_nickname(parent: dict):
|
||||
if config.INNER_VERSION in SpecifierSet(">=1.6.1.1"):
|
||||
if config.INNER_VERSION in SpecifierSet(">=1.6.1.4"):
|
||||
group_nickname_config = parent.get("group_nickname", {})
|
||||
config.enable_nickname_mapping = group_nickname_config.get(
|
||||
"enable_nickname_mapping", config.enable_nickname_mapping
|
||||
|
|
@ -437,10 +437,9 @@ class BotConfig:
|
|||
config.nickname_process_sleep_interval = group_nickname_config.get(
|
||||
"nickname_process_sleep_interval", config.nickname_process_sleep_interval
|
||||
)
|
||||
if config.INNER_VERSION in SpecifierSet(">=1.6.1.3"):
|
||||
config.nickname_observation_context_size = group_nickname_config.get(
|
||||
"nickname_observation_context_size", config.nickname_observation_context_size
|
||||
)
|
||||
config.nickname_analysis_history_limit = group_nickname_config.get(
|
||||
"nickname_analysis_history_limit", config.nickname_analysis_history_limit
|
||||
)
|
||||
|
||||
def bot(parent: dict):
|
||||
# 机器人基础配置
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ class NicknameManager:
|
|||
self.nickname_queue: asyncio.Queue = asyncio.Queue(maxsize=self.queue_max_size)
|
||||
self._stop_event = threading.Event() # stop_event 仍然使用 threading.Event,因为它是由另一个线程设置的
|
||||
self._nickname_thread: Optional[threading.Thread] = None
|
||||
self.sleep_interval = getattr(self.config, "nickname_process_sleep_interval", 0.5) # 超时时间
|
||||
self.sleep_interval = getattr(self.config, "nickname_process_sleep_interval", 60) # 超时时间
|
||||
|
||||
self._initialized = True
|
||||
logger.info("NicknameManager 初始化完成。")
|
||||
|
|
@ -153,6 +153,10 @@ class NicknameManager:
|
|||
if not self.is_enabled:
|
||||
logger.info("绰号处理功能已禁用,处理器未启动。")
|
||||
return
|
||||
if global_config.max_nicknames_in_prompt == 0: # 考虑有神秘的用户输入为0的可能性
|
||||
logger.error("[错误] 绰号注入数量不合适,绰号处理功能已禁用!")
|
||||
return
|
||||
|
||||
if self._nickname_thread is None or not self._nickname_thread.is_alive():
|
||||
logger.info("正在启动绰号处理器线程...")
|
||||
self._stop_event.clear()
|
||||
|
|
@ -205,7 +209,7 @@ class NicknameManager:
|
|||
log_prefix = f"[{current_chat_stream.stream_id}]"
|
||||
try:
|
||||
# 1. 获取历史记录
|
||||
history_limit = getattr(self.config, "NICKNAME_ANALYSIS_HISTORY_LIMIT", global_config.nickname_observation_context_size)
|
||||
history_limit = getattr(self.config, "nickname_analysis_history_limit", 30)
|
||||
history_messages = get_raw_msg_before_timestamp_with_chat(
|
||||
chat_id=current_chat_stream.stream_id,
|
||||
timestamp=time.time(),
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ max_nicknames_in_prompt = 10 # Prompt 中最多注入的绰号数量(防止to
|
|||
nickname_probability_smoothing = 1 # 绰号加权随机选择的平滑因子
|
||||
nickname_queue_max_size = 100 # 绰号处理队列最大容量
|
||||
nickname_process_sleep_interval = 60 # 绰号处理进程休眠间隔(秒)
|
||||
nickname_observation_context_size = 30 # 绰号处理选中上下文长度
|
||||
nickname_analysis_history_limit = 30 # 绰号处理可见最大上下文
|
||||
|
||||
[memory]
|
||||
build_memory_interval = 2000 # 记忆构建间隔 单位秒 间隔越低,麦麦学习越多,但是冗余信息也会增多
|
||||
|
|
|
|||
Loading…
Reference in New Issue