You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.4 KiB

#!/usr/bin/env python3
"""
mem0 功能测试脚本
"""
import sys
import os
sys.path.insert(0, '/root/.openclaw/workspace/skills/mem0-integration')
from mem0_client import Mem0Client
print("=" * 60)
print("🧪 mem0 功能测试")
print("=" * 60)
# 测试 1:初始化
print("\n🔍 测试 1: 初始化 mem0 Client...")
try:
client = Mem0Client()
print("✅ Client 创建成功")
except Exception as e:
print(f"❌ Client 创建失败:{e}")
sys.exit(1)
# 测试 2:状态检查
print("\n📊 测试 2: 状态检查...")
status = client.get_status()
print(f" 本地记忆:{'' if status['local_initialized'] else ''}")
print(f" 共享记忆:{'' if status['master_initialized'] else ''}")
if not status['local_initialized']:
print("\n 本地记忆未初始化,可能原因:")
print(" 1. Qdrant 未启动")
print(" 2. 配置错误")
print(" 3. mem0ai 版本问题")
sys.exit(1)
# 测试 3:添加记忆
print("\n📝 测试 3: 添加记忆...")
test_content = "测试记忆:OpenClaw mem0 集成测试"
result = client.add(
[{"role": "user", "content": test_content}],
user_id="test_user",
agent_id="main"
)
if 'error' in result:
print(f"❌ 添加失败:{result['error']}")
else:
print(f"✅ 记忆已添加")
print(f" 内容:{test_content}")
# 测试 4:搜索记忆
print("\n🔍 测试 4: 搜索记忆...")
results = client.search("OpenClaw", user_id="test_user", agent_id="main", limit=5)
print(f" 找到 {len(results)} 条记忆")
if results:
for i, mem in enumerate(results, 1):
memory_text = mem.get('memory', 'N/A')
print(f" {i}. {memory_text[:100]}...")
else:
print(" 未找到记忆(可能 Qdrant 集合为空)")
# 测试 5:获取所有记忆
print("\n📋 测试 5: 获取所有记忆...")
all_memories = client.get_all(user_id="test_user", agent_id="main")
print(f"{len(all_memories)} 条记忆")
# 测试 6:状态报告
print("\n📊 测试 6: 最终状态...")
final_status = client.get_status()
print(f" 本地 Qdrant: {final_status['config']['local']['vector_store']['config']['host']}:{final_status['config']['local']['vector_store']['config']['port']}")
print(f" 中心 Qdrant: {final_status['config']['master']['vector_store']['config']['host']}:{final_status['config']['master']['vector_store']['config']['port']}")
print("\n" + "=" * 60)
print("✅ 测试完成")
print("=" * 60)