跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashNode.jsAI

OpenClaw Memory 本地模式配置:Ubuntu+CUDA+cuDNN+llama.cpp

综述由AI生成介绍如何在 Ubuntu 24.04 环境下配置 OpenClaw 的 Memory 为本地模式,以解决长期记忆检索不生效的问题。主要步骤包括安装 CUDA 和 cuDNN 驱动,编译支持 CUDA 的 llama.cpp,安装 node-llama-cpp 依赖,以及修改 openclaw.json 配置文件指定本地模型路径和 sqlite-vec 扩展路径。通过验证命令确认 Memory 功能正常,并解决了 sqlite-vec 加载失败等常见坑点,实现了无需 API Key 的本地 Token 节省方案。

数字游民发布于 2026/4/6更新于 2026/5/2232 浏览

OpenClaw Memory 本地模式配置指南

背景:Memory 不生效的问题

执行 openclaw doctor 命令,有如下提示:

◇ Memory search Memory search is enabled but no embedding provider is configured. Semantic recall will not work without an embedding provider. Fix (pick one): - Set OPENAI_API_KEY or GEMINI_API_KEY in your environment - Add credentials: openclaw auth add --provider openai - For local embeddings: configure agents.defaults.memorySearch.provider and local model path - To disable: openclaw config set agents.defaults.memorySearch.enabled false Verify: openclaw memory status --deep 

这是因为'长期记忆检索'(memory_search)的 provider 只支持 openai | gemini | local,其中 openai/gemini 都需要单独的 API Key。本文介绍如何配置使用本地 (local) 模式的 Memory。

OpenClaw 的 Memory 配置

参考官网上的 Memory 介绍,修改 ~/.openclaw/openclaw.json 文件,增加/修改如下内容:

"agents": {
  "defaults": {
    "model": { "primary": "zai/glm-5" },
    "models": { "zai/glm-5": { "alias": "GLM" } },
    "workspace": "/home/band/.openclaw/workspace"
     
       
       
       
         
         
         
         
      
    
     
        
     
       
       
         
      
       
          
          
       
         
           
           
        
      
    
  

,
"compaction"
:
{
"mode"
:
"safeguard"
,
"reserveTokensFloor"
:
20000
,
"memoryFlush"
:
{
"enabled"
:
true
,
"softThresholdTokens"
:
4000
,
"systemPrompt"
:
"Session nearing compaction. Store durable memories now."
,
"prompt"
:
"Write any lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing to store."
}
}
,
"maxConcurrent"
:
4
,
"subagents"
:
{
"maxConcurrent"
:
8
}
,
"memorySearch"
:
{
"provider"
:
"local"
,
"local"
:
{
"modelPath"
:
"hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf"
}
,
"fallback"
:
"none"
,
"sources"
:
[
"memory"
,
"sessions"
]
,
"experimental"
:
{
"sessionMemory"
:
true
}
,
"store"
:
{
"vector"
:
{
"enabled"
:
true
,
"extensionPath"
:
"~/.npm-global/lib/node_modules/sqlite-vec/node_modules/sqlite-vec-linux-x64/vec0.so"
}
}
}
}
}

注意:

  • modelPath 采用官方建议的模型名称,不是本地目录。
  • extensionPath 需修改为本地的 sqlite-vec 扩展路径。

Ubuntu 24.04 安装 CUDA 和 cuDNN

按照 NVIDIA 官网教程安装 CUDA Toolkit 13.1:

mkdir /opt/nvidia
cd /opt/nvidia
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/13.1.1/local_installers/cuda-repo-ubuntu2404-13-1-local_13.1.1-590.48.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2404-13-1-local_13.1.1-590.48.01-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2404-13-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-1

安装后设置环境变量:

echo 'export PATH=/usr/local/cuda-13.1/bin${PATH:+:${PATH}}' | sudo tee -a /etc/profile.d/cuda.sh
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-13.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' | sudo tee -a /etc/profile.d/cuda.sh
source /etc/profile.d/cuda.sh

验证:nvcc --version。

安装 cuDNN:

wget https://developer.download.nvidia.com/compute/cudnn/9.19.0/local_installers/cudnn-local-repo-ubuntu2404-9.19.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2404-9.19.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2404-9.19.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn

查看安装目录:

dpkg -L libcudnn9-cuda-13
dpkg -l | grep cudnn

验证 CUDA 环境可安装 Anaconda 和 PyTorch 后执行测试脚本。

编译 llama.cpp

为避免 fallback 到 CPU 版,先安装调试好 CUDA。克隆源码并编译:

git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
cmake -B build -DGGML_CUDA=ON -DLLAMA_OPENSSL=ON
cmake --build build --config Release

前提: 确保环境变量设置正确,DLLAMA_OPENSSL 是必要的参数。

验证方案 1

访问 Hugging Face 模型页,选择 CLI 方案运行推理:

./build/bin/llama-cli -hf Qwen/Qwen3-0.6B-GGUF:Q8_0

若报错,请加上 -DLLAMA_OPENSSL=ON 重新编译。

验证方案 2

下载并运行 Llama-2 7B 模型(需安装 git-lfs):

sudo apt install git-lfs
git lfs install

安装 node-llama-cpp

npm install -g node-llama-cpp
node-llama-cpp --version

验证 Memory

openclaw gateway restart
openclaw memory status --deep

正在下载模型到 ~/.node-llama-cpp/models,说明已起作用。

sqlite-vec unavailable

若遇到错误:

[memory] sqlite-vec unavailable: /home/band/sqlite-vec.so: cannot open shared object file: No such file or directory

安装依赖并编译 sqlite-vec:

sudo apt-get update
sudo apt-get install unzip
sudo apt install -y libsqlite3-dev
git clone https://github.com/asg017/sqlite-vec
cd sqlite-vec
./scripts/vendor.sh
make loadable

或者使用 npm 安装取巧:

npm install -g sqlite-vec

找到生成的 .so 文件路径(通常在 ~/.npm-global/lib/node_modules/sqlite-vec/node_modules/sqlite-vec-linux-x64/vec0.so),并在 openclaw.json 中更新 extensionPath,重启 gateway 即可修复。

常见问题与注意事项

安装 node-llama-cpp 的一些提示

当 memorySearch.provider = "local" 时,node-llama-cpp 会解析 modelPath。如果 GGUF 缺失,它会自动下载到缓存。原生构建要求运行 pnpm approve-builds 并重建。

安装 node-llama-cpp 的前置条件

正确的安装顺序为:

  1. 安装 CUDA
  2. 安装 cuDNN
  3. 编译 llama.cpp
  4. 原生编译安装 node-llama-cpp
sudo apt-get update
sudo apt-get install build-essential cmake git libstdc++6 libgomp1
npx node-llama-cpp source download
npx node-llama-cpp source build

Using node-llama-cpp With Vulkan

处理 node-llama-cpp 时可能遇到 Vulkan 相关报错,目前看对功能无影响,可按需忽略或查阅官方 Vulkan 指南。

目录

  1. OpenClaw Memory 本地模式配置指南
  2. 背景:Memory 不生效的问题
  3. OpenClaw 的 Memory 配置
  4. Ubuntu 24.04 安装 CUDA 和 cuDNN
  5. 编译 llama.cpp
  6. 验证方案 1
  7. 验证方案 2
  8. 安装 node-llama-cpp
  9. 验证 Memory
  10. sqlite-vec unavailable
  11. 常见问题与注意事项
  12. 安装 node-llama-cpp 的一些提示
  13. 安装 node-llama-cpp 的前置条件
  14. Using node-llama-cpp With Vulkan
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Visual Studio 中 GitHub Copilot 隐私设置与代码数据共享控制
  • 使用 Llama3 与 DeepChat 搭建本地智能写作工作流
  • OpenClaw 公网访问指南:使用 cpolar 实现远程连接
  • ESP32 开源无人机快速上手指南
  • 2025 年 AIGC 六大发展趋势:文生视频、多模态模型与虚拟角色
  • DFS 算法实战:水流问题、扫雷与衣橱整理
  • AI Coding 核心原理与实战建议
  • 金融领域自然语言处理实战:场景、模型与开发
  • GitHub 学生开发者包认证操作指南
  • 前端登录页实现记住密码功能的最佳实践
  • 数据结构:栈与队列的实现及应用
  • 2023 中国大模型落地应用案例集核心洞察
  • DocxFactory:基于 C++ 的 Word 文档生成库(无需 Office)
  • C++ 构造函数初始化列表详解
  • 使用 Superpowers 将 Claude Code 转化为按流程交付的 AI 工程搭档
  • Java 动态列表实现杨辉三角算法解析
  • 搭建一个基于 Django 框架的 WebApi 项目
  • MCP 插件实战:Browser Tools 配置与使用
  • Open WebUI MCPo 技术解析:MCP 工具转 OpenAPI 代理方案
  • 2026 年医疗 AI 可信系统全栈实现方案(上)

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online