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

OpenClaw 本地 Memory 配置指南:Ubuntu 下 CUDA 与 llama.cpp 集成实践

OpenClaw 本地 Memory 模式配置涉及环境搭建与模型编译。详述在 Ubuntu 24.04 上安装 CUDA 与 cuDNN,编译 llama.cpp 支持 GPU 加速,并配置 node-llama-cpp 实现本地向量检索。重点解决 sqlite-vec 路径错误及模型加载问题,提供完整的本地化部署方案,无需依赖外部 API Key。

星云发布于 2026/4/11更新于 2026/5/2617 浏览

OpenClaw 本地 Memory 配置指南

在之前的实践中,我遇到了 OpenClaw 的 Memory(长期记忆检索)功能无法生效的问题。默认情况下,memory_search 仅支持 openai、gemini 或 local 模式,前两者需要 API Key。为了节省 Token 并实现完全本地化,我决定配置 local 模式。

核心思路是修改配置文件,安装 CUDA/cuDNN 环境,编译支持 GPU 加速的 llama.cpp,并正确部署 node-llama-cpp。

1. 配置 OpenClaw Memory

参考官方文档,我们需要修改 ~/.openclaw/openclaw.json 文件。关键是在 agents.defaults.memorySearch 部分启用 local 模式。

"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 应使用 HuggingFace 模型名称而非本地路径,这是容易踩坑的地方。
  • extensionPath 需指向 sqlite-vec 的动态库实际位置,后文会详述如何获取。

2. Ubuntu 24.04 环境搭建

安装 CUDA 和 cuDNN

按照 NVIDIA 官方教程操作。首先添加仓库密钥并安装工具包:

mkdir -p /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 查看安装目录。建议安装 Anaconda 和 PyTorch 后运行测试脚本确认 CUDA 可用性。

3. 编译 llama.cpp

node-llama-cpp 默认可能回退到 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=ON 是关键参数,否则后续推理时可能会报错。编译成功后,可尝试运行 CLI 验证:

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

如果遇到 SSL 相关错误,请重新编译并加上 OpenSSL 参数。

4. 安装 node-llama-cpp

全局安装 Node.js 封装库:

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

前置条件: 确保已按顺序完成 CUDA、cuDNN 安装及 llama.cpp 编译。如果直接安装失败,可能需要先执行原生构建命令:

npx node-llama-cpp source download
npx node-llama-cpp source build

5. 解决 sqlite-vec 问题

运行 openclaw doctor 时,常会遇到 sqlite-vec unavailable 错误。这是因为系统找不到动态链接库。

解决方案:

  1. 通过 npm 安装 sqlite-vec,它会自动下载预编译的二进制文件。
    npm install -g sqlite-vec
    
  2. 找到生成的 .so 文件路径,通常位于 ~/.npm-global/lib/node_modules/sqlite-vec/node_modules/sqlite-vec-linux-x64/vec0.so。
  3. 将上述路径填入 openclaw.json 中的 extensionPath 字段。

6. 验证与调试

重启网关并检查状态:

openclaw gateway restart
openclaw memory status --deep

此时应能看到模型自动下载到 ~/.node-llama-cpp/models 目录,且不再报 sqlite-vec 错误。

常见问题排查

  • Vulkan 报错: 如果看到 Vulkan 检测失败但 CUDA 正常,通常不影响使用,可忽略。
  • 模型加载慢: 首次运行会下载 embedding 模型,请耐心等待。
  • 权限问题: 确保 ~/.openclaw 目录有正确的读写权限。

通过以上步骤,即可在 Ubuntu 环境下成功启用 OpenClaw 的本地 Memory 功能,无需依赖外部 API。

目录

  1. OpenClaw 本地 Memory 配置指南
  2. 1. 配置 OpenClaw Memory
  3. 2. Ubuntu 24.04 环境搭建
  4. 安装 CUDA 和 cuDNN
  5. 3. 编译 llama.cpp
  6. 4. 安装 node-llama-cpp
  7. 5. 解决 sqlite-vec 问题
  8. 6. 验证与调试
  9. 常见问题排查
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 基于 Sentry 自建前端错误监控系统实战
  • OpenClaw 原版及汉化版在 Windows 与 Linux 下的部署实践
  • YOLOv8 旋转框角度回归优化:CSL 与 DCL 编码实战
  • Llama 开源家族梳理:从 Llama-1 到 Llama-3 演进解析
  • Python 开源 AI 模型引入与测试全流程实战
  • MacOS 下基于 Docker 部署 OpenClaw 并集成飞书机器人教程
  • MySQL 事务与锁机制详解
  • Neo4j Windows 桌面版安装及默认数据存储位置修改
  • 机器学习:逻辑回归算法原理与实战
  • 深度确定性策略梯度算法 (DDPG) 详解与 PyTorch 实现
  • AI 写作辅助平台评测:炼字工坊与蛙蛙写作深度解析
  • 基于 AI 代码助手的垃圾图片识别系统构建实践
  • Ubuntu 系统下 Python 连接金仓 KingbaseES 数据库实现增删改查
  • FastAPI 构建高性能 Python Web API 入门与实战
  • 前缀和算法详解:一维与二维前缀和
  • 小米智能家居 Miloco 分离式部署指南
  • 从零开始学习大模型:第一章 大模型基础与入门指南
  • 2026 年 3 月全球大模型全景:国产登顶、百万上下文与智能体爆发
  • 具身智能机器人协同与全模态 AI 生态技术架构解析
  • Mac 使用 balenaEtcher 制作启动盘并重装系统

相关免费在线工具

  • 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