diff --git a/bot.py b/bot.py index 9a4a50002..ecdbd2b97 100644 --- a/bot.py +++ b/bot.py @@ -13,6 +13,8 @@ from src.common.logger_manager import get_logger # from src.common.logger import LogConfig, CONFIRM_STYLE_CONFIG from src.common.crash_logger import install_crash_handler from src.main import MainSystem +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_logger("main") diff --git a/src/common/database.py b/src/common/database.py index ee0ead0bd..846c4ee71 100644 --- a/src/common/database.py +++ b/src/common/database.py @@ -1,6 +1,8 @@ import os from pymongo import MongoClient from pymongo.database import Database +from rich.traceback import install +install(show_locals=True, extra_lines=3) _client = None _db = None diff --git a/src/common/log_decorators.py b/src/common/log_decorators.py index 9838717f9..4e8819843 100644 --- a/src/common/log_decorators.py +++ b/src/common/log_decorators.py @@ -2,6 +2,8 @@ import functools import inspect from typing import Callable, Any from .logger import logger, add_custom_style_handler +from rich.traceback import install +install(show_locals=True, extra_lines=3) def use_log_style( diff --git a/src/common/server.py b/src/common/server.py index 517996293..0511f4437 100644 --- a/src/common/server.py +++ b/src/common/server.py @@ -2,6 +2,8 @@ from fastapi import FastAPI, APIRouter from typing import Optional from uvicorn import Config, Server as UvicornServer import os +from rich.traceback import install +install(show_locals=True, extra_lines=3) class Server: diff --git a/src/config/config.py b/src/config/config.py index f5be7ec68..29c28c833 100644 --- a/src/config/config.py +++ b/src/config/config.py @@ -14,6 +14,8 @@ from packaging.version import Version, InvalidVersion from packaging.specifiers import SpecifierSet, InvalidSpecifier from src.common.logger_manager import get_logger +from rich.traceback import install +install(show_locals=True, extra_lines=3) # 配置主程序日志格式 diff --git a/src/do_tool/tool_can_use/base_tool.py b/src/do_tool/tool_can_use/base_tool.py index 425708845..298bc15a1 100644 --- a/src/do_tool/tool_can_use/base_tool.py +++ b/src/do_tool/tool_can_use/base_tool.py @@ -4,6 +4,8 @@ import importlib import pkgutil import os from src.common.logger_manager import get_logger +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_logger("base_tool") diff --git a/src/individuality/individuality.py b/src/individuality/individuality.py index 9ffdfdaab..6befe3e59 100644 --- a/src/individuality/individuality.py +++ b/src/individuality/individuality.py @@ -2,6 +2,8 @@ from typing import Optional from .personality import Personality from .identity import Identity import random +from rich.traceback import install +install(show_locals=True, extra_lines=3) class Individuality: diff --git a/src/individuality/offline_llm.py b/src/individuality/offline_llm.py index 2b5b6dc25..2059d7fdb 100644 --- a/src/individuality/offline_llm.py +++ b/src/individuality/offline_llm.py @@ -6,6 +6,8 @@ from typing import Tuple, Union import aiohttp import requests from src.common.logger import get_module_logger +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_module_logger("offline_llm") diff --git a/src/main.py b/src/main.py index c0e743d66..1f6ed188f 100644 --- a/src/main.py +++ b/src/main.py @@ -17,6 +17,8 @@ from .common.logger_manager import get_logger from .plugins.remote import heartbeat_thread # noqa: F401 from .individuality.individuality import Individuality from .common.server import global_server +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_logger("main") diff --git a/src/plugins/PFC/chat_observer.py b/src/plugins/PFC/chat_observer.py index 1a17db907..675e99636 100644 --- a/src/plugins/PFC/chat_observer.py +++ b/src/plugins/PFC/chat_observer.py @@ -7,6 +7,8 @@ from maim_message import UserInfo from ...config.config import global_config from .chat_states import NotificationManager, create_new_message_notification, create_cold_chat_notification from .message_storage import MongoDBMessageStorage +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_module_logger("chat_observer") diff --git a/src/plugins/PFC/conversation.py b/src/plugins/PFC/conversation.py index 9f744c30c..f7702e1b6 100644 --- a/src/plugins/PFC/conversation.py +++ b/src/plugins/PFC/conversation.py @@ -23,6 +23,8 @@ from .pfc_KnowledgeFetcher import KnowledgeFetcher from .waiter import Waiter import traceback +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_logger("pfc") diff --git a/src/plugins/PFC/message_sender.py b/src/plugins/PFC/message_sender.py index 53c203748..709150c76 100644 --- a/src/plugins/PFC/message_sender.py +++ b/src/plugins/PFC/message_sender.py @@ -8,6 +8,8 @@ from src.plugins.chat.message import MessageSending, MessageSet from src.plugins.chat.message_sender import message_manager from ..storage.storage import MessageStorage from ...config.config import global_config +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_module_logger("message_sender") diff --git a/src/plugins/PFC/pfc.py b/src/plugins/PFC/pfc.py index 6cb1fe83e..4ce98a523 100644 --- a/src/plugins/PFC/pfc.py +++ b/src/plugins/PFC/pfc.py @@ -8,6 +8,8 @@ from src.individuality.individuality import Individuality from .conversation_info import ConversationInfo from .observation_info import ObservationInfo from src.plugins.utils.chat_message_builder import build_readable_messages +from rich.traceback import install +install(show_locals=True, extra_lines=3) if TYPE_CHECKING: pass diff --git a/src/plugins/chat/chat_stream.py b/src/plugins/chat/chat_stream.py index 14d02a81f..d3095f3b7 100644 --- a/src/plugins/chat/chat_stream.py +++ b/src/plugins/chat/chat_stream.py @@ -9,6 +9,8 @@ from ...common.database import db from maim_message import GroupInfo, UserInfo from src.common.logger_manager import get_logger +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_logger("chat_stream") diff --git a/src/plugins/chat/message.py b/src/plugins/chat/message.py index a0ff33ab4..4c11dd980 100644 --- a/src/plugins/chat/message.py +++ b/src/plugins/chat/message.py @@ -9,6 +9,8 @@ from src.common.logger_manager import get_logger from .chat_stream import ChatStream from .utils_image import image_manager from maim_message import Seg, UserInfo, BaseMessageInfo, MessageBase +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_logger("chat_message") diff --git a/src/plugins/chat/message_sender.py b/src/plugins/chat/message_sender.py index 61e2dd49c..aaa48ca8a 100644 --- a/src/plugins/chat/message_sender.py +++ b/src/plugins/chat/message_sender.py @@ -13,6 +13,8 @@ from ...config.config import global_config from .utils import truncate_message, calculate_typing_time, count_messages_between from src.common.logger_manager import get_logger +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_logger("sender") diff --git a/src/plugins/chat/utils_image.py b/src/plugins/chat/utils_image.py index f567c5277..285b63944 100644 --- a/src/plugins/chat/utils_image.py +++ b/src/plugins/chat/utils_image.py @@ -13,6 +13,8 @@ from ...config.config import global_config from ..models.utils_model import LLMRequest from src.common.logger_manager import get_logger +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_logger("chat_image") diff --git a/src/plugins/config_reload/api.py b/src/plugins/config_reload/api.py index 327451e29..93b5d1cbe 100644 --- a/src/plugins/config_reload/api.py +++ b/src/plugins/config_reload/api.py @@ -1,4 +1,6 @@ from fastapi import APIRouter, HTTPException +from rich.traceback import install +install(show_locals=True, extra_lines=3) # 创建APIRouter而不是FastAPI实例 router = APIRouter() diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index f789f906b..67075e297 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -15,6 +15,8 @@ from ...config.config import global_config from ..chat.utils_image import image_path_to_base64, image_manager from ..models.utils_model import LLMRequest from src.common.logger_manager import get_logger +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_logger("emoji") diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index f203926f4..077d623bd 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -27,6 +27,8 @@ from src.plugins.chat.utils import process_llm_response from src.plugins.respon_info_catcher.info_catcher import info_catcher_manager from src.plugins.moods.moods import MoodManager from src.heart_flow.utils_chat import get_chat_type_and_target_info +from rich.traceback import install +install(show_locals=True, extra_lines=3) WAITING_TIME_THRESHOLD = 300 # 等待新消息时间阈值,单位秒 diff --git a/src/plugins/heartFC_chat/heartFC_sender.py b/src/plugins/heartFC_chat/heartFC_sender.py index ee4e86ee9..001f578a8 100644 --- a/src/plugins/heartFC_chat/heartFC_sender.py +++ b/src/plugins/heartFC_chat/heartFC_sender.py @@ -9,6 +9,8 @@ from ..storage.storage import MessageStorage from ..chat.utils import truncate_message from src.common.logger_manager import get_logger from src.plugins.chat.utils import calculate_typing_time +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_logger("sender") diff --git a/src/plugins/knowledge/src/embedding_store.py b/src/plugins/knowledge/src/embedding_store.py index 9e60b8e1f..98ab757cc 100644 --- a/src/plugins/knowledge/src/embedding_store.py +++ b/src/plugins/knowledge/src/embedding_store.py @@ -12,6 +12,8 @@ from .llm_client import LLMClient from .lpmmconfig import ENT_NAMESPACE, PG_NAMESPACE, REL_NAMESPACE, global_config from .utils.hash import get_sha256 from .global_logger import logger +from rich.traceback import install +install(show_locals=True, extra_lines=3) @dataclass diff --git a/src/plugins/memory_system/Hippocampus.py b/src/plugins/memory_system/Hippocampus.py index ccc4d4fa4..789da590d 100644 --- a/src/plugins/memory_system/Hippocampus.py +++ b/src/plugins/memory_system/Hippocampus.py @@ -20,6 +20,8 @@ from ..utils.chat_message_builder import ( ) # 导入 build_readable_messages from ..chat.utils import translate_timestamp_to_human_readable from .memory_config import MemoryConfig +from rich.traceback import install +install(show_locals=True, extra_lines=3) def calculate_information_content(text): diff --git a/src/plugins/memory_system/debug_memory.py b/src/plugins/memory_system/debug_memory.py index 4e357557f..03c8fcac8 100644 --- a/src/plugins/memory_system/debug_memory.py +++ b/src/plugins/memory_system/debug_memory.py @@ -8,6 +8,8 @@ import os sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))) from src.plugins.memory_system.Hippocampus import HippocampusManager from src.config.config import global_config +from rich.traceback import install +install(show_locals=True, extra_lines=3) async def test_memory_system(): diff --git a/src/plugins/memory_system/manually_alter_memory.py b/src/plugins/memory_system/manually_alter_memory.py index 1452d3d56..4054265b3 100644 --- a/src/plugins/memory_system/manually_alter_memory.py +++ b/src/plugins/memory_system/manually_alter_memory.py @@ -9,6 +9,8 @@ from Hippocampus import Hippocampus # 海马体和记忆图 from dotenv import load_dotenv +from rich.traceback import install +install(show_locals=True, extra_lines=3) """ diff --git a/src/plugins/memory_system/offline_llm.py b/src/plugins/memory_system/offline_llm.py index fc50b17bc..f86ec4111 100644 --- a/src/plugins/memory_system/offline_llm.py +++ b/src/plugins/memory_system/offline_llm.py @@ -6,6 +6,8 @@ from typing import Tuple, Union import aiohttp import requests from src.common.logger import get_module_logger +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_module_logger("offline_llm") diff --git a/src/plugins/memory_system/sample_distribution.py b/src/plugins/memory_system/sample_distribution.py index 5dae2f266..f4fec12b8 100644 --- a/src/plugins/memory_system/sample_distribution.py +++ b/src/plugins/memory_system/sample_distribution.py @@ -1,6 +1,8 @@ import numpy as np from scipy import stats from datetime import datetime, timedelta +from rich.traceback import install +install(show_locals=True, extra_lines=3) class DistributionVisualizer: diff --git a/src/plugins/models/utils_model.py b/src/plugins/models/utils_model.py index 6b9c04164..60b507b9d 100644 --- a/src/plugins/models/utils_model.py +++ b/src/plugins/models/utils_model.py @@ -14,6 +14,8 @@ import io import os from ...common.database import db from ...config.config import global_config +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_module_logger("model_utils") diff --git a/src/plugins/utils/prompt_builder.py b/src/plugins/utils/prompt_builder.py index 578d9677f..023470331 100644 --- a/src/plugins/utils/prompt_builder.py +++ b/src/plugins/utils/prompt_builder.py @@ -4,6 +4,8 @@ from contextlib import asynccontextmanager import asyncio from src.common.logger import get_module_logger # import traceback +from rich.traceback import install +install(show_locals=True, extra_lines=3) logger = get_module_logger("prompt_build") diff --git a/src/plugins/utils/timer_calculator.py b/src/plugins/utils/timer_calculator.py index 13bc26f13..076a4fe55 100644 --- a/src/plugins/utils/timer_calculator.py +++ b/src/plugins/utils/timer_calculator.py @@ -2,6 +2,8 @@ from time import perf_counter from functools import wraps from typing import Optional, Dict, Callable import asyncio +from rich.traceback import install +install(show_locals=True, extra_lines=3) """ # 更好的计时器 diff --git a/src/plugins/willing/willing_manager.py b/src/plugins/willing/willing_manager.py index c26325b1c..dc4abfae5 100644 --- a/src/plugins/willing/willing_manager.py +++ b/src/plugins/willing/willing_manager.py @@ -8,6 +8,8 @@ from abc import ABC, abstractmethod import importlib from typing import Dict, Optional import asyncio +from rich.traceback import install +install(show_locals=True, extra_lines=3) """ 基类方法概览: diff --git a/src/plugins/zhishi/knowledge_library.py b/src/plugins/zhishi/knowledge_library.py index f8914c2f6..1a8d35a32 100644 --- a/src/plugins/zhishi/knowledge_library.py +++ b/src/plugins/zhishi/knowledge_library.py @@ -7,6 +7,8 @@ from datetime import datetime from tqdm import tqdm from rich.console import Console from rich.table import Table +from rich.traceback import install +install(show_locals=True, extra_lines=3) # 添加项目根目录到 Python 路径 root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../..")) @@ -15,6 +17,7 @@ sys.path.append(root_path) # 现在可以导入src模块 from src.common.database import db # noqa E402 + # 加载根目录下的env.edv文件 env_path = os.path.join(root_path, ".env") if not os.path.exists(env_path):