fix: ruff

This commit is contained in:
SengokuCola
2025-04-18 11:36:43 +08:00
parent 4dc9907fbd
commit c0dcd578c9
10 changed files with 45 additions and 35 deletions

View File

@@ -8,7 +8,6 @@ from collections import deque
import json # 引入 json
# --- 引入 Matplotlib ---
import matplotlib.pyplot as plt
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import matplotlib.dates as mdates # 用于处理日期格式
@@ -165,7 +164,7 @@ class InterestMonitorApp:
error_count += 1
# logger.warning(f"Skipping invalid JSON line: {line.strip()}")
continue # 跳过无法解析的行
except (TypeError, ValueError) as e:
except (TypeError, ValueError):
error_count += 1
# logger.warning(f"Skipping line due to data type error ({e}): {line.strip()}")
continue # 跳过数据类型错误的行

View File

@@ -1,14 +1,11 @@
from src.plugins.models.utils_model import LLMRequest
from src.config.config import global_config
from src.plugins.chat.chat_stream import ChatStream
from src.common.database import db
import time
import json
from src.common.logger import get_module_logger, TOOL_USE_STYLE_CONFIG, LogConfig
from src.do_tool.tool_can_use import get_all_tool_definitions, get_tool_instance
from src.heart_flow.sub_heartflow import SubHeartflow
import traceback
from src.plugins.chat.utils import get_recent_group_detailed_plain_text
tool_use_config = LogConfig(
# 使用消息发送专用样式
@@ -62,7 +59,7 @@ class ToolUser:
prompt = ""
prompt += mid_memory_info
prompt += "你正在思考如何回复群里的消息。\n"
prompt += f"之前群里进行了如下讨论:\n"
prompt += "之前群里进行了如下讨论:\n"
prompt += message_txt
# prompt += f"你注意到{sender_name}刚刚说:{message_txt}\n"
prompt += f"注意你就是{bot_name}{bot_name}是你的名字。根据之前的聊天记录补充问题信息,搜索时避开你的名字。\n"

View File

@@ -238,12 +238,18 @@ class SubHeartflow:
extra_info_prompt = "无工具信息。\n" # 提供默认值
individuality = Individuality.get_instance()
prompt_personality = f"你的名字是{self.bot_name},"
prompt_personality = f"你的名字是{self.bot_name}"
prompt_personality += individuality.personality.personality_core
personality_sides = individuality.personality.personality_sides
if personality_sides: random.shuffle(personality_sides); prompt_personality += f",{personality_sides[0]}"
identity_detail = individuality.identity.identity_detail
if identity_detail: random.shuffle(identity_detail); prompt_personality += f",{identity_detail[0]}"
# 添加随机性格侧面
if individuality.personality.personality_sides:
random_side = random.choice(individuality.personality.personality_sides)
prompt_personality += f"{random_side}"
# 添加随机身份细节
if individuality.identity.identity_detail:
random_detail = random.choice(individuality.identity.identity_detail)
prompt_personality += f"{random_detail}"
time_now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

View File

@@ -1,5 +1,4 @@
from typing import List, Optional
import random
from ...models.utils_model import LLMRequest

View File

@@ -1,5 +1,4 @@
import time
from random import random
import traceback
from typing import List, Optional, Dict
import asyncio
@@ -18,7 +17,7 @@ from ...person_info.relationship_manager import relationship_manager
from src.plugins.respon_info_catcher.info_catcher import info_catcher_manager
from ...utils.timer_calculater import Timer
from src.do_tool.tool_use import ToolUser
from .interest import InterestManager, InterestChatting
from .interest import InterestManager
from src.plugins.chat.chat_stream import chat_manager
from src.plugins.chat.message import BaseMessageInfo
from .pf_chatting import PFChatting
@@ -405,7 +404,8 @@ class HeartFC_Chat:
# 假设 detailed_plain_text 字段包含所需文本
# 你可能需要更复杂的逻辑来格式化,例如添加发送者和时间
text = msg_dict.get('detailed_plain_text', '')
if text: context_texts.append(text)
if text:
context_texts.append(text)
observation_context_text = "\n".join(context_texts)
logger.debug(f"[{stream_name}] Context for tools:\n{observation_context_text[-200:]}...") # 打印部分上下文
else:
@@ -446,7 +446,8 @@ class HeartFC_Chat:
except Exception as e:
logger.error(f"[{stream_name}] SubHeartflow 思考失败: {e}")
logger.error(traceback.format_exc())
if info_catcher: info_catcher.done_catch()
if info_catcher:
info_catcher.done_catch()
return # 思考失败则不继续
if info_catcher:
info_catcher.catch_afer_shf_step(timing_results.get("生成内心想法(SubHF)"), past_mind, current_mind)
@@ -459,13 +460,15 @@ class HeartFC_Chat:
except Exception as e:
logger.error(f"[{stream_name}] GPT 生成回复失败: {e}")
logger.error(traceback.format_exc())
if info_catcher: info_catcher.done_catch()
if info_catcher:
info_catcher.done_catch()
return
if info_catcher:
info_catcher.catch_after_generate_response(timing_results.get("生成最终回复(GPT)"))
if not response_set:
logger.info(f"[{stream_name}] 回复生成失败或为空。")
if info_catcher: info_catcher.done_catch()
if info_catcher:
info_catcher.done_catch()
return
# --- 10. 发送消息 (使用 anchor_message) ---

View File

@@ -1,12 +1,11 @@
import time
import traceback
import asyncio
from ...memory_system.Hippocampus import HippocampusManager
from ....config.config import global_config
from ...chat.message import MessageRecv
from ...storage.storage import MessageStorage
from ...chat.utils import is_mentioned_bot_in_message
from ...message import UserInfo, Seg
from ...message import Seg
from src.heart_flow.heartflow import heartflow
from src.common.logger import get_module_logger, CHAT_STYLE_CONFIG, LogConfig
from ...chat.chat_stream import chat_manager

View File

@@ -4,12 +4,10 @@ import asyncio
import threading
import json # 引入 json
import os # 引入 os
import traceback # <--- 添加导入
from typing import Optional # <--- 添加导入
import random # <--- 添加导入 random
from src.common.logger import get_module_logger, LogConfig, DEFAULT_CONFIG # 引入 DEFAULT_CONFIG
from src.plugins.chat.chat_stream import chat_manager # *** Import ChatManager ***
from ...chat.message import MessageRecv # 导入 MessageRecv
# 定义日志配置 (使用 loguru 格式)
interest_log_config = LogConfig(

View File

@@ -3,7 +3,6 @@ import time
from typing import Dict, List, Optional, Union
from src.common.logger import get_module_logger
from ....common.database import db
from ...message.api import global_api
from ...chat.message import MessageSending, MessageThinking, MessageSet
from ...storage.storage import MessageStorage

View File

@@ -1,8 +1,7 @@
import asyncio
import time
import traceback
from typing import List, Optional, Dict, Any, Deque, Union, TYPE_CHECKING
from collections import deque
from typing import List, Optional, Dict, Any, TYPE_CHECKING
import json
from ....config.config import global_config
@@ -14,7 +13,6 @@ from src.plugins.chat.chat_stream import chat_manager
from .messagesender import MessageManager
from src.common.logger import get_module_logger, LogConfig, DEFAULT_CONFIG # 引入 DEFAULT_CONFIG
from src.plugins.models.utils_model import LLMRequest
from src.individuality.individuality import Individuality
# 定义日志配置 (使用 loguru 格式)
interest_log_config = LogConfig(
@@ -475,24 +473,36 @@ class PFChatting:
logger.info(f"{log_prefix}[Planner] LLM 决策: {action}, 理由: {reasoning}, EmojiQuery: '{emoji_query}'")
except json.JSONDecodeError as json_e:
logger.error(f"{log_prefix}[Planner] 解析工具参数失败: {json_e}. Arguments: {tool_call['function'].get('arguments')}")
action = "error"; reasoning = "工具参数解析失败"; llm_error = True
action = "error"
reasoning = "工具参数解析失败"
llm_error = True
except Exception as parse_e:
logger.error(f"{log_prefix}[Planner] 处理工具参数时出错: {parse_e}")
action = "error"; reasoning = "处理工具参数时出错"; llm_error = True
logger.error(f"{log_prefix}[Planner] 处理工具参数时出错: {parse_e}")
action = "error"
reasoning = "处理工具参数时出错"
llm_error = True
else:
logger.warning(f"{log_prefix}[Planner] LLM 未按预期调用 'decide_reply_action' 工具。Tool calls: {tool_calls}")
action = "error"; reasoning = "LLM未调用预期工具"; llm_error = True
action = "error"
reasoning = "LLM未调用预期工具"
llm_error = True
else:
logger.warning(f"{log_prefix}[Planner] LLM 响应中未包含有效的工具调用。Tool calls: {tool_calls}")
action = "error"; reasoning = "LLM响应无工具调用"; llm_error = True
logger.warning(f"{log_prefix}[Planner] LLM 响应中未包含有效的工具调用。Tool calls: {tool_calls}")
action = "error"
reasoning = "LLM响应无工具调用"
llm_error = True
else:
logger.warning(f"{log_prefix}[Planner] LLM 未返回预期的工具调用响应。Response parts: {len(response)}")
action = "error"; reasoning = "LLM响应格式错误"; llm_error = True
action = "error"
reasoning = "LLM响应格式错误"
llm_error = True
except Exception as llm_e:
logger.error(f"{log_prefix}[Planner] Planner LLM 调用失败: {llm_e}")
logger.error(traceback.format_exc())
action = "error"; reasoning = f"LLM 调用失败: {llm_e}"; llm_error = True
action = "error"
reasoning = f"LLM 调用失败: {llm_e}"
llm_error = True
# --- 返回决策结果 ---
# Note: Lock release is handled by the loop now

View File

@@ -10,7 +10,7 @@ from .think_flow_generator import ResponseGenerator
from ...chat.message import MessageSending, MessageRecv, MessageThinking, MessageSet
from ...chat.messagesender import message_manager
from ...storage.storage import MessageStorage
from ...chat.utils import is_mentioned_bot_in_message, get_recent_group_detailed_plain_text
from ...chat.utils import is_mentioned_bot_in_message
from ...chat.utils_image import image_path_to_base64
from ...willing.willing_manager import willing_manager
from ...message import UserInfo, Seg