🧠 OpenClaw升级为OpenViking记忆系统:完整实践指南
一句话总结:从 OpenClaw 原生文件记忆升级到 OpenViking 专业向量记忆系统,实现语义理解、自动捕获、智能召回的 AI 长期记忆管理。
📋 核心要点速览
| 存储方式 | ||
| 检索能力 | ||
| 记忆容量 | ||
| 自动捕获 | ||
| 上下文注入 | ||
| 多模态支持 |
🎯 一、背景:为什么建议升级记忆系统?
OpenClaw 原生记忆的局限
文件系统记忆的痛点:
❌ 检索效率低:基于关键词匹配,无法理解语义 ❌ 容量受限:Markdown 文件难以支撑大规模记忆 ❌ 上下文割裂:难以自动关联相关记忆片段 ❌ 多模态缺失:无法处理图像、文档等非文本内容
OpenViking 的解决方案
向量语义记忆的优势:
✅ 语义理解:基于向量相似度,理解用户真实意图 ✅ 自动管理:零手动操作,自动捕获与召回 ✅ 海量存储:支持百万级记忆记录 ✅ 智能关联:自动发现记忆间的语义关联 ✅ 多模态支持:文本、图像、文档统一处理
🏗️ 二、OpenViking 架构解析
系统架构
┌─────────────────────────────────────────────────────────────┐│ OpenClaw Agent ││ ┌─────────────────────────────────────────────────────┐ ││ │ OpenViking Memory Plugin │ ││ │ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ │ ││ │ │ Auto Capture │ │ Auto Recall │ │ Search │ │ ││ │ └──────────────┘ └──────────────┘ └───────────┘ │ ││ └─────────────────────────────────────────────────────┘ │└──────────────────────────┬──────────────────────────────────┘ │ HTTP API┌──────────────────────────┴──────────────────────────────────┐│ OpenViking Server ││ ┌──────────────┐ ┌──────────────┐ ┌─────────────────┐ ││ │ REST API │ │ Embedding │ │ Vector Store │ ││ │ Layer │ │ Service │ │ (SQLite) │ ││ └──────────────┘ └──────────────┘ └─────────────────┘ ││ ┌──────────────┐ ┌──────────────┐ ┌─────────────────┐ ││ │ VLM Parser │ │ Semantic │ │ Memory Ranking │ ││ │ (Optional) │ │ Index │ │ Engine │ ││ └──────────────┘ └──────────────┘ └─────────────────┘ │└─────────────────────────────────────────────────────────────┘| 向量存储 | ||
| Embedding | ||
| VLM解析 | ||
| 语义索引 | ||
| API服务 |
工作流程
记忆捕获流程:
对话结束 → 自动触发捕获 VLM解析多模态内容 → 提取文本描述 Embedding模型编码 → 生成1024维向量 存储到向量数据库 → 建立语义索引
记忆召回流程:
新对话开始 → 自动触发召回 当前对话编码 → 生成查询向量 向量相似度搜索 → 找出Top-K相关记忆 相关性排序 → 注入对话上下文
🐳 三、OpenClaw部署实战
3.1 OpenViking安装
个人NAS服务器 (Docker部署)
我选择在自己的NAS服务器上通过Docker安装OpenViking镜像并启动服务,这样可以获得更好的隐私保护和数据主权,同时充分利用NAS的24/7在线特性。
环境准备
# 检查 Docker 版本docker --version # 需 >= 20.10docker-compose --version # 需 >= 1.29# 创建工作目录mkdir -p ~/openviking/{data,logs}cd ~/openviking配置文件详解
docker-compose.yml
services:openviking:image:zhangyq/openviking:latestcontainer_name:openvikingrestart:unless-stoppedports:-"1933:1933"# API服务端口volumes:# 数据持久化-<本地路径>:/app/data# 配置文件挂载-<本地配置文件路径>:/app/ov.confenvironment:-OPENVIKING_CONFIG_PATH=/app/ov.conf# API Server 配置-API_HOST=0.0.0.0-API_PORT=1933healthcheck:test: ["CMD", "curl", "-f", "http://localhost:1933/health"]interval:30stimeout:10sretries:3start_period:40sov.conf 核心配置
{"server":{"host":"0.0.0.0","port":1933,"api_key":"change-me-to-your-key"},"storage":{"workspace":"/app/data"},"embedding":{"dense":{"provider":"volcengine","api_key":"your-volcengine-api-key","model":"doubao-embedding-vision-251215","api_base":"https://ark.cn-beijing.volces.com/api/v3","dimension":1024,// 向量维度"input":"multimodal"// 支持多模态}},"vlm":{"provider":"volcengine","api_key":"your-volcengine-api-key","model":"doubao-seed-2-0-pro-260215","api_base":"https://ark.cn-beijing.volces.com/api/v3","temperature":0.1,"max_retries":3}}启动与验证
# 拉取最新镜像docker-compose pull# 启动服务docker-compose up -d# 查看启动日志docker-compose logs -f --tail=100# 验证服务状态curl http://localhost:1933/health# 预期输出: {"status":"healthy"}# 测试API连通性curl -H "Authorization: Bearer change-me-sdfaeFAWEF82376$%^*efwEFE-key" \ http://localhost:1933/v1/memories/search \ -d '{"query": "测试", "limit": 5}'服务管理命令
# 停止服务docker-compose down -v# 重启服务docker-compose restart# 更新镜像docker-compose pull && docker-compose up -d🔌 3.2 OpenClaw 插件集成
openclaw插件安装
git clone https://github.com/volcengine/OpenViking.gitcd OpenViking/examples/openclaw-memory-plugin# 或者不使用NPM,直接在openclaw对话窗口,告诉AI下载全路径,让AI自动安装npm installopenclaw plugin link .OpenClaw 配置
编辑 ~/.openclaw/openclaw.json:
{"plugins":{"allow":["memory-openviking","..."],"slots":{"memory":"memory-openviking"},"entries":{"memory-openviking":{"enabled":true,"config":{"mode":"remote","baseUrl":"http://localhost:1933","apiKey":"change-me-to-your-key","targetUri":"viking://user/memories","autoRecall":true,"autoCapture":true}}}}}配置参数详解
mode | |||
baseUrl | |||
apiKey | |||
targetUri | |||
autoRecall | |||
autoCapture | |||
recallLimit | |||
recallScoreThreshold |
重启生效
# 重启OpenClaw网关openclaw gateway restart# 验证插件加载openclaw gateway status✅ 五、功能验证与测试
自动召回测试
测试方法:
开启新对话 观察是否自动注入 <relevant-memories>检查召回内容是否与当前话题相关
预期结果:
<relevant-memories>The following OpenViking memories may be relevant:- [] 用户偏好设置:Obsidian笔记系统- [] 待办管理:飞书多维表格- [] x-reader配置:解析微信/小红书链接</relevant-memories>📚 参考链接
OpenViking OpenClaw 记忆插件安装指南[1]
引用链接
[1]OpenViking OpenClaw 记忆插件安装指南: https://github.com/LinQiang391/OpenViking/blob/main/examples/openclaw-memory-plugin/INSTALL-ZH.md
夜雨聆风