版本: 2.0.0
创建: 2026-04-07
升级: 2026-04-17
作者: 伊娃 (Eva)
状态: ✅ 已完成
memory_search - 搜索记忆内容memory_store - 存储新记忆memory_get - 获取单个记忆memory_update - 更新记忆内容memory_delete - 删除记忆memory_list - 列出所有记忆health_check - 健康度检查~/.openclaw/workspace/skills/memory-plus/
├── SKILL.md # 技能文档(本文件)
├── main.py # 主入口脚本
├── memory_plus.py # 核心功能模块
├── monitor.py # 监控守护进程
├── collector.py # 多渠道采集器
└── README.md # 使用说明
# 直接启动
cd ~/.hermes/skills/openclaw-imports/memory-plus-sync
python mcp_server.py
# 使用兼容层
python main.py mcp
# 指定端口
python mcp_server.py --host 0.0.0.0 --port 8000
# 搜索记忆
curl -X POST http://localhost:8000/memory/search \
-H "Content-Type: application/json" \
-d '{"query": "项目进度", "limit": 10}'
# 存储新记忆
curl -X POST http://localhost:8000/memory/store \
-H "Content-Type: application/json" \
-d '{"content": "2026-04-17 完成 Memory Plus 2.0 升级", "metadata": {"source": "hermes", "importance": 8}}'
# 健康检查
curl -X GET http://localhost:8000/health
# 同步多渠道消息
python main.py sync
# 监控记忆系统
python main.py monitor
# 健康检查
python main.py health
# 运行测试
python main.py test
# 运行完整测试
python test_full_workflow.py
# 测试特定功能
python -c "from core.main_integration import MemoryPlusIntegration; mpi = MemoryPlusIntegration(); print(mpi.health_check())"
# 同步最近 24 小时的所有渠道消息
cd ~/.openclaw/workspace/skills/memory-plus
python3 main.py sync
# 同步最近 2 小时的飞书和语音消息
python3 main.py sync --channels feishu,voice --hours 2
# 只同步飞书消息
python3 main.py sync --channels feishu --hours 1
# 单次检查
python3 main.py monitor --once
# 持续监控(守护进程模式)
python3 main.py monitor
# 执行健康检查
python3 main.py health
# 运行演示
python3 main.py demo
from core.main_integration import MemoryPlusIntegration
# 创建实例
mpi = MemoryPlusIntegration()
# 健康检查
health = mpi.health_check()
print(f"状态: {health['status']}")
# 存储记忆
result = mpi.store_memory(
content="记忆内容",
metadata={"source": "test", "importance": 5}
)
# 搜索记忆
results = mpi.search_memory(
query="搜索关键词",
limit=10,
threshold=0.7
)
# 批量处理
batch_results = mpi.batch_store([
{"content": "记忆1", "metadata": {...}},
{"content": "记忆2", "metadata": {...}}
])
from core.triple_agent_processor import TripleAgentProcessor
# 创建处理器
processor = TripleAgentProcessor()
# 验证记忆
validation_result = processor.validate_memory(
content="待验证的记忆内容",
context="相关上下文信息"
)
# 获取验证详情
details = processor.get_validation_details(validation_result['id'])
# 批量验证
batch_results = processor.batch_validate([
{"content": "记忆1", "context": "上下文1"},
{"content": "记忆2", "context": "上下文2"}
])
from dedup_processor import DeduplicationProcessor
# 创建处理器
dedup = DeduplicationProcessor()
# 检查重复
duplicate_check = dedup.check_duplicate(
content="新记忆内容",
existing_contents=["已有记忆1", "已有记忆2"]
)
# 批量去重
dedup_results = dedup.batch_deduplicate([
"记忆内容1",
"记忆内容2",
"记忆内容3"
])
# 获取去重统计
stats = dedup.get_statistics()
from memory_plus import MemoryPlus
# 创建实例
mp = MemoryPlus()
# 连接数据库
mp.connect()
# 插入记忆块
mp.insert_chunk(
path='memory/feishu/2026-04-07.md',
text='记忆内容',
source='memory',
channel='feishu',
metadata={'sender': '老板', 'timestamp': '2026-04-07 14:30:00'}
)
# 监控官方系统
result = mp.monitor_official_system()
print(result['status']) # normal/warning/critical
# 健康检查
is_healthy = mp.health_check()
# 获取统计
stats = mp.get_stats()
# 关闭连接
mp.close()
from collector import MultiChannelCollector
# 创建采集器
mcc = MultiChannelCollector()
# 采集所有渠道
from datetime import datetime, timedelta
end_time = datetime.now()
start_time = end_time - timedelta(hours=2)
messages = mcc.collect_and_merge(
channels=['feishu', 'voice'],
start_time=start_time,
end_time=end_time
)
# 按渠道分组采集
results = mcc.collect_all(
channels=['feishu', 'wechat'],
start_time=start_time,
end_time=end_time
)
| 字段 | 类型 | 说明 |
|---|---|---|
| ------ | ------ | ------ |
| id | TEXT | 主键,SHA256 哈希 |
| path | TEXT | 记忆文件路径 |
| source | TEXT | 来源(memory/channel) |
| start_line | INTEGER | 起始行号 |
| end_line | INTEGER | 结束行号 |
| hash | TEXT | 内容哈希 |
| model | TEXT | Embedding 模型 |
| text | TEXT | 记忆文本 |
| embedding | TEXT | 向量(JSON 数组) |
| updated_at | INTEGER | 更新时间戳(毫秒) |
| 字段 | 类型 | 说明 |
|---|---|---|
| ------ | ------ | ------ |
| id | INTEGER | 自增主键 |
| content | TEXT | 记忆内容 |
| user_id | TEXT | 用户 ID |
| memory_type | TEXT | 记忆类型 |
| importance | TEXT | 重要程度 |
| tags | TEXT | 标签(JSON 数组) |
| metadata | TEXT | 元数据(JSON 对象) |
| created_at | TEXT | 创建时间 |
| updated_at | TEXT | 更新时间 |
告警记录在:~/.openclaw/workspace/logs/memory_plus_alerts.jsonl
格式:
{
"timestamp": "2026-04-07T01:30:00",
"level": "warning",
"message": "⚠️ 记忆系统停滞:65 分钟未写入",
"uptime_seconds": 3600
}
统计记录在:~/.openclaw/workspace/logs/memory_plus_stats.json
格式:
{
"last_check": "2026-04-07T01:30:00",
"status": "normal",
"total_chunks": 3000,
"total_files": 50,
"db_size_mb": 273.85,
"uptime_hours": 1.5
}
监控日志:~/.openclaw/workspace/logs/memory_plus_monitor.log
# 在 OpenClaw 主循环中定期调用
from memory_plus import MemoryPlus
mp = MemoryPlus()
if mp.connect():
result = mp.monitor_official_system()
if result['status'] == 'critical':
# 发送告警
send_alert(result['issues'])
mp.close()
# 在飞书消息处理后同步
from memory_plus import MemoryPlus
mp = MemoryPlus()
if mp.connect():
mp.sync_from_channel('feishu', [message])
mp.close()
# 每小时健康检查
0 * * * * cd ~/.openclaw/workspace/skills/memory-plus && python3 main.py health >> logs/health_cron.log 2>&1
# 每 5 分钟监控
*/5 * * * * cd ~/.openclaw/workspace/skills/memory-plus && python3 main.py monitor --once >> logs/monitor_cron.log 2>&1
# 每天同步所有渠道
0 2 * * * cd ~/.openclaw/workspace/skills/memory-plus && python3 main.py sync --hours 24 >> logs/sync_cron.log 2>&1
cd ~/.openclaw/workspace/skills/memory-plus
python3 -c "from memory_plus import MemoryPlus; mp = MemoryPlus(); print('✅ 连接成功' if mp.connect() else '❌ 连接失败'); mp.close()"
python3 main.py monitor --once
期望输出:
{
"timestamp": "2026-04-07T01:30:00",
"status": "normal",
"total_chunks": 3000,
"total_files": 50,
"db_size_mb": 273.85,
"integrity": "ok"
}
python3 main.py demo
期望输出:
============================================================
Memory Plus - 跨渠道记忆同步工具演示
============================================================
1️⃣ 监控官方记忆系统状态...
状态:normal
总记忆块:3000
总文件数:50
数据库大小:273.85 MB
...
✅ 同步完成!
python3 main.py health
期望输出:
🏥 执行健康检查
✅ 记忆系统健康
hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf,本地提供商。问题: mem0 删除后无跨渠道同步机制
根因:
防范机制:
/opt/homebrew/lib/node_modules/openclaw/dist/extensions/memory-core/~/.openclaw/memory/main.sqlite~/.openclaw/memory/*.md~/.openclaw/workspace/logs/此技能文档将作为 OpenClaw 跨渠道记忆同步的标准操作程序
定期审查和更新以适应新的需求
共 1 个版本