乐于分享
好东西不私藏

OpenClaw升级为OpenViking记忆系统:完整实践指南

OpenClaw升级为OpenViking记忆系统:完整实践指南

🧠 OpenClaw升级为OpenViking记忆系统:完整实践指南

一句话总结:从 OpenClaw 原生文件记忆升级到 OpenViking 专业向量记忆系统,实现语义理解、自动捕获、智能召回的 AI 长期记忆管理。


📋 核心要点速览

对比维度
OpenClaw原生记忆
OpenViking记忆系统
存储方式
文件系统 (Markdown)
L0/L1/L2三级访问 + 语义索引
检索能力
关键词匹配
语义相似度搜索
记忆容量
受限于文件大小
大规模存储
自动捕获
需手动调用工具
自动捕获对话内容
上下文注入
手动检索
自动召回相关记忆
多模态支持
仅文本
文本 + 图像 + 文档

🎯 一、背景:为什么建议升级记忆系统?

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       │   ││  └──────────────┘  └──────────────┘  └─────────────────┘   │└─────────────────────────────────────────────────────────────┘
组件
技术
说明
向量存储
SQLite + 向量扩展
轻量级、高性能的向量数据库
Embedding
豆包 Embedding API
(可自由更换)
1024维多模态向量表示
VLM解析
豆包 Vision-Language(可自由更换)
图像内容理解和描述
语义索引
HNSW
近似最近邻搜索算法
API服务
Rust/Actix-web
高性能异步Web服务

工作流程

记忆捕获流程

  1. 对话结束 → 自动触发捕获
  2. VLM解析多模态内容 → 提取文本描述
  3. Embedding模型编码 → 生成1024维向量
  4. 存储到向量数据库 → 建立语义索引

记忆召回流程

  1. 新对话开始 → 自动触发召回
  2. 当前对话编码 → 生成查询向量
  3. 向量相似度搜索 → 找出Top-K相关记忆
  4. 相关性排序 → 注入对话上下文

🐳 三、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:40s
ov.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
string
"remote"
运行模式:local/remote
baseUrl
string
-
OpenViking服务地址
apiKey
string
-
API认证密钥
targetUri
string
-
记忆存储目标命名空间
autoRecall
boolean
true
是否自动召回记忆
autoCapture
boolean
true
是否自动捕获记忆
recallLimit
number
6
每次召回的记忆数量
recallScoreThreshold
number
0.01
召回相似度阈值(0-1)

重启生效

# 重启OpenClaw网关openclaw gateway restart# 验证插件加载openclaw gateway status

✅ 五、功能验证与测试

自动召回测试

测试方法

  1. 开启新对话
  2. 观察是否自动注入 <relevant-memories>
  3. 检查召回内容是否与当前话题相关

预期结果

<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