""" 简化版聊天记录总结功能测试 直接操作现有数据进行测试 """ import sys from pathlib import Path # 添加backend目录到Python路径 backend_root = Path(__file__).parent / "backend" sys.path.insert(0, str(backend_root)) from services.chat_service import chat_service def test_simple_summary(): """简单测试:直接操作现有聊天数据""" print("=" * 60) print("聊天记录总结功能简单测试") print("=" * 60) # 列出所有现有聊天 print("\n现有聊天列表:") all_chats = chat_service.list_all_chats() if not all_chats: print(" 没有找到任何聊天,请先创建角色和聊天") return for role_name, chats in all_chats.items(): print(f"\n 角色: {role_name}") for chat in chats[:3]: # 只显示前3个 print(f" - {chat['chat_name']} ({chat['message_count']}条消息)") # 选择第一个聊天进行测试 first_role = list(all_chats.keys())[0] first_chat = all_chats[first_role][0]['chat_name'] print(f"\n选择测试: {first_role}/{first_chat}") # 获取聊天记录 chat_data = chat_service.get_chat(first_role, first_chat) messages = chat_data['messages'] print(f"总消息数: {len(messages)}") if len(messages) < 5: print("消息数量不足,无法测试总结功能") return # 显示前5条消息 print("\n前5条消息:") for i, msg in enumerate(messages[:5], 1): name = msg.get('name', 'Unknown') mes = msg.get('mes', '')[:50] print(f" L{i}: {name}: {mes}...") # 测试总结功能(模拟) print("\n模拟总结 L1-L3:") print(" 原始消息:") for i in range(3): msg = messages[i] print(f" L{i+1}: {msg.get('name')}: {msg.get('mes', '')[:30]}...") print("\n 总结后效果:") print(" L1: [空] (is_summarized=true)") print(" L2: [空] (is_summarized=true)") print(" L3: [总结文本] (is_summary=true, summary_range='L1-L3')") print(" L4+: 保持不变") print("\n" + "=" * 60) print("✅ 测试完成!请在UI中验证实际效果") print("=" * 60) if __name__ == "__main__": test_simple_summary()